Thursday, July 15, 2010

Sensemaking of Complex Systems

Sensemaking seems very much related to to pattern recognition - which obviously assumes you are congnizant of having seen that pattern before. Note that this is not saying, "I have seen this exact phenomonon before." For example, one might have seen collective swarming behavior in fish, in birds, in ants, even in people - there is a pattern to which we have given the name "swarm" characterized by some combination of synchrony, orientation (direction), attraction, bifurcation, (n-furcation) and dispersion.

How people go about the business of sensemaking is often quite different that the way artificial intelligence goes about sensemaking. By this I mean, humans often have much more sensual and contextual information upon which they make classifications. This is different than raw information, such as that stored in computer memory, in that human contextual information is encoded in highly coupled networks - the real neural network. Computer memory is discrete, rank and file - the substrate being independently and identically distributed (iid).

How would an artificial neural network go about sensemaking regarding the swarming behavioral pattern? The "sense" would have to be made in some of many other contextual patterns. One such contextual pattern is the "shape" of a connective, Compositional Pattern Producing Network, as found in HyperNEAT. However, that is just one context, and we need a network of contexts for sensemaking. Moreover, these contexts exist at various timescales, from nearly instantaneous to universally constant.

Some equate thought with computation. I'm not sure I agree. There is a composition between networked computation and linear computation (serial and/or parallel) that seems necessary for categorical sensemaking. And, of course, because something makes sense doesn't mean it is true or the right thing to do. That takes some interstitial experimentation - or meta-computing - with comparison to some real-world data.

So, I will go back to my Chinese Room and continue working on that categorical composition.

Saturday, March 27, 2010

Complexity vs. Chaos

There seems to be different phenomenon between complexity and chaos that I would like to explore in this post. First, I admit to a Brussels-Austin perspective of thermodynamics. The measure of chaos seems to be a distance from thermodynamic equilibrium. In open systems, this is the distance - or degrees - above absolute zero. In closed systems, this is thermodynamic difference (in heat and other kinetic motion) between the system elements.

Compare this to objective complexity, which is simply defined by 3 (or more) degrees of mutual, non-linear coupling between system elements. This three-body problem defines the simplest form of complexity.

We can compare the complexity / chaos system of problems by considering the three-body problem at thermodynamic equilibrium. Nothing is moving, no mutual orbits. The coupling mechanism may be underdetermined (subjective complexity), but may be considered as a thermodynamic perturbation (even though the perturbation has nothing to do with the heat component). As the thermodynamics increases, there emerges motion in the three-body system. The complexity within the system moves from "potential" complexity to "actual" complexity - a form of realization.

Of course there is subjective complexity, referring to the uncertainty, stochastic nature or lack of knowledge in systems - but this happens in simple systems as well as complex systems.

The term complexity is often used indiscriminately to describe both complexity and the coupling between complexity and chaos. If it were up to me, I would create a different word for the complex/chaos coupled system - something like "chomplexity" - but I hate neologisms, so I merely add a footnote to distinguish the two.

It makes sense that the Inuits have many words for snow. We have overloaded our one word, complexity, almost to the breaking point. Maybe it's time to rethink our lexicon.

Saturday, February 27, 2010

Evolutionary Complexity

I've been working on a massive project to determine possible evolutionary paths in complex systems development. Some see this as engineering, while others argue that engineering is more deterministic than this characterization permits.

The difference is fundamental. Engineering applies (hopefully) scientific principles to a problem domain at specific points in time. The possiblity space however, extends from the past, through the present, and into the future. However, the evolution of the possibility space, in time, changes the nature of the problem, and therefore its engineering solutions. Therefore, it resembles an ensemble of network paths - an entanglement of path trajectories, some of which will almost certainly turn out to be wrong. From a practical perspective, how can we transition from what we discover is an incorrect path, to a more correct path, without having to "backtrack"? The answer seems to be understanding the evolution of the possibility space, contemporaneously with the paths we have actually taken.

This denies the Markov model (and I contend even hidden Markov models) as only a partial, historic artifact, thus incomplete. The reason is this: The effect of new information upon the prior changes the entire nature of the model - the understanding of its history, the understanding of its present states, and the trajectory of evolutionary "realization" it is on.

What is evolving is not only the system under investigation, but the contexts in which it is evaluated. This demands that engineering, likewise, be an evolutionary flow through possibility spaces, with the realized products and processes becoming artifacts of that evolution.

The term "artifacts" includes myriad errors and omissions along the data, information and knowledge gained.