en ru
CLIPS Rule Based Programming Language
CLIPS is a forward-chaining rule-based programming language written in C that also provides procedural and object-oriented programming facilities.
CLIPS, (от англ. C Language Integrated Production System) — программная среда для разработки экспертных систем. Синтаксис и название предложены Чарльзом Форги (Charles Forgy) в OPS (Official Production System). Первые версии CLIPS разрабатывались с 1984 года в Космическом центре Джонсона (Johnson Space Center), NASA (как альтернатива существовавшей тогда системе ART*Inference), пока в начале 1990-х не было приостановлено финансирование, и NASA вынудили купить коммерческие продукты.
Вероятно, CLIPS является наиболее широко используемой инструментальной средой для разработки экспертных систем благодаря своей скорости, эффективности и бесплатности. Несмотря на то, что теперь она является общественным достоянием, она до сих пор обновляется и поддерживается своим изначальным автором, Гэри Райли (Gary Riley).
CLIPS включает полноценный объектно-ориентированный язык COOL для написания экспертных систем. Хотя она написана на языке Си, её интерфейс намного ближе к языку программирования LISP. Расширения можно создавать на языке Си, кроме того, можно интегрировать CLIPS в программы на языке Си.
Как и другие экспертные системы, CLIPS имеет дело с правилами и фактами. Различные факты могут сделать правило применимым. Применимое правило затем допускается (assert). Факты и правила создаются предварительным объявлением, как показано в примере:
(deffacts trouble_shooting (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) (car_problem (name headlights) (status work)) ) (defrule rule1 (car_problem (name ignition_key) (status on)) (car_problem (name engine) (status wont_start)) => (assert (car_problem (name starter) (status faulty)) )
Потомками CLIPS являются языки программирования Jess (часть CLIPS, работающая с правилами и переписанная на Java, позже развившаяся в другом направлении), ECLiPSe, Haley Eclipse, FuzzyCLIPS (с добавлением концепции значимости relevancy в язык) и другие.
Существует учебник для колледжей, Expert Systems: Principles and Programming (ISBN 0-534-95053-1) и книга по Jess, Jess in Action: Rule Based Systems in Java (ISBN 1-930110-89-8). Кроме того CLIPS содержит обширную документация прямо в поставке.
FuzzyCLIPS, (от англ. "Нечёткий" CLIPS) - это расширение CLIPS, оболочки экспертной системы от NASA. Разработка комплексной группы National Reseach Council Института информационных технологий Канады. Расширение широко распространяется с 2000 года.
Расширение улучшает возможности CLIPS, предоставляя возможности нечёткой аргументации, которая полностью интегрирована с фактами и предположениями ядра CLIPS, что позволяет представлять и манипулировать нечёткими фактами и правилами (составляющими нечёткой логики).
FuzzyCLIPS может иметь дело с чёткими, нечёткими (или неточными), и комбинированными аргументациями. Это позволяет свободно смешивать нечёткие и нормальные условия, в правилах и фактах экспертной системы. Система использует два понятия мягких вычислений: нечеткость и неопределённость. FuzzyCLIPS предоставляет полезную среду для разработки приложений использующих нечёткую логику в системах принятия решений.
Значительные усилия требуются для поддержания и обновления этой надстройки в связи с выходом новых версий CLIPS.
Это расширение доступно бесплатно только для некоммерческого использования.
© AIKernel 2011
09.05.2011 - 11.06.2011