SWP Logische Programme



Ähnliche Dokumente
Inhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP

5 Logische Programmierung

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Logische Folgerung. Definition 2.11

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Semantik von Formeln und Sequenzen

Grundlagen der Künstlichen Intelligenz

Was ist Logische Programmierung?

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Prolog basiert auf Prädikatenlogik

Theorie der Informatik

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen

1 Mathematische Grundlagen

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie

Einführung in die Fuzzy Logic

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Theoretische Grundlagen des Software Engineering

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Wissensbasierte Systeme

Logik für Informatiker

Binäre Suchbäume (binary search trees, kurz: bst)

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Korrelation (II) Korrelation und Kausalität

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Erfahrungen mit Hartz IV- Empfängern

FAMILIENSTAND ALLEINERZIEHENDE MÜTTER

Repetitionsaufgaben: Lineare Gleichungen

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni Formale Methoden II p.1/30

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Die Bedeutung der Kinder für ihre alkoholabhängigen Mütter

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Lineare Differentialgleichungen erster Ordnung erkennen

Anleitung über den Umgang mit Schildern

Repetitionsaufgaben Wurzelgleichungen

Beispiele für Relationen

Informationsblatt Induktionsbeweis

Professionelle Seminare im Bereich MS-Office

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug)

Erfüllbarkeit und Allgemeingültigkeit

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN


Sehr geehrte Damen und Herren

Einführung in das Programmieren Prolog Sommersemester Teil 2: Arithmetik. Version 1.0

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Wie Sie beliebig viele PINs, die nur aus Ziffern bestehen dürfen, mit einem beliebigen Kennwort verschlüsseln: Schritt 1

Informationen zum Ambulant Betreuten Wohnen in leichter Sprache

7 Rechnen mit Polynomen

Zeichen bei Zahlen entschlüsseln

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Anhang. 3. Was denken Sie: An wen richtet sich das Lernprogramm für Psycholinguistik? zu nicht nicht zu

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Linienland, Flächenland und der Hyperraum Ein Ausflug durch die Dimensionen

So versprüht man digitalen Lockstoff

Statuten in leichter Sprache

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

WS 2008/09. Diskrete Strukturen

Animationen erstellen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Welche Staatsangehörigkeit(en) haben Sie?... Mutter geboren?...

Bedienungsanleitung - Webtool

Produktionsplanung und steuerung (SS 2011)

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Einführung in die Algebra

Windows Server 2012 RC2 konfigurieren

AutoTexte und AutoKorrektur unter Outlook verwenden

Grundbegriffe der Informatik

Lehrer: Einschreibemethoden

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

Wärmebildkamera. Arbeitszeit: 15 Minuten

Anmelden und Vorträge einreichen auf der JBFOne-Website Inhalt

Gutes Leben was ist das?

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

50 Fragen, um Dir das Rauchen abzugewöhnen 1/6

9. Übung Formale Grundlagen der Informatik

Grundbegriffe der Informatik

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Transkript:

SWP Logische Programme Alexander Felfernig, Stephan Gspandl Institut für Softwaretechnologie {alexander.felfernig,sgspandl}@ist.tugraz.at Institute for Software Technology

Inhalt Motivation Logische Programme (LP) Resolution Unifikation Logische Programme und Datenbanken Semantik Institute for Software Technology 2

LP: Motivation Komplexe und wissensintensive Anwendungen, bspw. Konfiguration von Autos Beispiel für Konfigurationswissensbasis: ~30.000 Komponenten ~17.500 Constraints ~Änderungsrate pro Jahr: 40% OO, prozedurale und funktionale Sprachen anwendbar, aber kostenintensiv (Faktor 10-1000)! Logische Programme: Trennung zwischen WAS? und WIE? Weitere Anwendungen? Institute for Software Technology 3

LP: Wissensrepräsentation Prädikatenlogik 1. Stufe (FOL) Programmierung: Formalisierung von Wissen der Anwendungsdomäne Programm = Reihe von Axiomen Berechnung = Beweis eines Statements Spezifikation des WAS? und nicht des WIE? Institute for Software Technology 4

Beispiel: (Bibel)Verwandtschaften Terach Sarah Abraham Nachor Haran Isaak Jiskah Milkah Lot "Abraham opfert Isaak": Ausschnitt eines Gemäldes von Laurent de La Hire (1606-1656). Institute for Software Technology 5

