INSTYTUT AUTOMATYKI I INŻYNIERII INFORMATYCZNEJ POLITECHNIKI POZNAŃSKIEJ Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis Elementy logik deskrypcyjych Literatura [1] Baader F. et al. (red.), The Description Logic Handbook: Theory, Implementation and Applications, wydanie IV, Cambridge University Press, 2007. [2] Cybulka J., Elementy logik deskrypcyjnych, slajdy do wykładów, 2007. [3] Levesque H.J., Brachman R.J., Expressiveness and tractability in knowledge representation and reasoning, Computational Intelligence, vol. 3, s. 78 93, 1987. [4] Lukacsy G., Szeredi P., Efficient description logic reasoning in Prolog: The DLog system, TPLP, vol. 9, no. 4, s. 343-414, 2009. [5] Stickel M., A Prolog Technology Theorem Prover: A New Exposition and Implementation in Prolog, SRI Int. Menlo Park, Technical Note 464, 1989.
WPROWADZENIE logiki deskrypcyjne (inaczej logiki opisowe, ang. description logics, w skrócie DL) stanowią obszerną i eklektyczną klasę systemów formalnych pierwsze zastosowanie system KL-ONE, R. J. Brachman, J. G. Schmolze, 1985 wiele z nich jest izomorficznych z rozstrzygalnymi podzbiorami logiki pierwszego rzędu reprezentacja wiedzy ma postać zbioru aksjomatów tj. bazy wiedzy, pod adresem której kieruje się zapytania; odpowiedzi na zapytania poszukuje się z reguły poprzez wnioskowanie podstawowy problem wnioskowania, rozpatrywany w "pierwszych" logikach deskrypcyjnych, tj. badanie subsumpcji pojęć, należy do klasy złożoności obliczeniowej PTIME logiki deskrypcyjne zawierają środki do reprezentowania wiedzy ontologicznej, w tym taksonomicznej (np. język OWL wykorzystywany do reprezentowania semantyki dokumentów w sieci WWW)
JĘZYKI LOGIK DESKRYPCYJNYCH (1) ELEMENTY PODSTAWOWE nazwy indywiduów (a, b, c) np. siarka atomowe deskrypcje pojęć (A, B) np. PierwiastekChemiczny wyróżnione deskrypcje pojęć T oraz atomowe deskrypcje ról (R A ) np. reagujez złożone deskrypcje pojęć (C, D) oraz ról (R, S) SEMANTYKA semantykę języków DL opisuje się przed podanie interpretacji dziedziną interpretacji I jest zbiór wszystkich indywiduów interpretacją deskrypcji pojęcia C I jest podzbiór I obejmujący wszystkie takie indywidua x, które są przykładami tego pojęcia (T I = Ι, I = ) interpretacją deskrypcji roli R I jest podzbiór produktu kartezjańskiego I I obejmujący wszystkie takie pary indywiduów (x, y), które są przykładami tej roli deskrypcja pojęcia lub roli CR jest spełniona w interpretacji I, o ile CR I
JĘZYKI LOGIK DESKRYPCYJNYCH (2) ZŁOŻONE DESKRYPCJE POJĘĆ I RÓL Deskrypcja Semantyka Przykład C (negacja) I \ C I OsobaMądra C D (przecięcie) C I D I OsobaMądra OsobaDobra C D (sumowanie) C I D I OsobaMądra OsobaDobra R. C (kwantyfikacja szczeg.) {a I ( b) ((a, b) R I b C I )} madziecko. OsobaMądra R. C (ograniczenie wartości) {a I ( b) ((a, b) R I b C I )} madziecko. OsobaMądra ( n R) (ograniczenie liczności) {a card({b (a, b) R I }) n} ( 3 madziecko) ( n R) (ograniczenie liczności) {a card({b (a, b) R I }) n} ( 0 madziecko) ( n R.C) (kwalifikowane o.l.) {a card({b (a, b) R I b C I }) n} ( 1 madziecko OsobaMądra) ( n R.C) (kwalifikowane o.l.) {a card({b (a, b) R I b C I }) n} ( 2 mapoddrzewo DrzewoBin) {x 1,..., x n } (wyliczenie) {x I 1,..., x I n} {wodór, siarka, żelazo,...} R (inwersja roli) {(b, a) (a, b) R I } madziecko R S (złożenie ról) {(a, c) b((a, b) R I (b, c) S I )} madziecko madziecko
JĘZYKI LOGIK DESKRYPCYJNYCH (3) KONSTRUKTORY POJĘĆ I RÓL DOSTĘPNE W WYBRANYCH JĘZYKACH DL Deskrypcja język ALC język ALCN język SHIQ C (negacja) X X X C D (przecięcie) X X X C D (sumowanie) X X X R. C (kwantyfikacja szczeg.) X X X R. C (ograniczenie wartości) X X X ( n R) (ograniczenie liczności) X ( n R) (ograniczenie liczności) X ( n R.C) (kwalifikowane o.l.) X ( n R.C) (kwalifikowane o.l.) X R A (inwersja roli atomowej) X
BAZA WIEDZY (1) STRUKTURA BAZY WIEDZY aksjomaty części TBox inkluzje: C D oraz R S (C I D I, R I S I ) równoważności: C D oraz R S (C I = D I, R I = S I ) definicje: A C aksjomaty części ABox asercje dotyczące pojęć: C(x) (x I C I ) asercje dotyczące ról: R(x, y) ((x I, y I ) R I ) część RBox obejmuje aksjomaty opisujące własności ról - np. Trans(R) co oznacza, że rola R jest przechodnia (tj. ( x)( y)( z)(r(x, y) R(y, z) R(x, z)) ) TERMINOLOGIA zbiór definicji, niezawierający żadnych dwóch elementów postaci A C oraz A D w części dalszej rozważa się wyłącznie terminologie acykliczne
BAZA WIEDZY (2) PRZYKŁADOWA TERMINOLOGIA ACYKLICZNA [1]
BAZA WIEDZY (3) ROZWINIĘCIE (ANG. EXPANSION) PRZYKŁADOWEJ TERMINOLOGII ACYKLICZNEJ [1]
ZAPYTANIA DO BAZY WIEDZY (1) PODSTAWOWE RODZAJE ZAPYTAŃ zapytania dotyczące część TBox (T ) o spełnialność pojęcia: T C? o subsumpcję pojęć: T C D? o równoważność pojęć: T C D? rozłączność pojęć: T C D? zapytania dotyczące części ABox (A ) lub całej bazy wiedzy (K) o przynależność indywiduum do pojęcia (ang. instance checking): A C(a)? o ekstensję deskrypcji pojęcia (ang. instance retrieval): skonstruować zbiór {x A C(x)}
ZAPYTANIA DO BAZY WIEDZY (2) KONSTRUOWANIE ODPOWIEDZI NA ZAPYTANIA metody syntaktyczne algorytm subsumpcji strukturalnej rachunek tabel analitycznych (np. systemy: FaCT, Pellet, Racer, HermiT) wnioskowanie rezolucyjne (np. systemy: DLog, KAON2, DL-Lite) wnioskowanie regułowe (np. OWL2Jess, SWRL2Jess, SweetRules) metody semantyczne metoda kartograficzna (Waloszek et al., 2005 system KaSeA) spełnialność pojęcia jako problem CSP (Calvanese et al., 1996; Cadoli et al., 2004; Haarslev et al., 2001 system RacerPro?) spełnialność pojęcia jako problem SAT (Sebastiani et al., 2009, 2011; Meissner, 2011) przy przetwarzaniu zapytań do części TBox dobrze sprawdzają się metody wywodzące się z rachunku tabel analitycznych; w przypadku zapytań do całej bazy wiedzy (z niepustą częścią ABox) lepiej sprawdza się wnioskowanie rezolucyjne
PRZETWARZANIE ZAPYTAŃ DO CZĘŚĆI TBOX (1) KONSTRUOWANIE ODPOWIEDZI (JĘZYK ALCN ) każde zapytanie Q do bazy wiedzy K z niepustą częścią TBox można przekształcić w równoważne zapytanie Q' do bazy wiedzy, w której część TBox jest pusta w tym celu należy skonstruować rozwinięcie wszystkich deskrypcji pojęć w Q na podstawie bazy wiedzy K dowolne zapytanie do części TBox danej bazy wiedzy można przekształcić w równoważne zapytanie o niespełnialność pewnego pojęcia: pojęcie C jest spełnialne wtw gdy C nie jest niespełnialne C D wtw gdy pojęcie C D jest niespełnialne C D wtw gdy pojęcie (C D) ( C D) jest niespełnialne pojęcia C oraz D są rozłączne wtw gdy pojęcie C D jest niespełnialne niespełnialność danego pojęcia C można wykazać poprzez wnioskowanie w rachunku tabel analitycznych w toku wnioskowania konstruuje się drzewo (tzw. tabelę) którego wierzchołki mają etykiety w postaci zbiorów złożonych z asercji i nierówności
PRZETWARZANIE ZAPYTAŃ DO CZĘŚĆI TBOX (2) KONSTRUOWANIE ODPOWIEDZI (JĘZYK ALCN ) korzeń tabeli ma etykietę {C(a)} dowolny wierzchołek potomny A' (lub A i,j ) można uzyskać z wierzchołka rodzicielskiego A poprzez zastosowanie do wierzchołka A jednej z reguł rozwijania: r- : jeżeli (C 1 C 2 )(a) A oraz {C 1 (a), C 2 (a)} A to A' = A {C 1 (a), C 2 (a)} r- : jeżeli (C 1 C 2 )(a) A oraz C 1 (a) A oraz C 2 (a) A to A' = A {C 1 (a)}, A'' = A {C 2 (a)} r- : jeżeli ( R.C)(a) A oraz nie istnieje b takie że {R(a, b), C(b)} A to A' = A {R(a, c), C(c)} r- : jeżeli ( R.C)(a) A oraz R(a, b) A oraz C(b) A to A' = A {C(b)} r- : jeżeli ( n R)(a) A oraz nie istnieje taki ciąg b 1,..., b n taki, że {R(a, b i ) 1 i n} {b i b j 1 i < j n} A to A' = A {R(a, c i ) 1 i n} { c i c j 1 i < j n} r- : jeżeli ( n R)(a) A oraz {R(a, b 1 ),..., R(a, b n+1 )} A oraz b i b j A dla dowolnego i j to A i,j = A [b i / b j ]
PRZETWARZANIE ZAPYTAŃ DO CZĘŚĆI TBOX (3) KONSTRUOWANIE ODPOWIEDZI (JĘZYK ALCN ) rozwijanie gałęzi kończy się, gdy do wierzchołka wiszącego nie można zastosować żadnej reguły rozwijania, albo gdy w tym wierzchołku występuje sprzeczność (ang. clash), którą wykrywa się za pomocą jednej z poniższych reguł: r- 1 : jeżeli (a) A lub ( T)(a) A to oznaczyć wierzchołek A jako zawierający sprzeczność r- 2 : jeżeli A(a) A oraz ( A)(a) A to oznaczyć wierzchołeka jako zawierający sprzeczność r- 3 : jeżeli {( n R)(a)} {R(a, b i ) 1 i n+1} { b i b j 1 i < j n+1} A to oznaczyć wierzchołeka jako zawierający sprzeczność gałąź zakończona wierzchołkiem zawierającym sprzeczność jest gałęzią zamkniętą; tabela zamknięta ma wszystkie gałęzie zamknięte pojęcie jest niespełnialne wtw gdy istnieje tabela zamknięta dla tego pojęcia
PRZETWARZANIE ZAPYTAŃ DO CZĘŚĆI TBOX (4) TABELA ZAMKNIĘTA DLA ZAPYTANIA ( R.A 1 ) ( R.A 2 ) ( 1 R) R.( A 1 A 2 )
PRZETWARZANIE ZAPYTAŃ DO CAŁEJ BAZY WIEDZY (1) PRZEKŁAD WYRAŻEŃ DL NA FOL
PRZETWARZANIE ZAPYTAŃ DO CAŁEJ BAZY WIEDZY (2) ELIMINOWANIE Z PRZEKŁADU FUNKCJI SKOLEMA I AKSJOMATÓW TRANS(R) przykładowa baza wiedzy K w języku SHIQ na podstawie formuł 1-3 można wywnioskować, że:
PRZETWARZANIE ZAPYTAŃ DO CAŁEJ BAZY WIEDZY (3) KLAUZULOWA POSTAĆ BAZY WIEDZY w konsekwencji, baza wiedzy K przyjmuje następującą postać K' : przekład bazy wiedzy K' na postać klauzulową:
PRZETWARZANIE ZAPYTAŃ DO CAŁEJ BAZY WIEDZY (4) BAZA WIEDZY JAKO PROGRAM W JĘZYKU PROLOG POSTAĆ ZAPYTAŃ Rozpatruje się tzw. zapytania koniunkcyjne, np. ans(x) :- mc(x,y), m(y), u(x). Formułę tę należy dodać do bazy wiedzy, a następnie zapytanie :- ans(x).
PRZETWARZANIE ZAPYTAŃ DO CAŁEJ BAZY WIEDZY (5) SYSTEM WNIOSKUJĄCY DLOG [4] Do udzielania odpowiedzi na zapytania koniunkcyjne można wykorzystać system DLog, wzorowany na systemie PTTP [5].
UWAGI KOŃCOWE SIŁA WYRAZY LOGIKI A WŁASNOŚCI OBLICZENIOWE negatywne skutki zwiększania ekspresywności logiki, np. poprzez dodawanie do języka kolejnych konstruktorów: nierozstrzygalność np. język ALCN z deskrypcjami ( n R S), język OWL Full występowanie zjawiska "klifu obliczeniowego" [3] wiele "klasycznych" logik deskrypcyjnych ma złożoność obliczeniową nie mniejszą niż PSPACE (np. problem spełnialności deskrypcji pojęcia w logice z językiem ALC należy do klasy PSPACE-complete) złożoność obliczeniową logik deskrypcyjnych można ograniczać poprzez rozpatrywanie "podzbiorów hornowskich" tych logik