Semantik und Pragmatik

Slides:



Advertisements
Ähnliche Präsentationen
Programmieren in Logik
Advertisements

Temporale Logiken: LTL und CTL
Hier einige Hieroglyphen:
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
6. Regelbasierte Systeme
Frame-Logik Eine Einführung Andreas Glausch.
4. Logik – und ihre Bedeutung für WBS
5. Aussagenlogik und Schaltalgebra
Default Logiken Zhao Li
Organisatorisches Klausur für Übungsschein (Anfang Januar)
8. Formale Sprachen und Grammatiken
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Sommersemester, 1999 © Frank Schilder Semantik und Pragmatik Referentielle Netze Frank Schilder.
Syntax der Aussagenlogik
Verifizieren versus Berechnen
Algorithmen und Komplexität
Christian Schindelhauer
Prolog und Prädikatenlogik I
Java: Objektorientierte Programmierung
DOM (Document Object Model)
C- Syntax. Bestandteile der Sprache C: Ausdrücke Anweisungen.
Java- Syntax.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Kapitel 5 Stetigkeit.
Semantik von Prolog & Unifikation
Syntax von Prolog & Familiendatenbasis
Fakten, Regeln und Anfragen
Prof. Dr. T. Kudraß1 Relationenkalkül. Prof. Dr. T. Kudraß2 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül.
Mathematische und logische Grundlagen der Linguistik
Fantasieregel Die Aussagenlogik
Christian Schindelhauer
Christian Schindelhauer
Semantik und Pragmatik Übung 4 Fragment 2 Skopusambiguitäten Frank Schilder.
Semantik und Pragmatik Übung7 Lambda Spezial Frank Schilder.
Semantische Sprachverarbeitung Vorlesung 7 Diskursrepräsentationstheorie.
Isabelle/HOL ( Kripke Structures & Model Checking ) Ying Wang, Nelli Bärsch, Bartosz Rynarzewski,
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Aufgabenstellung Aufgabenstellung: What do the following terms (formulae) express? Which of these terms characterize all sequences of real numbers , x_n.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Informatik III Christian Schindelhauer Wintersemester 2006/07
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
1 Computergestützte Verifikation Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model.
7. Formale Sprachen und Grammatiken
Tupelkalkül: Notation (1)
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Kapitel 4: Aussagen-, Prädikatenlogik
Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann.
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 3 / 1 Algebraische Hülle und Homomorphie A = [A, F ] sei  -Algebra. Eine.
Semantik und Pragmatik
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
(Wirtschafts-)mathematik I Mathe im Wandel der Zeit Volksschule 1960: Ein Bauer verkauft einen Sack Kartoffeln für 50 DM. Die Erzeugerkosten betragen 40.
SMART Systems (Vorlesung: KI & XPS) zBeim vorigen Mal: ySemantische Netze, Frames, XML, RDF(S), XMLS zInhalt heute: yKL-ONE, Einführung in Beschreibungslogiken.
Dr. Wolfram Amme, Grundsätze der Logikprogrammierung, Informatik II, FSU Jena, SS Grundsätze der Logikprogrammierung.
1 Vo#8 Prädikatenlogik Semantik, Zuzana Tuhárska, Matej-Bel- Universität in Banská Bystrica.
Logik in der Informatik II
4. Logik – und ihre Bedeutung für WBS
 Präsentation transkript:

Semantik und Pragmatik Übung 2 Modelle Frank Schilder

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)

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

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.

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

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

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.

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.

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 t ein Term, dann wird dieser Term interpretiert als F(t), falls t eine Konstante ist. als g(t), falls t eine Variable ist. Allgemein schreiben wir Ig/F(t)

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 g M,g x  gdw. M,g‘ , für alle x- Varianten g‘ von g

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.

Vorgehen Umsetzung einer formalen Beschreibung in ein PROLOG-Programm Verstehen des Unifikationmechanismus und des backtracking in PROLOG Erkennen von Schwierigkeiten bei der Implementation

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

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

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)

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

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

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

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

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

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.

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

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!

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