Answer Set Programming



Ähnliche Dokumente
3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik

Formale Sprachen und Grammatiken

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

Was meinen die Leute eigentlich mit: Grexit?

Beschreibungslogiken. Daniel Schradick

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

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

Semantik von Formeln und Sequenzen

Primzahlen und RSA-Verschlüsselung

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

Grundlagen der Künstlichen Intelligenz

Grundbegriffe der Informatik

Die Invaliden-Versicherung ändert sich

Nichtmonotones Schließen

Fuzzy Logic. Seminar im Sommersemester 2006 an der TU-Darmstadt (Prof. Dr. Fürnkranz) 06/18/06 Knowledge Engineering in Computer Spielen 1

Outlook Vorlagen/Templates

OutLook 2003 Konfiguration

Übungen zur Softwaretechnik

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

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Informationsblatt Induktionsbeweis

Grammatiken. Einführung

Theorie der Informatik

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Elliptische Kurven in der Kryptographie

Übung - Datensicherung und Wiederherstellung in Windows Vista

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Einführung in die Fuzzy Logic

EINFACHES HAUSHALT- KASSABUCH

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

So erstellen Sie Ihren Business Avatar

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Frieder Nake: Information und Daten

Einführung in. Logische Schaltungen

Die Post hat eine Umfrage gemacht

SMART Newsletter Education Solutions April 2015

Urlaubsregel in David

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

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

Data Mining: Einige Grundlagen aus der Stochastik

Aussage: Das Seminar ist hilfreich für meine berufliche Entwicklung

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

SWOT Analyse zur Unterstützung des Projektmonitorings

Firewalls für Lexware Info Service konfigurieren

Wir machen neue Politik für Baden-Württemberg

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

INTERNET UND MMS MIT DEM QTEK2020 MARCO 28. MÄRZ 04

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Spezialisierung Business Intelligence

Woche 1: Was ist NLP? Die Geschichte des NLP.

Hilfe zur Urlaubsplanung und Zeiterfassung

Prädikatenlogik - Micromodels of Software


Clevere Regler schnell entworfen

Prolog basiert auf Prädikatenlogik

Tourist Town. wenn Computer ins Schwitzen geraten. Prof. Dr. Isolde Adler IT-Girls Night

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Ebenenmasken Grundlagen

Theoretische Grundlagen des Software Engineering

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Spiel und Spaß im Freien. Arbeitsblat. Arbeitsblatt 1. Zeichnung: Gisela Specht. Diese Vorlage darf für den Unterricht fotokopiert werden.

Process Instrumentation and Analytics. Ontologie. Was ist das? und - Was kann man damit machen? Vortrag von Carola Brix

LINGO: Eine kleine Einführung

Firewalls für Lexware Info Service konfigurieren

Die Windows 7 Sicherung im Detail

Algorithmen & Datenstrukturen 1. Klausur

Grundbegriffe der Informatik

Kapitel 5: Dynamisches Programmieren Gliederung

Die Wirtschaftskrise aus Sicht der Kinder

IMS - Learning Design

DER SELBST-CHECK FÜR IHR PROJEKT

Logik für Informatiker

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute.

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

1 Mathematische Grundlagen

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Installation und Inbetriebnahme von Microsoft Visual C Express

Erklärung zu den Internet-Seiten von

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?

Dokumentation für das Spiel Pong

Ein wichtiges Konzept der Software-Architektur

teischl.com Software Design & Services e.u. office@teischl.com

Durchführung der Datenübernahme nach Reisekosten 2011

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Ein Vorwort, das Sie lesen müssen!

Java Kurs für Anfänger Einheit 5 Methoden

Alle gehören dazu. Vorwort

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!

ITT WEB-Service DEMO. Kurzbedienungsanleitung

Gimp Kurzanleitung. Offizielle Gimp Seite:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Transkript:

Answer Set Programming mit Answer Set Prolog (A-Prolog) Wangler Thomas Logikprogrammierung Institut für Computerlinguistik Universität Heidelberg

Inhaltsverzeichnis Inhaltsverzeichnis

Inhaltsverzeichnis Inhaltsverzeichnis 1. Einführung 2. A-Prolog 3. Ein Beispiel 4. Anwendungen 5. Ausblick

1. Einführung 1. Einführung 1. 1.1 Was ist Answer Set Programming? - Eine Art der deklarativen (Logik)-Programmierung - Beschäftigt sich vornehmlich mit Suchproblemen - Basiert auf 'stable model semantics' ( = answer set) - Schafft Problemumgebungen, in denen 'answer set solver' suchen

1. Einführung 1. Einführung 1. 1.2 Woher kommt Answer Set Programming? - Automatisches Planen (Dimopoulos, Nebel und Köhler) - Produktkonfiguratoren (Soininen und Niemelä) - Bezeichnung stammt von Marek und Truszczyński / Niemelä (1999) - Von Marek und Truszczyński zu einem Paradigma erhoben

1. Einführung 1. Einführung 1. 1.3 Wofür benutzt man Answer Set Programming? - Automatisches Planen - Suche - Folgern (reasoning)

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.1 Was ist Answer Set Prolog (A-Prolog)? - Sprache auf Prolog-Basis für : - Wissensrepräsentation - Automatisches Schließen - Basierend auf 'answer set semantics' - Nutzt disjunkte Datenbanken und nicht-monotone Logik - Modellierung mit 'Defaults' und 'Exceptions'

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.2 A-Prolog Syntax & Semantik Ein A-Prolog Programm ist ein Paar {σ, Π}, wobei σ die 'signature' und Π eine Menge von Regeln über σ ist. Eine A-Prolog Regel hat die Form: l0 or... or lk lk+1,..., lm, not lm+1,..., not ln

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.2 A-Prolog Syntax & Semantik 'A partial interpretation S of σ(π) is an answer set for Π if S is minimal (in the sense of set-theoretic inclusion) among the partial interpretations satisfying the rules of Π.' Ein Answer Set ist also eine minimale Menge von Regeln S, die die Gesamtregeln in Π wahrheitsgemäß erfüllen. // Anm: Suche noch eine gute deutsche Definition...

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.3 A-Prolog Answer Set Beispiele Π1 = {q(a) or q(b).} hat als Answer Sets {q(a)} und {q(b)}. Π2 = q(a) or q(b). q(a). hat als Answer Set { q(a), q(b)}.

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.3 A-Prolog Answer Set Beispiele Π2 = p(a) p(a) q(a). q(a). hat als Answer Set?

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.3 Die Unterschiede zu 'gängigen' Prolog-Implementierungen - 2.3.1 (epistemische) Disjunktion - 2.3.2 'klassische' Negation (negation as failure) - 2.3.3 Regeln mit leeren Köpfen (constraints)

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.3.1 (epistemische) Disjunktion In A-Prolog kann man im Gegensatz zum 'klassischen' Prolog die Disjunktion 'or' benutzen. Disjunktionen dieser Art sehen so aus: q(a) or q(b) q(c)

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.3.2 'klassische' Negation (negation as failure) Neben der Disjunktion kennt A-Prolog auch die klassische Negation 'not'. q(a) q(b), not q(c)

2. Answer Set Prolog 2. Answer Set Prolog 2. 2.3.3 Regeln mit leeren Köpfen (Constraints) In A-Prolog ist eine Regel mit einem leeren Kopf ein Constraint (Restriktion). head(r) = {} lk+1,..., lm, not lm+1,..., not ln

3. Ein Beispiel 3. Ein Beispiel 3. Ein Beispiel einer Wissensrepräsentation in A-Prolog 3. Wir nehmen an, es gäbe an einer Universität h ein kleines Institut coli im linguistischen Seminar lings. Das Institut möchte für das nächste Semester den Kursplan erstellen. Dafür erstellen wir eine Wissensrepräsentation W. Annahme der Einfachheit halber: eine unendlich große 'signature'-liste.

