Найти статью
Дескрипционная логика
Дескрипцио́нная логика[1] (описательная логика, ранние наименования — терминологическая система, логика концептов) — язык представления знаний, позволяющий формализованно и однозначно описывать понятия предметной области, организованный по типу языков математической логики. Дескрипционные логики сочетают богатые выразительные возможности и хорошие вычислительные свойства, такие как разрешимость и относительно невысокая вычислительная сложность основных логических проблем, что обеспечивает их практическое применение и компромисс между выразительностью и разрешимостью. Их можно рассматривать как разрешимые фрагменты логики предикатов, а синтаксически они близки к модальным логикам.
Термин дескрипционная логика (англ. description logic) был закреплён в 1980-е годы, когда они исследовались как расширения теорий фреймовых структур и семантических сетей механизмами формальной логики. В 2000-е годы дескрипционные логики получили широкое распространение в рамках концепции семантической паутины, где используются для построения онтологий. Фрагменты стандарта OWL-DL и OWL-Lite языка веб-онтологий OWL основаны на дескрипционных логиках. Профиль OWL 2 DL основан на логике [2].
Общие сведения
Дескрипционные логики оперируют понятиями «концепт» и «роль», которые соответствуют в других разделах математической логики понятиям «одноместный предикат» (или множество, класс) и «двуместный предикат» (или бинарное отношение). Интуитивно, концепты используются для описания классов объектов, например, «Люди», «Женщины», «Машины». Роли описывают двуместные отношения между объектами (например, «X есть_родитель_для Y» или «X имеет_в_собственности Y»). С помощью языка дескрипционной логики можно формулировать как общие утверждения о классах (например, всякая Женщина есть Человек, всякая Машина не более чем у одного Человека), так и частные — о конкретных объектах (например, Мария есть Женщина, Иван имеет_в_собственности Машину1).
Набор общих утверждений или терминологии (англ. terminology) называется TBox, а набор утверждений (англ. assertions) частного вида — ABox; вместе они образуют базу знаний или онтологию. Онтологии на основе дескрипционных логик используются во многих областях — биоинформатика, генетика, медицина, химия, биология. Реализация логического вывода на уровне программ обеспечивают так называемые механизмы рассуждений (англ. reasoners), которые позволяют автоматически выводить знания из онтологий и выполнять другие операции. В нейросимволических системах исследуется сочетание нейросетевой обработки данных с формальным выводом средствами дескрипционных логик[3].
Синтаксис
В математической логике язык определяется своим синтаксисом — правилами построения выражений, и семантикой — способом приписывания этим выражениям значения.
Для описания синтаксиса дескрипционной логики задаётся конечное множество атомарных концептов и атомарных ролей, из которых по определённым конструкторам и индуктивным правилам строятся сложные концепты и роли.
Типичные конструкторы составных концептов:
- пересечение (или конъюнкция) концептов: ;
- объединение (или дизъюнкция) концептов: ;
- дополнение (отрицание) концепта: ;
- ограничение на значения роли (квантор всеобщности): ;
- экзистенциальное ограничение (квантор существования): ;
- численные ограничения: , и др.
В дескрипционных логиках обозначения конъюнкции/дизъюнкции иные, чтобы подчеркнуть специфику. В некоторых логиках есть также составные роли, строящиеся из простых с помощью операций инверсии, пересечения, объединения, дополнения, композиции, транзитивного замыкания и др
ALC
Дескрипционная логика (от англ. attributive language with complement) разработана в 1991 году[4]. и является базовой системой: многие логики строятся на её основе. Пусть заданы конечные множества атомарных концептов и ролей. Составные концепты в определяются индуктивно:
- всякий атомарный концепт — концепт;
- и — концепты;
- если — концепт, то — концепт;
- если и — концепты, то и — концепты;
- если — концепт, а — роль, то и — концепты.
Фактически — это семейство логик с конкретным набором атомарных символов, что аналогично сигнатуре теории первого порядка.
Семантика
Семантика дескрипционных логик задаётся интерпретацией атомарных концептов как множеств объектов (англ. individual), а ролей — как множеств пар объектов (бинарных отношений) на домене .
Интерпретация состоит из:
- домена (непустое множество);
- функции, сопоставляющей каждому атомарному концепту подмножество , а каждой атомарной роли — подмножество .
Правила для :
Например, если — множество мужчин, — «есть родитель для», то — множество людей, у которых все дети мужского пола; — множество отцов.
Связь с модальной логикой
В 1991 году[5] было показано, что эквивалентна многомодальной модальной логике (n независимых модальностей): атомарные концепты переходят в пропозициональные переменные, пересечение/объединение/отрицание — в булевы связки, — в , — в . Фактически, это один и тот же язык в разных обозначениях, и их семантика согласуется (семантика Крипке и др.), что даёт возможность переносить результаты по разрешимости, сложности и процедурам из модальных логик. Темпоральные и эпистемические расширения дескрипционных логик изучаются, в частности, с использованием модальностей линейной темпоральной логики (LTL) и эпистемической логики S5[6].
Связь с логикой предикатов
Дескрипционные логики (включая ) можно рассматривать как фрагменты логики предикатов, когда концепты переводятся в формулы с одним объектным переменным. Атомарные концепты переходят в , роли — в . Выражения — в , — в (где — перевод ). В этом переводе используются только две переменные[7], поэтому относится к разрешимому двухпеременному фрагменту логики предикатов[8]. Логика , расширяющая ограничениями количества и обратными ролями, погружается в охраняемый двухпеременный фрагмент со счётными кванторами ()[9]. В охраняемом фрагменте логики предикатов (GF) квантификация ограничена атомарными формулами, содержащими свободные переменные; допускает также счётные кванторы[10]. Аксиомы транзитивности и цепочек ролей, напротив, при стандартном переводе требуют трёх переменных; поэтому не все расширения укладываются в двухпеременный фрагмент[11].
База знаний
Концепты дескрипционных логик важны как инструмент для формализации знаний об описываемой предметной области. Знания делятся на общие (интенсиональные — о понятиях и связях) и знания об объектах (экстенсиональные — о свойствах и отношениях между ними).
Выделяют:
- набор терминологических аксиом —
- набор утверждений о конкретных объектах —
Их объединение образует базу знаний . В более выразительных логиках аксиомы, описывающие свойства и иерархии ролей, выделяют в отдельный компонент базы знаний — RBox[12].
Терминологические аксиомы
Аксиома вложенности концептов — , аксиома эквивалентности — (для ролей — аналогично). Вложения вида называют общими аксиомами вложенности концептов (GCI); определение через эквивалентность можно выразить парой таких аксиом[13]. Терминология (TBox) — конечный набор таких аксиом. Иногда аксиомы для ролей выделяют отдельно как RBox. В терминологии могут быть и другие аксиомы (например, транзитивность ролей).
Аксиома выполняется в интерпретации , если . Моделью терминологии называется интерпретация, в которой выполняются все аксиомы.
Пример TBox для :
Интуитивно: женщина = человек и женского пола; мать = женщина и имеет ребёнка; у человека все дети — тоже люди; любой доктор — человек.
Утверждения об объектах
Для конкретных объектов в базовом случае приводят два вида утверждений:
- объект принадлежит концепту :
- между и выполняется роль :
Набор таких утверждений называется .
Семантика: имя объекта интерпретируется элементом домена. выполняется, если ; — если . Интерпретация, где выполняются все утверждения, называется моделью ABox.
Пример ABox:
Имена объектов Mary и Peter; утверждения означают, что Mary — женщина, не доктор, у неё есть девочка-ребёнок, у Mary есть ребёнок Peter, Peter — доктор и не имеет детей.
В более выразительных логиках ABox может также содержать отрицательные утверждения о ролях и явные утверждения о тождестве или различии индивидов[14].
В OWL не действует предположение об уникальности имён: разные имена могут обозначать один и тот же объект; их различие можно задать явно[15].
Отличие от баз данных
В отличие от баз данных, в ДЛ принимается предположение об открытости мира: если утверждение не известно, оно не объявляется ложным (в отличие от замкнутых баз данных). Это существенно влияет на логический вывод и понятие логического следования. Классическое отрицание требует вывода ложности утверждения и сохраняет монотонность вывода; при отрицании как неудаче, применяемом в системах с замкнутым миром, недоказанное утверждение считается ложным, а добавление новых фактов может изменить такой вывод.
Выразительные дескрипционные логики
Существуют расширения дополнительными конструкторами и аксиомами. Принято обозначать буквой добавленную возможность:
| Функциональность ролей: — не более одного R-последователя | |
| Ограничения кардинальности: | |
| Качественные ограничения: | |
| Обратные роли: | |
| Номиналы: — одноэлементное множество | |
| Иерархия ролей: аксиомы | |
| Транзитивные роли: аксиомы | |
| Составные аксиомы вложенности ролей () | |
| Булевы операции над ролями, например и [16] | |
| Расширения конкретными доменами (типами данных) |
Например, — логика с инверсными ролями, номиналами и качественными ограничениями. — расширения инверсными ролями (), качественными ограничениями (), транзитивными ролями () и иерархией ролей (). Буква выбрана из-за исторической связи с модальной логикой [5].
Логика включает сложные аксиомы включения ролей (в частности, цепочки ролей), квалифицированные ограничения количества и конструкцию локальной рефлексивности [17].
К аксиомам ролей в относятся также рефлексивность, иррефлексивность и непересекаемость ролей[17].
Наряду с перечисленными конструкторами исследуются вероятностные[18] и нечёткие[19] расширения дескрипционных логик.
Для некоторых логик дополнительные ограничения требуются для разрешимости[20].
Логический анализ
Базы знаний из дескрипционных логик применяются не только для представления знаний, но и для логического анализа (англ. reasoning) — проверки непротиворечивости знаний, логического вывода, ответа на запросы.
Определения:
- концепт выполняется в интерпретации , если
- выполнимый концепт — существует интерпретация, где он выполняется
- вложение: вложен в , если во всех интерпретациях
Аналогично для TBox, ABox и базы знаний .
Практически важные задачи:
- выполнимость концепта (относительно TBox)
- вложение концептов
- совместимость TBox (есть ли модель)
- совместимость базы знаний (модель для пары TBox, ABox)
- построение таксономии (иерархии) концептов
- извлечение экземпляров концепта
- наименее общий над-концепт
- наилучшее описание для объекта
- ответ на запрос к базе знаний
К нестандартным задачам логического анализа также относятся абдукция — поиск гипотез, добавление которых к базе знаний позволяет вывести заданное наблюдение[21], и забывание — исключение символов из словаря с сохранением следствий, выразимых через оставшиеся символы[22].
При ответе на конъюнктивный запрос уверенными ответами называют кортежи, для которых запрос истинен во всех моделях базы знаний; таким образом, учитываются и следствия терминологических аксиом, а не только явно записанные факты[23].
Запросы вида конъюнктивных запросов похожи на методы в базах данных; для более сложных запросов вычислительная трудоёмкость высока или задача становится неразрешимой[24][25].
Свойства
Ключевые свойства:
- разрешимость основных задач
- вычислительная сложность, в том числе сложность по данным (англ. data complexity)
- свойство конечности моделей (англ. finite model property)
- свойство древовидности моделей (англ. tree model property)
Для свойство древовидности означает, что выполнимый относительно TBox концепт имеет модель с древовидной структурой связей между элементами домена; это свойство используется при доказательстве разрешимости задач вывода[26]. Для свойство конечности моделей выполняется, а для и — нет: выполнимая база знаний в этих логиках может не иметь конечной модели. Выполнимость концепта в без терминологических аксиом является PSPACE-полной[27]. Для выполнимость базы знаний в общей постановке является EXPTIME-полной. Если терминология фиксирована, а размер ABox меняется, то для и проверка принадлежности индивида концепту является coNP-полной по данным, а проверка выполнимости базы знаний — NP-полной по данным. Для проверка выполнимости базы знаний в общей постановке является 2NEXPTIME-полной[28]. Исследованы многочисленные результаты по этим характеристикам.
Связь с языком OWL
Язык OWL служит для формализации и публикации в сети сетевых онтологий — утверждений о концептах и объектах области знаний. Важным требованием OWL является точная семантика и разрешимость ключевых логических задач при приемлемой сложности. Дескрипционные логики были выбраны как логическая основа OWL благодаря этим свойствам.
Понятия дескрипционных логик (концепт, роль, объект, база знаний) в OWL соответствуют понятиям «класс», «свойство», «объект», «онтология».
Официальная рекомендация W3C от 10 февраля 2004 года:
- OWL-Lite — соответствует
- OWL-DL — соответствует
- OWL-Full — не соответствует никакой разрешимой логике
Рабочий проект OWL 1.1 предусматривал логику , допуская составные аксиомы вложенности ролей (буква ), аксиомы непересекаемости, рефлексивности, асимметрии и др. новые конструкции[29].
Проект OWL 2 предусматривал возможность выражать онтологии на языке (с полиномиальной сложностью) и расширение средств для запросов и аналитики.
В 2009 году OWL 2 получил статус рекомендации W3C.
11 декабря 2012 года W3C опубликовал второе издание рекомендации OWL 2. OWL 2 DL основан на дескрипционной логике [2]. OWL 2 Full, в отличие от OWL 2 DL, не является разрешимым языком[30].
В OWL 2 DL ограничения количества и конструкцию локальной рефлексивности разрешено применять только к простым ролям: транзитивные роли и роли, определяемые цепочками, к ним не относятся. Для аксиом включения цепочек ролей также требуется регулярность иерархии ролей[31]. Регулярность ограничивает циклические зависимости между ролями и позволяет применять автоматные методы для сохранения разрешимости вывода.
В OWL 2 аксиома ключа HasKey позволяет вывести тождество именованных индивидов одного класса при наличии общих значений у заданных свойств; функциональное свойство, напротив, ограничивает число значений свойства у одного индивида.
В OWL 2 также определены профили OWL 2 EL (на основе для больших терминологий), OWL 2 QL (на основе семейства DL-Lite для доступа к данным посредством запросов) и OWL 2 RL (связанный с DLP и pD* для вывода по правилам)[32].
Машины вывода и редакторы
Существует множество программных систем (машин вывода), реализующих автоматические рассуждения в дескрипционных логиках: проверка непротиворечивости онтологий, построение таксономий, анализ выполнимости (табло-алгоритм, резолюция и др.), поддержка различных форматов и языков. Помимо табло и резолюции применяется вывод на основе следствий (англ. consequence-based reasoning): он выводит следствия из аксиом без явного построения модели; этот метод используется, в частности, в системе Sequoia[33].
Некоторые известные reasoners[34]:
- CEL — реализует (полиномиальная сложность), написан на Лисп[35]
- ELK — машина вывода, доступная в редакторе Protégé[36]
- FaCT++ — поддержка и OWL 2.0, реализует табло-алгоритм (C++)[37]
- HermiT — машина вывода для OWL 2, использующая метод гипертабло (Java)
- Konclude — машина вывода для OWL 2 DL, реализованная на C++ с использованием параллельной обработки[38]
- Kaon2 — реализует и специальные правила, механизм резолюции (Java)[39]
- Pellet — реализует и OWL 1.1 (Java)[40]
- RacerPro — реализует (Лисп)[41]
Широко используются редакторы онтологий; например, Protégé, поддерживающий OWL 2 и подключение машин вывода для OWL DL.
Примечания
Литература
- Рассел С., Норвиг П. Искусственный интеллект: современный подход. — ИД «Вильямс», 2006. — P. 1408. — ISBN 5-8459-0887-6.
- Franz Baader, Diego Calvanese, Deborah L. McGuinness, Daniele Nardi, Peter F. Patel-Schneider. The Description Logic Handbook: Theory, Implementation, and Applications. — Cambridge University Press, 2003. — ISBN 0-521-78176-0.