Cognitive architectures

A cognitive architecture is a blueprint for intelligent agents. It proposes (artificial) computational processes that act like certain cognitive systems, most often, like a person, or acts intelligent under some definition. It is a superset of general agent architectures. The term architecture implies an approach that attempts to model not only behavior, but also structural properties of the modelled system.

Characterization
Common to cognitive architecture is the belief that understanding (human) cognitive processing means being able to implement them on a computational level. Cognitive architectures can be characterized by certain properties or goals that are as follows:
 * 1) Implementation of not just various different aspects of cognitive behavior but of cognition as a whole (Holism, e.g. Unified theory of cognition). This is in contrast to cognitive models.
 * 2) The architecture often tries to reproduce the behavior of the modelled system (human), in a way that timely behavior (reaction times) of the architecture and modelled cognitive systems can be compared in detail.
 * 3) Robust behavior in the face of error, the unexpected, and the unknown. (see Graceful degradation).
 * 4) Learning (not for all cognitive architectures)
 * 5) Parameter-free: The system does not depend on parameter tuning (in contrast to Artificial neural networks) (not for all cognitive architectures)

It is important to note that cognitive architectures don't have to follow a top-down approach to cognition (cf. Top-down and bottom-up design).

Distinctions
Cognitive architectures can be symbolic, connectionist, or hybrid. Some cognitive architecures or models base on a set of generic rules, as, e.g., the Information Processing Language (such as e.g. SOAR based on the unified theory of cognition, or similarly ACT). Many of these architectures are based on a the-mind-is-like-a-computer analogy. In contrast subsymbolic processing specifies no such rules a priori and relies on emergent properties of processing units (e.g. nodes). A further distinction is whether the architecture is centralized with a neural correlate of a processor at its core, or decentralized (distributed). The decentralized flavor, has become popular under the name of parallel distributed processing in mid-1980s and connectionism, a prime example being neural networks. A further design issue is additionally a decision between holistic and atomism, or (more concrete) modular in structure. By analogy, this extends to issues of knowledge representation.

In traditional AI, intelligence is often programmed from above: the programmer is the creator, and makes something and imbues it with its intelligence. Biologically-inspired computing, on the other hand, takes sometimes a more bottom-up, decentralised approach; bio-inspired techniques often involve the method of specifying a set of simple generic rules or a set of simple nodes, from the interaction of which emerges the overall behavior. It is hoped to build up complexity until the end result is something markedly complex (see complex systems).

Some famous cognitive architectures

 * ACT-R, developed at Carnegie Mellon University under John R. Anderson.
 * SOAR, developed under Allen Newell and John Laird at Carnegie Mellon University and the University of Michigan.
 * Copycat, by Douglas Hofstadter and Melanie Mitchell at the Indiana University, Bloomington.
 * DUAL, developed at the New Bulgarian University under Boicho Kokinov.
 * Apex developed under Michael Freed at NASA Ames Research Center.
 * Psi developed under Dietrich Dörner at the Otto-Friedrich University in Bamberg, Germany.
 * PRODIGY, by Veloso et al.
 * Subsumption architectures, developed e.g. by Rodney Brooks (though it could be argued whether they are cognitive)