• Keine Ergebnisse gefunden

7 Memory Organization und Deduktion

N/A
N/A
Protected

Academic year: 2022

Aktie "7 Memory Organization und Deduktion"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

7 Memory Organization und Deduktion

17. Vorlesung: Speicherorganisation: Indexing;

Assoziative Netzwerke

$

Was sind Ziele und Vorhaben der KI?

$ Wie lassen sich Probleme durch (geschickte) Suche lösen?

$

Wie lassen sich Datenstrukturen zur Darstellung von Wissen maschinenverarbeitbar anlegen?

$ Wie lassen sich maschinell Schlußfolgerungen aus Annahmen ziehen?

$

Für welche Ziele soll Computer-Intelligenz eingesetzt werden?

(2)

! " %

Kapitel 6:

Ausgehend von allgemeinen prädikatenlogischen Schlußverfahren betrachteten wir die konkrete Manipulation entsprechend vorbereiteter Formeln (in database) für maschinelle Schlußverfahren.

(Zuletzt: goal-tree search für die Suche nach subgoals beim backward chaining)

Kapitel 7:

Noch eine Stufe konkreter werden Datenstrukturen und verschiedene Organisations- und Zugriffsprinzipien betrachtet, durch die eine solche Formelmanipulation effektiv abgewickelt werden kann.

Frage bisher:

' Wie drückt man Fakten und Annahmen über eine Domäne aus, so daß sich formale Schlußweisen darauf anwenden lassen?

Frage jetzt:

' Wie organisiert man geschickt den Zugang zu Einträgen in DATABASE und deren maschinelle Benutzung?

Memory Management

' erfordert sorgfältig geplante Kombination von Datenstrukturen mit geeigneten Inferenzalgorithmen

„Accessibility is just as important as content“

(3)

! " (

$

als Beispiel einer „Gedächtnis- struktur“, wie sie für „Story Understanding“ postuliert wird

$

Script: Stereotype Abfolge von Ereignissen als Modell für be- stimmte Weltzusammenhänge

$

Beispiel: Besuch im Schönheits- salon („Beauty Parlor“)

Skizze einer prädikaten- logischen Repräsentation des "Beauty-Parlor"-Scripts

zum Verstehen einer Geschichte wie der folgenden:

Frieda brauchte einen Haarschnitt.

Als sie zum Schönheitssalon kam, war sie unglücklich, daß Suzy, ihre Lieblings-Stylistin, nicht da war.

Noch bestürzter war Frieda, als sie dann ihren Irokesenschnitt sah.

Ohne ein Trinkgeld zu geben, schritt sie davon.

(4)

! "

*

Prinzip:

' Sätze der Geschichte werden mit Script-Elementen „gematcht“ und dabei Variablen gemäß der tatsächlichen events gebunden

' Wo das Script verzweigt: bestpassende Alternative wählen

*

Grundidee „Script-Matching“:

' ein Story-Pointer und ein Script-Pointer werden koordiniert geführt

' dabei werden weitere Ereignisbeschreibungen im Script zugänglich, die zum sukzessiven Aufbau einer Repräsentation beitragen.

*

Vorteil:

spezielle Organisation von Assertions steigert die Effizienz beim Aufbau der Repräsentation erheblich.

*

Nachteil:

Starr!! Funktioniert wirklich nur für stereotype Geschichten.

$

DATABASE hält (skolemisierte) Fakten vor, die von einem

Theorembeweiser manipuliert werden:

(a) Hinzufügen und Wegnehmen (assert und retract)

(b) Finden aller Fakten, die mit einer (als Fetch-Pattern)

gegebenen Formel unifizieren

$

Diese Manipulationen müssen (vom Rechenaufwand) billig sein!

Beispiel zu (b): Backward Chaining Gegeben goal G

dann muß GATEKEEPER alle Formeln der Form

(i) G’

oder (ii) S –> G’

(hier jetzt geschrieben: (<– G’ S) ) auffinden, für die gilt: G’ unifiziert

mit G

(i) das Fetchpattern ist G

(ii) das Fetch-Pattern ist (<–G ?v) (?v darf in G nicht vorkommen)

(5)

! " ,

Jeder Konstante ist eine Liste der Assertionen, die diese Konstante enthalten, zugeordnet, organisiert nach der Position der Konstante:

( (pos N -formulas- ) (pos N -formulas- ) ...) pos: Position, repräsentiert als

Tupel natürlicher Zahlen

< > : ganze Formel

<1 2> : erstes Element des zweiten Elements ...

N: Zahl der Formeln mit dieser Konstante an dieser Position

*var* : für enthaltene Variablen

(6)

! "

> siehe Seite 398 in Charniak/McDermott <

„bucket (Eimer)“: eine Formelliste

index-fetch

(7)

! " %

Es werden nicht nur Formeln ausgeworfen, die das Fetch-Pattern garantiert matchen (d.h. Formeln werden geholt, für die Unifikation

fehlschlägt).

Trotz selektiver Verarbeitung kann der Rechenaufwand für Unifikation immer noch sehr teuer sein.

Der Algorithmus erfordert teure Operationen der Durchschnittbildung, für die es zwar Verbesserungen gibt (mark-and-test), aber keinen grundsätzlichen "Durchbruch" (bei großen buckets).

Es gibt verbesserte Indexing-Methoden, die z.B. die Prädikat-Position spezifisch behandeln (in der Prädikatenlogik erster Stufe kommen keine Prädikatvariablen vor).

Bei Interesse oder Bedarf:

Siehe Seite 397 - 400 !

Alternativer Ansatz:

Assoziative Netzwerke

(Aufgabe wieder: Angabe von Datenstrukturen in DATABASE, die Fakten repräsentieren und auf die sich geschickt zugreifen läßt.) Assoziatives Netzwerk:

Allgemeiner Begriff für Repräsentationssysteme auf der Basis von Graphen, deren Kanten ("links") mit Prädikaten korrespondieren.

(Es gibt viele Typen!)

Implementiert als Pointer-Strukturen, die eine Struktur von Relationen im modellierten Gebiet ausdrücken.

Inferenzen basieren auf Graph-Suchalgorithmen

Beispiel (nur als Motivation für die Repräsentation der Struktur):

Stadtplan als Graph mit Knoten = Kreuzungen, Kanten = Straßen

(8)

. / 0 1 2 345 6 7 8 9 : 5 ;< 2 = 5 8 = 5 3 > ? 8 6 ;4@ A < 5 8 B 8 ;5 44@ 9 5 8 C . D

vorher:

indexierte Assertionen in DATABASE Theorembeweiser im GATEKEEPER

jetzt:

Assoziatives Netz in der DATABASE Graph-Suchalgorithmen (in der Regel mehrere spezielle) im GATEKEEPER DATA-

BASE

PROGRAM GATE- KEEPER

Antworten

Neue Fakten Anfragen E F GH I JK GLM L N GI OI PI OQ

(9)

. / 0 1 2 345 6 7 8 9 : 5 ;< 2 = 5 8 = 5 3 > ? 8 6 ;4@ A < 5 8 B 8 ;5 44@ 9 5 8 C . /

Beispiel: Auszudrücken sei

(contains a b), (contains a c), (contains d a) etc.

Es soll möglich sein, alles, was in a enthalten ist, von a aus leicht zu finden

--> forward pointer ( für die Relation contains)

Es soll möglich sein, alles, worin a enthalten ist, von a aus leicht zu finden

--> backward pointer (für die Relation contained-by)

Pointer-Paar (interne Darstellung eines links):

Zweielementige Liste, deren Elemente über entsprechend gelabelte pointer auf die Liste zeigen.

(a,b): links steht erstes, rechts zweites Argument einer contains-Relation

E F GH I JK GLM L N GI OI PI OQ

> siehe Fig. 7.7 in Charniak/McDermott

(10)

. / 0 1 2 345 6 7 8 9 : 5 ;< 2 = 5 8 = 5 3 > ? 8 6 ;4@ A < 5 8 B 8 ;5 44@ 9 5 8 C . T

new-york:

((<2> 1 (contains new-york empire-state-bldg)) (<3> 1 (contains us new-york))

...)

ausgedrückt durch contains-Pointer (forward pointer) ausgedrückt durch contained-by-Pointer (back pointer)

Frage: Welche Dinge enthält a?

- mit backward chaining

(Show: (contains a ?what))

dann unifizierende Pattern suchen und ggfs. rückwärts verkettete Regeln ausnutzen, um subgoals zu bekommen.

- im Netzwerk schneller (nämlich unmittelbar zugreifbar):

Betrachte die contains-links von a (siehe Fig. 7.7)

werfe jeweils die zweiten Elemente des Pointer-Paars aus

Hauptvorteil:

Vermeidung von backward chaining und Unifikation für Inferenzen

E F GH I JK GLM L N GI OI PI OQ

für symmetrische, transitive Relationen

(= a b) (= b c) (= a d)

Pointerliste: (a b c d)

(•) (•) (•) (•)

a b c d

Dann (= c a) genauso leicht zu bestätigen wie (= a c) usw.

(11)

. / 0 1 2 345 6 7 8 9 : 5 ;< 2 = 5 8 = 5 3 > ? 8 6 ;4@ A < 5 8 B 8 ;5 44@ 9 5 8 C U .

• Beschränkung auf binäre Relationen (für Assertions nicht der Fall)

• jedoch kann jede Assertion mit mehrstelligen Prädikaten in eine Menge von "binären" Assertionen überführt werden:

Dies ist Slot-Assertion-Notation!

(siehe 3. Vorlesung)

(p a1 a2 . . . an )

(inst r p -Relation) (arg-1 r a1 )

(arg-2 r a2 ) . . .

(arg-n r an )

neue Konstante!

E F GH I JK GLM L N GI OI PI OQ

D.h. es wird ein expliziter Relationen-Knoten (hier: parents relationship) eingeführt und markierte Kanten für die Binär-Relationen (Pointer-Paare), die eine Instanz der Relation mit ihren Argumenten verbinden.

inst-links werden eine besondere Rolle spielen ("property inheritance")

Die drei betrachteten link-Typen

gerichtete Kanten (für binäre Relationen)

Äquivalenzklassen (für symmetrische, transitive Relationen)

explizite Knoten (für Relationen mit > 2 Argum.) erfordern jeweils spezielle Graph-Suchalgorithmen ("link traverser"), die aber die Effizienz erheblich steigern.

(12)

W X Y Z [ \]^ _ ` a b c ^ de [ f ^ a f ^ \ g h a _ d]i j e ^ a k a d^ ]]i b ^ a l U m

(für indexierte Assertionen erläutert, für assoz. Netzwerke analog übernehmbar)

Wenn zwei Konstanten als gleich assertiert werden, kann diese Assertion als "="-link dargestellt werden.

Der Retrieval-Algorithmus kann sie dann wie gleiche Objekte behandeln.

Beispiel:

In einer Detektiv-Geschichte stellt sich heraus, daß der Butler Ackroyd der in anderen Fakten erwähnte Mörder ist:

(= ackroyd murderer-97)

Wenn jetzt Fakten über Ackroyd in der DATABASE erfragt werden sollen, kann die assertierte Gleichheit unter folgenden Umständen genutzt werden:

1. index-fetch wird so geändert, daß nicht nur (bucket pos pat) für ein Atom pat gefunden wird, sondern auch (bucket pos e) für jedes Atom e, daß als gleich mit pat assertiert worden ist.

2 . unify wird so geändert, daß nicht nur Atome auf (syntaktische) Gleichheit geprüft werden, sondern auch daraufhin, ob sie als gleich assertiert worden sind.

(im einzelnen siehe Seite 404f)

n o pq r st puv u w pr xr yr xz

}

Charniak & McDermott, Kapitel 6, Seite 393-405

Referenzen

ÄHNLICHE DOKUMENTE

Immer wieder wird das Thema Teilleistungsstörungen, wie die der Legasthenie oder der Rechenschwäche, nicht nur in der Schule vorstellig gemacht, sondern auch bei

Therefore, write operations on the column store do not directly modify compressed data of the so-called main store, but all changes go into a separate data structure called

If a very large number of indexes is defined, as in the application logging scenario described earlier, it is critical for performance to efficiently identify the subset of indexes

Die Vernichtung der Parasiten und Larven an weichen Gegenständen (Textilien, Vor- hänge, frei verlegte Teppiche, private Textil-Utensilien) erfolgte ebenfalls, und

Im Rahmen der Begutachtung werden jedoch die Verkehrsberater der Kantonspolizei beigezogen und das kantonale Tiefbauamt weicht in aller Regel nicht von deren Einschätzungen

Die Belastungen für die Menschen und die Natur des Münchner Umlandes und des Erdinger Mooses sind bereits heute grenzwertig und dürfen nicht weiter erhöht werden.. Allein schon mit

Falls eine Kundin oder ein Kunde den- noch besorgt ist, können die Haare am Ende des Tages mit einer kleinen Menge eines sehr milden Shampoos, zum Beispiel für sensible

In diesem Zu- sammenhang gibt es eine interessante Homepage SL08 , die sich mit allge- meinen Leitlinien zum Thema MS im Kindesalter befasst!. Hinter SL09 verbirgt sich