# ACT-R

ACT-R (pronunciado /ˌækt ˈɑr/; abreviatura de " Control Adaptativo del Pensamiento—Racional ") es una arquitectura cognitiva desarrollada principalmente por John Robert Anderson y Christian Lebiere en la Universidad Carnegie Mellon . Como cualquier arquitectura cognitiva, ACT-R tiene como objetivo definir las operaciones cognitivas y perceptivas básicas e irreductibles que habilitan la mente humana. En teoría, cada tarea que los humanos pueden realizar debería consistir en una serie de estas operaciones discretas. La mayoría de los supuestos básicos de ACT-R también están inspirados en el progreso de la neurociencia cognitiva, y ACT-R puede verse y describirse como una forma de especificar cómo se organiza el cerebro de tal manera que permite que los módulos de procesamiento individuales produzcan cognición.

## Inspiración

ACT-R se ha inspirado en el trabajo de Allen Newell, y especialmente en su defensa de toda la vida de la idea de teorías unificadas como la única forma de descubrir verdaderamente los fundamentos de la cognición. De hecho, Anderson suele reconocer a Newell como la principal fuente de influencia sobre su propia teoría.

## Cómo se ve ACT-R

Al igual que otras arquitecturas cognitivas influyentes (incluidas Soar, CLARION y EPIC), la teoría ACT-R tiene una implementación computacional como intérprete de un lenguaje de codificación especial. El intérprete en sí está escrito en Common Lisp y puede cargarse en cualquiera de las distribuciones de lenguaje Common Lisp. Esto significa que cualquier investigador puede descargar el código ACT-R del sitio web de ACT-R, cargarlo en una distribución de Common Lisp y obtener acceso completo a la teoría en forma de intérprete de ACT-R. Además, esto permite a los investigadores especificar modelos de cognición humana en forma de guion en el lenguaje ACT-R. Las primitivas del lenguaje y los tipos de datos están diseñados para reflejar los supuestos teóricos sobre la cognición humana. Estas suposiciones se basan en numerosos hechos derivados de experimentos en psicología cognitiva e imágenes cerebrales .
Como un lenguaje de programación, ACT-R es un marco: para diferentes tareas (p. ej., Torre de Hanoi, memoria para texto o para lista de palabras, comprensión del lenguaje, comunicación, control de aeronaves), los investigadores crean "modelos" (es decir, programas) en ACT-R. Estos modelos reflejan las suposiciones de los modeladores sobre la tarea dentro de la visión de cognición de ACT-R. A continuación, se podría ejecutar el modelo.
La ejecución de un modelo produce automáticamente una simulación paso a paso del comportamiento humano que especifica cada operación cognitiva individual (es decir, codificación y recuperación de memoria, codificación visual y auditiva, programación y ejecución motora, manipulación de imágenes mentales). Cada paso está asociado con predicciones cuantitativas de latencias y precisiones. El modelo se puede probar comparando sus resultados con los datos recopilados en experimentos de comportamiento.
En los últimos años, ACT-R también se ha extendido para hacer predicciones cuantitativas de patrones de activación en el cerebro, como se detecta en experimentos con fMRI . En particular, ACT-R ha sido aumentado para predecir la forma y el curso temporal de la respuesta BOLD de varias áreas del cerebro, incluidas las áreas de la mano y la boca en la corteza motora, la corteza prefrontal izquierda, la corteza cingulada anterior y la corteza basal. ganglios

### Breve reseña

La suposición más importante de ACT-R es que el conocimiento humano se puede dividir en dos tipos irreductibles de representaciones: declarativas y procedimentales . Dentro del código ACT-R, el conocimiento declarativo se representa en forma de fragmentos, es decir, representaciones vectoriales de propiedades individuales, cada una de ellas accesible desde una ranura etiquetada. Los fragmentos se mantienen y se hacen accesibles a través de búferes, que son la parte frontal de lo que son módulos, es decir, estructuras cerebrales especializadas y en gran medida independientes.
Hay dos tipos de módulos:
* Módulos perceptivo-motores, que se encargan de la interfaz con el mundo real (es decir, con una simulación del mundo real). Los módulos perceptivo-motores mejor desarrollados en ACT-R son los módulos visuales y manuales.
* Módulos de memoria . Hay dos tipos de módulos de memoria en ACT-R:
** Memoria declarativa, que consta de hechos como Washington, DC es la capital de los Estados Unidos, Francia es un país de Europa o 2+3=5
** Memoria procedimental, hecha de producciones. Las producciones representan el conocimiento sobre cómo hacemos las cosas: por ejemplo, el conocimiento sobre cómo escribir la letra "Q" en un teclado, cómo conducir o cómo realizar sumas.
Solo se puede acceder a todos los módulos a través de sus búferes. El contenido de los búferes en un momento dado representa el estado de ACT-R en ese momento. La única excepción a esta regla es el módulo procedimental, que almacena y aplica conocimiento procedimental. No tiene un búfer accesible y en realidad se usa para acceder al contenido de otros módulos.
El conocimiento procedimental se representa en forma de producciones . El término "producción" refleja la implementación real de ACT-R como un sistema de producción, pero, de hecho, una producción es principalmente una notación formal para especificar el flujo de información desde las áreas corticales (es decir, los amortiguadores) a los ganglios basales y viceversa. a la corteza.
En cada momento, un comparador de patrones interno busca una producción que coincida con el estado actual de los búferes. Solo se puede ejecutar una producción de este tipo en un momento dado. Esa producción, cuando se ejecuta, puede modificar los búferes y así cambiar el estado del sistema. Así, en ACT-R, la cognición se desarrolla como una sucesión de disparos de producción.

### El debate simbólico versus conexionista

En las ciencias cognitivas, las diferentes teorías suelen atribuirse al enfoque " simbólico " o " conexionista " de la cognición. ACT-R pertenece claramente al campo "simbólico" y se clasifica como tal en libros de texto y colecciones estándar. Sus entidades (fragmentos y producciones) son discretas y sus operaciones son sintácticas, es decir, no se refieren al contenido semántico de las representaciones sino solo a sus propiedades que las consideran apropiadas para participar en el (los) cómputo(s). Esto se ve claramente en las ranuras de fragmentos y en las propiedades de coincidencia de búfer en producciones, las cuales funcionan como variables simbólicas estándar.
Los miembros de la comunidad ACT-R, incluidos sus desarrolladores, prefieren pensar en ACT-R como un marco general que especifica cómo se organiza el cerebro y cómo su organización da origen a lo que se percibe (y, en psicología cognitiva, se investiga) como mente, yendo más allá del tradicional debate simbólico/conexionista. Nada de esto, naturalmente, argumenta en contra de la clasificación de ACT-R como sistema simbólico, porque todos los enfoques simbólicos de la cognición apuntan a describir la mente, como un producto de la función cerebral, utilizando una cierta clase de entidades y sistemas para lograr ese objetivo.
Un malentendido común sugiere que ACT-R puede no ser un sistema simbólico porque intenta caracterizar la función cerebral. Esto es incorrecto por dos motivos: en primer lugar, todos los enfoques del modelado computacional de la cognición, simbólica o de otro tipo, deben caracterizar en algún aspecto la función cerebral, porque la mente es función cerebral. Y segundo, todos esos enfoques, incluidos los enfoques conexionistas, intentan caracterizar la mente en un nivel cognitivo de descripción y no en el nivel neuronal, porque solo en el nivel cognitivo se pueden retener generalizaciones importantes. Surgen más malentendidos debido al carácter asociativo de ciertas propiedades de ACT-R, como fragmentos que propagan la activación entre sí, o fragmentos y producciones que tienen propiedades cuantitativas relevantes para su selección. Ninguna de estas propiedades contrarresta la naturaleza fundamental de estas entidades como simbólicas, independientemente de su papel en la selección de unidades y, en última instancia, en la computación.

### Teoría versus implementación y Vanilla ACT-R

Los desarrolladores de ACT-R suelen destacar la importancia de distinguir entre la teoría en sí y su implementación. De hecho, gran parte de la implementación no refleja la teoría. Por ejemplo, la implementación real hace uso de "módulos" adicionales que existen solo por razones puramente computacionales, y se supone que no reflejan nada en el cerebro (por ejemplo, un módulo computacional contiene el generador de números pseudoaleatorios que se usa para producir parámetros ruidosos, mientras que otro contiene rutinas de nomenclatura para generar estructuras de datos accesibles a través de nombres de variables). Además, la implementación real está diseñada para permitir a los investigadores modificar la teoría, por ejemplo, alterando los parámetros estándar, o creando nuevos módulos, o modificando parcialmente el comportamiento de los existentes. Finalmente, aunque el laboratorio de Anderson en CMU mantiene y publica el código oficial ACT-R, se han puesto a disposición otras implementaciones alternativas de la teoría. Estas implementaciones alternativas incluyen jACT-R (escrito en Java por Anthony M. Harrison en el Laboratorio de Investigación Naval ) y Python ACT-R (escrito en Python por Terrence C. Stewart y Robert L. West en la Universidad de Carleton, Canadá) . De manera similar, ACT-RN (ahora descontinuado) fue una implementación neuronal completa de la versión de 1993 de la teoría. Todas estas versiones eran totalmente funcionales y se han escrito y ejecutado modelos con todas ellas. Debido a estos grados de libertad de implementación, la comunidad ACT-R generalmente se refiere a la versión "oficial", basada en Lisp, de la teoría, cuando se adopta en su forma original y no se modifica, como "Vanilla ACT-R".

## Aplicaciones

A lo largo de los años, los modelos ACT-R se han utilizado en más de 700 publicaciones científicas diferentes y se han citado en muchas más.

### Memoria, atención y control ejecutivo.

El sistema de memoria declarativa ACT-R se ha utilizado para modelar la memoria humana desde sus inicios. En el transcurso de los años, se ha adoptado para modelar con éxito una gran cantidad de efectos conocidos. Incluyen el efecto de abanico de la interferencia para la información asociada, los efectos de primacía y actualidad para la memoria de lista, y el recuerdo en serie. ACT-R se ha utilizado para modelar procesos de atención y control en varios paradigmas cognitivos. Estos incluyen la tarea de Stroop, el cambio de tareas, el período refractario psicológico, y la multitarea.

### Lenguaje natural

Varios investigadores han estado usando ACT-R para modelar varios aspectos de la comprensión y producción del lenguaje natural. Incluyen modelos de análisis sintáctico, comprensión del lenguaje, adquisición del lenguaje y comprensión de metáforas.

### Tareas complejas

ACT-R se ha utilizado para capturar cómo los humanos resuelven problemas complejos como la Torre de Hanoi, o cómo las personas resuelven ecuaciones algebraicas. También se ha utilizado para modelar el comportamiento humano al conducir y volar.
Con la integración de las capacidades perceptivo-motoras, ACT-R se ha vuelto cada vez más popular como herramienta de modelado en factores humanos e interacción humano-computadora. En este dominio, se ha adoptado para modelar el comportamiento de conducción en diferentes condiciones, selección de menú y búsqueda visual en aplicaciones informáticas, y navegación web.

### Neurociencia Cognitiva

Más recientemente, ACT-R se ha utilizado para predecir patrones de activación cerebral durante experimentos de imágenes. En este campo, los modelos ACT-R se han utilizado con éxito para predecir la actividad prefrontal y parietal en la recuperación de la memoria, la actividad del cíngulo anterior para operaciones de control, y los cambios en la actividad cerebral relacionados con la práctica.

### Educación

ACT-R se ha adoptado a menudo como base para los tutores cognitivos . Estos sistemas utilizan un modelo ACT-R interno para imitar el comportamiento de un estudiante y personalizar sus instrucciones y currículo, tratando de "adivinar" las dificultades que puedan tener los estudiantes y brindar ayuda enfocada.
Dichos "tutores cognitivos" se utilizan como plataforma para la investigación sobre el aprendizaje y el modelado cognitivo como parte del Centro de Ciencias del Aprendizaje de Pittsburgh. Algunas de las aplicaciones más exitosas, como Cognitive Tutor for Mathematics, se utilizan en miles de escuelas en los Estados Unidos.

## Breve historia
### Primeros años: 1973-1990

ACT-R es el último sucesor de una serie de modelos cada vez más precisos de la cognición humana desarrollados por John R. Anderson .
Sus raíces se remontan al modelo de memoria HAM (Human Associative Memory) original, descrito por John R. Anderson y Gordon Bower en 1973. El modelo HAM se amplió más tarde en la primera versión de la teoría ACT. Esta fue la primera vez que se agregó la memoria de procedimiento al sistema de memoria declarativa original, introduciendo una dicotomía computacional que luego se demostró que se mantiene en el cerebro humano. Luego, la teoría se extendió aún más al modelo ACT* de la cognición humana.

### Integración con análisis racional: 1990–1998

A finales de los años ochenta, Anderson se dedicó a explorar y esbozar un enfoque matemático de la cognición al que denominó análisis racional . La suposición básica del análisis racional es que la cognición es óptimamente adaptativa, y las estimaciones precisas de las funciones cognitivas reflejan las propiedades estadísticas del entorno. Posteriormente, volvió al desarrollo de la teoría ACT, utilizando el Análisis Racional como marco unificador para los cálculos subyacentes. Para resaltar la importancia del nuevo enfoque en la configuración de la arquitectura, su nombre se modificó a ACT-R, con la "R" de "Racional"
En 1993, Anderson se reunió con Christian Lebiere, un investigador de modelos conexionistas, principalmente famoso por desarrollar con Scott Fahlman el algoritmo de aprendizaje Cascade Correlation . Su trabajo conjunto culminó con el lanzamiento de ACT-R 4.0. Gracias a Mike Byrne (ahora en la Universidad de Rice ), la versión 4.0 también incluía capacidades motoras y de percepción opcionales, en su mayoría inspiradas en la arquitectura EPIC, que amplió enormemente las posibles aplicaciones de la teoría.

