Дескрипционная логика

Дескрипцио́нная логика[1] (описательная логика, ранние наименования — терминологическая система, логика концептов) — язык представления знаний, позволяющий формализованно и однозначно описывать понятия предметной области, организованный по типу языков математической логики. Дескрипционные логики сочетают богатые выразительные возможности и хорошие вычислительные свойства, такие как разрешимость и относительно невысокая вычислительная сложность основных логических проблем, что обеспечивает их практическое применение и компромисс между выразительностью и разрешимостью. Их можно рассматривать как разрешимые фрагменты логики предикатов, а синтаксически они близки к модальным логикам.

Термин дескрипционная логика (англ. description logic) был закреплён в 1980-е годы, когда они исследовались как расширения теорий фреймовых структур и семантических сетей механизмами формальной логики. В 2000-е годы дескрипционные логики получили широкое распространение в рамках концепции семантической паутины, где используются для построения онтологий. Фрагменты стандарта OWL-DL и OWL-Lite языка веб-онтологий OWL основаны на дескрипционных логиках.

Общие сведения

Дескрипционные логики оперируют понятиями «концепт» и «роль», которые соответствуют в других разделах математической логики понятиям «одноместный предикат» (или множество, класс) и «двуместный предикат» (или бинарное отношение). Интуитивно, концепты используются для описания классов объектов, например, «Люди», «Женщины», «Машины». Роли описывают двуместные отношения между объектами (например, «X есть_родитель_для Y» или «X имеет_в_собственности Y»). С помощью языка дескрипционной логики можно формулировать как общие утверждения о классах (например, всякая Женщина есть Человек, всякая Машина не более чем у одного Человека), так и частные — о конкретных объектах (например, Мария есть Женщина, Иван имеет_в_собственности Машину1).

Набор общих утверждений или терминологии (англ. terminology) называется TBox, а набор утверждений (англ. assertions) частного вида — ABox; вместе они образуют базу знаний[2] или онтологию. Онтологии на основе дескрипционных логик используются во многих областях — биоинформатика, генетика, медицина, химия, биология. Реализация логического вывода на уровне программ обеспечивают так называемые механизмы рассуждений (англ. reasoners), которые позволяют автоматически выводить знания из онтологий и выполнять другие операции.

Синтаксис

В математической логике язык определяется своим синтаксисом — правилами построения выражений, и семантикой — способом приписывания этим выражениям значения.

Для описания синтаксиса дескрипционной логики задаётся конечное множество атомарных концептов и атомарных ролей, из которых по определённым конструкторам и индуктивным правилам строятся сложные концепты и роли.

Типичные конструкторы составных концептов:

  • пересечение (или конъюнкция) концептов: ;
  • объединение (или дизъюнкция) концептов: ;
  • дополнение (отрицание) концепта: ;
  • ограничение на значения роли (квантор всеобщности): ;
  • экзистенциальное ограничение (квантор существования): ;
  • численные ограничения: , и др.

В дескрипционных логиках обозначения конъюнкции/дизъюнкции иные, чтобы подчеркнуть специфику. В некоторых логиках есть также составные роли, строящиеся из простых с помощью операций инверсии, пересечения, объединения, дополнения, композиции, транзитивного замыкания и др[2]

ALC

Дескрипционная логика (от англ. 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].

Свойства

Ключевые свойства:

Исследованы многочисленные результаты по этим характеристикам[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.