Задача рабочей памяти 1-2-AX
Задача рабочей памяти 1-2-AX | |
---|---|
Цель | Возможности рабочей памяти долговременной кратковременной памяти |
Задача на рабочую память 1-2-AX — это когнитивный тест , требующий рабочей памяти решения .
Его можно использовать в качестве тестового примера для обучения алгоритмов , чтобы проверить их способность запоминать некоторые старые данные. Это задание можно использовать для демонстрации возможностей рабочей памяти таких алгоритмов , как PBWM или краткосрочная память . [1]
Описание
[ редактировать ]Входные данные задачи — это последовательность цифр/букв 1 , 2 , A , X , B и Y , а также дополнительные отвлекающие экземпляры 3 , C и Z , которые следует игнорировать. На каждый вводимый символ по порядку субъект должен ответить левой ( L ) или правой ( R ).
Две целевые последовательности, которые ищет субъект, — это AX и BY . Когда субъект встречает 1, он должен переключиться на поиск AX , а когда он встречает 2, он должен переключиться на поиск BY .
Если при поиске AX субъект встречает X, ранее увидевший A (и аналогично Y при поиске BY ), и если предыдущая буква не была частью более ранней последовательности, он отвечает R, чтобы отметить конец этой последовательности. последовательность; быть L. их ответ на все остальные символы должен [2]
Примеры
[ редактировать ]Вход | 2 | 1 | А | А | Х | Х | И | А | Х |
---|---|---|---|---|---|---|---|---|---|
Выход | л | л | л | л | Р | л | л | л | Р |
Вход | 1 | 2 | А | Б | Х | И | А | С | С |
---|---|---|---|---|---|---|---|---|---|
Выход | л | л | л | л | л | Р | л | л | л |
Требования к алгоритмам
[ редактировать ]Для решения этой задачи алгоритм должен уметь запоминать последнюю цифру 1 или 2 и последнюю букву А или Б. независимо Мы называем эту память рабочей памятью . Эта память должна сохранять все остальные входные данные. алгоритм должен иметь возможность удалять и игнорировать буквы C и Z. Кроме того ,
Решения
[ редактировать ]![]() | Эта статья , возможно, содержит оригинальные исследования . ( Апрель 2020 г. ) |
Псевдокод
[ редактировать ]Для традиционных компьютерных моделей оба требования легко решить. Вот некоторый код Python (что-то вроде псевдокода , но работает), где функция next_output получает на вход одно единственное число/букву и возвращает либо букву, либо ничего. next_outputs предназначен для удобства работы со всей последовательностью.
last_num = ""
last_letter = ""
def next_output(next_input: str) -> str | None:
"""
Args:
next_input: A string containing a single character.
Returns:
A string containing the letters "L", "R" or None.
Example:
>>> next_output("2")
'L'
"""
global last_num, last_letter
if next_input in ["1", "2"]:
last_num = next_input
last_letter = ""
return "L"
elif next_input in ["A", "B"]:
last_letter = next_input
return "L"
elif next_input in ["X", "Y"]:
seq = last_num + last_letter + next_input
last_letter = next_input
if seq in ["1AX", "2BY"]:
return "R"
return "L"
return None
def next_outputs(next_inputs: str) -> list[str]:
"""
Args:
next_input: A string.
Returns:
A list of strings containing the letters "L" or "R".
Example:
>>> next_outputs("21AAXBYAX")
["L", "L", "L", "L", "R", "L", "L", "L", "R"]
"""
return [next_output(c) for c in next_inputs]
Пример:
>>> next_outputs("21AAXBYAX")
['L', 'L', 'L', 'L', 'R', 'L', 'L', 'L', 'R']
>>> next_outputs("12CBZY")
['L', 'L', None, 'L', None, 'R']
Конечный автомат
[ редактировать ]Аналогично, эту задачу можно решить простым способом с помощью конечного автомата с 7 состояниями (назовем их --- , 1-- , 2-- , 1A- , 2B- , 1AX , 2BY ).
Нейронная сеть
[ редактировать ]эта задача гораздо сложнее Для нейронных сетей . Для простых нейронных сетей прямого распространения эта задача неразрешима, поскольку сети прямого распространения не имеют рабочей памяти. Включение рабочей памяти в нейронные сети — сложная задача. Было несколько подходов, таких как PBWM или длинная кратковременная память , которые имеют рабочую память, и оба способны решить эту проблему.
Ссылки
[ редактировать ]- ^ О'Рейли, Р.К. и Фрэнк, М.Дж. (2006). «Заставить рабочую память работать: вычислительная модель обучения в лобной коре и базальных ганглиях. Нейронная система» . Нейронные вычисления . 18 (2): 283–328. дои : 10.1162/089976606775093909 . ПМИД 16378516 . S2CID 8912485 . Проверено 30 мая 2010 г.
- ^ О'Рейли, Рэндалл С.; Фрэнк, Майкл Дж. (1 февраля 2006 г.). «Заставить рабочую память работать: вычислительная модель обучения в префронтальной коре и базальных ганглиях» . Нейронные вычисления . 18 (2): 283–328. дои : 10.1162/089976606775093909 . ПМИД 16378516 . S2CID 8912485 . Проверено 28 января 2023 г.