Cognitive architecture

A cognitive architecture refers to both a theory about the structure of the human mind and to a computational instantiation of such a theory used in the fields of artificial intelligence (AI) and computational cognitive science. These formalized models can be used to further refine comprehensive theories of cognition and serve as the frameworks for useful artificial intelligence programs. Successful cognitive architectures include ACT-R (Adaptive Control of Thought – Rational) and SOAR. The research on cognitive architectures as software instantiation of cognitive theories was initiated by Allen Newell in 1990.

The Institute for Creative Technologies defines a cognitive architecture as a "''hypothesis about the fixed structures that provide a mind, whether in natural or artificial systems, and how they work together — in conjunction with knowledge and skills embodied within the architecture — to yield intelligent behavior in a diversity of complex environments."

History
Herbert A. Simon, one of the founders of the field of artificial intelligence, stated that the 1960 thesis by his student Ed Feigenbaum, EPAM provided a possible "architecture for cognition" because it included some commitments for how more than one fundamental aspect of the human mind worked (in EPAM's case, human memory and human learning).

John R. Anderson started research on human memory in the early 1970s and his 1973 thesis with Gordon H. Bower provided a theory of human associative memory. He included more aspects of his research on long-term memory and thinking processes into this research and eventually designed a cognitive architecture he eventually called ACT. He and his students were influenced by Allen Newell's use of the term "cognitive architecture". Anderson's lab used the term to refer to the ACT theory as embodied in a collection of papers and designs (there was not a complete implementation of ACT at the time).

In 1983 John R. Anderson published the seminal work in this area, entitled The Architecture of Cognition. One can distinguish between the theory of cognition and the implementation of the theory. The theory of cognition outlined the structure of the various parts of the mind and made commitments to the use of rules, associative networks, and other aspects. The cognitive architecture implements the theory on computers. The software used to implement the cognitive architectures were also "cognitive architectures". Thus, a cognitive architecture can also refer to a blueprint for intelligent agents. It proposes (artificial) computational processes that act like certain cognitive systems. Most often, these processes are based on human cognition, but other intelligent systems may also be suitable. Cognitive architectures form a subset 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.

Distinctions
Cognitive architectures can be symbolic, connectionist, or hybrid. Some cognitive architectures or models are based on a set of generic rules, as, e.g., the Information Processing Language (e.g., Soar based on the unified theory of cognition, or similarly ACT-R). Many of these architectures are based on principle that cognition is computational (see computationalism). In contrast, subsymbolic processing specifies no such a priori assumptions, relying only on emergent properties of processing units (e.g., nodes ). Hybrid architectures such as CLARION combine both types of processing. A further distinction is whether the architecture is centralized, with a neural correlate of a processor at its core, or decentralized (distributed). Decentralization has become popular under the name of parallel distributed processing in mid-1980s and connectionism, a prime example being the neural network. A further design issue is additionally a decision between holistic and atomistic, or (more concretely) modular structure.

In traditional AI, intelligence is programmed in a top-down fashion. Although such a system may be designed to learn, the programmer ultimately must imbue it with their own intelligence. Biologically-inspired computing, on the other hand, takes a more bottom-up, decentralized 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). However, it is also arguable that systems designed top-down on the basis of observations of what humans and other animals can do, rather than on observations of brain mechanisms, are also biologically inspired, though in a different way.

Notable examples
Some well-known cognitive architectures, in alphabetical order: