21
NANI SEARCH NANI SEARCH NANI SEARCH NANI SEARCH "THE ULTIMATE HELP FOR DESPERATE KIDS" "THE ULTIMATE HELP FOR DESPERATE KIDS" ... ODER EINE KNACKNUSS FÜR PROLOG ANFÄNGER ... ODER EINE KNACKNUSS FÜR PROLOG ANFÄNGER

NANI SEARCH

  • Upload
    stuart

  • View
    67

  • Download
    2

Embed Size (px)

DESCRIPTION

NANI SEARCH. "THE ULTIMATE HELP FOR DESPERATE KIDS" ... ODER EINE KNACKNUSS FÜR PROLOG ANFÄNGER. Präsentationsziele. Spiel Idee Elemente von NANI SEARCH Spiel Demonstration Boxenmodell Schlüsselkonzepte Syntaxanalyse Persönliches Ziel: Power Point als Präsentationsmedium einsetzen. - PowerPoint PPT Presentation

Citation preview

Page 1: NANI SEARCH

NANI SEARCHNANI SEARCH

NANI SEARCH NANI SEARCH "THE ULTIMATE HELP FOR DESPERATE KIDS""THE ULTIMATE HELP FOR DESPERATE KIDS"

... ODER EINE KNACKNUSS FÜR PROLOG ANFÄNGER... ODER EINE KNACKNUSS FÜR PROLOG ANFÄNGER

Page 2: NANI SEARCH

NANI SEARCHNANI SEARCH

PräsentationszielePräsentationsziele

Spiel IdeeSpiel Idee Elemente von NANI SEARCHElemente von NANI SEARCH Spiel Demonstration Spiel Demonstration BoxenmodellBoxenmodell SchlüsselkonzepteSchlüsselkonzepte SyntaxanalyseSyntaxanalyse Persönliches Ziel: Power Point als Persönliches Ziel: Power Point als

Präsentationsmedium einsetzenPräsentationsmedium einsetzen

Page 3: NANI SEARCH

NANI SEARCHNANI SEARCH

Spiel Idee - LayoutSpiel Idee - Layout

OfficeOffice

Dining RoomDining Room

HallHall

KitchenKitchen CellarCellar

Page 4: NANI SEARCH

NANI SEARCHNANI SEARCH

Spiel Idee - Ziel/SteuerungSpiel Idee - Ziel/Steuerung

Ziel des Spiels:Ziel des Spiels:

Auffinden der Decke, Auffinden der Decke, Bärli, Bärli!Bärli, Bärli! . .

Spielsteuerung:Spielsteuerung:

Das Spiel wird mit einfachen englischenDas Spiel wird mit einfachen englischen

Kommandos gesteuert.Kommandos gesteuert.

Page 5: NANI SEARCH

NANI SEARCHNANI SEARCH

Spiel Idee - Mögliche AktionenSpiel Idee - Mögliche Aktionen

In andere Räume gehenIn andere Räume gehen Die Umgebung anschauenDie Umgebung anschauen In Dinge hineinschauenIn Dinge hineinschauen Dinge nehmen oder weglegenDinge nehmen oder weglegen Dinge essenDinge essen Dinge untersuchenDinge untersuchen Dinge ein- oder ausschaltenDinge ein- oder ausschalten

Page 6: NANI SEARCH

NANI SEARCHNANI SEARCH

Spiel Idee - Spiel Idee - Mögliche Kommandos mit Beisp.Mögliche Kommandos mit Beisp.

go to a room ex. go to the officego to a room ex. go to the office look around ex. looklook around ex. look look in something ex. look in the desklook in something ex. look in the desk take something ex. take the appletake something ex. take the apple drop something ex. drop the appledrop something ex. drop the apple eat something ex. eat the apppleeat something ex. eat the appple turn something on ex. turn on the lightturn something on ex. turn on the light inventory your things ex. inventoryinventory your things ex. inventory

Page 7: NANI SEARCH

NANI SEARCHNANI SEARCH

Elemente von NANI SEARCHElemente von NANI SEARCH

LogikLogik Bekannte Programm KonstrukteBekannte Programm Konstrukte Natürliche SpracheNatürliche Sprache Eingabe ParserEingabe Parser Datenbank, welche die aktuelle Umgebung Datenbank, welche die aktuelle Umgebung

beschreibtbeschreibt Befehle, welche die Umgebung manipulierenBefehle, welche die Umgebung manipulieren

Page 8: NANI SEARCH

NANI SEARCHNANI SEARCH

SpieldemonstrationSpieldemonstration

Aufruf mit "main."Aufruf mit "main."

Page 9: NANI SEARCH

NANI SEARCHNANI SEARCH

Vierport- oder BoxenmodellVierport- oder Boxenmodell

Dem Boxen-Modell liegt die Vorstellung Dem Boxen-Modell liegt die Vorstellung zugrunde, dass sich die Ableitbarkeits-Prüfung zugrunde, dass sich die Ableitbarkeits-Prüfung jedes Prädikats einheitlich durch ein Kästchen jedes Prädikats einheitlich durch ein Kästchen darstellen lässt:darstellen lässt:

EXITEXITCALLCALL

FAILFAIL REDOREDO

PrädikatPrädikat

Page 10: NANI SEARCH

NANI SEARCHNANI SEARCH

FailFail

EXITEXITCALLCALL

FAILFAIL REDOREDO

fail/0fail/0

Page 11: NANI SEARCH

NANI SEARCHNANI SEARCH

EXITEXITCALLCALL

FAILFAIL REDOREDO

repeat/0repeat/0

RepeatRepeat

Page 12: NANI SEARCH

NANI SEARCHNANI SEARCH

EingabeschleifeEingabeschleife

command_loop/0command_loop/0

repeat/0repeat/0 get_command(X)get_command(X) do(X)do(X) nanifoundnanifound

Die Abarbeitung einer Klausel, die ein repeat enthält Die Abarbeitung einer Klausel, die ein repeat enthält wird im allgemeinen dadurch beendet, dass die wird im allgemeinen dadurch beendet, dass die Gesamtkonjunktion bewiesen werden kann, das zu Gesamtkonjunktion bewiesen werden kann, das zu beweisende Teilziel kann also gezeigt werden.beweisende Teilziel kann also gezeigt werden.

command_loop:-command_loop:-repeatrepeatget_command(X),get_command(X),do(X),(nanifound; X==quit).do(X),(nanifound; X==quit).

Page 13: NANI SEARCH

NANI SEARCHNANI SEARCH

Schlüsselkonzepte ISchlüsselkonzepte I

Raumverbindungen(Türen)Raumverbindungen(Türen)

door(office,hall).door(office,hall).

wenn wir eine Zweiweg-Verbindung zwischen den wenn wir eine Zweiweg-Verbindung zwischen den

Türen haben möchten müssten wir ein 2. Prädikat Türen haben möchten müssten wir ein 2. Prädikat

schreiben: door(hall,office).schreiben: door(hall,office).

connect(X,Y):- door(X,Y).connect(X,Y):- door(X,Y). door(office,hall).door(office,hall).

connect(X,Y):- door(Y,X).connect(X,Y):- door(Y,X). door(hall,office).door(hall,office).

Implizit besteht eine OR Verknüpfung zwischen den Implizit besteht eine OR Verknüpfung zwischen den

Klauseln.Klauseln.

Page 14: NANI SEARCH

NANI SEARCHNANI SEARCH

Schlüsselkonzepte IISchlüsselkonzepte II

Dynamische Prädikate:Dynamische Prädikate: location/2location/2 here/1here/1 have/1have/1 turned_on/1 oder turned_off/1turned_on/1 oder turned_off/1

Die Fähigeit Daten in der Datenbasis manipulieren zu Die Fähigeit Daten in der Datenbasis manipulieren zu

können ist eine wichtige Eigenschaft von NANIkönnen ist eine wichtige Eigenschaft von NANI

SEARCH. Dadurch können wir dynamisch den Ort des SEARCH. Dadurch können wir dynamisch den Ort des

Spielers wechseln, wie auch die Dinge, die genommen Spielers wechseln, wie auch die Dinge, die genommen

und bewegt werden.und bewegt werden.

Page 15: NANI SEARCH

NANI SEARCHNANI SEARCH

Schlüsselkonzepte IIISchlüsselkonzepte III

move/1 move/1 datiert die Datenbank dynamisch auf, um z.B. datiert die Datenbank dynamisch auf, um z.B.

den neuen Aufenthaltsort des Spielers anzuzeigen. den neuen Aufenthaltsort des Spielers anzuzeigen.

