Эвристические знания

Одним из основных методов представления знаний в CLIPS являются пра­вила. Правила используются для представления эвристик или эмпирических правил, определяющих действия, которые необходимо выполнить в случае возникновения некоторой ситуации. Разработчик экспертной системы соз­дает набор правил, которые, работая вместе, решают поставленную задачу. Правила состоят из предпосылок и следствия. Предпосылки называются так­же ЕСЛИ-частью правила или LHS правила (left-hand side). Следствие на­зываются ТО-частью правила или RHS правила (right-hand side).

Предпосылки правила представляют собой набор условий (или условных эле­ментов), которые должны удовлетвориться, для того чтобы правило выпол­нилось. Предпосылки правил удовлетворяются в зависимости от наличия или отсутствия некоторых заданных фактов в списке фактов или некоторых созданных объектов, являющихся экземплярами классов, определенных пользователем. Один из наиболее распространенных типов условных выра­жений в CLIPS — образцы (patterns). Образцы состоят из набора ограниче­ний, которые используются для определения того, удовлетворяет ли некото­рый факт или объект условному элементу. Другими словами, образец задает некоторую маску для фактов или объектов. Процесс сопоставления образ­цов фактам или объектам называется сопоставлением образцов (pattern-matching). CLIPS предоставляет механизм, называемый механизмом логиче­ского вывода (inference engine), который автоматически сопоставляет образ­цы с текущим списком фактов и определенными объектами и ищет прави­ла, которые применимы в настоящий момент.

Следствие правила представляется набором некоторых действий, которые нужно выполнить, в случае если правило применимо к текущей ситуации. Таким образом, действия, заданные в следствии правила, выполняются по команде механизма логического вывода, если все предпосылки правила удовлетворены. В случае, если в данный момент применимо более одного правила, механизм логического вывода использует текущую стратегию раз­решения конфликтов (conflict resolution strategy), которая определяет, какое именно правило будет выполнено. После этого CLIPS выполняет действия, описанные вследствие выбранного правила (которые могут оказать влияние на список применимых правил), и приступает к выбору следующего прави­ла. Этот процесс продолжается до тех пор, пока список применимых правил не опустеет.

В большинстве случаев правила CLIPS можно представить в виде операторов if-then, используемых в процедурных языках программирования, например, таких как Ada или С. Однако условные выражения if-then в процедурных языках проверяются только тогда, когда поток управления программы непо­средственно попадает на данное выражение путем последовательного перебора выражений и операторов, составляющих программу. В CLIPS, в отли­чие от этого, механизм логического вывода создает и постоянно модифици­рует список правил, условия которых в данный момент удовлетворены. Эти правила запускаются на выполнение механизмом логического вывода. С этой стороны правила похожи на обработчики сообщений, присутствую­щие в таких языках, как, например, Ada или Smalltalk.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: