Teil 2

Werbung
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
Herunterladen