Terminologische Logik auch: Beschreibungslogik oder Begriffslogik (engl. description logic, terminological logic) Terminologische Logiken sind • Teilsprachen der Prädikatenlogik, die speziell auf die Beschreibung von Konzepten zugeschnitten sind; • ausdrucksstärker als semantische Netze. Merkmale: Kompakte, relationen-basierte Darstellung Zwei Inferenzprozeduren • Subsumtion: Ist ein Konzept Unterkonzept eines anderen? (oder: beschreibt ein Konzept eine Teilmenge eines anderen Konzepts?) • Instanz-Klassifikation: Bestimmumg des Konzeptes, zu dem ein gegebenes Objekt gehört. Einf. in die KI 9 – 19 Terminologische Logik (2) Beschreibungslogiken werden manchmal auch als “KL-One-artige Formalismen” bezeichnet – nach KL-One, einem der ersten Systeme, in denen dieser Ansatz systematisch verfolgt wurde. Beispiele: Bachelor = And (Unmarried , Adult , Male) PL1: ∀ x . Bachelor (x ) ⇔ [Unmarried (x ) ∧ Adult(x ) ∧ Male(x )] Männer, die mindestens drei Söhne haben, die alle arbeitslos und mit Ärztinnen verheiratet sind, und höchstens zwei Töchter, die alle Physik- oder Chemieprofessoren sind. And (Man, Atleast(3, Son), Atmost(2, Daughter ), All (Son, And (Unemployed , Married , All (Spouse, Doctor ))), All (Daughter , And (Professor , Fills(Department, Physics, Chemistry)))) Einf. in die KI 9 – 20 Terminologische Logik (3) Terminologische Logiken verwenden meistens frame-basierte Sprachen. Begriffsymbole: B , beschreiben Klassen von Objekten. Rollensymbole: Objekten. R, beschreiben Beziehungen zwischen jeweils zwei Klassen von Begriffsausdrücke, (zusammengesetzte) Konzepte: – entstehen durch Kombination von Rollen und Begriffen. C → | | | | | Einf. in die KI B Begriffsymbole C u C0 Begriffskonjunktion – And (C , C 0) C t C0 Begriffsdisjunktion – Or (C , C 0) ∀ R:C Werterestriktion – All (R, C ) Atleast (Int, R), Atmost (Int, R) Kardinalitätseinschränkungen Fills(R, Const) 9 – 21 Terminologische Logik (4) Struktur der Wissensbasis: Terminologie Festlegung der Konzepte, die in der Domäne verwendet werden, und der Beziehungen zwischen den Konzepten. Darstellung des begrifflichen Wissens in Form einer Taxonomie. “T-Box” Assertorisches Wissen Augenblicklicher Zustand des modellierten Weltausschnitts, Kollektion der existierenden (und relevanten) konkreten Objekte. Objekte dargestellt als Instanzen von Konzepten der Terminologie “A-Box” Einf. in die KI 9 – 22 Terminologische Logik (5) Operationen auf der Wissensbasis: Subsumtion Ein Konzept A subsumiert ein Konzept B , wenn die Definitionen von A und B implizieren, dass jede Instanz von B auch eine Instanz von A ist. Die Beschreibung von B impliziert die Beschreibung von A. Klassifikation ; durch Subsumtion Klassifikation geht über einfache Vererbungsschemata hinaus: Durch Klassifikation werden implizite Subsumptionsbeziehungen aufgedeckt und dadurch explizit gemacht. Einf. in die KI 9 – 23 Klassifikation Vorgehensweise bei der Klassifikation eines Konzeptes C Bestimmung der Eltern-Konzepte Eltern sind die spezifischsten Konzepte, die C unfassen, d.h. subsumieren. • Beginne mit den Wurzeln der Konzepthierarchie. • Falls Di C subsumiert, überprüfe, ob die Kinder von Di ebenfalls C subsumieren. • Wiederhole Prüfung, bis diejenigen Konzepte erreicht sind, die C subsumieren, deren Kinder jedoch C nicht subsumieren. Bestimmung der Kinder Kinder sind die allgemeinsten Konzepte, die von C subsumiert werden. • Ausgehend von den Eltern von C , überprüfe die Kinder darauf, ob sie von C subsumiert werden. Einf. in die KI 9 – 24 Klassifikation (2) C wird von allen so gefundenen Elternkonzepten D subsumiert, d.h. auch von der Konjunktion aller D. Für alle D können die neuen Subsumtionsbeziehungen in die Struktur eingetragen werden. Generelle Fragen der Entscheidbarkeit und Komplexität der Klassifikation bzw. Subsumtion hängen sehr stark von den in der Sprache verwendeten Konstrukten ab. Einf. in die KI 9 – 25 Subsumtion (1) Ein Konzept A subsumiert ein Konzept B in einer Terminologie T , bzw. B wird in T von A subsumiert, wenn jede Instanz von B eine Instanz von A ist. B ≤T A : B ist “spezieller” als A. B ≤T A gdw. T |= ∀ x [B (x ) ⇒ A(x )] Berechnung von ≤T : 1. Abstraktion von der Terminologie: Umwandlung von T in T ∗ durch Einführen neuer (undefinierter) Konzeptsymbole und Ersetzen aller partiellen Definitionen durch vollständige Definitionen. 2. Expansion der Konzepte A und B bezüglich der Terminologie T ∗: E (A) und E (B ) entstehen durch Ersetzung der jeweiligen Konzeptsymbole durch ihre Definition. Einf. in die KI 9 – 26 Subsumtion (2) Voraussetzung: • Jedes Konzeptsymbol tritt nur einmal auf der linken Seite einer Definition auf. • Die Terminologie T enthält keine Zyklen. Damit: Berechnung von B ≤T A durch Berechnung von E (B ) ≤ E (A): 1. Möglichkeit: Struktureller Vergleich 2. Möglichkeit: Constraint-Lösungsmethode Test von E (B ) u ¬E (A) auf Inkonsistenz durch Nachweis der Unerfüllbarkeit eines entsprechenden Systems von Einschräankungen. Einf. in die KI 9 – 27 Ein KL-One-artiges System: LOOM • Deklarative Modellierungssprache • Prädikatenlogische Abfragesprache • Deduktive Unterstützung Default-Reasoning Automatische Konsistenzprüfung • Produktionsregeln Terminologische Inferenz: Die definierenden Charakteristika eines Konzepts werden repräsentiert. Die Taxonomie bzgl. Subsumtion wird automatisch abgeleitet und fortgeschrieben. Die Modellierungssprache besteht aus Definitions- und Assertionsanteilen. Einf. in die KI 9 – 28 LOOM (2) Definition von Konzepten und Rollen Beispiele: (DEFCONCEPT <Name> :IS <Konzept-Ausdruck>) (DEFCONCEPT <Name> :IS-PRIMITIVE <Konzept-Ausdruck>) (DEFRELATION <Name> :DOMAIN <Konzept-Ausdruck> :RANGE <Konzept-Ausdruck>) C : Konzepte (einstellige Prädikate) R : Rollen (zweistellige Relationen, entsprechen Attributen bei Frames) T : Konzeptterme Einf. in die KI 9 – 29 LOOM (3) Konzeptterme: (:AND C1..Cn ) (:NOT C) Durchschnitt der Ci Komplement von C typischer Gebrauch: (:and C1 (:not C2)) Anzahl- und Typ-Beschränkungen (:atleast n R [Q]) [qual.] Min-Beschränkung (:atmost n R [Q]) [qual.] Max-Beschränkung (:exactly n R [Q]) [qual.] Min-Max-Beschränkung (:all R C [Q]) [qual.] Typ-Beschränkung Einf. in die KI 9 – 30 LOOM (4) (:subset R1 R2) Untermengen bzgl. Relationen (:same-as R1 R2) Gleichheit bzgl. Relationen (<,>,=,>=,<= R1 R2) Numerische Vergleiche (:[not-]filled-by R T) Rollenfüller: T gibt Wert des Attributs R [nicht] an (:relates R R1 R2) (Dreiecks-)Beziehung (:satisfies (<a>) q) ein Prädikat mit a als Lambdavariable und q als query (Rumpf). Einf. in die KI 9 – 31 LOOM (5) Rollen-Ausdrücke (:and R1 ... Rn) Durchschnitt von Rollen (:range C) Wertebereich-Einschränkung: alle Werte der entsprechenden Relation sind vom Typ C. (:domain[s] C) Ursprungsbereich-Einschränkung(en) (:inverse R) Inverse Rolle zu R (:compose R1 ... Rn) Komposition von Relationen (:satisfies (<a>+) q) Prädikat mit a als Lambdavariablen und q als query. (:one-of gelb rot gruen) (:the-ordered-set schlecht normal gut) Einf. in die KI Menge (Aufzählung) geordnete Menge, mit Ordnungsrelation < 9 – 32 LOOM (6) Verändern der A-Box • Hinzufügen von Aussagen (assertions): tell : WB x Aussage --> WB • Zurücknehmen einer Aussage: forget : WB x Aussage --> WB Anfragen an die Wissensbasis (queries) • ask : WB x Aussage --> {wahr, falsch, unbekannt} Anfrage, ob eine Aussage aus der WB folgt. • (retrieve ?v <query>) Anfrage nach Instanzen, die <query> erfüllen. Einf. in die KI 9 – 33 Beispiel (1) Konzepte (defconcept location) (defconcept room :is-primitive location) (defconcept labor :is-primitive room) (defconcept object) (defconcept human :is-primitive object) (defconcept staff :is-primitive human) ... (defconcept size :is (:one-of small medium large)) (defrelation has-size :domain object :range size) .... Einf. in die KI 9 – 34 Beispiel (2) (defconcept physical_object :is-primitive (:and object (:not human) (:not staff))) (defconcept transportable_object :is-primitive physical_object) (defconcept box :is-primitive (:and transportable_object solid (:filled-by has-size small) (:filled-by has-shape rectangular))) Einf. in die KI 9 – 35 Beispiel (3) Rollen (defrelation inroom :domain object :range location) (defrelation office :domain human :range location) (defrelation in-department :domain staff :range department) ... Einf. in die KI 9 – 36 Beispiel (4) Instanzen (tellm (tellm ... (tellm (tellm ... (tellm (tellm ... (tellm (tellm ... (tellm (conference_room R429)) (secretary’s_office R449)) (scientific_staff martin)) (scientific_staff matthias)) (department ki)) (department neuro)) (in-department martin ki)) (in-department marko ki)) (:about mail-box box (has-color blue) (inroom R449))) Einf. in die KI 9 – 37 Beispiel (5) Roboter-Konzepte und -Rollen (defconcept robot :is-primitive object) (defconcept capability :is (:one-of carry-solid carry-liquid)) ... (defrelation holding :domain robot :range object) (defrelation has-capability :domain robot :range capability) (defrelation requires-capability :domain object :range capability) (defrelation has-range :domain robot :range Number) ... Einf. in die KI 9 – 38 Beispiel (6) Instanzen (tellm (robot mike) (in-department mike ki) (inroom mike R407) (has-capability mike carry-solid)) Anfragen Die Menge aller wissenschaftlichen Mitarbeiter: > (retrieve ?x (scientific-staff ?x)) ⇒ (matthias, martin, marko, ...)) Die Menge aller Mitarbeiter der Abteilung KI: > (retrieve ?x (:and (scientific-staff ?x) (in-department ?x ki))) ⇒ (martin, marko, ...) Einf. in die KI 9 – 39 Beispiel (7) Die Menge aller Mitarbeiter und Roboter und die Abteilungen, in denen sie arbeiten: > (retrieve (?x ?y) (in-department ?x ?y)) ⇒ ((mike ki) (marko ki) (matthias neuro) ...) Arbeitet Martin in der Abteilung KI? > (ask (in-department martin ki)) ⇒ Y Arbeitet Martin in der Abteilung neuro? > (ask (in-department martin neuro)) ⇒ nil Einf. in die KI 9 – 40 Terminologische Logik (6) Formale Semantik: Uniforme Übersetzung der beschreibungslogischen Ausdrücke in Prädikatenlogik erster Stufe. Die Subsumtionsbeziehung zwischen Konzepten entspricht einer logischen Implikation der entsprechenden Formeln. ; Der Subsumtionstest ist ein spezielles Verfahren zum Beweis dieser Implikation. Terminologische Logiken zeichnen sich dadurch aus, dass • sie speziell auf die Darstellung konzeptionellen Wissens ausgerichtet sind, • dieses Wissen in kompakter Form dargestellt wird, • der Inferenzmechanismus i.d.R. effizient ist. Einf. in die KI 9 – 41 Terminologische Logik (7) Für einfache terminologische Logiken ist der Subsumtionstest polynomial entscheidbar. Erkauft wird diese Effizienz durch eine gegenüber der Prädikatenlogik eingeschränkten Ausdrucksmächtigkeit. Werden Negation und Disjunktion als Sprachkonstrukte zugelassen, so führt dies häufig zu exponentiellem Aufwand. Einf. in die KI 9 – 42 PowerLoom Loom-Nachfolger mit dem Ziel: • Höherer Ausdrucksfähigkeit (Graph-basierter Subsumtionstest) • Adaption einer Notation, die als eine Art von Standard vorgeschlagen wurde (“KIF” – Knowledge Interchange Format) Implementiert in STELLA, einer getypten CommonLisp ähnlichen Sprache mit CrossCompilern zu: • CommonLisp • C++ • Java (defconcept More-Sons-Than-Daughters (?p) :<=> (and (Person ?p) (< (cardinality (setof (?g) (daughter ?p ?g))) (cardinality (setof (?b) (son ?p ?b)))))) Einf. in die KI 9 – 43 PowerLoom-Beispiel (1) (defconcept Mensch () :slots ((alter :type Integer))) (defconcept Frau (Mensch)) (defconcept Mann (Mensch)) (defrelation hat-kind ((?x Mensch) (?y Mensch))) (defconcept Mutter (Frau) :<=> (exists (?x Mensch) (hat-kind ?self ?x))) (defconcept Vater (Mann) :<=> (exists (?x Mensch) (hat-kind ?self ?x))) (defrelation hat-elternteil ((?x Mensch) (?y Mensch))) Einf. in die KI 9 – 44 PowerLoom-Beispiel (2) (assert (forall ((?x Mensch) (?y Mensch)) (=> (hat-kind ?x ?y) (hat-elternteil ?y ?x)))) (defconcept Elternteil (Mensch) :<=> (or (Mutter ?self) (Vater ?self))) (defconcept Grossmutter (Frau) :<=> (exists (?x Elternteil) (hat-kind ?self ?x))) (ask (subset Grossmutter Mutter)) -> |L|TRUE (ask (subset Grossmutter Elternteil)) -> |L|TRUE Einf. in die KI 9 – 45 PowerLoom-Beispiel (3) (assert (Frau Elisabeth)) (assert (Mann Charles)) (assert (hat-kind Elisabeth Charles)) (ask (Mutter Elisabeth)) -> |L|TRUE (ask (Grossmutter Elisabeth)) -> NULL (assert (Mann William)) (assert (hat-kind Charles William)) (ask (Grossmutter Elisabeth)) -> |L|TRUE Einf. in die KI 9 – 46 PowerLoom-Beispiel (4) (defrelation verheiratet-mit ((?x Mensch) (?y Mensch))) (defconcept Ehefrau (Frau) :<=> (exists (?x Mann) (verheiratet-mit ?x ?self))) (defconcept Schwiegermutter (Frau) :<=> (exists (?x Mensch) (and (hat-kind ?self ?x) (exists (?y Mensch) (verheiratet-mit ?x ?y))))) (defconcept Schwiegermutter-einer-Ehefrau (Mutter) :<=> (exists (?z Mensch) (and (hat-kind ?self ?z) (exists (?y Ehefrau) (verheiratet-mit ?z ?y))))) (ask (subset Schwiegermutter-einer-Ehefrau Schwiegermutter)) -> |L|TRUE Einf. in die KI 9 – 47 PowerLoom-Beispiel (5) (defrelation hat-sohn ((?x Mensch) (?y Mensch)) :<=> (and (hat-kind ?x ?y) (Mann ?y))) (defrelation hat-tochter ((?x Mensch) (?y Mensch)) :<=> (and (hat-kind ?x ?y) (Frau ?y))) (ask (hat-sohn Elisabeth Charles)) -> |L|TRUE (defconcept Mutter-mit-mind-einem-Sohn (Mutter) :<=> (>= (value-cardinalitity ?self Mensch.hat-sohn) 1)) (ask (subset Schwiegermutter-einer-Ehefrau Mutter-mit-mind-einem-Sohn)) -> |L|TRUE (assert (and (Frau Diana) (verheiratet-mit Charles Diana))) (ask (Schwiegermutter Elisabeth)) -> |L|TRUE Einf. in die KI 9 – 48 PowerLoom-Beispiel (6) (ask (Ehefrau Diana)) -> |L|TRUE (ask (Schwiegermutter-einer-Ehefrau Elisabeth)) -> |L|TRUE (deffunction schwiegermutter-von (?x Mensch) :type Frau := (the (?z Frau) (exists (?y Mensch) (and (verheiratet-mit ?y ?x) (hat-kind ?z ?y))))) (retrieve ?x (= (schwiegermutter-von Diana) ?x)) There is 1 solution so far: #1: ?X=|i|ELISABETH Einf. in die KI 9 – 49 PowerLoom-Beispiel (7) (defconcept Mutter-mit-mehr-Soehnen-als-Toechtern (Mutter) :<=> (> (value-cardinality ?self Mensch.hat-sohn) (value-cardinality ?self Mensch.hat-tochter))) (ask (subset Mutter-mit-mehr-Soehnen-als-Toechtern Mutter-mit-mind-einem-Sohn)) -> |L|TRUE (ask (Mutter-mit-mehr-Soehnen-als-Toechtern Elisabeth)) -> |L|TRUE Einf. in die KI 9 – 50 Mensch Frau Mann Elternteil Mutter Grossmutter Ehefrau Schwiegermutter Vater Mutter-mit-mindeinem-Sohn Schwiegermuttereiner-Ehefrau Einf. in die KI Mutter-mit-mehr-Soehnenals-Toechtern 9 – 51