Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Языки описания порождающих правил
Содержание книги
- Severe-restrictive-defect. Present
- Области применения методов конструктивного решения проблем
- Программа R1 разбивает задачу конфигурирования на шесть подзадач, каждая из которых, в свою очередь, может быть разбита на более мелкие подзадачи.
- Стратегии разрешения конфликтов LEX и МЕА
- Формирование суждений с учетом ограничений: метод Match
- Извлечение знаний в системе R1/XCON
- Включить в систему НМД RA60,
- Совершенствование системы XCON
- В чем преимущество использования более явного представления стратегии, реализованного при модернизации системы XCON.
- Оператор resume во многом похож на оператор focus. Отличие состоит в том, что он не формирует новые задачи, А старается выявить ранее приостановленные и повторно запустить их на выполнение.
- Door-opening, platform-width и opening-width
- Приобретение знаний с помощью системы salt
- Итоги анализа систем решения проблем конструирования
- Ваша задача — разработать три новых управляющих правила, которые организуют работу правил clash, start и finish.
- Использование индексации правил, которая дает возможность извлечь определенное правило в ответ на вопрос, содержащийся в пользовательском запросе.
- Формирование пояснений в системах, производных от MYCIN
- Формирование пояснений на основе фреймов
- Суммирование и вывод результатов.
- Диагноз: обтурация воздухоносных путей астматического типа в серьезной форме. Консультация завершена.
- Использование мультимедийного интерфейса для формирования пояснений
- Автоматическое программирование в системе XPLAN
- Другим оператором, смысл которого более понятен при анализе текста программы: (if (атом X) then X else (car X)).
- Перспективы дальнейших исследований методов формирования пояснений
- Почему формирование пояснений в системах, основанных на порождающих правилах, упрощается, если разделить используемые правила на группы по назначению.
- По своему назначению и функциональным возможностям инструментальные программы, применяемые при проектировании экспертных систем, можно разделить на четыре достаточно больших категории.
- Языки описания порождающих правил
- Объектно-ориентированные языки
- Языки логического программирования экспертных систем
- Cups как многофункциональная среда программирования
- ЕСЛИ: сегодня рабочий день И
- Логический вывод в разных контекстах
- Выбор подходящего инструментария для разработки экспертной системы
- Выявление и устранение ошибок на стадии выполнения.
- Правила и процедуры в инструментальной среде М.4
- III) перечень дополнительных возможностей, которые, по-вашему, имеет смысл реализовать в этой среде разработки.
- Процесс прекращается (а эксперты расходятся по домам), когда проблема будет решена.
- Почему для HEARSAY-II выбрана такая архитектура
- Система HEARSAY-III— оболочка для создания систем с доской объявлений
- Инструментальные среды AGE и ОРМ
- Исполнение (выбранные для выполнения записи активизации источников знаний).
- Основной цикл работы вв1 состоит из следующих операций.
- Интеграция стратегий логического вывода
- Организация доски объявлений в системе GBB
- На уровне выполнения действий, предусмотренных записью активизации источника знаний.
- Что такое источник знаний в системе с доской объявлений?
- Система отслеживания истинности выполняет по отношению к базе данных четыре функции.
- Дуальная структура обоснований, предложенная дойлом, может быть использована для разделения допущений на три группы.
- Отслеживание истинности предположений, основанное на анализе допущений
- Предположим также, что в модели имеется обоснование
- Поскольку требуется знание только о корректном поведении объекта, потенциально метод должен сработать и при диагностировании неисправностей, которые ранее не возникали и незнакомы эксперту-человеку.
Но, естественно, возможности языков высокого уровня также не беспредельны — каждый из них имеет свои ограничения. Например, в языке OPS5 возможности динамической памяти ограничены размещением векторов в рабочей памяти, что не позволяет строить в ней рекурсивные структуры данных, такие как графы или деревья. При разработке системы MORE (о ней речь шла в главе 12) из-за этого возникли серьезные сложности [Kahn, 1988]. Некоторые типы структур управления ходом выполнения, например рекурсивные и итерационные циклы, также с трудом реализуются в этом языке. В общем, это та цена, которую приходится платить за относительную простоту программного кода на языке OPS5 и эффективность его выполнения.
В ранних моделях систем, основанных на порождающих правилах, до 90% времени работы уходило на выполнение операций сопоставления условий. Но позднее Форджи обратил внимание на возможные источники низкой эффективности такого упрощенного подхода [Forgy, 1982]. Алгоритм сопоставления RETE, предложенный Форджи и реализованный в языках описания порождающих правил семейства OPS, базируется на двух наблюдениях.
В левых частях порождающих правил, которые размещаются в рабочей памяти, часто встречаются повторяющиеся условия. Если одно и то же условие встречалось в N правилах, то при прежнем упрощенном подходе выполнялось N операций сопоставления. Это пример внутрицикловой итерации (within-cycle iteration).
Простейший подход при сопоставлении условий предполагает просмотр в каждом цикле всех элементов рабочей памяти, хотя содержимое рабочей памяти от цикла к циклу изменяется очень мало. Форджи назвал это межцикловой итерацией (between-cycle iteration).
Предложенный Форджи алгоритм значительно снижает количество внутрицикловых итераций за счет использования сети сортировки, имеющей древовидную структуру. Выражения в левой части порождающих правил компилируются и включаются в эту сеть, а алгоритм сопоставления довольно просто определяет конфликтующее множество, просматривая состояние сети в текущем цикле. Количество межцикловых итераций сокращается за счет обработки множества лексем, которые являются индикаторами удовлетворения условий, размещенных в рабочей памяти. Это множество лексем отображает изменения, происходящие в рабочей памяти от цикла к циклу, и таким образом позволяет выявить те условия, которые подлежат проверке. Поскольку никаких других процессов управления, кроме цикла распознавание-действие, в системе не существует, то обработать полученное в результате конфликтующее множество не представляет особого труда. Механизм разрешения конфликтов выполняет это, не обращая внимания на другие аспекты текущего контекста вычислений.
Совершенно очевидно, что попытка использовать рекурсивные структуры данных потребует серьезного усложнения описанного процесса обработки правил. Точно так же и изменение режима управления приведет к тому, что механизм разрешения конфликтов вынужден будет анализировать дополнительную информацию. Разработчики языков, подобных OPS, всегда вынуждены искать компромисс между мощностью выразительных средств языка и эффективностью выполнения программного кода. До сих пор в среде исследователей предметом оживленных дискуссий является вопрос о том, удалось ли разработчикам OPS5 найти такой компромисс. Разработанные позже языки КЕЕ, КАРРА и CLIPS унаследовали от OPS5 синтаксис и механизм активизации правил. Все эти языки используют различные версии алгоритма RETE при формировании множества конфликтующих правил.
Преодоление недостатков программирования порождающих правил лежит не на пути усложнения существующих языков программирования, а скорее на пути объединения их с другими парадигмами программирования, позволяющими использовать рекурсивные структуры данных и управления. Примером такого объединения может служить комбинирование порождающих правил и фреймов, что позволяет сопоставлять условия, специфицированные в правилах, с содержимым слотов фреймов (см. главу 13). Для решения проблем управления в последнее время все чаще используется включение наборов правил в более мощную.вычислительную среду, которая позволяет работать со списками заявок и с множеством источников знаний (подробнее об этом — в главе 18).
|