Изменить размер шрифта - +
Система разумна в том смысле, что эти два уровня точно соответствуют друг другу: каждая идея соответствует метке, каждый логический шаг соответствует действию.

Назовем ту часть памяти системы, в которой содержатся записи о родственных отношениях, «Долгосрочной памятью». Другую часть назовем «Краткосрочной памятью» – это нечто вроде чернового блокнота для вычислений. Часть «Краткосрочной памяти» представляет собой область задач; в ней содержится список вопросов, на которые система пытается ответить. Системе нужно узнать, является ли Горди родным дядей по отношению ко мне (условное обозначение – Я). В самом начале память выглядит следующим образом:

На концептуальном уровне наша цель – ответить на вопрос; ответ будет положительным, если факт, которого он касается, истинен. На механическом уровне система должна определить, есть ли где-нибудь в ее памяти последовательность знаков, идентичная той последовательности, которую мы видим со знаком вопроса в колонке «Задачи». Функция одного из демонов системы – отвечать на вопросы, связанные с поиском, считывая аналогичные знаки в колонках «Задачи» и «Долгосрочная память». Обнаружив совпадение, он печатает метку рядом с вопросом, что означает, что вопрос получил положительный ответ. Для удобства давайте скажем, что метка имеет форму слова Yes (Да).

IF: Goal = blah-blah-blah?

  Long-Term Memory = blah-blah-blah

THEN: MARK GOAL

  Yes

(ЕСЛИ: Задача = то-то и то-то?

  Долгосрочная память = то-то и то-то

ТО: МЕТКА ЗАДАЧИ

  Да)

Концептуальная проблема, стоящая перед системой, состоит в том, что у нее нет эксплицитного знания о том, кто чей дядя. Это знание имплицитно следует из других фактов, которые она знает. На механическом уровне то же самое будет значить вот что: в разделе «Долгосрочная память» нет метки uncle-of (дядя); там есть только метки sibling-of (брат/сестра) и parent-of (родитель). На концептуальном уровне нам нужно вывести знание о том, кто чей дядя, из знания о том, кто приходится кому родителем и братом/сестрой. На механическом уровне нам нужен демон, который сделает запись uncle-of (дядя), по обе стороны от которой будут нужные метки, обнаруженные в записях с элементами sibling-of (брат/сестра) и parent-of (родитель). На концептуальном уровне нам нужно выяснить, кто у нас родители, идентифицировать их братьев и сестер, потом выбрать из них лиц мужского пола. На механическом уровне нам нужен следующий демон, который сделает в области «Задачи» новые записи, запускающие соответствующие операции поиска в памяти:

IF: Goal = Q uncle-of Р

THEN: ADD GOAL

  Find P’s Parents

  Find Parents’ Siblings

  Distinguish Uncles/Aunts

 

(ЕСЛИ: Задача = Q дядя PTO: ДОБАВИТЬ ЗАДАЧУ

  Найти родителей Р

  Найти братьев/сестер родителей

  Различить дядь/теть)

Этот демон запускается записью uncle-of (дядя) в колонке «Задачи». В этой колонке действительно есть такая запись, поэтому демон начинает действовать и добавляет к этой колонке новые метки:

Необходим также элемент программы – еще один демон или дополнительный механизм внутри данного демона, который будет отвечать за Р и Q, то есть заменять ярлык Р списком конкретных ярлыков имен: Me (Я), Abel (Абель), Gordie (Горди) и т. д. Эти детали я здесь не привожу, чтобы не усложнять восприятие процесса.

Новые записи в колонке «Задачи» побуждают к действию других демонов. Один из них (на концептуальном уровне) ищет родителей системы, копируя (на механическом уровне) все записи, содержащие имена родителей, в раздел «Краткосрочная память» (если только там уже нет таких записей, конечно; это условие необходимо, чтобы демон не продолжал бессмысленно делать одну копию за другой, как ученик чародея):

IF: Goal = Find P’s Parents

  Long-Term Memory = X parent-of P

  Short-Term Memory ≠ X parent-of P

THEN: COPY TO Short-Term Memory

  X parent-of P

ERASE GOAL

(ЕСЛИ: Задача = найти родителей P

  Долгосрочная память = X родитель P

  Краткосрочная память ≠ X родитель P

ТО: КОПИРОВАТЬ В КРАТКОСРОЧНУЮ ПАМЯТЬ

  X родитель P

СТЕРЕТЬ ЗАДАЧУ)

Теперь наша доска объявлений выглядит следующим образом:

Теперь, когда мы знаем родителей, мы можем найти братьев и сестер родителей.

Быстрый переход