Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder."—  Präsentation transkript:

1 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

2 2 Einführung zDie Aussagen- und Prädikatenlogik ist eine formale Beschreibungsprache zur Darstellung von semantischen Inhalten. zNatürlich-sprachliche Sätze können durch Formeln der Aussagenlogik bzw. Prädikatenlogik beschrieben werden. yPeter kommt nicht zur Vorlesung. ÿkommen(Peter,Vorlesung) yAlle Vorlesungen sind interessant. x vorlesung(x) interessant(x)

3 3 Struktur der Übung zWie schreibt man ein PROLOG Programm, das Modelle erster Ordnung überprüft? yDefinition des Vokabulars yRepräsentation der Modelle yDarstellung der Formeln zSpezifikation der Formel-Evaluierung yErster Ansatz yProbleme yLösung

4 4 Logik erster Ordnung zWarum Logik? yFormale Beschreibung von Sachverhalten yEntscheidungsverfahren: Wann ist eine Beschreibungen in einer Situation wahr oder falsch! zZiel: Entscheiden, ob bestimmte Beschreibungen in einer gegebenen Situation wahr oder falsch sind! ¯Vorgehen: Formeln erster Ordnung erstellen und einen Evaluierungsprozeß entwickeln.

5 5 Fragen zur Aussagenlogik zWas ist Erfüllbarkeit? zWie kann der Formalismus in PROLOG programmiert werden (Model Checker)? yWas ist das Vokabular? yWie werden Modelle repräsentiert? yWie können Aussagen ausgewertet werden? zErste Grundvoraussetzung: y Wir benötigen ein Vokabular bestehend aus xn-stelligen Relationen und Konstanten (Namen): {(like,2),(cute,1),(bond,0)...}

6 6 Modelle zEin Modell M = (D,F) besteht aus zwei Teilen: yEine Ansammlung an Entitäten, auf die sich das Modell beziehen soll (die Domäne D). yEine Zuordnung, die uns genau sagt, wie die Symbole des Vokabulars zu interpretieren sind (die Interpretationsfunktion F ). zSei D = {d1,d2,d3,d4} zDann kann F wie folgt aussehen: yF(bond) = d1,F(loren)=d2, F(pavarotti)=d3, F(likes)={(d1,d2),(d2,d3)}

