ВУЗ:
Составители:
Рубрика:
?*f* = symbol) 
При выполнении команды reset все глобальные переменные получают начальные значения, определенные в конструк-
торе. 
Команда ppdefglobal выводит в диалоговое окно системы определение заданной глобальной переменной. 
Имя глобальной переменной должно  быть  задано без вопросительного  знака  и символов *, т.е. name для переменной 
?*name*. 
Команда  list-defglobals предназначена для  отображения в диалоговом окне списка имен всех определенных в системе гло-
бальных переменных. 
(list-defglobals [<имя-модуля>]) 
Если  необязательный  параметр <имя-модуля>  не  указан,  то  данная  команда  выводит  имена  глобальных  переменных, 
определенных в текущем модуле. Если параметр содержит имя конкретного модуля, команда list-defglobal выводит список 
переменных,  определенных  в  заданном  модуле.  Допускается  использование  символа *. В  этом  случае  команда  выведет  в
диалоговое окно имена всех глобальных переменные, определенных во всех модулях системы. 
Команда show-defglobals, в отличие от команды list-defglobals, выводит в диалоговое окно CLIPS не только имена гло-
бальных переменных, но и их значения. В остальном эти две команды практически идентичны. 
(show-defglobals  [ <имя-модуля> ]) 
Команда undefglobal предназначена для удаления определенных пользователем глобальных переменных. 
(undefglobal <имя-глобальной-переменной>) 
В качестве параметра <имя-глобальной-переменной> допускается использование символа *. В этом случае команда по-
пытается удалить все определенные пользователем глобальные переменные. Если глобальная переменная указана, например, 
в определении функции, удаление этой переменной закончится неудачей. 
Существуют похожие функции для стандартных операций с конструкторами различных типов (не только для defglobal). 
(bind <имя-переменной> <выражение>*) 
Параметр выражения является необязательным. Если он не  задан, то переменной будет установлено начальное значе-
ние, заданное в конструкторе defglobal. В случае, если выражение было задано, то его значение будет вычислено и результат 
присвоен переменной. Если было задано несколько выражений, все они будут вычислены, из их результатов будет составле-
но составное поле, которое будет присвоено глобальной переменной. 
Функция bind возвращает значение false в случае, если переменной по какой-то причине не было присвоено никакого 
значения. В противном случае функция возвращает значение, присвоенное переменной. 
Поскольку  переменные  в CLIPS слабо  типизированы,  типы  значений,  присваиваемые  одной  и  той  же  переменной,  в 
разные моменты времени могут не совпадать. 
CLIPS  поддерживает  эвристическую  и  процедурную  парадигму  представления  знаний.  Для  представления  знаний  в 
процедурной парадигме CLIPS предоставляет такие механизмы, как глобальные переменные, функции и родовые функции. 
Кроме того, существует такой способ представления знаний, как правила. Правила в CLIPS служат для представления эври-
стик или так называемых "эмпирических правил" действий при возникновении некоторой ситуации. Разработчик экспертной 
системы определяет набор правил, которые вместе работают над решением некоторой задачи. Правила состоят из предпосы-
лок и следствия. Предпосылки называются также ЕСЛИ-частью правила, левой частью правила или LHS правила (left-hand 
side of rule). Следствие называется ТО-частью правила, правой частью правила или RHS правила (right-hand side of rule).  
Предпосылки правила представляют собой набор условий (или условных элементов), которые должны удовлетвориться 
для того, чтобы правило выполнилось. Предпосылки правил удовлетворяются в зависимости от наличия или отсутствия не-
которых заданных фактов в списке фактов или некоторых созданных объектов, являющихся экземплярами классов, опреде-
ленных пользователем. Один из наиболее распространенных типов условных выражений в CLIPS – образцы (patterns). Об-
разцы состоят из набора ограничений, которые используются для определения того, удовлетворяет ли некоторый факт или 
объект условному элементу. Другими словами, образец задает  некоторую маску  для  фактов или  объектов. Процесс  сопос-
тавления образцов фактам или объектам называется процессом сопоставления образцов (pattern-matching). CLIPS предостав-
ляет механизм, называемый механизмом логического вывода (inference engine), который автоматически сопоставляет образ-
цы с текущим списком фактов и определенными объектами в поисках правил, которые применимы в данный момент. 
Следствие правила представляется набором некоторых действий, которые необходимо выполнить в случае, если прави-
ло применимо к текущей ситуации. Таким образом, действия, заданные вследствие правила, выполняются по команде меха-
низма логического вывода, если все предпосылки правила удовлетворены. В случае, если в данный момент применимо более 
одного правила, механизм логического вывода использует так называемую стратегию разрешения конфликтов (conflict reso-
lution strategy), которая определяет, какое именно правило будет выполнено. После этого CLIPS выполняет действия, опи-
санные вследствие выбранного правила (которые могут оказать влияние на список применимых правил), и приступает к вы-
бору следующего правила. Этот процесс продолжается до тех пор, пока список применимых правил не опустеет. 
Чтобы  лучше  понять  сущность  правил  в CLIPS, их  можно  представить  в  виде  оператора IF-THEN, используемого  в 
процедурных языках программирования, например, таких как Ada или С. Однако условия выражения IF-THEN в процедур-
ных языках вычисляются тогда, когда поток управления программой непосредственно попадает на данное выражение путем 
последовательного  перебора выражений  и  операторов,  составляющих  программу. В CLIPS, в  отличии  от  этого,  механизм 
логического вывода создает и постоянно модифицирует список правил, условия которых в данный момент удовлетворены. 
Эти правила запускаются на выполнение механизмом логического вывода. С этой стороны правила похожи на обработчики 
сообщений, присутствующие в таких языках программирования, как, например, Ada или SmallTalk. 
Страницы
- « первая
 - ‹ предыдущая
 - …
 - 4
 - 5
 - 6
 - 7
 - 8
 - …
 - следующая ›
 - последняя »
 
