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: von Rollen und Begriffen. entstehen durch Kombination C B Begriffsymbole C C Begriffskonjunktion And(C, C ) C C Begriffsdisjunktion Or(C, C ) R : C Werterestriktion All(R, C ) Atleast (Int, R), Atmost (Int, R) Kardinalitätseinschränkungen Fills(R, Const) Einf. in die KI 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 D i C subsumiert, überprüfe, ob die Kinder von D i 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) 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 C 1..C n ) (:NOT C) Durchschnitt der C i Komplement von C typischer Gebrauch: (:and C1 (:not C2)) Anzahl- und Typ-Beschränkungen (:atleast n R [Q]) (:atmost n R [Q]) (:exactly n R [Q]) (:all R C [Q]) [qual.] Min-Beschränkung [qual.] Max-Beschränkung [qual.] Min-Max-Beschränkung [qual.] Typ-Beschränkung Einf. in die KI 9 30
LOOM (4) (:subset R1 R2) (:same-as R1 R2) Untermengen bzgl. Relationen Gleichheit bzgl. Relationen (<,>,=,>=,<= R1 R2) Numerische Vergleiche (:[not-]filled-by R T) (:relates R R1 R2) (:satisfies (<a>) q) Rollenfüller: T gibt Wert des Attributs R [nicht] an (Dreiecks-)Beziehung 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) (:range C) (:domain[s] C) (:inverse R) (:compose R1... Rn) (:satisfies (<a> + ) q) (:one-of gelb rot gruen) (:the-ordered-set schlecht normal gut) Durchschnitt von Rollen Wertebereich-Einschränkung: alle Werte der entsprechenden Relation sind vom Typ C. Ursprungsbereich-Einschränkung(en) Inverse Rolle zu R Komposition von Relationen Prädikat mit a als Lambdavariablen und q als query. Menge (Aufzählung) geordnete Menge, mit Ordnungsrelation < Einf. in die KI 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 (conference_room R429)) (tellm (secretary s_office R449))... (tellm (scientific_staff martin)) (tellm (scientific_staff matthias))... (tellm (department ki)) (tellm (department neuro))... (tellm (in-department martin ki)) (tellm (in-department marko ki))... (tellm (: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 Cross- Compilern 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 Vater Schwiegermutter Grossmutter Ehefrau Mutter-mit-mindeinem-Sohn Schwiegermuttereiner-Ehefrau Mutter-mit-mehr-Soehnenals-Toechtern Einf. in die KI 9 51