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

7.4.4. Преимущества Пролога и исчисление предикатов

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

полностью перепрограммирована на Прологе, в результате чего ее эффективность существенно возросла (Warren, 1977). Кроме того, Пролог предоставляет возможность доступа к дереву доказательства, средствам ввода-вывода, составляющим правилам и механизму возврата назад при движении но дереву доказательств.

Но главный интерес к Прологу, без сомнения, вызывает возможность составления программы, управляющей выполнением правил (т. е. непосредственно процессами получения выводов) и работающей на метауровне. Это важно при работе с базой знаний большого объема. Пролог позволяет также использовать правила как аргументы для предикатов более высокого уровня и, таким образом, использовать возможности логики второго порядка. При этом новые знания могут быть введены или исключены командами AJOUT и SUPP.

Язык управления для Пролога

Эрве Галлер и Клодии Лассерр предложили (1979 г.) метаязык для управления выводом с помощью включения в Пролог и в нормальную стратегию метаправил двух типов. По правилам первого типа определяет символ для унификации в только что усвоенном правиле. Правила второго типа Мета-С служат для выбора предшественника - правила среди множества правил-кандидатов. Правила служат для локальной обработки контекста, “заморозки” некоторых кандидатов или для включения обязательного возврата. Идея состоит в том, что если какое-либо действие может не выполняться, его продолжение оказывается бесполезным. В результате выполнения правил Мета-С каждому правилу-кандидату присваивается приоритет в зависимости от определенных условий, связанных с унификацией.

Например, правило

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

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

Сравнение исчисления предикатов в Прологе и продукционных систем

Между условиями Хорна, используемыми Прологом, и продукционными правилами существует сходство. Различия касаются прежде всего того, что связано в Прологе с предпро-граммируемыми управляющими структурами (разд. 7.4.1). Принцип резолюции с линейной стратегией вывода однозначно определяет тип и порядок предпринимаемых попыток. Тем не менее в Прологе остается возможность модифицировать эту стратегию. Преимущества Пролога состоят в полностью запрограммированном общем алгоритме унификации и в механизме управления деревом поиска И-ИЛИ, связанным со свойствами интерпретатора.

Таким образом, в отличие от продукционных систем Пролог постоянно увеличивает число правил (предложений), поскольку каждое решение добавляет в систему новое предложение до по-

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

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

Безусловно, существует и другое решение (кроме использования Пролога) для интерпретации логики первого порядка. Оно состоит в использовании обычной, дедукции.

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

Система SNARK (Symbolic Normalized Acquisition and Representation of Knowledge), к краткому описанию которой мы переходим, является попыткой дальнейшей разработки в этом направлении.

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