### Imágenes cerebrales y estructura modular: 1998–2015

Después del lanzamiento de ACT-R 4.0, John Anderson se interesó cada vez más en la plausibilidad neuronal subyacente de su teoría del tiempo de vida y comenzó a utilizar técnicas de imágenes cerebrales para lograr su propio objetivo de comprender los fundamentos computacionales de la mente humana.
La necesidad de dar cuenta de la localización del cerebro impulsó una revisión importante de la teoría. ACT-R 5.0 introdujo el concepto de módulos, conjuntos especializados de representaciones procesales y declarativas que podrían asignarse a sistemas cerebrales conocidos. Además, la interacción entre el conocimiento procedimental y declarativo estuvo mediada por amortiguadores recientemente introducidos, estructuras especializadas para mantener información temporalmente activa (ver la sección anterior). Se pensó que los tampones reflejaban la actividad cortical, y una serie de estudios posteriores confirmaron que las activaciones en las regiones corticales podrían relacionarse con éxito con las operaciones computacionales sobre los tampones.
En 2005 se presentó una nueva versión del código, completamente reescrita, como ACT-R 6.0. También incluyó mejoras significativas en el lenguaje de codificación ACT-R. Esto incluía un nuevo mecanismo en la especificación de producción de ACT-R llamado coincidencia de patrones dinámicos. A diferencia de las versiones anteriores que requerían que el patrón coincidiera con una producción para incluir ranuras específicas para la información en los búferes, la coincidencia de patrones dinámicos permite que las ranuras coincidan para que también se especifiquen por el contenido del búfer. Anderson (2007) proporciona una descripción y motivación para el ACT-R 6.0.

### ACT-R 7.0: 2015-Presente

En el taller de 2015, se argumentó que los cambios de software requerían un incremento en la numeración del modelo a ACT-R 7.0. Un cambio de software importante fue la eliminación del requisito de que los fragmentos deben especificarse en función de tipos de fragmentos predefinidos. El mecanismo de tipo fragmento no se eliminó, pero pasó de ser una construcción requerida de la arquitectura a ser un mecanismo sintáctico opcional en el software. Esto permitió una mayor flexibilidad en la representación del conocimiento para tareas de modelado que requieren aprender información novedosa y amplió la funcionalidad proporcionada a través de la coincidencia de patrones dinámicos que ahora permite que los modelos creen nuevos "tipos" de fragmentos. Esto también conduce a una simplificación de la sintaxis requerida para especificar las acciones en una producción porque todas las acciones ahora tienen la misma forma sintáctica. El software ACT-R también se actualizó posteriormente para incluir una interfaz remota basada en JSON RPC 1.0. Esa interfaz se agregó para facilitar la creación de tareas para modelos y trabajar con ACT-R desde lenguajes distintos a Lisp, y el tutorial incluido con el software se actualizó para proporcionar implementaciones de Python para todas las tareas de ejemplo realizadas por los modelos de tutorial. .

### Taller y escuela de verano

En 1995, la Universidad Carnegie Mellon comenzó a organizar su taller anual y escuela de verano ACT-R. Su Taller ACT-R actualmente se lleva a cabo en la Conferencia anual MathPsych/ICCM, y su Escuela de Verano se lleva a cabo en el campus con una opción de asistencia virtual en la Universidad Carnegie Mellon .

### Escisiones

El largo desarrollo de la teoría ACT-R dio lugar a un cierto número de proyectos paralelos y relacionados.
Los más importantes son el sistema de producción PUPS, una implementación inicial de la teoría de Anderson, luego abandonada; y ACT-RN, una implementación de red neuronal de la teoría desarrollada por Christian Lebiere.
Lynne M. Reder, también de la Universidad Carnegie Mellon, desarrolló SAC a principios de la década de 1990, un modelo de aspectos conceptuales y perceptivos de la memoria que comparte muchas características con el sistema declarativo central ACT-R, aunque difiere en algunos supuestos.
Para su disertación en la Universidad Carnegie Mellon, Christopher L. Dancy desarrolló y defendió con éxito en 2014, ACT-R/Phi, una implementación de ACT-R con módulos fisiológicos agregados que permiten que ACT-R interactúe con los procesos fisiológicos humanos. .