Смекни!
smekni.com

Экспертные системы и их использование (стр. 2 из 2)

Наиболее важными предикатами являются #$isa и #$genls. Первый является утверждением что некий элемент является экземпляром некой коллекции, а второй что коллекция является подколлекцией другой коллекции. Факты о концепциях декларируются с помощью особых высказываний языка CycL. Предикаты записываются в скобках перед своими аргументами:

(#$isa #$BillClinton #$UnitedStatesPresident)

означает что «Билл Клинтон входит в совокупность президентов США», а высказывание

(#$genls #$Tree-ThePlant #$Plant)

читается как «Все деревья являются растениями».

(#$capitalCity #$France #$Paris)

значит: «Париж столица Франции».

Высказывания также могут содержать переменные, строки начинающиеся со знака «?». Эти высказывания называются «правилами». Одно из важнейших правил, относящихся к предикату #$isa читается:

(#$implies(#$and(#$isa ?OBJ ?SUBSET)(#$genls ?SUBSET ?SUPERSET))(#$isa ?OBJ ?SUPERSET))

что означает «если OBJ является экземпляром коллекции SUBSET, а SUBSET в свою очередь является подколлекцией SUPERSET тогда также OBJ является экземпляром коллекции SUPERSET». Другой типичный пример:

(#$relationAllExists #$biologicalMother #$ChordataPhylum #$FemaleAnimal)

что означает что любой экземпляр коллекции #$ChordataPhylum (то есть любое хордовое) связан с самкой животного (экземпляром #$FemaleAnimal), которая является его матерью (что описывается предикатом #$BiologicalMother).

База знаний Cyc разделена на микротеории (Mt), коллекции концепций и фактов принадлежащих одной конкретной области знаний. В отличие от полной базы знаний, всякая микротеория должна быть свободной от противоречий. Всякая микротеория имеет название, которое является обычной константой; по соглашению константы микротеорий содержат строку «Mt». Пример — #$MathMt, микротеория содержащая математические знания. Микротеории могут наследоваться одна от другой и организованы в иерархию: одной из специализаций #$MathMt является #$GeometryGMt — микротеория о геометрии.

OpenCyc

Последняя версия OpenCyc, 1.0 была выпущена в июле 2006 года. OpenCyc 1.0 включает в себя полную онтологию Cyc содержащую сотни тысяч выражений, миллионы утверждений, связывающих термы между собой. База знаний содержит 470000 концепций и 306000 фактов и её можно просмотреть на сайте OpenCyc. Первая версия OpenCyc была выпущена в мае 2001 года и содержала только 6000 концепий и 60000 фактов. База знаний выпущена под лицензией Apache. Cycorp намерена выпускать OpenCyc под параллельными, менее жесткими лицензиями чтобы удовлетворить потребности своих пользователей. Интерпретатор CycL и SubL (программа, которая позволяет вам просматривать и изменять базу данных и делать выводы) выпущена бесплатно, но только в двоичном виде, без исходных текстов. Она работает как под GNU/Linux так и под Microsoft Windows.

ResearchCyc

В июле 2006 года Cycorpвыпустила ResearchCyc 1.0, бесплатную (но с закрытыми исходниками) версию Cyc предназначенную для исследовательского сообщества. (ResearchCyc находился в бета версии в течение всего 2004 года, а выпущена в бета-тестирование она была в феврале 2005.) В дополнение к таксономической информации из OpenCyc, ResearchCyc включает значительно больше семантических знаний (то есть дополнительные факты) о концепциях в своей базе знаний, и включает большой лексикон, инструменты для грамматического разбора и генерации Английского языка, написанные на языке Java интерфейсы для редактирования знаний и создания запросов к базе.

Cycorp публично выразила своё намерение выпустить все термы и таксономические взаимосвязи, содержащиеся в ResearchCyc, как часть OpenCyc и это было сделано в версии 1.0. Одна из указанных целей — создать полностью свободный и неограниченный семантический словарь для использования в Semantic Web. Таксономия OpenCyc доступна в формате Owl на сайте проекта

Критика проекта Cyc

Cyc описывают как «одно из наиболее противоречивых начинаний в истории искусственного интеллекта» (Бертино и др. стр. 275), так что он неизбежно получил свою долю критики.

· Чрезмерная сложность системы — без сомнения необходимая в силу энциклопедических амбиций — и соответственно сложность добавления (вручную) данных в систему

· Проблемы масштабируемости from widespread reification, особенно как константы

· Неудовлетворительное использование концепции материи, и связанного с этим, различия между внутренними и внешними свойствами

· Отсутствие вменяемых измерений производительности или сравнений эффективности машины вывода Cyc

· Нынешняя неполнота системы как в ширину, так и глубину, и связанная с этим сложность в измерении её полноты

· Недостаток документации

· Отсутствие не устаревшего онлайнового обучающего материала усложняет изучение системы для новичков

· Несмотря на своё название система OpenCyc не является полностью открытой: данные доступны для редактирования пользователям, но код недоступен для расширения разработчикам.[1]

Данные вопросы обсуждались в разных местах с момента запуска проекта. Даг Ленат и другие опубликовали множество аргументов в защиту своего проекта.

Экспертная системаCLIPS

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 содержит обширную документация прямо в поставке.


Список используемой литературы

1. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. Учебник. — СПб: Питер, 2000.

2. Субботін С. О. Подання й обробка знань у системах штучного інтелекту та підтримки прийняття рішень: Навчальний посібник. — Запоріжжя: ЗНТУ, 2008. — 341 с.

3. http://ru.wikipedia.org/ Википедия – свободная энциклопедия