Читать книгу Сообщество разума - Марвин Минский - Страница 18
Глава 3
Конфликт и компромисс
3.4. Гетерархии
ОглавлениеИерархическое общество подобно дереву, в котором агент на каждой крупной «ветви» полностью ответственен за агентов на малых «ветках», отходящих от нее. Эта картина наблюдается повсюду, поскольку делить работу на части – наиболее простой, как правило, способ приступить к решению какой-либо задачи. Создать подобную организацию и постичь ее суть нетрудно, ибо каждый агент выполняет конкретную работу: ему требуется лишь «посмотреть вверх» для получения инструкций от своего начальства, а затем «посмотреть вниз», чтобы получить помощь от подчиненных.
Однако иерархии не всегда полезны. Рассмотрим случай, когда двум агентам требуется использовать навыки друг друга, и ни один из них не является главным для другого. Обратите внимание на то, что происходит, например, когда вы просите свою систему зрения определить, отображает ли левый рисунок ниже три кубика или всего два.
Рис. 8
Оператор «Видеть» может ответить на вопрос, если оператор «Переместить» уберет передний кубик с линии зрения. Но при выполнении этой операции оператору «Переместить» может понадобиться помощь оператора «Видеть», чтобы выяснить, имеются ли какие-либо препятствия, способные помешать движению руки. В этот миг оператор «Переместить» будет работать на оператора «Видеть», а «Видеть» будет одновременно работать на «Переместить». Подобное невозможно в простой иерархии.
Большинство схем в начальных главах настоящей книги иллюстрируют простые иерархии. Позже мы столкнемся со сложными петлями и кольцами, особенно это касается раздела, посвященного памяти, потребности в которой уделено немало внимания (что диктуется предметом исследования). Люди часто склонны воспринимать память как способ сохранения прошлого, как воспоминания о том, что произошло ранее. Но у агентов и операторов также присутствует потребность в иных видах памяти. Оператору «Видеть», к примеру, требуется некий объем кратковременной памяти, чтобы отслеживать последующие действия, если новая работа начинается до завершения предыдущего задания. Если каждый из субагентов оператора «Видеть» способен выполнять всего одну функцию в конкретный промежуток времени, очень скоро ресурсы оператора иссякнут и он не сможет справляться со сложными задачами. Но если у нас памяти достаточно, мы можем объединить наших субагентов в циклические петли и благодаря этому обращаться к одному и тому же субагенту снова и снова, чтобы выполнять этапы нескольких различных работ одновременно.