top of page

From Motion to Action: How the mind (operating system software) is formed from the brain (platform hardware), allowing the self (procedural knowledge + declarative knowledge) to emerge.

 

Motion and Action

Without an organism developing the abstract notion of action from the concrete computations of motion, it cannot develop the concept of truth, which is the property of data representations (either computational/internal or communicative/external) which correctly describe reality (ie past, present, or possible subjective conceptions of self-in-world). When an internal representation (model) is true, an organism can use it to  safely organise its own actions, knowing that its interactions with physical objects and autonomous agents will be accurate and sustainable.

Measures and Features

But first, the organism must find a way of abstracting concrete, essentially individualistic  robotic notions of motion (ie Newtons laws), where all behaviour is measured in analog measures , into collectivistic (external, social) notions of action, where discrete notions of behaviour replace analog ones.

For example, motion-based code (procedural knowledge) uses position_angle as a variable/analog input parameter, whereas action-based code (declarative knowledge) uses doorway_state (eg either open or closed) as a so-called categorical input parameter.


Consider a door. A motion-based robot will open it to 40 degrees in case of fire, to allow people to escape. An action based robot will ask first if [door==open]. If not, it will <door=open(door, 40)>.

Logical behaviour which is based on notions of true or not-true states clearly requires program variables to be categorical/discrete, not continuous/analog. You have to be able to give a yes or no answer to queries like-'does (ACTUAL sub-system-state) = = (DESIRED sub-system state), eg Is the door open?

 

 

 

 

 

 

 

 



 

 

 

 

 

If you are reading this, and you are a computer programmer, you my wonder what the fuss is all about. Why make the distinction at all? When you test the condition of a (self or world) variable, say using an IF conditional statement, who cares whether you write-

If (door_angle < 40) THEN REPEAT move (door, delta) UNTIL (door_angle == 40);

or you write -

If (door_state == !(OPEN)) THEN open(door);

The difference is that the use of such numbers internally to the program makes it highly non-portable. Numbers like '40' are called 'magic numbers' because anyone trying to maintain the code, or port it to another platform is left scratching their head wondering 'what does 40 mean'?.

Language is a form of communication, where, effectively, the speaker sends lines of human-computer code (on a declarative, not procedural level) to the listener to decode. Non-portable features like magic numbers a a big non-no, of course.

The computer science issues of maintaining or porting code thus apply directly to the quesion of why language is a discrete, categorical form, not an analog, gestural one.


Information and Events


Very similar comparisons link information to events as link motion to action. Events are discrete packets of information, where information is 'news', ie that portion of the input data which is unexpected. At some microscopic scale, a thresholding operation must be performed on the analog input signals (eg sound frequencies, changes in parts of a visual scene), where signals over the threshold are deemed information events, and the rest ignored. The main point to remember is that events are perceptual, and therefore necessarily subjective. But before thinking that this could be used to distinguish between living systems and non-living computers, think again.

Signals and Symbols


All computers, not just biological ones, must make low-level discriminative judgments. In digital communications, the manchester code, where current transmitted bit parity ('1' or '0') is given by direction of change of zero voltage crossing, is used to divide the analog variation in signal strength into binary digits.



This point is so important, it should be made into a law-
All computation is discrete  -- Equ. 1a

This must be true because at some level in the information abstraction hierarchy, the analog signal  must be 'thresholded' into discrete signal level categories. Analog means it can vary smoothly, that is, adopt an infinity of real-numbered values. The simplest division into categories is of course the binary system, where a signal is either 'up' or 'down', '1' or '0'.

Consider symbols like the English alphabet. This is a symbol system with 26 separate discrete signal levels, or symbol values. A single dimension cannot capture such graphic objects- multi-dimensional vectors and matrix maths must be used when computing the levels. However, the underlying idea of thresholding is universal and fundamental, and hence gives rise to the unnamed law (Equ 1a) above.