7 7 Logik erster Ordnung zEine Sprache erster Ordnung ist definiert durch: yAlle Symbole des Vokabulars (die nicht- logischen Symbole) Eine abzählbare Menge an Variablen x, y, z... Die Boolschen Konnektoren ¬ (Negation), & (Und), (Oder) und (Implikation). Die Quantoren (All-) und (Existenzquantor) yDie Klammern ) und ( und das Komma.

8 8 Wohlgeformte Formeln zEine Formel ist wohlgeformt (well formed formula, wff ) nach der Definition: yAlle atomaren Formeln sind wffs. Falls und wffs sind, sind es auch ¬ ( & und ( Falls eine wff ist und x eine Variable, dann sind x als auch x wffs. yDas sind alle wffs.

9 9 Logische Konzepte: Erfüllbarkeit zErfüllbarkeit ist definiert bezüglich einer Formel einem Modell M = (D,F) und einer Wertzuweisungsfunktion g für Variablen Sei ein Term, dann wird dieser Term interpretiert als F( ), falls eine Konstante ist. als g( ), falls eine Variable ist. Allgemein schreiben wir I g/F ( )

10 10 Def. Erfüllbarkeit M,g R(t 1,...,t n ) gdw. (I g/F (t 1 ),...I g/F (t n )) Œ F(R) M,g ¬ gdw. nicht M,g M,g & gdw. M,g und M,g M,g gdw. M,g oder M,g M,g gdw. nicht M,g oder M,g M,g x gdw. M,g für einige x- Varianten g von g M,g x gdw. M,g für alle x- Varianten g von g

11 11 Freie und gebundene Variablen zVariablen werden durch Quantoren gebunden: ¬ (gluecklich(x) x (male(x) & essen(x,ue-eier))) FREI GEBUNDEN zEine Formel ohne freie Variablen heißt Satz. zEine freie Variable ist analog zu einem Pronomen in dem folgenden Satz: Peter ißt sein drittes Ü-ei. Er ist glücklich.

12 12 Vorgehen zUmsetzung einer formalen Beschreibung in ein PROLOG-Programm zVerstehen des Unifikationmechanismus und des backtracking in PROLOG zErkennen von Schwierigkeiten bei der Implementation

13 13 Definition des Vokabulars zFormal besteht ein Vokabular aus n-stelligen Relationen und Konstanten: z{(like,2),(happy,1),(bond,0),(loren,0)} zIn PROLOG erfolgt die Darstellung als... Klauseln in der Datenbasis: relation(like,2). constant(loren). relation(eat,2). constant(bond). relation(boring,1).constant(pavarrotti). relation(cute,1). constant(peter). relation(happy,1). constant(ue-eier).

14 14 Repräsentation der Modelle zKönnen alle Modelle dargestellt werden? yNein, da es unendlich viele gibt! zWie sieht die Darstellung der Domäne aus? yAlle Elemente der Domäne erhalten einen Namen! zDie Modelle sind exakt! zWie können finite und exakte Modelle repräsentiert werden? als Liste: [cute(bond), like(loren,bond)] zWieviele Individuen? Negatives Wissen? (z.B. ÿcute(loren))

15 15 Darstellung der Formeln zWie werden Variablen dargestellt? zWie werden Konstanten und Relationensymbole repräsentiert? Als PROLOG- Variablen: X oder _v als PROLOG-Atome happy(loren)

16 16 Formeln: Junktoren zWie werden die boolschen Junktoren dargestellt? yals Operatoren (Neu: In SWI-Prolog sind Operatoren lokal in dem Modul definiert!) :- op(900,yfx,user:(>)), op(850,yfx,user:(v)), op(800,yfx,user:(&)), op(750,fx,user:(~)). zWie werden die Quantoren repräsentiert? forall(X,cute(X)) und exists(Y,boring(Y))

17 17 Evaluierung der Formeln zDie Formel enthält Fakten, die das Modell zur Verfügung stellt (z.B. glücklich(loren)): satisfy(Formula,Model):- member(Formula,Model). Der boolschen Junktoren & und v sind in model1.pl definiert als : satisfy(Formula1 & Formula2, Model):- satisfy(Formula1,Model), satisfy(Formula2,Model). satisfy(Formula1 v Formula2, Model):- satisfy(Formula1,Model); satisfy(Formula2,Model).

18 18 Evaluierung von negierten Formeln Die Negation wird mit Hilfe der PROLOG negation \+ überprüft: satisfy(~Formula, Model):- \+satisfy(Formula,Model). Entsprechend wird die Implikation ( A ÿ ) abgeprüft: satisfy(Formula1 v Formula2, Model):- satisfy(Formula2,Model); \+satisfy(Formula1,Model).

19 19 Testen der Modelle Die Modelle sind als als example/2 abgespeichert: example(1,[cute(bond), cute(loren)...]). example(2,[cute(loren),..]). Der Aufruf erfolgt mit evaluate/2 : evaluate(Formula,Example):- example(Example,Model), satisfy(Formula,Model).

20 20 Problem 1 und Lösung Was passiert mit ?- evaluate(X,1). Das Programm landet in einer Unendlichkeits - Schleife Wieso? zLösung: Die Klausel evaluate/2 ändern und Variablen abfangen: evaluate(Formula, Example):- \+var(Formula), example(Example,Model), sem(Formular,Model).

21 21 Problem 2 Wir testen cute(X) für Modell 1: ?- evaluate(cute(X),1). X=bond; X=loren Wir testen ~cute(X) für Modell 1: PROLOG antwortet No! zGrund: Negation as failure! zLösung? yInstantiieren der PROLOG-Variablen mit den Konstanten aus dem Modell.

22 22 Problem 3 zWas passiert mit Anfragen, die Symbole beinhalten, die nicht im Modell sind? ?- evaluate(happy(goldfinger),1). Die Antwort ist No. Aber die Anfrage nach ?- evaluate(~happy(goldfinger),1). wird mit Yes beantwortet! zLösung? yÜberprüfen der Wohlgeformtheit der Formel

23 23 Zusammenfassung zUmsetzung eines Formalismus mittels PROLOG: yRepräsentation des Vokabulars yEvaluierung der Formeln zProbleme entstanden durch yVariablen yNegation as failure yUnbekannte Konstanten zLösung der Probleme durch Abprüfen der Wohlgeformtheit der Ausdrücke!

24 24 Quellen zLiteratur: yUwe Schöning. Logik für Informatiker. Spektrum Akad. Verlag, Oxford, 1995, Kapitel 1. yL.T.F. Gamut. Logic, Language, and Meaning, Vol. 1, Chicago Press, 1991, chapter 2. Sourcecode für exampleModels.pl/model1.pl: /home/wsv_1/schilder/SemPrag/Models


Herunterladen ppt "1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder."

Ähnliche Präsentationen


Google-Anzeigen