Cybernetics

Cybernetics or the Science of Systems

It is probably not hard to figure out that one of my main interests in computer science has always been the concept of "systems" and how to build and understand them, their complexity and "liveness". And of course these aspects can be found in many other areas, e.g. social or biological. And perhaps even in machines.

So let me take you on a tour-de-force through some of the papers and books which had the most influence on me over the years. But if you need to know things faster: Principia Cybernetica will give you a good explanation on systems and cybernetics.

It started with Frederic Vester and his books on learning and ecology. He explained the concepts of feedback loops but also made it clear that there are many ways towards understanding.

Next came Ross Ashby, the father of cybernetics. (His classic text on cybernetics is out of print but still available as an e-book from principia cybernetica ). Here the abstract concept of system qualities can be found.

Then came my social studies where I read books on social systems (e.g. native communities). Social biology came up at that time (Riedl, Wilson, Gould) but somehow I found their stuff lacking in methodology, especially when it came to separating genectics and social systems. Part of those studies involved the science of science where I loved Kuhn's ideas on the structure of scientific revolutions - or how scientifc ideas propagate in social systems.

Bateson's ecology of the mind made a deep impression, especially because he seemed to be able to cover so many different areas (technical and social systems) without getting lost. With him I realized there are common things behind systems which are only hidden by the surface characteristics of real systems - the idea behind cybernetics.

When I started working as a Unix kernel hacker I had a large system to play with - the kernel. Even though at that time the inner workings of Unix where not spelled out explicitly, it was clear that the whole thing had system characteristics: components had clearly defined tasks and places and only when everything worked together an operating system emerged.

At that time I realized a paradox: the larger a system became the easier it (or components in it) became. The rationale behind this is simple: a large system needs a good structure to survice. This structure decreases the degrees of freedom for every component and makes them easier to understand with respect to their roles and behavior.

Then I moved into frameworks and distributed systems. I realized that operating systems where nothing else than framworks. Distributed systems showed an interesting feature: their algorithms where different from local ones. They where "found" instead of developed. And on top of this distributed systems showed extreme liveness: they did what they wanted (;-). Peter Wegner created the idea of interaction machines being computationally more powerful than regular turing machines. I was not sure about this but from that time on emergent qualities of systems became a fascination.

Then came Kevin Kelly with "the biology of the new machines" where he shows lots of examples for emergent behaviors.

At that time I also started to look at the interaction between social and technical systems, e.g. in software developement teams. And nowadays it is exactly this interaction that is even more exciting than just studying systems in isolation. At conferences like the ETECH (O'Reilly emergent technology conference) you can learn a lot about this interaction.

So let me end with the conclusion that cybernetics is the real science behind what we call computer science and that IT is just one engineering arm of cybernetics. But the same principles apply in many different technologies. While I was studying such a mixture of methods and sciences was sneered at by the academic establishment but I have the feeling that interdisciplinary approaches will be much more common in the future.

Annotated Resources on Cybernetics and General System Theory

Felix Geyer tried to apply system thinking - escpeically second order cybernetics to the social sciences. the Callenge of Socio-Cybernetics serves as a good introduction and short overview on system theory and its relation to social sciences. Topics covered include self-reference (and its problems for set theory), self-organization, autopoiesis (aka self-production), cognitivism vs. connectionism, circular causality, positive and negative feedback loops. The author shows the conservative aspect of negative feedback loops: those loops are restricting potentially disastrous developments but by doing so reinforce the existence of those developments. I have found many cases in social systems which showed this effect: anti-virus software forces a negative feedback on virus spread - and at the same time seems to perpetuate the existence of viruses: there is no longer a need to change software architectures and people are now even interested in the existence of viruses to sell their products. Users get used to deal with the problem as well. The same goes for the relation between capitalism and the state. Or ITIL process definitions which try to overcome technical deficiencies through the use of strict procedures (e.g. configuration management).

It is well known in software marketing that time is essential for the final success of a new product. But how can we explain that a small delay compared to a competing product or small differences in the feature set turn into a vastly different succcess between products? A nice quote from the author: "One of the first efforts to apply the concepts of both autopoiesis and autocatalysis to the social sciences was made by Gierer.58) He demonstrated "empirically" - by computer simulation - that inequality can be explained as resulting from the cumulative interaction over time of the auto-catalytic, self-enhancing effects of certain initial advantages (e.g. generalized wealth, including education) with depletion of scarce resources. It then turns out that striking inequalities can be generated from nearly equal initial distributions, where slight initial advantages tend to be self-perpetuating within the boundary conditions of depleting resources" (challenges... pg. 14). The explanation might also work for so called "scale free networks" where some nodes seem to grow forever compared to others.