|
Author
|
Topic: Modified GA Systems
|
warren_bergerson
Member
Member # 262
|
posted 04. February 2003 17:56
[This thread is being introduced to address the questions raised by RBH and Evan. This is a technical, probably boring, mathematical subject. I have no interest in any discussion of this subject unless the questions and comments are civil and reflect an honest attempt to understand the mathematical concepts being presented. ] It would be proper at this time to state that the material presented should be interpreted in the context intended, but since qualifiers will probably be ignored I will jump right in and introduce qualifiers when the need arises. I claim that life forms can be modeled as a type of logic machine. These biological logic machines, I claim, can generate both information and intelligent designs. For the discussion here, a design science model of a life form is labeled a TA (teleological algorithm) system. A TA system is an enhancement or modification of a GA system. Both TA and GA systems are based on the ‘variation-selection-storage’ concept originally attributed (I understand) to Aristotle. Starting with GA concepts, a TA system is created starting with the following modification: 1. allow inclusion of multiple types of selection (in addition to natural selection) 2. allow inclusion of multiple types of variation (in addition to random variation) 3. operates on input-output relationships or causal relationships (instead of operating on code sequences). 4. allow inclusion of operations logically equivalent to variation-selection processing
The first and second modifications eliminate the ‘1 cycle per lifetime’ limitations present in some Darwinian interpretations. These modifications recognize that biological systems have the ability to process information and find adaptive solutions within the lifetime of an organism. Since within life time processing is already generally recognized as a biological reality, this modification simply makes it possible to address both types of information processing in a single model. These modifications also directly address the issue of dynamic environmental conditions which change more than once per lifetime. The third enhancement, operating on causal relationships, rather than on sequential codes, eliminates the problem of the elusive ‘genotype to phenotype’ and ‘phenotype to genotype’ maps assumed, but not found in some interpretations of neo-Darwinian concepts. The operating on input-output or causal relationships fits in with the change-of- state concepts discussed in the self assembly thread. This enhancement means that evolution and/or biological information processing are assumed to operate on the behavior or operation of the life form (including the behavior of self assembly) rather than on the physical form of the life form. The fourth enhancement recognizes that there are many ‘techniques’ for finding adaptive forms of causal relationships in addition to the relatively slow and inefficient ‘variation-selection’ process. As a simple example, this enhancement means a TA system can find adaptive solutions by searching a memory bank.
PSEUDO CODE A TA system or model will typically involve multiple components performing multiple tasks. The operation of a component of a TA system is expressed or denoted using pseudo computer code. As a simple example, consider the following code for a component ‘searching for an adaptive form of a input-output relationship by evaluating different triggers or inputs.
PSEUDO CODE FOR SEARCH 1. Let initial causal relationship be ‘sx causes ry’ denoted by (sx, ry) 2. Let S be set of possible input or causal factors containing members s1, s2,…,sn 3. Let j=0 4. LN1: j=j+1 5. GO TO END if j > n +1 6. RECORD SVx(survival value) of (sx, ry) 7. RECORD SVj of (sj, ry) 8. IF SVj > SVx then assign (sj,ry) to (sx, ry) 9. GO TO LN1 10. END
USES OF TA MODELS TA models are mathematical abstractions with a wide range of potential uses. High level large scale models can be used to evaluate test the feasibility/possibility of certain types or classes of models- such as low information Darwinian type models. For more detailed issues, variations of TA models can be used in explaining how various processes do (or do not operate). As I have also discussed elsewhere, TA models can form the basis for expressing testable, predictive hard science models.
SUMMARY This is the nickel tour of TA systems and models. There may be one or two of the more obscure features of this approach which are not completely obvious.
IP: Logged
|
|
Rex Kerr
Member
Member # 632
|
posted 04. February 2003 18:21
I have some questions before I can make any coherent comments.
How do you determine s1..sn? Is S exhaustive? If so, how do you escape the curse of dimensionality? If not, how do you determine n?
Your code only has one loop. Is this performed once for each generation? If so, how do you generate s1..sn for the next generation given the optimal x from the previous generation?
Why do you (apparently) vary only s and not r? Don't different causal factors produce different outcomes? How do you determine ry?
Also, note that the entire algorithm can be written as
code:
argmax (i=1..n) [ SVi (si,ry)]
which highlights the point that all that is going on is scanning through a list to pick the maximum. All the interesting stuff (which you didn't really describe) presumably goes into creating the list.
There appear to be some inaccuracies in your list of contrasts with genetic algorithms, but I'd rather understand your proposal better before I comment on that.
Edited to fix a UBB code typo. [ 04. February 2003, 19:45: Message edited by: Rex Kerr ]
IP: Logged
|
|
warren_bergerson
Member
Member # 262
|
posted 05. February 2003 08:37
Rex,
Quote: How do you determine s1..sn? Is S exhaustive? If so, how do you escape the curse of dimensionality? If not, how do you determine n?
The size of S and n would depend what on type of issue is being analyzed and what type of model or theory is being proposed as an explanation of the phenomena. If you were to try to define the set of distinct stimuli recognizable by humans (and thus usable in S causes R relationships) the size would be extremely large (and not very useful). If you were evaluating an assembly instruction or causal relations such as "if temp greater than X then action Y’ then the size of n would be the set of temperature intervals the organism is capable of differentiating for this type of causal relationship.
TA’s like GA’s are generalized mathematical abstractions that can take many forms and have many potential uses. In some instances, we may be interested in broad questions such as ‘Is Darwinian type evolution possible?’. In other instances we may be interested in ‘the physical mechanism responsible for heat regulation in organism Z under conditions Y. Or we may be interested in how these heat regulation mechanism change or evolve. How we use a TA determines how different variables are defined.
It may be worth noting that Darwin characterized evolution as a process operating on the organism as a whole. In reality, change processes in biological systems tend to operate on a hierarchical or pyramid structure (or double pyramid or bow tie architecture), with independent or parallel information processing at one level being coordinated at a higher level. The information processing of a biological systems viewed as a whole is extremely complex with very, very large sets of S and very large sets of R. If you reduce biological information processing, including biological design processes, to components, the components are not as complex (involve much smaller sets of S and R). However, in order to utilize the hierarchical concept of information processing, one must also recognize that evolutionary or adaptive change is occurring simultaneously at many different levels and in many different components or units. Recognizing ‘where’ evolution occurs, means abandoning the Darwinian approach.
Quote: Your code only has one loop. Is this performed once for each generation? If so, how do you generate s1..sn for the next generation given the optimal x from the previous generation?
The single loop was a simplification. The loop would normally be viewed as continuously repeating because the specific (sj, ry) with the highest survival value could change with changing environmental conditions. The average length of time between changes in the optimal form of (sx, ry) can be very different for different causal relationships. The average time can vary from milli-seconds to millions of years. As I mentioned elsewhere, TA systems also incorporate processes for adding members to the set S and for adding members to the set R.
Quote: Why do you (apparently) vary only s and not r? Don't different causal factors produce different outcomes? How do you determine ry?
As your question implies, a TA would include components for testing causal relationships involving the m members of the set R.
In its most abstract form, a TA system contains components for 1) executing the relationships (sx, ry) as sx occurs in the environment, 2)continuously testing for the optimal form of (sx, ry) based on combinations of sx from S and ry from R, 3)operations for adding members to S and members to R, and 4)operations for creating new causal relationships. Given these basic operations (and an unlimited amount of processing and storage capacity) it is believed to be logically or mathematically possible to evolve a relatively simple model of a non-living system into a model of any known life form performing any known design process (like painting the Mona Lisa). [It would not be possible to build a computer with the required computing capacity nor to build a simulation of the process.]
As you point out there are lots of different ways to express or code the operations performed by a TA system. In making the code more efficient, however, it is important to distinguish between 1)input-output operations involving interaction with the environment and 2)internal processing operations. A TA system finds optimums (or adaptive forms) by interacting with the environment. A TA system may have expectation of future conditions, but the system is not assumed to know the future. As has apparently has been demonstrated mathematically, a closed system has no ability to generate information. A TA system is an open system and generates or extracts information by interacting with an external environment.
IP: Logged
|
|
Frances
Member
Member # 169
|
posted 05. February 2003 12:46
Dear Warren,
I am awaiting your comparisons of your ideas with genetic algorithms. I assume that you have plans to take this beyond its initial stage ?
You raise a lot of interesting questions but in the end the proof is in the pudding as they say.
Also remember that evolution deals with populations not individuals and with ensemble statistics.
All in all perhaps Micah would be interested in taking on your ideas as an AI project? What do you say Micah?
IP: Logged
|
|
Rex Kerr
Member
Member # 632
|
posted 05. February 2003 17:07
quote: Given these basic operations...it is believed to be logically or mathematically possible to evolve a relatively simple model of a non-living system into a model of any known life form performing any known design process.
Believed by whom? Do you have a reference? If not, do you mean "believed by you" or what? Can you show that the algorithm is at least Turing-complete?
Can you give an example of a system like this being used to solve a really simple problem, such as find the minimum of (x-5)^2 + (y-2)^2? If it would help, I can post a genetic algorithm that finds the minimum. Perhaps TA systems aren't good at finding minima of functions--if not, propose an example problem that would be suitable for highlighting the differences.
For what it's worth, your loop ought to be more like
code:
for i = 1 to n for j = 1 to m if (SV[(si,rj)]>SV[(sx,ry)]) x = i y = j endif endfor endfor
if you are in fact iterating over members of R.
Anyway, an example would be very illuminating. I am having a lot of trouble imagining how to build S and R in any useful way that isn't equivalent to a genetic algorithm with S=genotype and R=phenotype. Also, your code seems to indicate that survival value depends on S directly (not indirectly through R). Is this true?
IP: Logged
|
|
|