КЛИПЫ
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2013 г. ) |
Парадигма | объектно-ориентированная экспертная система |
---|---|
Разработчик | НАСА имени Джонсона Космический центр |
Впервые появился | 1985 год |
Стабильная версия | 6.4.1
/ 21 апреля 2023 г |
Управление памятью | мусор собран |
Язык реализации | С |
Лицензия | общественное достояние |
Веб-сайт | правила клипов |
Под влиянием | |
ОПС5 |
CLIPS ( Integrated Production System на языке C ) — общедоступный программный инструмент для построения экспертных систем . Синтаксис и название были вдохновлены Чарльза Форги OPS5 . Первые версии CLIPS разрабатывались начиная с 1985 года в НАСА Космическом центре имени Джонсона (в качестве альтернативы существующей системе ART*Inference) до 1996 года, когда обязанности группы разработчиков перестали сосредотачиваться на технологии экспертных систем. Первоначальное название проекта было NASA AI Language (NAIL).
По состоянию на 2005 год CLIPS был, вероятно, наиболее широко используемым инструментом экспертных систем. [1] CLIPS написан на C , расширения могут быть написаны на C, а CLIPS можно вызывать из C. Его синтаксис напоминает синтаксис языка программирования Lisp . [2]
CLIPS включает в себя полноценный объектно-ориентированный язык программирования для написания экспертных систем. COOL сочетает в себе парадигмы программирования процедурных , объектно -ориентированных и логических языков программирования ( автоматического доказательства теорем ). [3]
Факты и правила
[ редактировать ]CLIPS использует прямую цепочку . [4] [2] Как и другие языки экспертных систем, CLIPS имеет дело с правилами и фактами. Различные факты могут сделать правило применимым. Затем применяется применимое правило. [4] Факты и правила создаются путем их предварительного определения, как показано ниже:
(deftemplate car_problem
(slot name)
(slot status))
(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 считывать факты и правила. В данном случае это приведет к утверждению трех фактов «устранения неполадок». Затем используется команда (выполнить). Учитывая, что оба факта, перечисленных в правиле 1, были подтверждены, условия для выполнения этого действия были выполнены, поэтому дополнительный факт утверждается в результате прогона.
CLIPS> (reset)
CLIPS> (agenda)
0 rule1: f-1,f-2
For a total of 1 activation.
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))
For a total of 4 facts.
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))
For a total of 5 facts.
CLIPS>
(assert <fact>+)
(Assert (object (name "chair")
(Material wood)
(height 3feet)
(Color brown))
CLIPS(retract <fact-index+)
(retract 0)
for a color
В CLIPS значимость позволяет пользователю назначать приоритет (или вес) правилу.
Потомки
[ редактировать ]Потомками языка CLIPS являются Jess (основанная на правилах часть CLIPS, переписанная на Java , позже она развилась в другом направлении), [5] и FuzzyCLIPS (который добавляет в язык понятие релевантности).
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Ди Стефано, Антонелла; Гангеми, Франческ; Санторо, Коррадо (2005). ERESYE: искусственный интеллект в программах Erlang . Материалы семинара ACM SIGPLAN 2005 г. по Erlang. Таллинн, Эстония: ACM. стр. 62–71. дои : 10.1145/1088361.1088373 . ISBN 1-59593-066-3 .
- ^ Перейти обратно: а б Джарратано, Джозеф С.; Райли, Гэри Д. (2005). Экспертные системы: принципы и программирование . Бостон: Томсон. ISBN 81-315-0167-1 .
- ^ Райли, Гэри (30 ноября 2017 г.). Справочное руководство CLIPS: Том 1 – Руководство по базовому программированию (PDF) . Проверено 29 апреля 2023 г.
- ^ Перейти обратно: а б Сандип, К; Ракеш, К. (2011). «Система поддержки принятия решений на базе CLIPS для сетей водоснабжения» . Питьевая вода. Инженерия и наука . 4 (1): 37–50. doi : 10.5194/dwes-4-37-2011 .
- ^ Гойал, Р; Джаясудха, Т; Панди, П; Деви, Р.Д.; Ребекка, А; Сарма, М. Манджу; Лакшми, Б. (2014). «Система знаний для выбора продуктов спутниковых данных» . Международный архив фотограмметрии, дистанционного зондирования и пространственной информатики . 40 (8): 1233–1236. «Изначально Jess была вдохновлена оболочкой экспертной системы CLIPS, но со временем превратилась в полноценную, отдельную среду, созданную под влиянием Java».
Внешние ссылки
[ редактировать ]- Официальный сайт , файлы для скачивания, информация, новости, история
- Инструмент экспертной системы CLIPS: кандидат на роль ядра диагностической системы
- Учебное пособие CLIPS по проекту кода
- CLIPSEditor на GitHub , редактор кода для CLIPS