Рой | страница 95



В некотором смысле это очень увлекательно. Впервые в истории науки программа выдает результаты, непредсказуемые для программиста. По поведению такие программы больше похожи на живые существа, чем на созданные человеком автоматы. Это восхищало программистов, но и доставляло им массу неприятностей.

Потому что обусловленное поведение программ проявляется беспорядочно и странно. Иногда самостоятельные агенты начинали конкурировать друг с другом, и программа вообще не могла выполнить никакую задачу. Иногда агенты настолько сильно влияли друг на друга, что конечная цель совершенно забывалась и вместо этого система делала что-то совсем другое. В этом смысле такие программы были очень похожи на детей — непредсказуемостью поведения и повышенной отвлекаемостью. Один программист сказал про это так: «Программировать распределенный разум — это все равно что сказать пятилетнему ребенку, чтобы тот пошел в свою комнату и переоделся. Он может это сделать, а может сделать что-то совсем другое и не вернуться обратно».

Поскольку программы вели себя как живые, программисты начали проводить аналогии с поведением реальных живых существ в реальном мире. Собственно, для того, чтобы как-то прогнозировать поведение программы и влиять на конечный результат, подобные программы стали создавать на основе моделей поведения настоящих живых существ.

Поэтому программисты взялись изучать внутреннюю жизнь муравейника, или процесс строительства у термитов, или танцы у пчел — чтобы потом на основе этого создавать программы, регулирующие расписание посадки самолетов, или транспортировку багажа, или программы для перевода с одного языка на другой. Такие программы работали великолепно, но они тоже могли давать внезапные сбои — особенно если внешние условия резко менялись. Тогда программы забывали поставленную цель.

Именно поэтому пять лет назад я начал разрабатывать модель отношений «Хищник — Добыча» — для того, чтобы удержать программы от потери цели. Потому что голодного хищника ничто не отвлечет от поиска добычи. Обстоятельства могут заставить его действовать разными способами, он может пробовать неоднократно, прежде чем достигнет успеха, — однако хищник никогда не забудет о своей цели.

Так я стал экспертом по отношениям «хищник — добыча». Я знал все о стаях гиен, африканских диких собак, об охотящихся львицах и атакующих колоннах армии муравьев. Моя команда программистов изучила специальную литературу — отчеты полевых биологов-исследователей, и мы обобщили полученные сведения в программном модуле, который назвали «Хи-Доб» (сокращение от «Хищник-Добыча»). Этот программный модуль мог контролировать поведение любой мультиагентной системы и делать ее поведение целенаправленным. Модуль «Хи-Доб» заставлял программу искать цель.