Главная > Интеллектуальные системы > Системы искусственного интеллекта
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

7.5.4. Производительность экспертных систем

Формализм продукционных правил представляет собой не что иное, как внешнее представление знаний. Большая часть систем “компилирует” базу правил, чтобы получить эффективное

внутреннее представление, которое выражается в структурировании знания путем группировки в списки правил и посылок (как в Лиспе). Мы опишем две такие системы: POLITICS, разработанную Дж. Карбонеллем (1978) и использующую структуру вложенных правил, более богатую чем исходный формализм, и PROSPECTOR (Duda, 1980). использующую мультиграфы. Отметим также машины вывода OPS и TANGO, которые интересны тем, что применяют другие пути оптимизации выполнения правил с помощью их внутреннего представления с уменьшением времени вычислений за счет использования большего объема памяти. В обеих системах интерпретация уступает место компиляции, так как облегчается определение фазы выполнения правил. Важно отметить, что структуризация знаний возлагается на систему, поскольку в общем случае она претерпевает глубокие изменения при изменении базы правил.

В последнее время некоторые специалисты по информатике используют моделирование с помощью сетей Петри (Petri, 62). Между этим моделированием и внутренними представлениями в экспертных системах существует глубокая связь. В частности, “предикатные” сети Петри являются не чем иным, как повторным открытием продукционных систем, основанных на логике первого порядка. Отметим также, что модульность систем правил является существенным показателем производительности систем. Действительно, активизация правила происходит ассоциативным образом, а не в порядке, строго заданном процедурой. Правила активизируются и, возможно, выполняются, активизируя тем самым новые правила, и т. д.

В общем случае, поскольку могут быть выполнены сразу несколько правил и все, кроме одного, должны ждать своей очереди, а также поскольку каждое правило может требовать выполнения нескольких заданий, задания обычно помещаются в очередь в “записную книжку” (агенда). Записная книжка представляет собой структуру данных, доступ к элементам которой регулируется с помощью приоритетов или, в более общем случае, предикатов. Нет необходимости рассматривать случаи, которые не соответствуют данной ситуации (инструкции и тесты в классическом программировании). Базой фактов или базой данных вызываются только те правила, которые нужны. Для различных данных также весьма различны выводы и решения. Представляется, что это должно быть непременным условием высокой производительности. Не следует обвинять случай, если сам человек не заботится о правильном построении алгоритма. Даже для такого тривиального случая, как умножение двух чисел, мы всякий раз учитываем имеющиеся данные: более длинное число пишем вверху, кроме тех случаев, когда оно

содержит нули, единицы или повторяющиеся цифры, а более короткое — внизу, если это возможно.

Практика показывает, что отладка правил осуществляется просто и быстро. Всего лишь несколько минут требуется после обнаружения ошибки при выполнении правила на ее исправление и/или добавление нового правила. В отличие от этого в программе обнаруженная ошибка не всегда может быть легко исправлена из-за “системного эффекта”, связанного с последовательным выполнением инструкций. На исправление ошибки в этом случае может потребоваться, например, несколько часов. Она должна выполняться обязательно программистом, который в данном случае выступает в роли дорогостоящего и медлительного посредника между экспертом и программой.

Структурированные правила в системе POLITICS

Жесткая структура ЕСЛИ-TO, использовавшаяся до сих пор, может быть легко дополнена и преобразована в структуру ЕСЛИ-ТО-ИНАЧЕ, а также использоваться во вложенных структурах ЕСЛИ. Рассмотрим это решение ниже. Его очевидное преимущество состоит прежде всего в том, что условия выполнения приближаются к собственно действию, а также, становится более экономной запись посылок, общих для нескольких ситуаций. Подобные системы были предложены И. Голстейном (1977) и Дж. Карбонеллом (1978).

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

(см. скан)

Рис. 7.13. (см. скан) Часть сети выводов, образованная интерпретатором системы PROSPECTOR из набора классических продукционных правил. Стрелки указывают на предположения, позволяющие получить заключение.

Семантическая сеть системы PROSPECTOR

Система PROSPECTOR предназначена для оказания помощи при исследованиях в горной промышленности. Внутреннее представление правил в ней немного отличается от представления в предыдущей системе и является более эффективным. Для получения выводов здесь используется граф, вершинами которого являются элементарные предложения. Правило представляет собой подмножество дуг, связывающих вершины. Подмножество помечено И для посылок одного и того же правила, ИЛИ для идентичных заключений, получаемых с помощью нескольких правил (рис. 7.13).

Последовательные выводы из начальных фактов получаются очень просто с помощью переноса указателя в этом графе. Оптимизация достижения искомой цели (конечная вершина графа) производится с помощью классических методов, применяемых в искусственном интеллекте: поиск по дереву И-ИЛИ, алгоритм продвижения A (Nilsson 1980) (гл. 2).

Эти внутренние представления очень близки к семантическим сетям и фреймам, используемым при описании естественного языка (Minsky, 1975, Winograd, 1982, Pitrat, 1982).

Связь описываемых систем с сетями Петри

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

Рис. 7.14. Пример сети Петри. Выполнение включает в работу и Затем выполнение и включает в работу но только один них может быть активным. Затем сеть возвращается в начальное состояние.

Если все позиции, предшествующие переходу, содержат жетон, то такой переход называется активным. В этом случае он выполняется, а каждая предыдущая позиция теряет жетон и передает его следующей позиции (рис. 7.14).

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

1) Выявление возможности конфликта между правилами (возможность одновременного выполнения правил).

2) Внутреннее представление набора правил для интерпретатора с целью оптимизации времени решения.

Зисман (1978) предложил следующую модификацию набора правил для обращения цепочки символов, приведенную в разд. 7.5.3. В правой части каждого правила указывается правило, которое система попытается выполнить после данного

правила:

Отметим, что в такой записи один из символов можно не указывать и число правил уменьшается на два.

Рис. 7.15. Представление системы продукционных правил в форме сети Петри. Для простоты переходы не указаны, имеются два типа жетонов: «истина» V и «ложь» зависимости от истинности левой части правила.

Представление этого набора правил для интерпретатора в форме сети получается сразу же (рис. 7.15). Очевидно, что представление, в котором стрелки соответствуют обычной последовательной передаче управления в программах и условным переходам, должно предназначаться только одному интерпретатору. Оно далеко от идей продукционных систем и от возможностей модульного программирования. Оно великолепно оправдывает себя в качестве внутреннего представления и с небольшими модификациями было использовано под именем ATN (Woods, 1972) для анализа письменных текстов (Kayser, 1981).

<< Предыдущий параграф Следующий параграф >>
Оглавление