24
1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

Embed Size (px)

Citation preview

Page 1: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

1

Semantik und Pragmatik

Übung 2ModelleFrank Schilder

Page 2: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

2

Einführung

Die Aussagen- und Prädikatenlogik ist eine formale Beschreibungsprache zur Darstellung von semantischen Inhalten.

Natürlich-sprachliche Sätze können durch Formeln der Aussagenlogik bzw. Prädikatenlogik beschrieben werden. Peter kommt nicht zur Vorlesung. ÿkommen(Peter,Vorlesung) Alle Vorlesungen sind interessant. "x vorlesung(x) Æ interessant(x)

Page 3: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

3

Struktur der Übung

Wie schreibt man ein PROLOG Programm, das Modelle erster Ordnung überprüft? Definition des Vokabulars Repräsentation der Modelle Darstellung der Formeln

Spezifikation der Formel-Evaluierung Erster Ansatz Probleme Lösung

Page 4: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

4

Logik erster Ordnung

Warum Logik? Formale Beschreibung von Sachverhalten Entscheidungsverfahren: Wann ist eine Beschreibungen

in einer Situation wahr oder falsch!

Ziel: Entscheiden, ob bestimmte Beschreibungen in einer gegebenen Situation wahr oder falsch sind!¯ Vorgehen: Formeln erster Ordnung erstellen und einen

Evaluierungsprozeß entwickeln.

Page 5: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

5

Fragen zur Aussagenlogik

Was ist Erfüllbarkeit?Wie kann der Formalismus in PROLOG programmiert

werden (Model Checker)? Was ist das Vokabular? Wie werden Modelle repräsentiert? Wie können Aussagen ausgewertet werden?

Erste Grundvoraussetzung: Wir benötigen ein Vokabular bestehend aus

n-stelligen Relationen und Konstanten (Namen): {(like,2),(cute,1),(bond,0)...}

Page 6: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

6

Modelle

Ein Modell M = (D,F) besteht aus zwei Teilen: Eine Ansammlung an Entitäten, auf die sich das Modell

beziehen soll (die Domäne D). Eine Zuordnung, die uns genau sagt, wie die Symbole

des Vokabulars zu interpretieren sind (die Interpretationsfunktion F ).

Sei D = {d1,d2,d3,d4}Dann kann F wie folgt aussehen:

F(bond) = d1,F(loren)=d2, F(pavarotti)=d3, F(likes)={(d1,d2),(d2,d3)}

Page 7: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

7

Logik erster Ordnung

Eine Sprache erster Ordnung ist definiert durch: Alle 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) Die Klammern ) und ( und das Komma.

Page 8: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

8

Wohlgeformte Formeln

Eine Formel ist wohlgeformt (well formed formula, wff ) nach der Definition: Alle 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.

Das sind alle wffs.

Page 9: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

9

Logische Konzepte:Erfüllbarkeit

Erfü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 Ig/F()

Page 10: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

10

Def. Erfüllbarkeit

M,g R(t1,...,tn) gdw. (Ig/F(t1),...Ig/F(tn)) Œ 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 gM,g x gdw. M,g‘ für alle x-

Varianten g‘ von g

Page 11: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

11

Freie und gebundene Variablen

Variablen werden durch Quantoren gebunden:¬ (gluecklich(x) x (male(x) & essen(x,ue-eier)))

FREI GEBUNDEN

Eine Formel ohne freie Variablen heißt Satz.Eine freie Variable ist analog zu einem

Pronomen in dem folgenden Satz:Peter ißt sein drittes Ü-ei. Er ist glücklich.

Page 12: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

12

Vorgehen

Umsetzung einer formalen Beschreibung in ein PROLOG-Programm

Verstehen des Unifikationmechanismus und des backtracking in PROLOG

Erkennen von Schwierigkeiten bei der Implementation

Page 13: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

13

Definition des Vokabulars

Formal besteht ein Vokabular aus n-stelligen Relationen und Konstanten:

{(like,2),(happy,1),(bond,0),(loren,0)}In 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).

Page 14: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

14

Repräsentation der Modelle

Können alle Modelle dargestellt werden? Nein, da es unendlich

viele gibt!Wie sieht die Darstellung

der Domäne aus? Alle Elemente der

Domäne erhalten einen Namen!

Die Modelle sind exakt!Wie können finite und

exakte Modelle repräsentiert werden? als Liste: [cute(bond), like(loren,bond)]

Wieviele Individuen?Negatives Wissen?

(z.B. ÿcute(loren))

Page 15: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

15

Darstellung der Formeln

Wie werden Variablen dargestellt?

Wie werden Konstanten und Relationensymbole repräsentiert?

Als PROLOG- Variablen: X oder _v

als PROLOG-Atome happy(loren)

Page 16: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

16

Formeln: Junktoren

Wie werden die boolschen Junktoren dargestellt? als Operatoren (Neu: In SWI-Prolog 3.3.0 sind

Operatoren lokal in dem Modul definiert!) :- op(900,yfx,user:(>)), op(850,yfx,user:(v)), op(800,yfx,user:(&)), op(750,fx,user:(~)).

Wie werden die Quantoren repräsentiert? forall(X,cute(X)) und exists(Y,boring(Y))

Page 17: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

17

Evaluierung der Formeln

Die 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).

Page 18: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

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 ∫ÆB ÿA⁄B) abgeprüft: satisfy(Formula1 v Formula2, Model):- satisfy(Formula2,Model); \+satisfy(Formula1,Model).

Page 19: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

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).

Page 20: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

20

Problem 1 und Lösung

Was passiert mit ?- evaluate(X,1).

Das Programm landet in einer Unendlichkeits-Schleife

Wieso?

Lösung: Die Klausel evaluate/2 ändern und Variablen abfangen:

evaluate(Formula, Example):- \+var(Formula), example(Example,Model), sem(Formular,Model).

Page 21: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

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!

Grund: Negation as failure! Lösung?

Instantiieren der PROLOG-Variablen mit den Konstanten aus dem Modell.

Page 22: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

22

Problem 3

Was 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!

Lösung? Überprüfen der Wohlgeformtheit der Formel

Page 23: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

23

Zusammenfassung

Umsetzung eines Formalismus mittels PROLOG: Repräsentation des Vokabulars Evaluierung der Formeln

Probleme entstanden durch Variablen Negation as failure Unbekannte Konstanten

Lösung der Probleme durch Abprüfen der Wohlgeformtheit der Ausdrücke!

Page 24: 1 Semantik und Pragmatik Übung 2 Modelle Frank Schilder

24

Quellen

Literatur: Uwe Schöning. Logik für Informatiker. Spektrum

Akad. Verlag, Oxford, 1995, Kapitel 1. L.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