Remove ads
З Вікіпедії, вільної енциклопедії
Описо́ві ло́гіки (англ. description logics, іноді ще їх називають дескрипційними логіками) — сімейство мов представлення знань, що дозволяють описувати поняття предметної області в недвозначному, формалізованому вигляді. Вони поєднують в собі, з одного боку, багаті виражальні можливості, а з іншого — хороші обчислювальні властивості, такі як розв'язність і відносно невисока обчислювальна складність основних логічних проблем, що робить можливим їх застосування на практиці. Таким чином, описові логіки являють собою компроміс між виражальністю і розв'язністю. Описову логіку можна розглядати як розв'язні фрагменти логіки предикатів, синтаксично ж вони близькі до модальних логік.
Свою сучасну назву описові логіки отримали в 1980-х. Колишні назви (в хронологічному порядку): термінологічні системи, логіки концептів. Спочатку описові логіки зародилися як розширення фреймових структур та семантичних мереж механізмами формальної логіки. В даний час описові логіки є важливими в концепції Семантичної павутини, де їх передбачається використовувати при побудові онтологій. Фрагменти OWL-DL та OWL-Lite мови вебонтологій OWL також засновані на описовій логіці.
Описові логіки оперують поняттями концепт і роль, відповідними в інших розділах математичної логіки поняттям «одномісний предикат» (або множина, клас) та «двомісний предикат» (або бінарне відношення). Інтуїтивно, концепти використовуються для опису класів деяких об'єктів, наприклад, «Люди», «Жінки», «Машини». Ролі використовуються для опису двомісних відносин між об'єктами, наприклад, на безлічі людей є двомісне відношення «X є_родич_для Y», а між людьми і машинами є двомісне відношення «X має_у_власності Y», де як X і Y можна підставляти довільні предмети. За допомогою мови Описової логіки можна формулювати твердження загального вигляду — про класи взагалі (будь-яка Жінка є Людина, будь-яка Машина є_у_власності не більше ніж у однієї Людини) та приватного виду — про конкретні об'єкти (Марія є жінка, Іван має_у_власності_машину1).
На жаргоні описової логіки набір тверджень загального вигляду називається TBox, набір тверджень приватного виду — ABox, а разом вони складають так звану базу знань або онтологію . Численні онтології побудовані і будуються у найрізніших предметних областях, таких як біоінформатика, генетика, медицина, хімія, біологія. Як тільки онтологія побудована, постає питання про те, як можна отримувати знання, які слідують з наявних в онтології знань, чи можна це робити програмно і які відповідні алгоритми. Всі ці питання вирішуються теоретично в науці «описова логіка», а практично вже реалізовано безліч програмних систем (reasoners), які і дозволяють автоматизовано виводити знання з онтологій та виконувати інші операції з онтологіями.
В математичній логіці будь-яка мова характеризується своїм синтаксисом, тобто правилами побудови виразів цієї мови, і семантикою, тобто способом приписування цим висловам деякого формального значення, наприклад, зазначенням, які вирази вважаються істинними та помилковими.
Щоб сформулювати синтаксис будь-якої описової логіки, необхідно задати непусті (і зазвичай скінченні) множини символів — так званих атомарних концептів і атомарних ролей — з яких будуватимуться вирази мови даної логіки. Конкретна описова логіка характеризується набором конструкторів і індуктивного правила, за допомогою якого складові концепти даної логіки будуються з атомарних концептів і атомарних ролей, використовуючи ці конструктори.
Типовими конструкторами для побудови складових концептів є:
Як бачимо, в описовій логіці кон'юнкція і диз'юнкція позначаються інакше, щоб підкреслити відмінність від інших видів логік. Існують описові логіки, в яких є також складові ролі, що будуються з простих ролей за допомогою операцій: інверсії, перетину, об'єднання, доповнення, композиції ролей, транзитивного замикання та інших.[1]
Описова логіка (от Attributive Language with Complement) була введена в 1991 році[2] і є однією з базових описових логік, на основі яких будуються багато інших описових логік. Нехай задані непусті скінченні множини атомарних концептів і атомарних ролей. Тоді наслідок є індуктивним визначенням складових концептів логіки (для стислості в цьому визначенні будемо називати їх просто концептами):
Примітка. Строго кажучи, — це не одна логіка, а сімейство логік, де кожна логіка цього сімейства задається вибором конкретних множин атомарних концептів і ролей. Це аналогічно завданню сигнатури теорії першого порядку. Однак, цим розходженням зазвичай нехтують, що ми і будемо робити надалі.
Семантика описової логіки задається шляхом інтерпретації її атомарних концептів як множин об'єктів (індивідів), обираних з деякої фіксованої множини (домену), а атомарних ролей — як множин пар індивідів, тобто бінарних відносин на домені.
Формально, інтерпретація складається з непорожньої безлічі (домену) і інтерпритуючої функції, яка зіставляє кожному атомарному концепту деяка підмножина , а кожній атомарної ролі — деяка підмножина . Якщо пара індивідів належить інтерпретації деякої ролі , тобто , то говорять, що індивід є -послідовником індивіда .
Далі інтерпретована функція поширюється на складові концепти і ролі. Оскільки останні в кожній описовій логіці різні, то як приклад розглянемо семантику для описаної вище логіки .
Інтерпретуюча функція поширюється на складові концепти логіки за такими правилами:
Приклад. Нехай домен інтерпретації складається з усіх людей, атомарний концепт інтерпретований як безліч людей чоловічої статі, а роль як відношення «є батько для». Тоді концепт буде інтерпретований як безліч людей, у яких всі діти чоловічої статі, а концепт — як безліч «батьків», тобто людей чоловічої статі, які мають хоча б одну дитину.
На перший погляд синтаксис описової логіки є незвичним для тих, хто знайомий з «традиційними» логіками (логікою висловлювань, логікою предикатів, модальною логікою та ін). Проте вже в 1991 році[3] було помічено, що описова логіка є не що інше, як записана в інших позначеннях модальна логіка , що має незалежних модальностей. А саме, якщо в є атомарні концепти і атомарні ролі , то відповідність між логіками здійснюється наступним чином:
Наприклад, концепт переходить в модальну формулу . При такому перетворенні будь-який складовий концепт логіки перетворюється на правильно побудовану формулу модальної логіки , причому будь-яка модальна формула є перекладом деякого концепту (тим самим, це одна і та ж мова, тільки записана в двох різних системах позначень). Більш того, дане перетворення узгоджується з вищеописаною семантикою логіки з одного боку і семантикою Кріпке модальної логіки з іншого.
Цей прийом, який застосовується як до описаних двох логік, так і до різних їх розширень, дозволяє перенести в область описових логік численні відомі факти про модальні логіки, наприклад, про їх розв'язності, обчислювальні складності , розв'язувані процедури та інших важливих властивостях (скінченність моделей, деревовидність моделей і т. ін.).
Багато описових логік, включаючи , можна розглядати як фрагменти логіки предикатів при «природному» перекладі концептів в предикатні формули. Якщо в є атомарні концепти і атомарні ролі , то для перекладу вводяться одномісні предикатні символи і двомісні предикатні символи , а сам переклад задається індуктивно наступним чином:
В останніх двох пунктах змінна — нова(не зустрічалася раніше), а є переклад концепту (який вже побудований за припущенням індукції).
Легко бачити, що даний переклад узгоджується з описаною вище семантикою описової логіки, тобто в будь-якій інтерпретації, якщо атомарні концепти і атомарні ролі інтерпретовані так само, як відповідні їм предикати і , то і будь-який складовий концепт інтерпретується тією ж самою множиною, що і відповідна йому при перекладі предикатна формула від однієї змінної. Слід також зазначити, що не всяка формула логіки предикатів є перекладом якогось концепту; наприклад, формула не є такою.
В даному перекладі можна обійтися всього двома змінними,[4] і таким чином описову логіку (а також багато її розширень) можна розглядати як фрагменти логіки предикатів з двома змінними, яка, як відомо, розв'язувана.[5] Цей переклад дозволяє переносити результати про можливості розв'язання, обчислювальні складності, розвязувані алгоритми і т. ін. з області логіки предикатів в область описових логік.
Концепти описових логік цікаві не стільки самі по собі, скільки як інструмент для запису знань про описувану предметну області. Ці знання поділяються на загальні знання про поняття та їх взаємозв'язки (інтенсивні знання) і знання про індивідуальні об'єкти, їх властивості та зв'язки з іншими об'єктами (екстенсивні знання). Перші більш стабільні і постійні, тоді як другі більш схильні до модифікацій.
Відповідно до цього поділу, записувані за допомогою мови описових логік знання поділяються на
Сукупність аксіом і тверджень разом складають так звану базу знань . Далі ми окремо розглянемо види аксіом і тверджень, з яких може складатися TBox і ABox.
Аксіомою вкладеності концептів називається вираз виду ,а аксіомою еквівалентності концептів — вираз виду , де і — довільні концепти. Аналогічно, аксіомою вкладеності ролей називається вираз виду , а аксіомою еквівалентності ролей — вираз виду , де і — довільні ролі. Тут є символ вкладеності (subsumption).
Термінологією або набором термінологічних аксіом або TBox (від англ. Terminological box) називається скінченний набір аксіом перерахованих видів. Іноді аксіоми для ролей виділяються в окремий набір і називають його ієрархією ролей або RBox. Крім перерахованих видів аксіом, в термінології можуть допускатися й інші аксіоми (наприклад, транзитивність ролей); про них піде мова нижче.
Семантика термінології визначається природним чином. Нехай дана інтерпретація . Аксіома виконується в інтерпретації , якщо ; в цьому випадку також кажуть, що є моделлю аксіоми . Аналогічно для інших видів аксіом. Термінологія виконується в інтерпретації , а інтерпретація називається моделлю термінології , якщо є моделлю всіх вхідних в аксіом.
Приклад. Наступна сукупність є термінологією (або TBox) в мові логіки :
Інтуїтивно (тобто при «природній» інтерпретації, коли концепту відповідає безліч всіх людей, ролі відповідає ставлення «має_дитину» і т. д.) ці аксіоми кажуть, що бути жінкою означає точно бути людиною і бути жіночої статі; бути матір'ю означає точно бути жінкою і мати дітей; у будь-якої людини будь-яка дитина є теж людина, кожен доктор є людиною. Перші дві аксіоми разом являють собою приклад так званої ацикличної термінології.
Термінології дозволяють записувати загальні знання про концепції і ролі. Однак крім цього зазвичай потрібно також записати знання про конкретні індивіди: до якого класу (концептції) вони належать, якими відносинами (ролями) вони пов'язані один з одним. Це робиться в тій частині бази знань описової логіки, яка називається ABox (або набір тверджень про індивідів).
З цією метою, крім атомарних концептів і атомарних ролей, тобто імен для класів і відносин, вводиться також скінченна множина імен для індивідів. Твердження про індивідів бувають двох видів:
Нарешті, набором тверджень про індивідів або ABox (від англ. Assertional box) називається скінченний набір тверджень цих двох видів.
Примітка. В деяких описових логіках допускаються також твердження виду в ABox.
Щоб задати семантику ABox, необхідно розширити інтерпретацію , а саме кожному імені індивіда зіставити певний елемент домену . Тоді кажуть, що твердження або виконуються в інтерпретації , якщо має місце або , відповідно. Кажуть, що ABox виконується в інтерпретації , а інтерпретація є моделлю даного ABox, якщо всі його твердження виконуються в цій інтерпретації.
Приклад. Наступна сукупність є набором тверджень про індивідів (або ABox) в мові логіки :
Тут Mary і Peter є імена індивідів. Інтуїтивно ці твердження означають, що Mary є жінкою, але не доктором, у неї є дитина жіночої статі, Peter також є дитиною Mary, причому Peter є доктором і не має дітей.
Примітка. Часто розглядаються лише інтерпретації, які задовольняють узгодженість про унікальність імен (unique name assumption[en]). Це означає, що різним іменам індивідів інтерпретація зобов'язана зіставляти різні елементи домену. Мова OWL за замовчуванням не передбачає цю угоду, проте в ній є конструкції, за допомогою яких можна явно вказати, які імена індивідів вважати рівним або різними.
Крім того, що бази знань формулюються дещо іншою мовою, ніж бази даних, їх головна відмінність полягає у використанні описової логіки при логічному виводі так званого припущення про відкритість світу, тоді як в базах даних приймається припущення про замкнутість світу. Останнє означає, що якщо деяке твердження не є істинним, то воно приймається хибним. Припущення ж про відкритість світу в цьому випадку вважає таке твердження ні істинним, ні хибним. Це кардинальним чином впливає на те, які факти вважаються логічно наступними із заданої бази знань, а значить, і на саме поняття логічного слідування в описовій логіці.
Існують численні розширення логіки додатковими конструкторами для побудови концептів, ролей, а також додатковими видами аксіом в TBox. Є неформальна угоду про іменування отриманих при цьому логік — зазвичай шляхом додавання до імені логіки букв, що відповідають доданим в мову конструкторам. Найбільш відомими розширеннями є:[1]
Функціональність ролей: концепти виду , що означають: існує не більше одного -послідовника | |
Обмеження кардинальності ролей: концепти виду , що означають: існує не більше -послідовників | |
Якісні обмеження кардинальності ролей: концепти виду , що означають: існує не більше -послідовників в | |
Зворотні ролі: якщо є роль, то теж є роллю, що означає звернення бінарного відношення | |
Номінали: якщо є ім'я індивіда, то є концепт, що означає одноелементну множину | |
Ієрархія ролей: у TBox допускаються аксіоми вкладеності ролей | |
Транзитивні ролі: в TBox допускаються аксіоми транзитивності виду | |
Складові аксіоми вкладеності ролей в TBox (, )з умовою ациклічності, де є композиція ролей | |
Розширення мови конкретними доменами (типами даних) |
Наприклад, логіка , розширена інверсними ролями, номіналами та обмеженнями кардинальності ролей, позначається як .
Примітка. Буква не додається до імені логіки, а заміщає в ньому букви . Так, наприклад, логіка , розширена інверсними ролями (буква ), якісними обмеженнями кардинальності ролей (буква ), транзитивними ролями (буква ) і ієрархією ролей (буква ), має назву . Походження всіх букв зрозуміло з англійських назв конструкторів; буква була обрана через тісний зв'язок отриманої описової логіки з модальною логікою [3](хоча в останній буква S означає просто system, саму ж логіку виділяє серед інших модальних логік саме цифра 4).
Примітка. Якщо в описовій логіці присутні одночасно літери , і або або , то додаткове обмеження накладається на правило побудови концептів: в концептах виду можна використовувати ролі , що мають (з точки зору аксіом RBox) транзитивні під-ролі. Якщо не накладати дані обмеження, то логіка стає нерозв'язною.[6]
Розглядаються також описові логіки, в яких можна будувати складові ролі за допомогою операцій об'єднання, перетину, доповнення, інверсії, композиції, транзитивного замикання та інших. Крім того, досліджено описові логіки, в яких є багатомісні ролі (позначають n-арні відносини).[1]
Бази знань, що формулюються на мові описових логік, застосовуються не тільки для подання знань про предметну область, але також для логічного аналізу (reasoning) знань, як то перевірки відсутності в них протиріч, виведення нових знань із уже наявних, забезпечення можливості робити запити до баз знань (за аналогією із запитами до баз даних). Завдяки тому, що бази знань описовою логікою записані в формалізованому вигляді, мають можливість робити строгий логічний висновок. А оскільки синтаксис і семантика описових логік побудовані таким чином, що основні логічні проблеми є вирішуваними, то висновок нові знання можна створювати комп'ютерними засобами — спеціальними програмами (reasoners).
Нехай ми зафіксували деяку описову логіку. Введемо кілька важливих понять.
Аналогічні поняття можна ввести щодо деякого заданого TBox , обмежуючись моделями даного TBox. Наприклад, концепція називається здійсненою щодо TBox , якщо існує інтерпретація, яка є моделлю цього TBox, в якій дана концепція виконується.
Коли заданий не тільки TBox , а й ABox , а значить є база знань , то виникає ще одне поняття.
Наступні поняття формалізують ключові алгоритмічні проблеми, пов'язані з конкретною описовою логікою:
В логіках, що містять , проблема вкладеності концепцій зводиться до здійсненності концепції.[1] Важливе практичне значення мають нестандартні алгоритмічні проблеми, зокрема:
Фундаментальними характеристиками тієї чи іншої описової логіки є наступні:
Дотепер отримано велику кількість результатів, що стосуються цих властивостей різних описових логік. Переважну більшість їх зібрано у вигляді інтерактивної вебсторінки: Довідка за складністю описових логік, де крім того є посилання на першоджерела отриманих результатів.
Мова вебонтологій OWL розробляється як мова, на якій можна формулювати і публікувати в веб так звані мережеві онтології — формально записані твердження про поняття та об'єкти деякої предметної області. Одна з вимог до таких онтологій полягає в тому, щоб наявні в них знання були «доступні» для машинної обробки, зокрема, для автоматизованого логічного виведення нових знань із уже наявних. Для цього потрібно, щоб мова, якою формулюються онтології, мала точну семантику, а відповідні логічні проблеми були розв'язані (і мали практично допустиму обчислювальну складність). Крім того, бажано, щоб така мова мала досить велику виражальну силу, придатну для формулювання на ній практично значущих фактів.
Описові логіки мають такі властивостями, і з цієї причини вони були обрані як логічні основи для мови вебонтологій OWL. Остання є мовою, що має XML-формат, тому можна сказати, що OWL є переформулюванням деяких описових логік з використанням синтаксису XML. Оскільки існує багато описових логік, що розрізняються як силою виражальності, так і обчислювальною складністю, це призвело до того, що в мови OWL є кілька варіантів.
Відповідність термінів: наявні в описовій логіці поняття концепт, роль, індивід і база знань в OWL відповідають поняттям клас, властивість , об'єкт і онтологія, відповідно.
Офіційною рекомендацією W3C від 10 лютого 2004 року є версія мови OWL 1.0. Дана специфікація мови OWL підрозділяється на наступні варіанти:
Ще знаходиться в стадії робочого чернетки нова версія мови OWL 1.1 покриває описову логіку , що включає в себе логіку , складові аксіоми вкладеності ролей в TBox (буква в назві логіки), а також аксіоми не перетинання, рефлексивності, іррефлексівності і асиметричності ролей, універсальну роль (представлену як ), конструктор концепії (інтерпретується як множина елементів, що є -послідовниками самих себе) і допускає затвердження в ABox.[9]
Одночасно з цим розробляється наступна версія мови OWL 2.0, яка, крім перерахованого, дасть можливість формулювати онтології у мові, представленій в описовій логіці (перевага якої в тому, що вона має поліноміальну обчислювальну складність); додасть синтаксичні поліпшення, що дозволяють легше складати запити до баз знань і видавати відповіді на них; а також буде містити механізми для формулювання правил логічного висновку.[10]
Є безліч програмних систем (машин висновування), що дозволяють здійснювати логічний аналіз у описових логіках (перевіряти онтологію на несуперечність, будувати таксономії, перевіряти здійснимість і вкладеність концептів, робити запити до баз знань та ін). Подібні системи розрізняються по підтримуваних ними описових логіках, за типом реалізованої в них роздільної процедури (наприклад, табло-алгоритм, резолюція і т. ін.), по підтриманих форматах даних, мови програмування, на яких вони реалізовані, і інших параметрах. Серед найбільш відомих можна перерахувати системи:
Створено єдиний ресурс — список машин виводу описових логік, постійно підтримуваний в актуальному стані і описує основні аспекти цих та інших програмних систем, що забезпечують логічний висновок в описових логіках.
Існують також редактори онтологій, що дозволяють створювати/редагувати онтології, зберігати їх в різних форматах, деякі дозволяють підключити reasoner і з його допомогою провести логічний аналіз онтології. Одним з найбільш відомих є редактор онтологій Protege, що дозволяє працювати з онтологіями у мові OWL Full.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.