User:TakuyaMurata/Symbiotic algorithm
Symbiotic Algorithm
==== Keywords ====
Computer Science, Algorithms, Neural Networks, Multiple Agent Systems (MAS), Brain Research, Connectionism, Neuro-philosophy, Consiouseness, Emergence
Preface
[edit]Symbiotic Algorithm research is a new topic, first discussed here on Wikipedia.
In grade-school arithmetic we are taught that
1000 + 1 = 1 + 1000 = 1001
This is true, unless the numbers represent money which you are being paid,
and the arithmetic is time dependant.
In which case if you get $1000 this week and $1 the next,
it is NOT the same as getting $1 this week and $1000 the next.
Especially if you need those $1000 to buy something important this week.
In algorithm research there is a similar paradigm.
Much thought has been put into finding the order of time it can take an algorithm to complete.
Then more thought was given to qualifying and categorizing algorithms which can never be completed, those which should take forever to complete etc.
Algorithm theory shows that time vs. space domain are interchangeable, and an algorithm which takes forever to complete sequencially will take up infinite space to complete in parallel, even if we give each bit of information or processing a space of molecular scale.
As can be seen on the Wikipedia entry for Parallel Algorithms, creating algorithms of this kind is highly complex, planning them - even harder, and hardest of all is finding converging patterns of behavior and proving that these parallel systems will in fact solve the problem, and in what order of time and space.
As opposed to other Parallel Algortithms, Symbiotic Algorithms can be understood, are quite simple in their construction, can be automatically evolved or emergent, and most importantly, can be shown to converge to a solution in restricted time and space.
Symbiotic Algorithms
[edit]Symbiotic Algorithms are Parallel Algorithms which resolve in time, building on temporary knowledge available at the time, and constructing multiple versions of solutions. Chosen actions or selected solutions can be time dependant and time constricted.
Various different Multiple Symbiotic Algorithms running concurrently, may congregate automatically or be grouped together manually, either statically at design time or dynamically during run time, to create Symbiotic Clusters.
Similar to Multiple Agent Systems, these clusters communicate between each other in a Challenge-Response-Contract communication scheme, or in an Event Driven scheme. When an event driven communication scheme is used, an additional interupt level is utilized by the recieving components. This interupt level may vary in time or may be set to correspond to the level of processed information, allowing less interuption as time proceeds or as enough information becomes available.
Characteristics
[edit]Symbiotic Algorithms are NOT necessarily Emergent Algorithms.
A Symbiotic algorithm is an algorithm that has the following characteristics:
- works in parallel and independently of any other clusters and algorithms running in the system.
- it can work on partial information, or gives partial information during its process to other Symbiotic algorithms.
- it can vary with time or with amount of information accumalated.
- it is constrained in time and/or in conjunction with activity of other Symbiotic algorithms.
- is expected to run in redundant multiplicity, so that several Symbiotic Clusters will be working to achieve the same result at the same time.
- These clusters are NOT necessarily the same, but may be so.
Symbiotic Cluster Types
[edit]- Symbiotic Meta-Clusters
- Emerging Symbiotic Clusters (Evolving Symbiosis)
- Symbiotic Cluster Structures
- Multiple Agent Symbiotic Clusters
- Neural Network Symbiotic Clusters
- Symbiotic Embedded Clusters
=== "pet dog" Paradigm ===
A classic example explaining this is the "pet dog" OCR, pattern recognition and neural network problem, where there are two words.
The first is:
pet
and the second word is:
dog.
But in both cases the middle letter (e or o), presented to the subjects, (whether people or machines trying to "read" the message), is the same image, something between an o and an e, similar to an upside down G.
==== The "pet dog" Processing Problems ====
There are several different processes happening:
1. Edge detection: Where are the edges of the image.
The p for example is built of:
one verticle left long line : | two short horizontal lines : = and one short right verticle line.
2. Letter recognition: Where, for example, a letter which goes under the printed line, can be:
p, g, j or q
3. Word recognition by letters: Word starting with d and ending with g...
dug dig dag dsg dog?
4. Word recognition by context (of other word)
pet d_g
Now thats easy: pet animal. Animal thats in home.... cat or dog...
5. Sentence recognition....
6. Phonetic recognition: "'d_g', hmm, that sounds to my ears like dog..."
etc.
To Be Completed
[edit]Stay tuned!
Bibliography
[edit]This newly evolving field was first presented by Moshe Flam,
who had thought of it while working on transportation PRT solutions.
=== Personal Rapid Transportation ===
=== Multiple Agent Systems ===
- Prof. Sarit Kraus - on emergent shortest path algorithms
=== Graph Theory ===
- The Minimum spanning tree problem and other graph theory algorithms explained.
=== Neural Networks Explained by Component ===