DUAL is a general-purpose cognitive architecture that comprises a unified description of mental representation, memory structures, and processing mechanisms. It is hybrid, multi-agent, and supports dynamic emergent computation. It also is one of the few concrete and fully implemented instantiations of Marvin Minsky's Society of Mind.
The author of DUAL is Boicho Kokinov and it is being developed at the Central and Eastern European Center for Cognitive Science at New Bulgarian University.
See also the cognitive model AMBR.
Hybridity. DUAL is hybrid--it consists of complementary aspects. Moreover, it is hybrid in two ways. On one hand, it hinges upon the symbolic/connectionist distinction and the integration between the two. On the other, there is the declarative/procedural distinction and integration thereof. The four aspects derived from these two pairs are merged together coexist at every level of granularity in the architecture.
Emergent computation. All processing and knowledge representation in the architecture is carried out by a cohort of small entities called DUAL agents. There is no central executive that controls the whole system, allocates resources, resolves conflicts, etc. Instead, there are small-scale DUAL agents and local interactions between them. The global behavior of the system emerges from the self-organizing pattern of these interactions.
Dynamics and context-sensitivity. An important feature of DUAL's operation is that it is constantly changing in response to influences from the environment. This is possible due to the emergent nature of the processing and the lack of rigid centrally imposed algorithm.
The basic structural and functional unit of DUAL is the DUAL agent. Due to its importance, the DUAL agent has synonymous names: micro-agent or simply agent. Other names like node and unit are used to bring connotations from other theories, notably semantic networks and connectionism. It is important to note that throughout this thesis all the aforementioned terms refer to the same concept: the DUAL agent.
DUAL agents are the smallest building blocks of DUAL. Strictly speaking, in the architecture there is nothing but agents of various kinds. They interact with one another and thus combine into larger complexes. The interactions between agents are very important in DUAL because they keep the architecture together. They are often reified and called links, especially in contexts where the agents are called nodes.
A major architectural principle of DUAL is that larger structures emerge from the interaction of smaller ones. Thus, one can consider building blocks of increasing size. DUAL agents are at the beginning of this succession, followed by coalitions, and formations. There is no sharp boundary between the latter terms. As a rule of thumb, a coalition consists of a relatively small number (e.g. less than 20) of interconnected DUAL agents while formations are much bigger.
DUAL-based models are complex systems and must be analyzed at different levels of granularity. It is useful to distinguish the following three levels:
The microlevel (agent level) deals with DUAL agents. Relevant topics here include the internal structure of a agent, its information-processing abilities, the differences among agents of different types, etc.
The mesolevel (coalition level) deals with coalitions of DUAL agents. A coalition is a set of agents and a pattern of interactions among them. Coalitions have two very important properties: they are emergent and dynamic. Thus, the mesolevel deals with the interactions between the DUAL agents, the emergence of non-local phenomena out of local activities, the dynamics of the organization of DUAL agents into coalitions, etc.
The macrolevel (system level) deals with formations of DUAL agents and with whole models. Formations consist of big populations of agents and define the macroscopic structure of DUAL models. It is at this level where psychological concepts like working memory, mapping, and analogy start to play the lead. They help describe the overall behavior of DUAL-based models and to compare them with other cognitive models and with humans.
These three levels are not independent. In fact, it is impossible to tell them apart. To illustrate, any analysis of coalitions crucially depends on the properties of their individual members. Conversely, a large part of the description of a DUAL agent is devoted to its interactions with other agents. Changes made at one level propagate to neighboring levels, recursively. For expositional convenience, however, each level is discussed in a separate section below.
At this lowest level of granularity, the entity of main interest is the DUAL agent: its internal organization and operation, as well as its interactions with peers. Micro-agents are very important in DUAL because everything in the architecture ultimately boils down to them and their interactions. They are the 'building blocks' that compose larger structures--coalitions, formations, and systems.
A very fundamental property of DUAL agents is that they are hybrid entities. They bring together ideas that are usually considered in opposition. In DUAL, opposites are not treated as irreconcilable antagonists but rather as complementary aspects of a harmonious whole.
Moreover, DUAL agents are hybrid in two ways. On one hand, they have both connectionist and symbolic aspects; on the other, they serve both as representational and processing units. These two dimensions are orthogonal and thus form the four aspects shown in Table 1.
Representation | Processing | |
---|---|---|
Connectionist aspect | activation level | spreading activation |
Symbolic aspect | symbolic structures | symbol manipulation |
From the connectionist perspective, each DUAL agent is a unit in a neural network. It has an activation level attached to it and continuously spreads activation to other agents. From the perspective of the classical symbolic approach to cognitive modeling, DUAL agents are symbols--they stand for something else. Concretely, they represent various concepts, objects, relations, etc. In addition to this representational aspect there is a procedural one: agents manipulate on symbols. They can receive symbols from other agents, store them in local memories, transform them (thus producing new symbols) and so on.
DUAL agents interact intensively with one another. These interactions are very important because they are the fabric combining agents into larger complexes. DUAL interactions are relatively simple--they always involve only two micro-agents. One of them takes the initiative and either reads or sends some information to the other. Combined with the connectionist/symbolic distinction, this makes the four aspects summarized in Table 2.
Type read | Type send | |
---|---|---|
Connectionist aspect | activation level | spreading activation |
Symbolic aspect | symbolic structures | symbolic exchange |
As mentioned earlier, it is often convenient to speak of links instead of interactions. In particular, we can speak of the attributes of a link, notably its weight and label. We can also discuss different types of links, draw diagrams with circles and arrows, etc. For instance, the phrase 'a population of interacting DUAL agents' translates into 'a network of interconnected nodes.' Throughout this thesis, both phrases mean the same thing.
Each DUAL agent is a micro-frame. More precisely, it is the symbolic, representational aspect of a DUAL agent that is a microlevel frame. It has slots which in turn may have facets. Slots and facets are placeholders--they are filled up with fillers. Many fillers are references to other micro-frames and thus link the given DUAL agent to its peers. Consider the example on Figure 1. It shows the agent representing the concept cup. This frame has five slots, one of which has two facets.
cup :type concept :subc (liquid-holder 1.0) :instance ((cup-1 0.3) (cup-5 0.2)) :a-link (saucer 0.5) :slot1 :type :relation :c-coref (cup-md-china 0.5)
Figure 1. An example of a micro-frame. See text for details.
There are two major kinds of slots: general slots and frame-specific slots (or G-slots and S-slots for short). The former have predefined semantics that is invariant for all micro-frames. There are different kinds of general slots depending on their label. For example, the slot type is filled by a tag denoting the type of the agent. The slot labeled subc denotes that the concept (or class) represented by this frame is a subclass of another concept. The slot instance is filled by (a list of) references to specific instances of the concept, etc. Note that each individual reference has a weight.
In contrast to general slots, frame-specific slots do not have invariant semantics. Thus, slot1 in frame1 may mean something very different from slot1 in frame2. Frame-specific slots also have labels but these are only void identifiers serving to distinguish one anonymous slot from the other. S-slots (and only they) have facets. Facets can be conceived of as slots within slots. The same set of labels applies to both G-slots and facets.
DUAL employs a dual representation scheme. Facts are represented symbolically by micro-frames, while their relevance to the particular context is represented by connectionist means. Each DUAL agent (and hence each micro-frame) has an activation level attached to it. There is an automatic process of spreading activation that continuously restructures the knowledge base, making some nodes more accessible and others completely inaccessible. Thus, each DUAL agent can be viewed as a node in a connectionist network. It has an input zone, activation function, and output function (Rumelhart & McClelland, 1986).
The output of a micro-agent influences the input zones of the agents
that are interacting with it. The former acts as a sender in the
interactions and the latter--as receivers. Using the node-and-link
terminology, we can say that the node sends activation to its
neighbors via links.
The phrase 'there is a link from agent X to agent Y'
means that agent X has a slot (or facet) filled up
by a reference to Y. Each link has a weight that controls what portion
of the sender's output is allotted to the particular receiver.
Weights are usually normalized so that the sum of the weights of all
outgoing links equals one.
The connectionist aspect of DUAL agents influences the symbolic one by determining the agent's availability. The notion of availability contributes very much to the hybrid nature of DUAL agents--it merges all four aspects from Table 1. Like the agent itself, availability has declarative and procedural aspects:
Visibility. A DUAL system may consist of thousands of agents, each of which contains some particular small piece of knowledge. At any given moment, however, only a small fraction of this large knowledge base is visible. The symbolic processes that take place in the architecture can operate only on visible declarative elements. In addition, more active (and hence more visible) data elements are more attractive to the procedural machinery and thus are more likely to be taken into consideration.
Speed. The availability of a DUAL agent determines not only the visibility of its declarative aspect but also the speed of its procedural aspect. Very active agents work rapidly and thus determine system's overall line of computation, low-active ones work slowly, striving for more power, and inactive ones do not work at all. As the pattern of activation over the network of agents changes, the speed of individual processors changes accordingly, making the computation performed by DUAL-based models dynamic and context-dependent.
A great deal of the information processing in the architecture is symbol manipulation-- deterministic construction, transformation, storage, and exchange of symbolic structures. We use the general term symbolic processing to refer to these activities. They are carried out by the symbolic processors of DUAL agents. Each agent has such processor. It also has local memory to support the processor's work. Part of the local memory is permanent; the rest is volatile memory. The former keeps the micro-frame with its slots, facets, and fillers. The latter consists of an input zone and a buffer. Thus, a typical symbolic transaction involves receiving a symbolic structure in the input zone, comparing it with old symbols stored in the buffer, and sending it with due modifications to some of the agents referenced in the micro-frame.
The speed of the symbolic processor depends on the connectionist activation level of the respective DUAL agent. The exact rule for determining the speed is based on an energetic analogy (Petrov & Kokinov, 1999). The main idea is that each symbolic operation requires the symbolic processor to do certain amount of work to carry it out. Doing work requires energy which is supplied to the symbolic processor by the connectionist aspect of the agent. The speed of the computation depends on the power (i.e. on the rate of energy supply and consumption) which in turn is linearly related to the activation level.
DUAL agents are simple, they cannot do much in isolation. Therefore, they depend on one another and form coalitions. A coalition is a set of agents and a pattern of interactions among them. It is the entity of main interest at DUAL's mesolevel.
Coalitions have three very important properties: they are decentralized, emergent, and dynamic. None of these properties is present at the level of individual DUAL agents (the micro-level). There are 'tight' coalitions and 'loose' coalitions depending on the intensity of the interactions among their members. Tight coalitions are characterized by heavily weighted links and by intensive exchange of symbolic structures within the coalition. By contrast, loose coalitions are characterized by relatively weak links, often temporary ones, and by little or no symbolic interchange. There is a whole range between these two extremes. Moreover, coalitions do not have clear-cut boundaries. An agent can be involved in many of them at once, and to a different extent. Coalitions can 'recruit' new members, either permanently or temporarily. They may share members and thus 'flow' gradually from one into another.
Recall that DUAL agents can be seen as representational units--each of them stands for some single entity. By extension, coalitions of agents represent composite entities like propositions and situations. In the knowledge representation scheme adopted in DUAL even a simple proposition is represented by a number of agents. In such cases we say that there is a meso-frame that consists of several micro-frames.
Meso-frames can be quite complex, much more complex than any of the participating micro-agents. In this way, the expressive power of DUAL's representation scheme is not limited by the restriction that each agent can have only a few slots. Coalitions are limited only by the connectionist mechanism that controls the activation level of their individual members and hence indirectly restricts the number of agents that can be active at a time.
The connectionist mechanism is responsible also for determining which parts of a meso-frame are relevant. It is possible, especially in loose coalitions, that only part of their members are active enough to pass the threshold. Thus, only part of the declarative knowledge stored in the meso-frame will be visible. In other circumstances, another part of the knowledge will be brought to the fore. This makes DUAL meso-frames dynamic and context-dependent.
From a processing point of view, coalitions are important in DUAL because it is at their level where non-local computation emerges. Each individual DUAL agent contributes somehow to the collective performance by doing its small and local-specific job. Each agent runs at its own speed and in parallel with other agents. To succeed in its task, the agent usually depends on other members of its coalition. It cooperates with them and competes with the agents from other coalitions. The net result of all these activities is that the coalition as a whole accomplishes some computation that is beyond the reach of any individual agent. This accomplishment has resulted from an emergent process--it is not carried out by any centralized processor following a rigid routine.
It is important to note that the interaction pattern among the participants in a coalition changes dynamically over time. New agents join in, others stay back, fall out and so on. In the node-and-link terminology, the topology of the network changes via dynamic addition and/or removal of nodes and links. This computational dynamics plays a key role in the overall flexible and context-sensitive behavior of DUAL-based models (Kokinov, Nikolov, & Petrov, 1996).
To summarize our presentation so far, at DUAL's microlevel we speak in terms of DUAL agents, at the mesolevel--of coalitions. Now, at the highest level of granularity we speak of DUAL formations and systems. A DUAL formation consists of a big population of agents--in the order of hundreds or thousands in number. A DUAL system consists of all agents that are present at a given instant of time, regardless of whether they are active or inactive, permanent or temporary, etc.
Most of the agents and, therefore, most of the knowledge and processing in the architecture reside in the DUAL network. Most agents in this network are permanent but additional temporary ones may be created during the computation and added to the total pool. Similarly, most links are permanent but additional temporary ones may be established. Thus, the topology of the network is relatively stable but not absolutely frozen.
The collection of all permanent nodes and links in the DUAL network comprise the long-term memory (LTM) of the architecture. It contains the system's knowledge (both declarative and procedural) about the world. LTM is very big--even for simple domains and situations one needs hundreds or thousands of agents.
In any given moment, however, only a small portion of this large formation is actually needed. DUAL provides special mechanisms, the most important of which is spreading activation, for effectively determining which agents (and coalitions) are relevant to the particular task and context. Recall that each agent has an activation level that is the system's estimate of its relevance. So, by definition the working memory (WM) of the architecture consists of the set of all agents whose activation level exceeds a certain threshold.
The working memory is the locus of almost all processing in DUAL and, therefore, we will consider it in more detail. An agent can enter WM in two ways: permanent agents enter it whenever they become active enough to pass the threshold; temporary agents must be explicitly created and linked to the network by a specialized node constructor. Agents stay in the working memory as long as their activation level is maintained above the threshold. When a permanent agent 'drops out' of WM, it returns back to dormancy and could enter WM again later. Temporary agents, however, have no second chance.
To sum up, the contents of the working memory may be expressed by
the following formula:
The activation in the network originates from two special agents. The so-called input node models the influence of the environment. The goal node is, in a very rudimentary sense, the medium of the 'intentions' of the system. The human user of the system attaches some agents to these nodes, thus allowing for the spread of activation to the DUAL network. The activation then propagates via the links and brings some agents from LTM to WM. There is a decay process which limits the total amount of activation and hence the size of the working memory.
[ AMBR Main Page ] | [ Back to top ] |
[ Petrov's Home Page ][ Petrov's Publications ] | |
[ Kokinov's Home Page ][ Kokinov's Publications ] |