Formalisierung Prädikate: father, mother, male, female Verwendung für Relationen (mehrstellig) father(x,y).. X ist der Vater von Y mother(x,y).. X ist die Mutter von Y Eigenschaften (einstellig) male(x).. X ist männlich female(x).. X ist weiblich Institute for Software Technology 6

Wissensbasis (test.pl) father(terach,abraham). father(terach,nachor). father(terach,haran). father(abraham,isaak). father(haran,lot). father(haran,milkah). father(haran,jiskah). mother(sarah,isaak). male(terach). male(abraham). male(nachor). male(haran). male(isaak). male(lot). female(sarah). female(milkah). female(jiskah). Institute for Software Technology 7

Anfragen Stelle Fragen an die Wissensbasis Beispiele: 1. Ist Abraham der Vater von Isaak? 2. Wer ist die Mutter von Isaak? Antworten (direkt ableitbar): Zu 1.: JA Zu 2.: Sarah (ist die Mutter von Isaak) Institute for Software Technology 8

Beispiel in PROLOG BPROLOG: www.probp.com (MSDOS shell) Laden der Wissensbasis: consult(test). Abfragen Mutter von Isaak?- mother(x, isaak). X = sarah yes Kinder von Terach?- father(terach, X). X = abraham?; X = nachor?; X = haran yes Institute for Software Technology 9

Erweiterungen (Wissensbasis) Definition von Regeln Beispiel: brother(x,y) X ist der Bruder von Y, wenn X und Y die Kinder von einem Elternteil sind und X zusätzlich ein Mann ist. (parent(z,x) parent(z,y) male(x)) brother(x,y) (father(x,y) mother(x,y)) parent(x,y) Institute for Software Technology 10

Beispiel in PROLOG Erweiterte Prädikate X ist Bruder von Y brother(x,y):- parent(x,y):- parent(z,x), parent(z,y), male(x), X\=Y. father(x,y); mother(x,y). Brüder von Abraham?- brother(abraham,y). Y = nachor?; Y = haran? yes Institute for Software Technology 11

Weitere Beispiele Definiere natürliche Zahlen: 0 ist eine natürliche Zahl. Ist X eine natürliche Zahl, dann ist auch Ihr Nachfolger (s(x)) eine natürliche Zahl. Definiere Addition: 0 mit jeder beliebigen Zahl X addiert, ergibt X. Wenn X+Y=Z gilt, dann gilt auch s(x)+y=s(z). Institute for Software Technology 12

Beispiel in PROLOG 0 ist eine natürliche Zahl n(0). Ist X eine natürliche Zahl, dann ist auch Ihr Nachfolger (s(x)) eine natürliche Zahl n(s(x)):- n(x). /* n(x) n(s(x)) */ Abfrage?- n(x). X = 0?; X = s(0)?; X = s(s(0)) yes Institute for Software Technology 13

Beispiel in PROLOG (cont.) 0 mit jeder beliebigen Zahl Y addiert, ergibt Y plus(0,y,y). Wenn X+Y=Z gilt, dann gilt auch s(x)+y=s(z). plus(s(x),y,s(z)):- plus(x,y,z). Abfrage?- plus(s(0),s(0),s(s(0))). yes?- plus(s(0),x,s(s(s(0)))). X = s(s(0))? yes Institute for Software Technology 14

Zusammenfassung Deklarative Sichtweise: Beschreibung der gesuchten Lösung NICHT Beschreibung des Lösungswegs Wie können Anfragen automatisiert beantwortet werden? Institute for Software Technology 15

Beantworten von Anfragen ( erste Idee ) Versuche Anfrage aus den Regeln mittels logischer Schlüsse zu belegen. Ist das möglich, wird die Anfrage mit Ja beantwortet, ansonsten mit Nein. Beispiel: Sind Abraham und Haran Brüder? Formal: brother(abraham,haran)? Institute for Software Technology 16

father(terach,abraham) (father(x,y) mother(x,y)) parent(x,y) parent(terach,abraham) father(terach,haran) male(abraham) parent(terach,haran) (parent(x,y) parent(x,z) male(y)) brother(y,z) brother(abraham,haran) ANTWORT: Institute for Software Technology 17

