0

В экспертных системах на основе правил база знаний содержит большое количество правил в форме «if (template) then (action)». Механизм вывода выбирает правила, которые соответствуют входным фактам. Это те правила, в которых их раздел состояния соответствует входным данным, в шорт-лист и один из них выбран.Разница между правилами на основе экспертных систем и условиями в нормальном алгоритмическом программировании

Теперь можно использовать обычную программу с аналогичными условными утверждениями, чтобы каким-то образом достичь результата.

  • Я пытаюсь найти «звук и четкое описание» разницы между ними и почему мы не можем добиться того, что правила системы эксперт может сделать с нормальным алгоритмического программирования?

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

Спасибо.

ответ

1

Нет ничего, что «экспертная система на основе правил» может сделать так, что «нормальная алгоритмическая программа» не может быть выполнена, потому что экспертная система на основе правил - это нормальная алгоритмическая программа. Это не только , чтобы написать нормальную алгоритмическую программу, чтобы соответствовать тому, как работает механизм обработки экспертных систем, и это именно то, что делали люди, написавшие механизм вывода.

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

+0

Спасибо за ваше время. Я не сказал, что механизм вывода делает необычные вещи. Я сравнивал правила в базе знаний с фиксированными и жестко закодированными условиями в программах. Правила в KB не выполняются алгоритмически (они управляются алгоритмом, хотя, как вы сказали). – wmac

4

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

if <rule-1 conditions> 
then <rule-1 actions> 

if <rule-2 conditions> 
then <rule-2 actions> 

    . 
    . 
    . 

if <rule-n conditions> 
then <rule-n actions> 

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

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

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

0

Чтобы расширить то, что сказал Гэри, в жестко закодированных системах if-then порядок стрельбы для правил более ограничен, чем в большинстве экспертных систем. В экспертной системе правила могут срабатывать по критериям, отличным от некоторого закодированного порядка.Например, некоторые меры релевантности могут использоваться для запуска правила, например. увольняя правило, успех или неудача которого будет регулировать или выдвигать большинство гипотез.

Аналогичным образом, во многих системах «инженер знаний» может указывать правила в любом порядке. Хотя потенциальный порядок стрельбы может потребоваться рассмотреть, порядок, в котором объявляются правила, может быть неважным.

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

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

Способы выполнения вышеизложенного - это мириады, но правила производства, описанные Гэри, являются одним из наиболее распространенных, легко понятных и эффективных средств и используются многими экспертными системами.