Mit retract wird die alte Klausel here/1 ersetzt. Dadurch Mit retract wird die alte Klausel here/1 ersetzt. Dadurch

wird immer nur eine here/1 Klausel den aktuellen wird immer nur eine here/1 Klausel den aktuellen

Standort beeinhalten.Standort beeinhalten.

move(Place):-move(Place):-retract(here(X)),retract(here(X)), Alte Klausel wird entferntAlte Klausel wird entfernt

asserta(here(Place)).asserta(here(Place)). Neue Klausel wird eingefügtNeue Klausel wird eingefügt

Page 16: NANI SEARCH

NANI SEARCHNANI SEARCH

Schlüsselkonzepte IVSchlüsselkonzepte IV

inventory:-inventory:-have(X),have(X), Sicherstellen,dass man zumindest ein Ding besitzt.Sicherstellen,dass man zumindest ein Ding besitzt.

write('You have: '),nl,write('You have: '),nl,

list_possessions.list_possessions.

inventory:-inventory:-

write('You have nothing'),nl.write('You have nothing'),nl.

Page 17: NANI SEARCH

NANI SEARCHNANI SEARCH

Syntaxanalyse ISyntaxanalyse I

Eine Grammatik beschreibt formal exakt, wie sich jede Eine Grammatik beschreibt formal exakt, wie sich jede

Konstituente der Sprache aus anderen Konstituenten Konstituente der Sprache aus anderen Konstituenten

zusammensetzt.zusammensetzt.

Zum Beispiel besteht der einfache Hauptsatz Zum Beispiel besteht der einfache Hauptsatz

John eats the appleJohn eats the apple

aus der Nominalphrase aus der Nominalphrase JohnJohn und der Verbalphrase und der Verbalphrase

eats the appleeats the apple. Dies kann durch die Regel. Dies kann durch die Regel

S --> NP VPS --> NP VP

ausgedrückt werden. Eine solche Regel heisst auch ausgedrückt werden. Eine solche Regel heisst auch

Produktion.Produktion.

Page 18: NANI SEARCH

NANI SEARCHNANI SEARCH

Syntaxanalyse IISyntaxanalyse II

Nominalphrase: Nominalphrase:

Wortgruppe in einem Satz mit einem Nomen als Wortgruppe in einem Satz mit einem Nomen als

Kernglied.Kernglied.

Verbalphrase: Verbalphrase:

Wortgruppe in einem Satz mit einem Verb als Wortgruppe in einem Satz mit einem Verb als

Kernglied.Kernglied.

Konstituente:Konstituente:

Sprachliche Einheit.Sprachliche Einheit.

Page 19: NANI SEARCH

NANI SEARCHNANI SEARCH

Syntaxanalyse IIISyntaxanalyse III

Für unser Mini Fragment des englischen nehmen wir Für unser Mini Fragment des englischen nehmen wir

eine Grammatik an, die aus folgenden Produktionen eine Grammatik an, die aus folgenden Produktionen

besteht.besteht.

1. S --> NP VP1. S --> NP VP

2. NP --> DET N2. NP --> DET N

3. NP --> N3. NP --> N

4. VP --> V NP4. VP --> V NP

5. VP --> V5. VP --> V

Page 20: NANI SEARCH

NANI SEARCHNANI SEARCH

Syntaxanalyse IVSyntaxanalyse IV

Lexikon: Ist durch folgende Lexikon: Ist durch folgende

Wörter und ihre syntakti- Wörter und ihre syntakti-

sche Kategorien gegeben:sche Kategorien gegeben:

johnjohn NN

appleapple NN

thethe DETDET

eatseats VV

NPNP

VV NPNP

VPVP

DETDET NN

NN

SS

JohnJohn eatseats thethe appleapple

Page 21: NANI SEARCH

NANI SEARCHNANI SEARCH

Rück- und AusblickRück- und Ausblick NANI SEARCH Beinhaltet einfache bis komplizierte PROLOG-NANI SEARCH Beinhaltet einfache bis komplizierte PROLOG-

Konstrukte, .Konstrukte, . Mit dem Debugger kann der Programmablauf nachvollzogen werden.Mit dem Debugger kann der Programmablauf nachvollzogen werden.

Papi, if there is Artificial Intelligence, there’s bound to be some artificial stupidity!!!

Ha Ha Hi