In previous discussions, complex problem-solving and statistical mechanics were linked. The main idea was to break down a problem into smaller chunks. However, this process is not unique, meaning that a problem can be broken down into its constituents in several different ways. Then this was compared to molecules of a gas and different micro-states constituting a system with fixed thermodynamic parameters.
Also some months ago a new type of data structure for online content was explained. Instead of webpages and websites, data would be organized in the form of a tree based on common basic building blocks. The same idea can be used in complex problem-solving. It means micro-states are formed based on basic building blocks rather than molecules. To clarify, there are basic objects (i.e. common building blocks) and based on them new objects are constructed layer by layer. Then the process of solving a problem is to construct the problem based on those objects in different ways. The result is a tree. Each branch is a solution to that problem.
It was said a while ago that OOP structures are also based on trees. This means the idea of complex problem-solving in fact specifies the overall structure of any OOP construct.
UPDATE 1:
the idea can also be used in physics. Instead of fixed theories and equations predicting how different objects will behave, it might be a more accurate approach to construct trees of all possible theories, and similar to statistical mechanics, more probable outcomes are specified based on probability.