Durchführung von logischen Schlüssen? Wie kann ich aus bestehenden Fakten und Regeln neues Wissen ableiten? In der Aussagenlogik: Beispiel: Aus regen und der Regel regen nass folgt nass. Formal: regen (regen nass) nass Institute for Software Technology 18

Schlüsse in der Aussagenlogik AL Interpretationsfunktion I: AL {T,F} Für beliebige Aussagen x,y gilt: I(x y)=t, wenn I(x)=I(y)=T I(x y)=t, wenn I(x)=T oder I(y)=T I(x y)=t, wenn I(x)=T und I(y)=T, oder wenn I(x)=F I( x)=t, wenn I(x)=F Institute for Software Technology 19

Schlüsse in AL (cont.) Beispiel: Was ist I(regen nass)? Der Wert hängt von der Interpretation der Aussagen ab, d.h. von I(regen) und I(nass). Zum Beispiel ist I(regen nass)=t, wenn I(regen)=F. Definition: Eine wahre Interpretation eines aussagelogischen Satzes heißt Modell. I(regen)=F, I(nass)=T ist ein Modell für obiges Beispiel. Institute for Software Technology 20

Schlüsse in AL (cont.) Ein aussagenlogischer Satz y folgt aus einem aussagenlogischen Satz x (x y), wenn alle Modelle von x auch Modelle von y sind. Beispiel: I(regen)=T, I(nass)=T ist das einzige Modell für regen (regen nass) und auch ein Modell fürnass. Daher gilt: regen (regen nass) nass Institute for Software Technology 21

Modus Ponens Regel Generalisierung der letzten Schlußfolgerung: x 1.. x n (x 1.. x n y) y Sie dient der Ableitung neuer Fakten aus der bestehenden Wissensbasis. Regeln dürfen nur die Form x 1.. x n y haben (Horn-Klauseln). Institute for Software Technology 22

Schlüsse in der Prädikatenlogik Unterschiede zwischen Prädikatenlogik und Aussagenlogik? Variablen Quantoren (All- und Existenzquantor) Objekte und Beziehungen Allgemeinere Aussagen sind möglich Einschränkung: Im Folgenden wird nur der Allquantor berücksichtigt. Institute for Software Technology 23

Variablensubstitution Variable können durch Werte substituiert werden. Eine Substitution ist eine Menge von Paaren x i t i, wo x i eine Variable und t i einen Term bezeichnet. Die Variable x i kommt dabei in der Menge nur maximal einmal vor und darf auch in keinem Term t k mit k i vorkommen. Institute for Software Technology 24

Definition (Term): Terme Konstanten sind Terme Variablen sind Terme Sind t 1,..,t n Terme und ist f ein n-stelliges Funktionensymbol, dann ist auch f(t 1,..,t n ) ein Term. Beispiele: 0, X, s(0), s(s(0)),... Institute for Software Technology 25

Substitutionsanwendung Sei Θ eine Substitution und t ein Term. Einen Term tθ erhält man, indem man alle Variablen x i in t, für die es einen Eintrag x i t i in Θ gibt, durch t i ersetzt. Der Term tθ wird auch Instanz von t genannt. Beispiel: Aus dem Term male(x) und der Substitution Θ={X terach} erhält man male(terach). Institute for Software Technology 26

Anfragen Anfrage: Wer ist die Mutter von Isaak? Formal: mother(x,isaak)? mother(x,isaak). {X sarah} mother(sarah,isaak) Institute for Software Technology 27

Beispiel - Wissensdarstellung Textuelle Angabe: 1. Alle Vögel sind Tiere. 2. Alle Adler sind Vögel. 3. Karl liebt Tiere. 4. Kurti ist ein Vogel. 5. Hansi ist ein Adler. Institute for Software Technology 28

Lösung tier(x) := vogel(x). vogel(x) := adler(x). liebt(karl,x) := tier(x). vogel(kurti). adler(hansi). Institute for Software Technology 29

Anmerkung zur Konversion von Texten in Logik (bzw. LP) Prädikate beschreiben Eigenschaften von Dingen oder deren Relation zu anderen Dingen. Wenn-Dann-Sätze werden zu Implikationen Wird ein Allquantor verwendet, folgt (oft/meist) eine Implikation. Institute for Software Technology 30