# Adaptive Control of Thought

Adaptive Control of Thought (ACT), ursprünglich Active Control of Thought, ist eine kognitionspsychologische Theorie zur Erklärung der kognitiven Leistungen (u. a. Denken, Sprache und Gedächtnis) des Menschen. Sie wurde 1983 von John R. Anderson erstmals vorgestellt und seither fortlaufend weiterentwickelt. Zum einen will sie erklären, wie Menschen ihr Wissen strukturieren und weshalb sie zu intelligentem Verhalten in der Lage sind. Zum anderen will sie den Kognitionswissenschaften und der Künstliche-Intelligenz-Forschung ein Modell bereitstellen, das Computersimulationen der geistigen Leistungen des Menschen ermöglicht.
ACT ist eine sogenannte kognitive Architektur. Kognitive Architekturen stellen eine Art „Werkzeugkasten“ dar, mit dem bestimmte Phänomene der menschlichen Kognition modelliert werden können (bspw. das Lesen eines Satzes inkl. Bedeutungsextraktion). Solche kognitiven Architekturen stellen insofern einen Gegensatz zur sog. „Modellierung from scratch“ (bei Null angefangen, ohne Vorbild) dar, als bestimmte – experimentell fundierte – Voraussetzungen schon implementiert sind. Dies können bspw. Verzögerungen beim Erkennen eines Wortes oder Ähnliches sein.
ACT gehört zur Klasse der „Produktionssysteme“, ist also ein Modell, das auf der Entstehung, Speicherung und Ausführung sogenannter productions beruht. Diese productions sind Regeln der Form „Wenn Bedingung A erfüllt ist, dann führe Aktion B aus“ (sogenannte materiale Implikation).

## ACT-R

ACT liegt in zahlreichen Versionen vor. Meist bezeichnet das Suffix hinter „ACT“ eine spezielle Erweiterung in eine bestimmte Richtung der Forschung. Das „R“ steht hier für „Rational“, also „vernünftig“. Es verweist darauf, dass sich dieses Denkmodell an normativen Kosten-Nutzen-Analysen orientiert, meist berechnet mit dem Satz von Bayes.

### Grundbausteine
#### Gedächtnis-Arten

ACT umfasst drei Gedächtnis-Module. Reines Faktenwissen ist, vergleichbar mit dem menschlichen deklarativen Gedächtnis, im Declarative Memory abgelegt. Seine Elementar-Einheit sind die Working Memory Elements, kurz WMEs, oder Wimees. Sie benötigen nur einen Speicherplatz (siehe unten), weil sie eine sinnvolle Einheit bilden. TÜV wäre zum Beispiel ein Wimee, VÜT in der Regel nicht. In anderen Modellen heißen diese Wissenselemente „Chunks“.
Für die Speicherung der Produktions-Regeln gibt es in ACT ein eigenes Langzeitgedächtnis, das Production Memory (ähnlich, aber doch nicht zu verwechseln mit dem menschlichen prozeduralen Gedächtnis). Seine kleinste Einheit sind die Productions. Sie entstehen, indem deklaratives Wissen zu ausführbaren Prozeduren kompiliert wird. Dieser Vorgang modelliert die Lernfähigkeit von ACT.
Das dritte Gedächtnismodul ist das sehr nah am menschlichen Arbeitsgedächtnis modellierte Working Memory. Wie jenes besitzt es eine begrenzte Zahl von Speicherstellen (Slots), die mit den jeweils aktuellen Wimees besetzt werden. Diese Wimees können (über die Inputbuffer, siehe unten) aus der Außenwelt kommen, oder das Ergebnis einer Production sein (siehe Beispiel).

#### Schnittstellen

Ein weiterer wichtiger Bestandteil von ACT sind die Input- und Outputmodule, sogenannte „Buffer“. Diese stellen die Schnittstellen zur Außenwelt dar, entsprechen also der Sensorik und Motorik. So werden bspw. im „Visual-Buffer“ Wimees erstellt, die die Sensorik (sozusagen das „Auge“ von ACT) gerade aus der (virtuellen) Umgebung extrahiert hat. Mit Hilfe geeigneter Regeln können diese Wimees in das deklarative Gedächtnis überführt werden.
Das Zielmodul legt fest, welches Ziel im Produktionssystem verfolgt werden soll. Im Produktionengedächtnis sind Regeln gegeben, die bestimmen, welche Aktion ausgeführt wird, wenn ein ausgewähltes Ziel erreicht werden soll, und welche Inhalte im Arbeitsgedächtnis vorliegen müssen, damit die Aktion erfolgreich durchgeführt werden kann. Dieses „Patternmatching“ führt ggf. zur Auswahl einer Produktionsregel und bestimmt die Aktion des Outputmoduls.

#### Beispiel

Mein akustischer Inputbuffer hat das Wimee „der Wecker klingelt“ erstellt und ins Working Memory übergeben. Daraufhin wird das Production Memory abgefragt, ob dieses Wimee der Bedingungsteil einer Production ist, zum Beispiel Falls der Wecker klingelt, führe Aktion „Schlummertaste drücken“ aus. Ist dies der Fall, wird die Aktion vom Outputmodul ausgeführt, ihr Resultat „Schlummertaste gedrückt“ wird zum Wimee, und erneut wird das Production Memory abgefragt, ob dieses der Bedingungsteil einer anderen Production ist.

## Theory of Spreading Activation

In ACT ist auch die sog. „Theory of Spreading Activation“ (s. Aktivierungsausbreitung) realisiert, die maßgeblich von John R. Anderson entwickelt wurde und die Begründungsgrundlage für die sog. „Priming-Effekte“ darstellt.