Дескрипционная логика
Дескрипцио́нная логика[1] (описательная логика, ранние наименования — терминологическая система, логика концептов) — язык представления знаний, позволяющий формализованно и однозначно описывать понятия предметной области, организованный по типу языков математической логики. Дескрипционные логики сочетают богатые выразительные возможности и хорошие вычислительные свойства, такие как разрешимость и относительно невысокая вычислительная сложность основных логических проблем, что обеспечивает их практическое применение и компромисс между выразительностью и разрешимостью. Их можно рассматривать как разрешимые фрагменты логики предикатов, а синтаксически они близки к модальным логикам.
Термин дескрипционная логика (англ. description logic) был закреплён в 1980-е годы, когда они исследовались как расширения теорий фреймовых структур и семантических сетей механизмами формальной логики. В 2000-е годы дескрипционные логики получили широкое распространение в рамках концепции семантической паутины, где используются для построения онтологий. Фрагменты стандарта OWL-DL и OWL-Lite языка веб-онтологий OWL основаны на дескрипционных логиках.
Общие сведения
Дескрипционные логики оперируют понятиями «концепт» и «роль», которые соответствуют в других разделах математической логики понятиям «одноместный предикат» (или множество, класс) и «двуместный предикат» (или бинарное отношение). Интуитивно, концепты используются для описания классов объектов, например, «Люди», «Женщины», «Машины». Роли описывают двуместные отношения между объектами (например, «X есть_родитель_для Y» или «X имеет_в_собственности Y»). С помощью языка дескрипционной логики можно формулировать как общие утверждения о классах (например, всякая Женщина есть Человек, всякая Машина не более чем у одного Человека), так и частные — о конкретных объектах (например, Мария есть Женщина, Иван имеет_в_собственности Машину1).
Набор общих утверждений или терминологии (англ. terminology) называется TBox, а набор утверждений (англ. assertions) частного вида — ABox; вместе они образуют базу знаний[2] или онтологию. Онтологии на основе дескрипционных логик используются во многих областях — биоинформатика, генетика, медицина, химия, биология. Реализация логического вывода на уровне программ обеспечивают так называемые механизмы рассуждений (англ. reasoners), которые позволяют автоматически выводить знания из онтологий и выполнять другие операции.
Синтаксис
В математической логике язык определяется своим синтаксисом — правилами построения выражений, и семантикой — способом приписывания этим выражениям значения.
Для описания синтаксиса дескрипционной логики задаётся конечное множество атомарных концептов и атомарных ролей, из которых по определённым конструкторам и индуктивным правилам строятся сложные концепты и роли.
Типичные конструкторы составных концептов:
- пересечение (или конъюнкция) концептов: ;
- объединение (или дизъюнкция) концептов: ;
- дополнение (отрицание) концепта: ;
- ограничение на значения роли (квантор всеобщности): ;
- экзистенциальное ограничение (квантор существования): ;
- численные ограничения: , и др.
В дескрипционных логиках обозначения конъюнкции/дизъюнкции иные, чтобы подчеркнуть специфику. В некоторых логиках есть также составные роли, строящиеся из простых с помощью операций инверсии, пересечения, объединения, дополнения, композиции, транзитивного замыкания и др[2]
Дескрипционная логика (от англ. attributive language with complement) разработана в 1991 году[3]. и является базовой системой: многие логики строятся на её основе. Пусть заданы конечные множества атомарных концептов и ролей. Составные концепты в определяются индуктивно:
- всякий атомарный концепт — концепт;
- и — концепты;
- если — концепт, то — концепт;
- если и — концепты, то и — концепты;
- если — концепт, а — роль, то и — концепты.
Фактически — это семейство логик с конкретным набором атомарных символов, что аналогично сигнатуре теории первого порядка.
Семантика
Семантика дескрипционных логик задаётся интерпретацией атомарных концептов как множеств объектов (англ. individual), а ролей — как множеств пар объектов (бинарных отношений) на домене .
Интерпретация состоит из:
- домена (непустое множество);
- функции, сопоставляющей каждому атомарному концепту подмножество , а каждой атомарной роли — подмножество .
Правила для :
Например, если — множество мужчин, — «есть родитель для», то — множество людей, у которых все дети мужского пола; — множество отцов.
Связь с модальной логикой
В 1991 году[4] было показано, что эквивалентна многомодальной модальной логике (n независимых модальностей): атомарные концепты переходят в пропозициональные переменные, пересечение/объединение/отрицание — в булевы связки, — в , — в . Фактически, это один и тот же язык в разных обозначениях, и их семантика согласуется (семантика Крипке и др.), что даёт возможность переносить результаты по разрешимости, сложности и процедурам из модальных логик.
Связь с логикой предикатов
Дескрипционные логики (включая ) можно рассматривать как фрагменты логики предикатов, когда концепты переводятся в формулы с одним объектным переменным. Атомарные концепты переходят в , роли — в . Выражения — в , — в (где — перевод ). В этом переводе используются только две переменные[5], поэтому и её расширения — это фрагменты логики предикатов с двумя переменными, которая разрешима[6].
База знаний
Концепты дескрипционных логик важны как инструмент для формализации знаний об описываемой предметной области. Знания делятся на общие (интенсиональные — о понятиях и связях) и знания об объектах (экстенсиональные — о свойствах и отношениях между ними).
Выделяют:
- набор терминологических аксиом —
- набор утверждений о конкретных объектах —
Их объединение образует базу знаний .
Аксиома вложенности концептов — , аксиома эквивалентности — (для ролей — аналогично). Терминология (TBox) — конечный набор таких аксиом. Иногда аксиомы для ролей выделяют отдельно как RBox. В терминологии могут быть и другие аксиомы (например, транзитивность ролей).
Аксиома выполняется в интерпретации , если . Моделью терминологии называется интерпретация, в которой выполняются все аксиомы.
Пример TBox для :
Интуитивно: женщина = человек и женского пола; мать = женщина и имеет ребёнка; у человека все дети — тоже люди; любой доктор — человек.
Для конкретных объектов утверждения бывают двух видов:
- объект принадлежит концепту :
- между и выполняется роль :
Набор таких утверждений называется .
Семантика: имя объекта интерпретируется элементом домена. выполняется, если ; — если . Интерпретация, где выполняются все утверждения, называется моделью ABox.
Пример ABox:
Имена объектов Mary и Peter; утверждения означают, что Mary — женщина, не доктор, у неё есть девочка-ребёнок, у Mary есть ребёнок Peter, Peter — доктор и не имеет детей.
Часто принимается соглашение о различии имён объектов (unique name assumption); в OWL оно не по умолчанию, но может быть явно указано.
В отличие от баз данных, в ДЛ принимается предположение об открытости мира: если утверждение не известно, оно не объявляется ложным (в отличие от замкнутых баз данных). Это существенно влияет на логический вывод и понятие логического следования.
Выразительные дескрипционные логики
Существуют расширения дополнительными конструкторами и аксиомами. Принято обозначать буквой добавленную возможность:
| Функциональность ролей: — не более одного R-последователя | |
| Ограничения кардинальности: | |
| Качественные ограничения: | |
| Обратные роли: | |
| Номиналы: — одноэлементное множество | |
| Иерархия ролей: аксиомы | |
| Транзитивные роли: аксиомы | |
| Составные аксиомы вложенности ролей () | |
| Расширения конкретными доменами (типами данных) |
Например, — логика с инверсными ролями, номиналами и качественными ограничениями. — расширения инверсными ролями (), качественными ограничениями (), транзитивными ролями () и иерархией ролей (). Буква выбрана из-за исторической связи с модальной логикой [4].
Для некоторых логик дополнительные ограничения требуются для разрешимости[7].
Логический анализ
Базы знаний из дескрипционных логик применяются не только для представления знаний, но и для логического анализа (англ. reasoning) — проверки непротиворечивости знаний, логического вывода, ответа на запросы.
Определения:
- концепт выполняется в интерпретации , если
- выполнимый концепт — существует интерпретация, где он выполняется
- вложение: вложен в , если во всех интерпретациях
Аналогично для TBox, ABox и базы знаний .
Практически важные задачи:
- выполнимость концепта (относительно TBox)
- вложение концептов
- совместимость TBox (есть ли модель)
- совместимость базы знаний (модель для пары TBox, ABox)
- построение таксономии (иерархии) концептов
- извлечение экземпляров концепта
- наименее общий над-концепт
- наилучшее описание для объекта
- ответ на запрос к базе знаний
Запросы вида конъюнктивных запросов похожи на методы в базах данных; для более сложных запросов вычислительная трудоёмкость высока или задача становится неразрешимой[8][9].
Свойства
Ключевые свойства:
- разрешимость основных задач
- вычислительная сложность, в том числе сложность по данным (англ. data complexity)
- свойство конечности моделей (англ. finite model property)
- свойство древовидности моделей (англ. tree model property)
Исследованы многочисленные результаты по этим характеристикам[10].
Связь с языком OWL
Язык OWL служит для формализации и публикации в сети сетевых онтологий — утверждений о концептах и объектах области знаний. Важным требованием OWL является точная семантика и разрешимость ключевых логических задач при приемлемой сложности. Дескрипционные логики были выбраны как логическая основа OWL благодаря этим свойствам.
Понятия дескрипционных логик (концепт, роль, объект, база знаний) в OWL соответствуют понятиям «класс», «свойство», «объект», «онтология».
Официальная рекомендация W3C от 10 февраля 2004 года:
- OWL-Lite — соответствует
- OWL-DL — соответствует
- OWL-Full — не соответствует никакой разрешимой логике
Рабочий проект OWL 1.1 (будущая версия) охватывает логику , допуская составные аксиомы вложенности ролей (буква ), аксиомы непересекаемости, рефлексивности, асимметрии и др. новые конструкции[11].
OWL 2 позволит выражать онтологии на языке (с полиномиальной сложностью), расширит средства для запросов и аналитики[12].
Машины вывода и редакторы
Существует множество программных систем (машин вывода), реализующих автоматические рассуждения в дескрипционных логиках: проверка непротиворечивости онтологий, построение таксономий, анализ выполнимости (табло-алгоритм, резолюция и др.), поддержка различных форматов и языков.
Некоторые известные reasoners[13]:
- CEL — реализует (полиномиальная сложность), написан на Лисп[14]
- FaCT++ — поддержка и OWL 2.0, реализует табло-алгоритм (C++)[15]
- Kaon2 — реализует и специальные правила, механизм резолюции (Java)[16]
- Pellet — реализует и OWL 1.1 (Java)[17]
- RacerPro — реализует (Лисп)[18]
Широко используются редакторы онтологий; например, Protégé, поддерживающий OWL Full и подключение reasoner-рассуждателя.
См. также
Примечания
Литература
- Рассел С., Норвиг П. Искусственный интеллект: современный подход. — ИД «Вильямс», 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.