stringtranslate.com

КЛИПЫ

CLIPS ( C Language Integrated Production System ) — это общедоступный программный инструмент для создания экспертных систем . Синтаксис и название были вдохновлены OPS5 Чарльза Форджи . Первые версии CLIPS разрабатывались с 1985 года в Космическом центре имени Джонсона в НАСА (как альтернатива существующей системе ART*Inference) до 1996 года, когда обязанности группы разработчиков перестали фокусироваться на технологии экспертных систем. Первоначальное название проекта было NASA's AI Language (NAIL).

По состоянию на 2005 год CLIPS был, вероятно, наиболее широко используемым инструментом экспертной системы. [1] CLIPS написан на языке C , расширения могут быть написаны на языке C, и CLIPS может вызываться из C. Его синтаксис напоминает синтаксис языка программирования Lisp . [2]

CLIPS включает в себя полный объектно-ориентированный язык программирования для написания экспертных систем. COOL объединяет парадигмы программирования процедурных , объектно -ориентированных и логических языков программирования ( автоматическое доказательство теорем ). [3]

Факты и правила

CLIPS использует прямую цепочку . [4] [2] Как и другие языки экспертных систем, CLIPS имеет дело с правилами и фактами. Различные факты могут сделать правило применимым. Затем применимое правило запускается. [4] Факты и правила создаются путем их предварительного определения, как показано ниже:

 ( deftemplate car_problem ( имя слота ) ( статус слота ))      ( 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 ))))                  

После настройки команда (reset) заставляет CLIPS считать факты и правила. В этом случае это приведет к утверждению трех фактов "trouble_shooting". Затем используется команда (run). Учитывая, что оба факта, перечисленные в rule1, были утверждены, условия для выполнения его действия были выполнены, поэтому дополнительный факт утверждается в результате выполнения.

CLIPS> ( сброс ) CLIPS > ( повестка дня ) 0 правило 1: f-1,f-2 Всего 1 активация. CLIPS> ( факты ) f-0 ( начальный-факт ) f-1 ( проблема_автомобиля ( имя ignition_key ) ( статус on )) f-2 ( проблема_автомобиля ( имя engine ) ( статус wont_start ) ) f- 3 ( проблема_автомобиля ( имя headlights ) ( статус work ) ) Всего 4 факта . CLIPS> ( run ) CLIPS> ( facts ) f-0 ( initial-fact ) f-1 ( car_problem ( name ignition_key ) ( status on )) f-2 ( car_problem ( name engine ) ( status wont_start )) f-3 ( car_problem ( name headlights ) ( status work )) f-4 ( car_problem ( name starter ) ( status faulty )) Всего 5 фактов. CLIPS> ( assert <fact>+ ) ( Assert ( object ( name "chair" ) ( Material wood ) ( height 3feet ) ( Color brown )) CLIPS ( retract < fact - index + ) ( retract 0 ) для цвета                                                                       

В CLIPS заметность позволяет пользователю назначать приоритет (или вес) правилу.

Потомки

Потомками языка CLIPS являются Jess (основанная на правилах часть CLIPS, переписанная на Java , которая впоследствии развивалась в другом направлении) [5] и FuzzyCLIPS (который добавляет в язык концепцию релевантности).

Смотрите также

Ссылки

  1. ^ Ди Стефано, Антонелла; Гангеми, Франческ; Санторо, Коррадо (2005). ERESYE: искусственный интеллект в программах Erlang . Труды семинара ACM SIGPLAN 2005 года по Erlang. Таллин, Эстония: ACM. стр. 62–71. doi :10.1145/1088361.1088373. ISBN 1-59593-066-3.
  2. ^ ab Giarratano, Joseph C; Riley, Gary D. (2005). Экспертные системы: принципы и программирование . Бостон: Thomson. ISBN 81-315-0167-1.
  3. ^ Райли, Гэри (30 ноября 2017 г.). Справочное руководство CLIPS: Том 1 – Базовое руководство по программированию (PDF) . Получено 29 апреля 2023 г. .
  4. ^ ab Sandeep, K; Rakesh, K (2011). "Система поддержки принятия решений на основе CLIPS для сетей распределения воды". Drinking Water Engineering and Science . 4 (1): 37–50. doi : 10.5194/dwes-4-37-2011 .
  5. ^ Goyal, R; Jayasudha, T; Pandey, P; Devi, R. D; Rebecca, A; Sarma, M. Manju; Lakshmi, B (2014). «Система на основе знаний для выбора продукта спутниковых данных». Международный архив фотограмметрии, дистанционного зондирования и пространственной информации . 40 (8): 1233–1236. Bibcode : 2014ISPAr.XL8.1233G. doi : 10.5194/isprsarchives-XL-8-1233-2014 .«Изначально Jess была вдохновлена ​​оболочкой экспертной системы CLIPS, но впоследствии превратилась в полноценную, уникальную собственную среду, созданную под влиянием Java».

Внешние ссылки