**ACT-R** （发音为/ˌæktˈɑr /，英語：，意为"思想的适应性控制-理性"）是一种認知架構，主要由卡内基·梅隆大学的约翰·罗伯特·安德森和克里斯蒂安·勒比尔（Christian Lebiere）开发。如同其它認知架構，ACT-R旨在定义基礎且不可簡化的认知及知觉操作，進而實現人的心智。從理論上講，人类所能完成的每项任务都应該要由这一系列的离散操作组成。 

大多数ACT-R的基本假设也受到认知神经科学進展的启发，而ACT-R還可以被看作是一種明確規定大腦如何組織的方法，使得每個單獨的處理模塊能夠產生認知。

启发
--

ACT-R的靈感源自於艾伦·纽厄尔的工作，尤其是源自於他畢生倡導的統一理論，纽厄尔認為這是真正揭示認知規律的唯一途徑。实际上，约翰·安德森也认为ACT-R理论主要受到艾伦·纽厄尔影響。

ACT-R特點
-------

与其他有影响力的认知架構相同（包括Soar、CLARION和EPIC），ACT-R理论也有計算實作，即作为特殊程式語言的直譯器。直譯器本身是用Common Lisp编写，并且可以加载到任何Common Lisp语言发行版中。 

这意味着任何研究人员都可以从ACT-R网站下载ACT-R代码，将其加载到Common Lisp发行版中，并以ACT-R直譯器的形式完全存取该理论。

而且，这使研究人员能够以ACT-R语言的脚本形式來具體說明人类认知模型。语言基元及数据类型的設計反映了人类认知理论的假设。而这些假设是根據從认知心理学和脑成像实验中所得出的大量事实。 

如同程式語言，ACT-R是一个框架：可用於處理不同的任务（例如河内塔、用于文本或单词列表的記憶、语言理解、信息交流和飞机控制），研究人员會在ACT-R中创建"模型"（也就是程式）。这些模型反映了建模人员以ACT-R的认知觀點对任务所做的假设。 

在模型运作之後，模型会自動循序模擬人類的行為，具體規定各個认知操作（记忆编码和提取、视觉和听觉编码、运动编程和执行、心理意象操纵）。每个步骤都与延迟和准确性的定量预测相关。藉由将模型结果与行為實驗收集的數據比较，可以對該模型進行檢驗。

近年来，由於功能磁共振成像实验，ACT-R也已扩展到对大脑激發模式的定量预测。尤其是將ACT-R加强後，用以预测几个大脑区域的BOLD響應的形態和时程，包括运动皮质、左前側额叶皮质、前扣带回皮质和基底神经节。 

### 简要概述

ACT-R最重要的假设是，人类知识可分为两种不可简化的表徵：陈述性和程序性。 

在ACT-R代码中，陳述性知识以「意元」（chunks）的形式表示，也就是各个属性的矢量表徵，而每个属性都可以从标记的插槽存取。

「模块」是专门的大脑结构，很大程度上独立，模块的前端是緩衝區，意元即透過「緩衝區」来保持和存取。

模塊有两种类型：

* 知覺運動模块，负责与現實世界的介面（即模拟真实世界）。 ACT-R中开发最完善的知覺運動模块是视觉模块和人工模块。
* 記憶模块。ACT-R中有两种记忆模块：
	+ 陈述性记忆，由诸如「华盛顿特区是美国首都」、「法国是欧洲国家」或「2 + 3 = 5」等事实组成。
	+ 程序性记忆，由產出组成。 產出代表着我们如何做事的知识。例如：如何在键盘上键入字母"Q"、如何驾驶、如何执行加法。

所有模块只能透過其缓冲区來存取。在給定的時刻，緩衝區的內容表示ACT-R在該時刻的狀態。這個规则的唯一例外是程序模块。程序模块負責儲存及应用程序性知识，但没有可存取的缓冲区，实际上，這個模塊是用來存取其他模块的内容。

程序性知识以「產出」（productions）的形式表示。 术语"產出"反映了ACT-R作为產出系统的实现情形，但是实际上，產出主要是形式化的表示法，用於指定從皮質區域（即緩衝區）到基底神經節再回到皮質的信息流。 

每一時刻，内部模式匹配器都会搜索与缓冲区当前状态匹配的產出。在给定的时刻，只能执行一次產出。该產出在执行时可以修改缓冲区，从而更改系统状态。因此，在ACT-R中，认知會随着一系列的產出而觸發。

### 符號与联结主义的辩论

在认知科学中，通常會将不同的理论歸類為认知的"符號方法"或"联结主义方法"。 ACT-R顯然屬於"符號"領域，在标准教科书和文獻中也是如此歸類。 ACT-R的实体（意元和產出）是离散的，且操作在語法上，也就是說，ACT-R並不是指表徵的語義內容，而是代表它們所適合參與計算的屬性。在意元插槽中以及與產出匹配的缓冲区属性中都可以清楚地看到这一点，这两者皆為标准符号变量。 

