CycL

CycL (произносится «сайкл») — в информатике и искусственном интеллектеязык онтологий, используемый в проекте Cyc Дугласа Лената. Ранние версии языка разрабатывались при участии Раманатхана В. Гухи. Существует близкая разновидность CycL под названием MELD[1].

Первоначальная версия CycL была фреймовым языком, однако современная версия таковой не является. Это декларативный язык, основанный на классической логике первого порядка с расширениями для модальных логических операторов и кванторов логики высшего порядка.

CycL используется для представления знаний, хранящихся в базе знаний Cyc, доступной от компании Cycorp. Исходный код, написанный на CycL и выпущенный в составе системы OpenCyc, распространяется как свободное программное обеспечение с открытым исходным кодом для поддержки семантической сети.

Основные понятия

Базовые идеи CycL включают:

  • именование констант, используемых для обозначения информации о представленных концептах;
  • группировку констант в иерархию обобщения — специализации (категоризацию);
  • формулировку общих правил, поддерживающих вывод о концептах;
  • контекстную зависимость истинности предложений (контексты представляются в CycL как микротеории).

Константы

Имена концептов в Cyc называются константами. Константы начинаются с префикса #$ и чувствительны к регистру. Выделяют следующие виды констант:

  • Индивиды — отдельные объекты, например #$BillClinton или #$France.
  • Коллекции — множества объектов, например #$Tree-ThePlant (все деревья) или #$EquivalenceRelation (все отношения эквивалентности). Член коллекции называется её экземпляром.
  • Функции истинности — предикаты, которые могут быть применены к одному или нескольким концептам и возвращают истину или ложь. Например, #$siblings — отношение родства, истинное, если два аргумента являются братьями и/или сёстрами. По соглашению, константы функций истинности начинаются со строчной буквы. К ним относятся логические связки (#$and, #$or, #$not, #$implies), кванторы (#$forAll, #$thereExists) и собственно предикаты.
  • Функции, которые порождают новые термы из заданных. Например, #$FruitFn, получив аргументом коллекцию растений, возвращает коллекцию их плодов. По соглашению, константы функций начинаются с заглавной буквы и заканчиваются строкой Fn.

Специализация и обобщение

Наиболее важными предикатами являются #$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).

(Или, говоря более свободно, если у данного животного есть позвоночник, то существует связь между этим животным и концепцией его «биологической матери». То, что «заполняет пробел» в определении биологической матери, также должно поддаваться классификации как животное женского пола.)

Микротеории

База знаний разделена на микротеории (Мт), представляющие собой совокупности понятий и фактов, как правило, относящихся к одной конкретной области знаний. В отличие от базы знаний в целом, каждая микротеория должна быть свободна от противоречий.

Каждая микротеория имеет имя, которое является обычной константой; константы микротеорий по соглашению содержат строку "Mt". Примером может служить #$MathMt — микротеория, содержащая математические знания.

Микротеории могут наследовать друг от друга и организованы в иерархическую структуру. Одной из специализаций #$MathMt является #$GeometryGMt — микротеория геометрии.

См. также

Примечания

Литература

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.