Sunday, 10 July 2011

Brain Storms - 5 - Some factors in Choosing a Model


As CODIL is an artificial language which has been implemented on a stored program computer my experience has been that many people jump to conclusions about what is does and how it does it. For this reason it is worth spending a little time discussing the limitations of models in understanding science.

My own approach to scientific models is greatly influenced by the fact that as a student I studied chemistry at a university with a strong interest in the underlying theories, and went on to do a Ph.D. with a strong theoretical content. As such I was well aware that it helped to have different models for different purposes – and each model had its strengths and weaknesses – and it was often possible to represent the mathematics in different way. The difference between the Ancient and the Copernican models of the Solar System are little more than a change in the mathematical origin (which simplified calculations) and a change in the belief that humans must be at the centre of creation.

In the context of “Trapped by the Box” it is also important to realise that our brain constructs models of reality which also have their strengths and weaknesses. We are all aware that the brain/eye can be fooled with various optical illusions. The “image” of what we see is an incomplete view of the reality, which is filtered by what we expect to see. This was brought home to me when I visited a nearby zoo with a young child who suddenly pointed with an excited cry of “Look”. Everyone looked in the direction she was pointing and saw nothing that could possibly be relevant, such as a bear with its cub. Nothing – so the child pointed more directly and we could all see the ant on the barrier to the enclosure!

Everyone also has models for the human languages that they speak – and these can influence the way they think about the world. So what about computer languages. It is well know that if someone becomes very familiar with one programming language this will influence how they use a new language. In fact it is quite difficult to find anyone that does not take the stored program computer approach for granted, even if only to admit they they are not clever enough to write programs. The more knowledgeable will talk about the Turing Universal Machine to demonstrate the power of the almost universally accepted approach.

But all models have practical limitations and the Turing Universal Machine and the stored program computer are no exceptions. They are based on the assumption that you can define the algorithm (program) in advance. Whatever the theoretical position might be if we had infinite knowledge, there are many aspects of the world where we do not have enough prior knowledge to define an algorithm. It is in these areas that CODIL was designed to work. I would also suggest that this area of incomplete and inexact knowledge is the one in which the brain (both animal and human) evolved.

A detailed assessment of CODIL will come in later postings but it is useful to think of CODIL as the “symbolic assembly language” of a non “Von Neumann” computer. This table highlights some of the differences.

Feature
Conventional Computer
CODIL system
Information stored as:
Numbers
Sets
Recursion as part of memory structure
No
Yes – sets can contain sets
Information addressed by:
Numerical position in linear store
Associatively by Set Name
Distinction between program and data
Yes
No
Address calculation
By program
Automatic
User friendly at the processor level
No
Yes (people understand sets!)
Algorithm required in advance
Yes
No
Will basic approach map easily onto a neural net
No
In part very easily but more research needs to be done

I can just imagine some of the computer purists looking at this – noting that CODIL has been made to work on a stored program computer – and blowing a large raspberry. But as I discovered when I studied Chemistry – you need different models for different purposes – and often different mathematical models prove to be equivalent. For those who wish to dismiss the idea may I suggest they remember that there are sets of numbers and it should be possible (and I leave it to others to prove it) that the stored program computer is a special subset of the CODIL approach. For instance if you said all set names are unique numbers in sequence, and all sets had a single numeric value, and eliminated recursion, the CODIL memory would become equivalent to the stored program computer memory.  

No comments:

Post a Comment