When the matter is analysed further, an interesting, disturbing observation can be made. Whether something is analog or discrete depends on the computational level. At the data level, electrical voltages are transformed into binary signals via the thresholding performed (at great speed and in great number) by the manchester code hardware. Yet when we look at the software programs, there are mixtures of both analog and discrete (categorical) variables used. Every programmer needs to be able to use floating point representation, but also needs to define non-numerical codes that are descriptive and meaningful to people. This point is an essential one. Without it, Equ. 1 is incomplete, in that it can be wrongly applied, or wrongly falsified. Hence we must account for scale. In particular, BOTH the scale independence and interdependence must be incorporated in the span of the law, so that it genuinely represents an invariant part of reality, ie a truth.

All Computation is both discrete and fractal - Dyer's Law

 

Computer programming and execution - an abstract view

 

When we use interpreted scripts to customise a computers functionality for the current task, we are largely interested in system, and sub-system states and status. We convert individual condition measures into collective situation features. Structures are either present or absent. Processes are either running, or stopped. The entire system view has been frozen, and turned into a kind of pseudo-structure. This is, in essence, declarative programming. Processes or transformations (means, task-paths and trajectories) are not controlled, but their overall purposes or teleology (ends, end-goals, successful terminating situations) are closely specified. Conversely, at the lower part of the system hierarchy, it is not states, but rates (of change) that govern the system command and control representations. Individual processes run concurrently in a shared resource space, choreographed by programs compiled into assembler files, which are then linked into executable binary images. This is, in essence, procedural programming.

 

At this low, process-oriented level, the bit mechanisms of the digital architecture vary with MegaHertz speed, and look the same whether they are meant to represent a high level structure or high level process. Fragile command chains of transient binary values, which are stored then discarded a million times each second, are the only thing that stop order from being overtaken by chaos. Precisely the same arguments apply to biocomputers such as the body and mind.

 

In the diagram below, the descriptions of the various parts of the system architecture (process pyramid) apply equally to non-living digital computers, as to flesh-and-blood biocomputers, such as our own brains. Schneider & Schiffrin (1977) demonstrated that, just like a digital computer, controlled (=conscious) tasks are serially processed, while automatic (=involuntary) tasks are processed in parallel.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Platform, System and User defined spaces - genes, semes, and memes

 

The self is what differentiates you from me. Underneath that, we are more alike than different. As it is for computers, so it is for humans. In computers, procedural knowledge consists of skills, just as in humans. In computers, skills are obtained from the Applications, or apps, which each user has installed in his or her 'programs' folder (directory).

 

In computers, declarative knowledge (knowing that...) consists of facts (semantic knowledge, knowing what...) and events (episodic knowledge, knowing when...) is stored in data files and log files respectively. All files are categorized in a hierarchical manner by being placed in directories which are usually, but not necessarily taxonomically organised. In people, similar arguments apply.

 

It is important for the reader to understand that, outside of AI and Machine Learning sub-disciplines, no attempt at all has been made to design computers to look like, or function like, humans. Computers were designed to be (1) cheap to mass produce (2) relatively easy to use (3) applicable via flexible, multipurpose application software to a wide range of repetitive, exacting book-keeping (ie cost accountancy) and record-keeping tasks (4) have appealing TV-like graphic display with user-friendly mouse-driven interface.

 

Yet they have evolved with an almost identical internal information architecture to our own brain. We both have a split between static, declarative learning - knowledge of facts (unchanging truths) and events (changing truths)- and dynamic, procedural learning - knowledge of skills (how we work), society (how the world works) and technology (how we use machines to make the world easier to use). These are no mere abstract categories, they correspond to actual parts of the brain.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

We are now in a position to list what parts of the the brain and mind do resemble computers, and what parts don't. The important thing is, both are information processing hierarchies (task pyramids, or Tinbergen trees) with upper layers exhibiting increased degrees of functional abstraction. At the bottom, we may have a machine, performing many simple actions, but via functional abstraction and hierarchical data structures, we have a human. Amazingly, the overall organisation follows two familiar patterns-

1. the Marr-Poggio trilayer, which when in recursive form, we call the Marr MetaMachine (MMM)

2. the trilayer of a standard linguistic system, comprising alphabet, lexicon and grammar.

 

These are functionally interposed, but overlapping, as in the following diagram-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

This diagram is recursive, because the concepts are fractal (ie applicable in a self-similar manner across a wide range of value scales). It can be nested inside another, superveiling trilayer, which depicts the evolutionary architecture of our brain.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bottom of page