Wednesday, December 20, 2017

Complexity and Composability of Social processes.

I recently read an article on the difference between Physics and Biology.
Even though both type of systems are able to (re)act to their environment, DNA allows biological systems to store information that is then used to have a more complex set of interactions. The outcome of evolution is for that information to expand. Can we use this model for human societies? What would be the limiting factors in the increase of societal complexity? And what solutions have already been found and used?


It seems to me that the model can be expanded. When humans invented writing, they were able to write down newly discovered techniques. These techniques are then copied and used by others , who at the same time have the ability to modify them so as to make them better.

In biological systems, the DNA is interpreted into proteins by specific cell chemical mechanisms. In human societies, it is humans that must interpret technological knowledge into actual tools and final products. Thus as our knowledge expanded, it was important to have specialized personnel for each part of the technology. Our own cognitive skills were not good enough to understand all the codified knowledge that we had as Society.

If we have people specializing their technical knowledge , that creates the problem of interaction of the different groups that have different kinds of knowledge.

I call this the problem of composability. Composability is currently achieved by creating specifications which describe the phenotypic limits / properties of an object, or a system of objects, or possibly human processes.

Specifications thus create an abstraction over the complexity of a specific technological knowledge. This reduces the cognitive burden to the rest of Society.

Now , there is a new problem. The experts in the field need to create objects that abide by the specification and the rest of the world needs to interpret the specification correctly.

If there was a way to do this automatically, that would reduce failures to zero. New technological methods would more easily be accepted and used. If one considers a system with a multitude of parts where a single failure has a cascading effect on the rest of the system, then it becomes apparent that automation of the verification process is very important.

With regards to software, and thus to anything else that can be digitized,  dependently typed languages like agda and idris have the ability to verify that a specific specification is being respected.

In terms of our current state of affairs, Society's knowledge is currently privately owned by companies, thus the knowledge cannot be duplicated and it cannot be mutated. Even in the case that knowledge is open source, the capital cost of materializing that knowledge is prohibited for the majority of people.
  Interactions between companies is mostly done with material objects. When there is a human coordination between them, like in an R&D project, the interactions themselves are under close doors and are very simplistic.

If we are to have complex interactions between individuals in an open environment where everyone can join and / or propose new methods , social processes, then it becomes apparent that it is necessary to have specifications of Social behavior, that would allow social processes to be composed and to be mutated without fear of cascading failures.

If we are to use digital methods of Communication and coordination , then current research developments in the verification of communication protocols could provide to us exactly what we need.

What we would then have is the specification of the social processes of Society itself and their dynamic interactions. Given that the cost of verification would be zero and because the specification would be available to anyone to democratically modify, I predict that we would have an explosion of Social complexity.