#problem #solution #method #protocol #close-world #open-world %% 1. What is problem solving? 2. Is problem solving the same in all worlds? (Close vs. Open) 3. What is the difference between closed and open PS? 4. Why would closed problem solving lead to methods? 5. Why would open problem solving lead to protocols? %% Problems and solutions are two faces of the same coin. Both are descriptions about the same [[Information is the Cast of Order on Substance|information]]. Yet, they differ in the way they make us feel about it. Our understanding is a dynamic puzzle, a composition of beliefs we accumulated throughout our lives. Derived from observations and personal thoughts, these beliefs, make up our mental model of the world. However, there is no guarantee that all of these pieces of information go well together. In fact, in most cases they end up more opposed than aligned. In which case, we experience what we commonly refer to as a problem. Problems are descriptions which forward a gap in our comprehension. They are pieces which do not fit well with the rest. They hint to a lack of consistency in our informational body. Driven by the necessity of coherence, our mind attempts to fit all of those beliefs together in a low entropy model. Whether we are aware of it or not, mental thermalization happens. It is a characteristic of problem solving agents[^2]. [^2]: It has been hinted to me by a friend that, nature favors the emergence of problem-solving agents rather than predefined solutions. Their goal is to find solutions to internalized problems that reflected on their understanding. A solution answers a problem via either of the two effects. The first, breaks down and rearranges our understanding to accommodate to the new piece of information. The second, changes the way we hold the puzzle piece leading us to reformulating the problem under more suiting terms. While this looks easy in principle, the practice reveals to be a much harder task. Simply because, we don't account for the fact that, Problem solving always happens within a [world](https://0xparc.org/blog/autonomous-worlds). Worlds are containers of entities ruled by a coherent-enough ruleset forming a diegetic boundary separating what is allowed or not in such world. Problem solving within these boundaries is a matter of finding a particular diegetic entity which answers a number of desirable constraints[^1]. [^1]: The problem solving agent can be part of the world as a diegetic entity or he can be an external observer (non-diegetic entity) using the world as a "dream" platform to conduct his problem solving. The process of finding such entity is heavily affected by a pretty nasty concept, complexity. The activity of charting the world with all of its intricacies in search of a solvant entity reveals to be a hassle in most cases. This is why, we never deal with worlds directly, in fact, we use mental models to produce descriptions about them. We can even have theorized worlds that only exists as models and our only way to access them is via language. [[Models are Representations of Freedom|Models]] are meant to capture relevant facets of the world, and put them under the simplest terms possible. Or at least that is, the most praised heuristic. However, it is clear that oversimplifying the description of an entity, results in most cases in a very complicated problem solving later because the inadequacy of the model to capture some hidden but relevant aspects. At the end, it is a matter of, where do you want to put your complexity? And in this situation, I think of it as, do you want a clean interface with a messy backend or a simple backend but a very technical front? This dictates whether your problems is simply stated and your solutions are complex or the opposite. Ideally, we would like to strike some middle ground. Maintaining about the same level of complexity across the board to help us manage our entropic levels. Yet, "How to do that?" remains an open question. It is clear to me that, the complexity-effects trace back to the amount of [[Knowledge is The Art of Drawing Distinctions|distinctions]] incorporated by your model. Higher and higher levels of distinction makes for better and more precise descriptions. But, there is a limit to how much details we can handle and effectively work with. Moreover, problems may appear at any level of distinction and have their origin either within the same level or at a different one. This explains why certain tasks are just a matter of finding X where everything else is known and other tasks feel like the Millennium Prize Problems, where we might need a whole new type of knowledge we aren't aware of. These two extreme are perfect examples of a [[Horizontal and Vertical Knowledge|knowledge distinction]] I extend to problem solving. The first, is a case of "horizontal problem solving" which works by, mutating the description without the need for further precision. The solvant descriptions is the right way the look at the formerly problematic point so that it fits within our understanding. The second, is a case of "vertical problem solving", which suggests that the problem originates at different level of description and that we are discussing in the wrong place. Now, of course, these are edge cases, and in most of our dealings we find ourselves doing a combination of both movements [^3]. Leading essentially to, diagonal problem solving. [^3]: Based on the quality of the problems that your model faces in general and the direction you find yourself problem solving along in most cases, you can say that, your understanding in this case doesn’t perform well along a particular direction even if it is good enough along others. Now, beside the complexity question, problem solving Another important consideration to problem solving is whether you are working withing a closed or an open world. Closed worlds have a hard boundary. The only possibility of introducing new entities is via deterministic interactions of already existing ones. In principle, closed world can be fully known. Given we take the time, it is possible to compute all of the outcomes and thus charting all of the entities there could be in that world. This is possible because closed worlds can be modelled using a set of primitives and rules that dictates possible derivations and compositions. The aggregate of all the primitives, derivatives and composites, encompasses all there could be. Problem solving in a closed world is a matter of "computing" solutions. In such world, problem can in theory be exactly solved. It is just a matter of finding the solvant entity. The processes used for solution computation are a form of highly specialized search algorithms. These procedures implement a map that takes us from the problem to the solution space by performing a number of operations. These maps are the main artifact of closed problems solving, and they are commonly known as, methods. Methods work like [[Metaphoric Thinking, A Bridge to Innovative Problem Solving|metaphors]]. They map two seemingly unrelated entities and describes one as the other or complementary to the other. This explanation behind their coupling is the invariant to which the problematic and solvant entity are two faces of. Problem solving in this case, reads as looking for a metaphor given we have half of the coin and we want to know what would the other half be. Methods-as-metaphors is such a powerful idea that we can witness a higher form of its usage. Hard problems in a given domain are mapped via "metaphoric transport" to already solved problems in another. The whole search for solutions reduces to importing these methods or even specific solutions via our initial transport. As you know, close worlds are used ubiquitously to answer many problems in our daily lives. Mathematics is an example of a framework to generate close worlds with specific properties that map to a particular instance in our world. Yet, they are mere idealizations. We usually use closed worlds as approximations for open worlds. Simply because, everything gets harder when we talk about, open worlds. Especially, problem solving. If you want to solve a problem in an open world, your main challenge is accounting for of its ever changing nature. New outcomes keep being introduced so that the meaning of things keeps shifting. Problem-solving agents will require the existence of "Sense-making agents" to keep track of things and possibly cast predictions on how things will evolve. In this kind of setup, static solutions cannot simply hold. One can go even further to say that, problems are incompletely stated. The place where you identified the problem is never an isolated situation. It is a home for many overlapping-scenes. Although you might solve your problem while ignoring this fact. The same scene may support a number of other solutions (natural or artificial) answering to various problems. Your implementation will definitely interfere with them and they will interfere with it. This gives rise to a very complicated situation where the only way forward is, coordination. [^4]: A scene is a location where interactions between entities take place. Problem solving agents will try to advance solutions to a particular problem, that other entities will benefit from. However, complications arise when it is not clear what to do when the flow of two solutions collide. ^848b12 To avoid such accidents, we can formulate rules that clarify precedence and resolve the outcome of such encounters. These rules orchestrate the behavior of entities leading to highly legible situations, so as to keep the confusion as minimal as possible and mitigate unnecessary conflict. In a sense, open world problem solving become more about formulating solutions that make entities adopt a certain type of [[It is Protocol|code behavior]] so that as effect, they solve the problem with minimal interference with and from the rest. These code behaviors are the main artifact of open problem solving. Otherwise known as, a protocol. Protocols are way to handle [complex coordination problems](https://venkatesh-rao.gitbook.io/summer-of-protocols) involving entities with different alignments. In essence, they work like rituals. By cultivating the awareness of entities and direct their focus, they create bubbles of alignment where solvant outcomes can emerge. And just as any entity living within an open world, protocol can be dangerous, they have a lifecycle and are prone to death. To some extent, one can make the case that, Protocol are problem solving agents. ^e04a0e They never seems to fully reconciliate their understanding with the world and that is what keeps them alive.