fabric‎ > ‎

why fabric?

posted 4 Feb 2014, 20:37 by John Brown   [ updated 4 Feb 2014, 23:16 ]
Computers are able to follow a detailed set of instructions with stupendous speed, precision and reliability; far better than any human. A tiny spider, with a minuscule brain, is able to thrive in a complex, hazardous natural environment, from the moment it hatches; far better than any computer. Computational fabric sits somewhere in between.

Fabric is a new approach to computation, seeking less rigid and more autonomous capabilities. The idea behind fabric is to have a simple tool able to pursue multiple real-world objectives concurrently. Fabric needs:
  1. access to real-time data from it's environment,
  2. a way of acting on it's environment, and
  3. an objective(s) to pursue.
No human programming, or knowledge about the data, or the actions, or the environment are required.

Developing software for a computer requires a human engineer to develop a very detailed set of instructions. Every piece of data must be clearly specified, each calculation precisely defined, and each decision written as an instruction in logic (If X then do Y otherwise do Z). A computer can follow these instructions very quickly, and very reliably, but it cannot write it's own instructions, or change the instructions on the fly. A computer will follow the instructions blindly, even if the data provided is rubbish. A human engineer can add checks and balances in logic to make the software more robust, but often more rigid as well. A computer is completely reliant on a human to provide useful instructions, provide sensible data, and interpret the results.

Animals operate very differently. An animal grows with a nervous system and a brain which continues to change for it's entire lifetime. Brains have some broad similarities across the animal kingdom, but there are drastic differences between species, and significant differences between members of the same species. Different regions of a brain are more involved in one activity or another, but some species have unique functions, and other species develop quite different structures for a similar function. No two brains are even close to identical, even in the same species. Brains have at least some capacity to recover from damage.

An animal has the capacity to identify the important information in an environment, act accordingly, and ignore the noise. An animal can learn from it's experiences, change it's behaviour, and adapt to an entirely new situation. These things are very difficult to achieve with computers.

The structures found within a brain are starkly different to the structures found in human artefacts, including computers. Man-made things are usually easy to distinguish from natural things; they have a different structure because of the way they are engineered. Traditional engineering does not result in structures similar to brains, but if the structures found in brains are critical to their capabilities, then traditional engineering may struggle to build those capabilities.

The structure of computational fabric is grown, rather than engineered. Certainly, the basic growth mechanism is carefully engineered. However, the structure of the fabric grows and flexes continuously in pursuit of it's objective. The structure is a result of the available data, the available actions, and the response of the environment.

If computational fabric can achieve it's objective in an increasingly efficient manner, then I would say that the fabric is intelligent.