Prototype Program
Introduction
In order to discuss a super brain we need something specific to use as an example, a model that we can discuss. Otherwise,we are just flapping our lips. I have come up with the following prototype which can serve as a model. This is not a final design or specification but it will serve as an idea we can develope and help us define our vocabulary.
I must warn that the actual code does not agree with this discussion. The code and the discussion are evolving concurrently.
The Program
The Super Brain will consist of computer programs running in many computers, communicating with each other. Each program will be similar to the prototype I will discuss in this example. The name of the program is P1 and it is written in the Python language. The P1 program creates and manages a population of cells. Each cell has its own file which defines its identity. In this prototype the cell files are maintained in a directory(folder) called MEM. In the program P1 there is code to create a population of cells, execute a each cells function and generally manage the population of cells. The program P1 continues to run until its resources are exhausted. The cell is implemented by a subroutine named Cell(). This subroutine has one argument, cell_filename, which identifies its file in the MEM directory. The contents of the cell file is a set of integers.
Program P1
Create cell files
Loop forever
for each cell_file_name
Cell(cell_file_name)
The Cell
The Cell subroutine performs the following: It initiallizes its memory array from the its file. Based on the memory the Predictor anticipates what the next input will be. The SenseEnvironment function selects a sample from the environment as dictated by the memory array. A score is computed by comparing the prediction with the sample. The sample and the score are then used to modify the memory array. The Mull function then operates on the memory array. The Act function then operates appropriately on the environment as dictated by the memory array. The WriteFile function then writes the updated memory array back out to its file.
MemoryArray = ReadFile(cell_file_name) Prediction = Predictor(MemoryArray) Sample = SenseEnvironment(MemoryArray) Score = Compare(Sample, Prediction) ProcessInput(Sample,Score,MemoryArray) Mull(MemoryArray) Act(MemoryArray) WriteFile(cell_file_name,MemoryArray)
MemoryArray
The memory array has several distinct regions:
Sense_control - Controls the input streams of information from the environment
by way of the Sample = SenseEnvironment(MemoryArray) function.
Action_control - Controls the output to the environment or control of the
cells environment. Act(MemoryArray)
Internal_control - Determines the sequence of steps performed by the cell in
each cycle of its loop. Mull(MemoryArray)
Reproduction
The Reproduction() function is responsible for managing a cell population.
This includes adding new cell initially, breeding cells, cloning cell, mutating
and destroying cells.
Act
The purpose of the Act() function is to translate the Action_control regon of
the MemoryArray into output to the cells environment.
This output can take any form so long as it is not self destructive.
Act The purpose of the Act() function is to translate the Action_control regon of the MemoryArray into output to the cells environment. This output can take any form so long as it is not self destructive.
Generated by argv0=E:\USB\GOALS\PYTHON\Src\fun2.py Tue Aug 21 15:42:29 2007