Figure 1: BAsCET's architecture

           Concept Network               CodeRack
          +---------------+                         
          |      ###      |  emergence   |       |
          |       |     +--------------->|-------|   Blackboard
          |       v    /  |              |       |
          |###-->###-->###|              | Agent |   Agents
          |     /  \      |              |-------|   s
          |  ###<->###    |    agents  / | Agent |
          +---------------+    run   /   +-------+   Concepts
                  ^                /      
         influence|              /                   Examples
                  |            /   \ choice
         +-----------------+</       \               Temperature
         |  #############  |           \/---\
         |  /     |     \  |            |   |
         | v      v      v |            |   |
         |####  ######  ###|  computes  | | |
         ||  |   |       -------------->| | |
         |v  v   v         |            | O |
         |## ## ###        |            \---/
         +-----------------+            Temperature
             Blackboard

As seen in Figure 1, BAsCET is constituted of three main elements: the model, called Concept Network, the CodeRack, containing the procedural knowledge, and the workspace (or Blackboard). Evaluating the current solution of the Blackboard (through Temperature) allows to modify the behavior of the system to adapt it to the situation.

The functioning of BAsCET is overviewed in Algorithm 1. The problem is first written into the Blackboard, creating one or more objects representing it (each object is an instantiation of a Concept Network node). As soon as an instantiation of a node is created, the latter is fully activated, and can thus launch its agents into the CodeRack. Then, some agents (N) are chosen and run. These agents can add, delete or modify Blackboard's objects. Temperature, measuring the advance of the solution inside the Blackboard, is computed. It serves, in the next cycle, as a parameter for choosing the agents to run. Next, the Concept Network activations are propagated, and the process runs again, until a specific agent decides to stop (because the result is judged sufficiently good, or because it is very likely that no better solution could be yielded).


Algorithm 1: BAsCET

Create the "first" object in the Blackboard
Launch the activated Concept Network nodes' Agents in the CodeRack
Repeat
  Choose one Agent and extract it from the CodeRack
  If N Agents have been run Then
    Update the Concept Network
    Launch the activated nodes' Agents
  End If
Until good solution or no better solution possible
Build the solution

As Hofstadter stated once (Hofstadter 1984), the interdependence of the system's values are similar to those of biological cells. Thus, every agents's activity depends on already existing objects. This activity (building, among others) influences the Concept Network, that influences the agents' choice, as much as the Temperature.


Bibliography

Hofstadter 1984
D. R. Hofstadter.
The copycat project: An experiment in nondeterminism and creative analogies.
AI Memo 755, Artificial Intelligence Laboratory, Massachussets Institute of Technology, 1984.

Disclaimer: as I don't speak fluently English, I accept all suggestions to improve writeups.

Log in or register to write something here or to contact authors.