Открытые системы

Карл Хьюитт

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

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

  1. Непрерывное изменение и эволюция. В распределенные системы постоянно подключаются новые ЭВМ, новые пользователи и аппаратура. Поэтому в системе должна быть заложена способность меняться в соответствии с меняющимися требованиями. Более того, она должна иметь возможность создавать новые внутренние компоненты, позволяющие приспосабливаться к изменениям режима работы. Без этого любая система в конце концов достигает некой «предельной точки», далее которой уже невозможно увеличивать количество пользователей и число выполняемых операций.
  2. Ограниченные свят и децентрализованное принятие решений. Вообще говоря, компьютеры, люди, ведомства, образующие открытые системы, не имеют прямого доступа к «внутреннему миру» друг друга. Локальность связей предполагает, что архитектура системы должна быть рассчитана на большое число ЭВМ, расположенных в самых разнообразных местах и не имеющих доступа к внутренним компонентам друг друга. Отсюда возникает необходимость в децентрализованном принятии решений.
  3. Принципиальная противоречивость баз знаний. Вследствие независимости и приватности информации пользователей разные базы знаний распределенной системы неизбежно содержат противоречащие друг другу положения, т. е если взять в целом все базы знаний, то они будут противоречивы. Децентрализация не позволяет обновлять все базы знаний одновременно. Из этого следует, что нет принципиальной возможности узнать, какая информация содержится в базах данных в каждый конкретный момент. Таким образом, система должна функционировать в условиях противоречивости и неполноты базы знаний.
  4. Необходимость соглашений между компонентами системы. В системах с высоким уровнем распределенности ни один компонент системы не управляет ресурсами других компонентов. Отдельные компоненты системы должны «убеждать» друг друга делиться ресурсами, а архитектура систем искусственного интеллекта должна поддерживать механизм ведения переговоров между компонентами.
  5. Неадекватность гипотезы замкнутого мира. Суть гипотезы замкнутого мира заключается в том, что модель внешнего мира считается информационно полной, т. е. из локальной информации, которой обладает система, можно вывести именно те связи, которые существуют между реальными объектами. В системах, построенных согласно этой гипотезе, предполагается, что все проявления некоторого понятия могут быть найдены путем анализа локально доступной информации. На первый взгляд кажется, что эта распространенная в литературе гипотеза хороша тем, что дает принципиальную возможность найти ответ на запрос пользователя. К сожалению, чем больше открытая система, тем меньше информации доступно системе локально и тем труднее обеспечить такие заранее заготовленные ответы «на все случаи жизни».

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

Принципы обработки информации для будущих систем

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

  1. История собственного поведения: что ты делал в таком-то случае?
  2. Представление о своих собственных процедурах обработки информации: как ты принял это решение?
  3. Знания о связи прежнего поведения и текущих процедур: что бы ты сделал теперь иначе и почему?
  4. Представление о процедурах для взаимодействия с внешним миром: как ты управляешь этим?

Современный уровень реализации рефлективных систем исключительно примитивен. Большинство из вышеперечисленных вопросов в них по-настоящему не решено.

Кроме рефлективного решения задач для создания надежных открытых систем необходимо обеспечить еще целый ряд требований:

  1. «Любознательность»: не важно, знает ли система некоторый факт до того, как он может быть использован в решаемой задаче, или уже после того, как работа над задачей закончена.
  2. Децентрализованное управление: в системе нет главного арбитра истинности.
  3. Доступность знаний: все знания системы (включая ее собственные процедуры) должны быть доступны для любой задачи.
  4.  Параллельность вычислений: система должна быть способна мобилизовать все свои ресурсы для параллельной работы над отдельными аспектами задач большой размерности.
  5. Процессуальный вывод: система собирает и сопоставляет между собой альтернативные факты и цели.
  6. Практическая рефлексия: знания (в том числе знания о себе) должны питать практику, а практика должна вносить изменения в гипотезы, факты и цели.
  7. «Здравый смысл»: при наличии несогласованной информации и противоречивых фактов система тем не менее должна работать эффективно.

Заключение

На практике знания людей о реальных системах всегда таковы, что их невозможно записать в виде непротиворечивой системы аксиом. Все реальные системы открытые в том смысле, что они являются частью какой-либо среды, с которой они асинхронно взаимодействуют. В целом открытые системы не полностью «властны над своей судьбой». В противоположность им замкнутые системы (такие, как арифметика Пеано и топология множества точек) точно определены правилами и законами.

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

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