Higher Order Reasoning / Hierarchical Planning
Tags: higherorderreasoning, hierchicalplanning, ai, logic
Published: 2024-03-11 14:11:57

In a recent interview with [Yann Lecun](https://youtu.be/5t1vTLU7s40?si=Z0gFxU8NiRv5cOZU&t=2663), it was highlighted that one of the major weaknesses of modern LLMs is hierarchical planning. That the recent effort of top labs have moved towards handling some concept space in combination with attempting to have LLMs reason about some plan to accomplish an A to B process.

The difficulty in the respect is that Higher Order Reasoning is something that is not traditionally written down. That despite it being something that we as humanity do day to day without thinking about it. Is likewise the greatest weakness of AI as of early 2024, fits to the data distribution that would be available for training.

As what Higher Order Reasoning would amount to within an organization with be some trade secret or tribal knowledge that is the secret to that organizations success. So where would this data come from, if LLMs are constrained towards knowing what is within their data set? One practice has been to have users list out their strategies to attempt to extract out this reasoning process.

The difficulty in extracting out this data through indirect means does not respect the total difficulty that hierarchical planning imposes. As not only does the problem space increase in difficulty exponentially upon each successive step in executing some plan. It likewise is magnified by some combinational aspect based on the concepts known to the practitioner.

Via this organizations graph programming framework, [Stratimux](https://github.com/Phuire-Research/Stratimux), we have broken down this problem space into a series of slices to decrease the difficulty of creating this high quality data.

This work is based on a NPM package written by this author in 2018 referred to as the [ActionStrategy](https://github.com/Phuire-Research/Stratimux/blob/main/ActionStrategy.md). Which is simply a binary tree of possible actions that can be used to accomplish the goal of the described strategy. Specifically that was made to chart applications, as ultimately all programs revert back to some stack trace when they run into an error. Therefore why not be explicit in these deeply embedded relationships obfuscated by our programs?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/35yfsv532k2ecp3cdu59.png)
The reality is that handling these strategies are simple in a single domain. And for all intensive purposes the framework is ready for production in a limited scale of complexity. The difficulty with the direct approach of mapping the internals of our applications. Is a back pressure problem present when multiple strategies are running concurrently. But likewise demonstrates a new avenue of formalizing algorithms, beyond that of the manipulation of data structures.

Therefore the utilization of Stratimux, is meant not just for the creation a new class of applications. But applications that likewise are designed to be utilized as training data to inform Higher Order Reasoning, or as the Artificial Intelligence field understands such: Hierarchical Planning.

Apologies for the brief introduction to this problem space. In the coming months there will be more information by way of tutorials, examples, and even an LLM fined-tuned with this information to interact with. Till then, be safe, and have fun!