ACT-R社群的成员，包括其开发人员，更喜欢将ACT-R視為一个通用框架，该框架明確說明了大腦是如何組織，以及大腦的組織是如何產生被感知的心智（同時也是認知心理學研究重點。）這框架超越了传统的符號/聯結主义之爭。当然，這些說法都不反對將ACT-R劃分為符號系統，因为所有认知的符号方法都是為了描述心智，作為大腦功能的產物，使用特定的實體和系統來達成這個目標。

一个常见的误解認為「ACT-R可能不是符號系统，因为它试图描述脑功能。」 从两个方面来看，这是不正确的：首先，因為心智就是大腦的功能，所以無論是符號的還是其他類型，所有認知的計算模型都必須在某種程度上描述大腦的功能。其次，所有这些方法，包括聯結主义方法，都是試图在认知層面來描述大脑，而不是在神经層面，因為只有在認知層面上，重要的一般性質才能被保留。 

由于ACT-R在某些方面有著「聯結特性」，还会产生进一步的误解。例如，「意元」會互相傳播激發，或「意元和產出」的定量屬性與其選擇相關，然而，无论这些属性在单元选择的作用，以及最终在计算中的作用如何，皆未与符号实体的基本性质相悖。

### 理论与实現以及Vanilla ACT-R

ACT-R开发人员通常會强调区分理论本身及其實作的重要性。

实际上，许多實作并没有反映理论。 例如，实际的實作方式會使用到額外的"模塊"，而這些"模塊"純粹是為了計算而存在，不在大脑中反映任何内容（例如，有的模塊包含了用于产生雜訊参数的偽亂數生成器，有的拥有命名常式，用于生成可透過变量名存取的資料結構。）

同時，實際實作的目的是使研究人員能夠修改理論，例如透過修改標準參數，創建新的模塊，或部分修改現有模塊的行為。

最终，卡内基·梅隆大学的安德森实验室维护并发布了官方版本的ACT-R程式碼，而该理论也有其他替代實作方式，包括jACT-R  （美國海军研究实验室的Anthony M. Harrison用Java编写）和Python ACT-R （由加拿大卡尔顿大学Terrence C. Stewart和Robert L. West用Python编写）。 

同樣地，ACT-RN（現已停止）是1993年版理論的一個成熟的神經實作。  所有这些版本均具有完整的功能，而這些版本的模型均已完成并运行。 

由于具有这些實作上的自由度，因此，當採用其原始形式且未經修改的情况下，ACT-R團體通常将该理论以Lisp為基礎所實作的"官方"版本称为"Vanilla ACT-R"。

应用领域
----

多年来，ACT-R模型已在700多种不同的科学刊物中使用，在文献中則引用更多。

### 记忆力、注意力和执行控制

自从ACT-R陳述性記憶系统建立以来，就被用來模擬人类記憶。 多年来，已經成功对大量已知的效應建模。 包括相关信息干扰的粉絲效应列表記憶的首因效应和近因效应， 和序列回憶。

在許多認知範式中，ACT-R被用來模擬注意力和控制歷程。 这些包括斯特鲁普效应、 任务切换（英语：）、 心理反應回復期（英语：）、和多重任務處理。

### 自然语言

研究人员已经使用ACT-R來模擬在自然语言理解和產出中的多个環節。 包括语法分析模型、 语言理解模型、 语言习得和隐喻理解模型。

### 复杂的任务

ACT-R已被用于理解人类是如何解决河内塔之类的复杂问题， 或是如何解决代数方程式。  它也已被用来模拟人类駕駛汽車和飛机的行为。

随着知覺运动能力的整合，ACT-R作為人機交互的建模工具越來越受歡迎。 在此领域中，已采用它来模擬不同条件下的驾驶行为、 計算機應用中的選單選擇和可視化搜索以及網站導航。

### 认知神经科学

最近，ACT-R已被用于预测成像實驗中大腦的激發模式。 在该领域，ACT-R模型已成功用于预测在记忆提取過程中前额叶和顶叶的活动，控制操作的前扣带回活动，以及與實踐相關的大腦活動變化。

### 教育

ACT-R通常被用作认知引导的基础。  这些系统使用内部的ACT-R模型来模仿学生行为，并使说明和课程變得个性化，以及试图"猜测"学生可能遇到的困难并提供重点協助。 

這種"認知導師"被用作匹茲堡學習科學中心的學習研究和認知建模的平臺。如「數學認知導師」這樣的成功應用，正在美國的數千所學校中使用。

历史简介
----

### 早期：1973–1990年

由约翰·罗伯特·安德森开发，這一系列愈益精確的人类认知模型中，ACT-R是當中的最终繼承者。 

它的根源可以追溯到最初的HAM（Human Associative Memory，人类联想记忆）记忆模型，由约翰·安德森和戈登·鲍尔在1973年描述。 HAM模型后来被扩充为ACT理论的初代版本。  这是首次将程序性記憶添加到原本的陳述性記憶系统中，引入了一种后来被证明可以在人脑中使用的计算机的二分法。  然后，该理论进一步扩展到人类认知的ACT \*模型中。 

### 与理性分析整合：1990–1998年

八十年代后期，安德森致力于探索和概述一种認知的数学方法，他將其命名为理性分析。 理性分析的基本假设是认知具有最佳适应性，且认知有精确估计的功能，可反映环境的统计特性。 后来，他回到了ACT理论的发展阶段，将理性分析作为基础计算的统一框架。 为了强调新方法在架构设计中的重要性，将其名称更改为ACT-R，" R"代表" Rational" 

1993年， 安德森遇到了聯結主义模型研究人员克里斯蒂安·勒比耶尔（Christian Lebiere），该模型因与斯科特·法尔曼（ Scott Fahlman）合作开发出串級關連式学习演算法而闻名。 在他们共同努力之下，最终发布了ACT-R 4.0。  因為Mike Byrne的貢獻，4.0版还包括可供選擇的知覺和运动功能，這主要是受到EPIC架構的启发，极大地扩展了该理论的可能应用。 

### 脑成像和模块化结构：1998-2015年

ACT-R 4.0发布后，约翰·安德森對他這個終生奉獻的理論的潛在神經合理性越來越感興趣，并开始使用大脑成像技术來追求自身的目标，也就是理解人类思維的计算基础。 

解釋大脑定位的必要性推动了对该理论的重大修改。 ACT-R 5.0引入了模块的概念，專門化了多組可以映射到已知大脑系统的程序性表徵及陳述性表徵。 此外，程序性知识和陳述性知识之间的交互作用是由新引入的缓冲区（用于保存临时活动信息的特殊结构）來調節（请参见上文）。人们认为缓冲區能反映皮质的激發，隨後的一系列研究证实，皮质区域的激發可能与缓冲區的计算操作有关。 

完全重写的新版本代码于2005年发布，名为ACT-R 6.0。 它还包括对ACT-R程式语言的重大改进。 这包括ACT-R產出规范中的一种称为动态模式匹配的新机制。 從前的版本要求對於缓冲区中的資訊，與产出匹配的模式要包含特定插槽。與之不同，新版本的动态模式匹配則允许缓冲区内容來指定匹配的插槽。安德森在2007年的論文中，给出了ACT-R 6.0的描述和动机。

### ACT-R 7.0：2015年至今

在2015年的研讨会上，有人認為，這次軟體改版需要将模型编号增加到ACT-R 7.0。其中一個主要的軟體變更是取消了「必须根據预定义意元类型來指定意元」的要求。 意元类型机制并未移除，而是从架構的必要构造，变更为軟體中的彈性语法机制。 这为需要学习新資訊的建模任务提供了更大的知识表徵灵活性，並擴展了透過動態模式匹配（現在允許模型創建新的意元"類型"）提供的功能性。 由于所有动作现在都具有相同的句法形式，因此这也简化了在產出中指定动作所需的语法。ACT-R軟體也随后进行了更新，以包括基于JSON RPC 1.0的远程介面。 添加了该介面，可以更轻松地从Lisp以外的语言創建模型任务和使用ACT-R，且軟體随附的教學已更新，可以为所有教學模型所执行的範例任务提供Python的實作。

### 分拆

ACT-R理论的长期发展催生了相當數目的平行相关計畫。

最重要的是PUPS產出系统，它是安德森理论的最初實作，后来被放弃了。另外還有ACT-RN，是由Christian Lebiere所开发的神經網路實作。 

卡内基·梅隆大学的林恩·雷德也在90年代初开发了激發混淆源模型（Source of activation confusion model，SAC），这是一种記憶在概念和知覺方面的模型，儘管在某些假設上有所不同，它與ACT-R的核心陳述性系統有著許多共同之处。

参考文獻
----

* Anderson， J. R. （2007）. *How can the human mind occur in the physical universe?* New York， NY: Oxford University Press. ISBN 0-19-532425-0ISBN 0-19-532425-0.
* Anderson， J. R.， Bothell， D.， Byrne， M. D.， Douglass， S.， Lebiere， C.， & Qin， Y. （2004）. An integrated theory of the mind. *Psychological Review*， 1036–1060.

外部链接
----

* ACT-R官方网站（页面存档备份，存于）  –  包含大量在线资料，包括源代码，出版物列表和教程
* JACT-R（页面存档备份，存于）  –  Java重写ACT-R
* ACT-R：Java仿真和开发环境  –  ACT-R的另一个开源Java重新实现
* PythonACT-R（页面存档备份，存于）  –  ACT-R的Python实现
* pyactr（页面存档备份，存于）  –  ACT-R的另一个Python实现