3. Ein Beispiel 3. Ein Beispiel 3.1 'facts' member(joe, coli). member(nils, coli). member(matthew, coli). 3. course(java, coli). course(syntax, coli). course(ki, coli). course(logic, coli).

3. Ein Beispiel 3. Ein Beispiel 3.2 'closed world assumptions' 3. member(p, coli) course(c, coli) 3.3 Vorläufiger Kursplan teaches(nils, logic). not member(p, coli). not course(c, coli). teaches(matthew, java).

3. Ein Beispiel 3. Ein Beispiel 3.4 Queries? 3.?- member(beate, coli).?- teaches(beate, ki).

3. Ein Beispiel 3. Ein Beispiel 3.5 Queries? 3.?- member(beate, coli). - no?- teaches(beate, ki). - unknown

3. Ein Beispiel 3. Ein Beispiel 3.6 Zusatzregeln 3. teaches(p, C) ab(d1(p, ki)) member(p, coli), course(c, coli), not ab( d1(p, C)), not teaches(p, C). not member(p, info). Was bedeuten diese Regeln?

3. Ein Beispiel 3. Ein Beispiel 3.7 Queries zum Zweiten? member(beate, info). 3.?- teaches(beate, syntax). - no?- teaches(beate, ki). - unknown

3. Ein Beispiel 3. Ein Beispiel 3.8 Weitere Regeln 3. teaches(p1, C) teaches(p2, C), P1 =! P2, not ab(d2(p1, C)), not teaches(p1, C). Die Wissensrepräsentation erlaubt jetzt auch starke Ausnahmen (Ausnahmen, die die Folgerung einer Regel außer Kraft setzen) teaches(john, ai).

3. Ein Beispiel 3. Ein Beispiel 3.9 Weitere Regeln 3. part(lingus, coli). part(coli, h). part(e1, E2) part(e1, E2) member(p, E1) part(e1, E), part(e, E2). not part(e1, E2). part(e2, E1), member(p, E2). Zusammen mit der 'closed world assumption' member(p, Y ) not member(p, Y ). kann die Wissenrepräsentation jetzt z.b. die Anfrage?- member(nils,h). beantworten.

3. Ein Beispiel 3. Ein Beispiel 3.10 Eine Relation 3. offered(c, D) offered(c, D) course(c, D), teaches(p, C). course(c, D), not offered(c, D). teaches(tom, ki) or teaches(matthew, ki). Damit ist unser kleines Beispiel zu Ende und ein answer set solver könnte auf dieser Wissensrepräsentation suchen.

4. Anwendungen 4. Anwendungen 4. Anwendungen - Antriebssteuerung in Space Shuttles (USA-Advisor) - Künstliche Intelligenz 4. - Datenbanken - Wirtschaft (product configuration) - Geologie, Zoologie, Linguistik

5. Zusammenfassung 5. Zusammenfassung 5. Zusammenfassung - A-Prolog ist geeignet für Answer-Set-Umgebungen - Klare Prolog Syntax und Semantik - Sehr schnell in der automatischen Suche 5. - einfach beweisbare, effiziente und schnelle Programmierung

5. Zusammenfassung & Quellen 5. Quellen - http://en.wikipedia.org/wiki/answer_set_programming (3.2.09) - http://en.wikipedia.org/wiki/stable_model_semantics (3.2.09) - Michael Gelfond. Answer sets. In Handbook of Knowledge Representation. Elsevier Science, 2007. 5. - Marcello Balduccini, Michael Gelfond, and Monica Nogueira. Answer set based design of knowledge systems. Annals of Mathematics and Artificial Intelligence, 2006.

Ende Vielen Dank für die Aufmerksamkeit