Deduktives Lernen Explanation-Based Learning
|
|
|
- Kajetan Beck
- vor 8 Jahren
- Abrufe
Transkript
1 Deduktives Lernen Explanation-Based Learning Algorithmus grundlegende Idee anhand eines Beispiels Eigenschaften von EBL Utility Problem Implementierung als PROLOG Meta-Interpreter Operationalisierung 1
2 Explanation-Based Learning Grundidee: Ein erfolgreicher Beweis für ein Fakt wird kompiliert: sodaß er das nächste Mal schneller erfolgen kann generalisiert: sodaß auch andere Beispiele effizienter bewiesen werden können das System lernt: es zieht aus einem Beispiel Rückschlüsse, die es auf anderen Beispielen anwenden kann Charakteristika: es wird das Vorhandensein einer korrekten (= vollständigen und konsistenten) Domän-Theorie vorausgesetzt Vollständigkeit: für jedes positive Beispiel kann ein Beweis gefunden werden Konsistenz: für kein negatives Beispiel kann ein Beweis gefunden werden Es kann aus einem einzigen Beispiel gelernt werden Generalisierung dieses Beispiels erfolgt deduktiv das Resultat des Lernens ist beweisbar korrekt 2
3 EBL Algorithmus 1. Beweis: Das Trainingsbeispiel wird mit Hilfe der vorhandenen Domän- Theorie bewiesen Ein Beweis wird auch als Erklärung bezeichnet daher der Name Explanation-Based Learning 2. Generalisierung: Der Beweis für das Beispiel wird verallgemeinert, indem Konstanten durch Variablen ersetzt werden Beachte, daß Constraints auf den Variablen erhalten bleiben! z.b. ancestor(y,y) im Beweisbaum des folgenden Beispiels legt fest, daß die beiden Argumente an dieser Stelle gleich sein müssen 3. Formulierung der Regel: Die Konjunktion der Generalisierungen aller Fakten, die im Beweis verwendet wurden, bildet eine neue Regel d.h. die Konjunktion aller Blätter im Beweis-Baum 3
4 EBL: Beispiel 1. Schritt: Beweis des Beispiels ancestor(pam, pat) parent(pam, bob) ancestor(bob,pat) parent(bob, pat) ancestor(pat, pat) person(pat) female(pat) 4
5 EBL: Beispiel 2. Schritt: Generalisierung des Beweises ancestor(pam, ancestor(,y) pat) Inverse Substitution θ -1 = { pam/, pat/y, bob/z} parent(pam, parent(, Z) bob) ancestor(bob,pat) ancestor(z,y) parent(bob, parent(z, pat) Y) ancestor(pat, ancestor(y,y) pat) person(pat) person(y) female(pat) female(y) 5
6 EBL: Beispiel 3. Schritt: Formulierung einer neuen Regel ancestor(,y) parent(, Z) ancestor(z,y) parent(z, Y) ancestor(y,y) Neue Regel: ancestor(,y) :- parent(,z), parent(z,y), female(y). 6 person(y) female(y)
7 EBL als Prolog Meta-Interpreter Funktioniert fast wie der Meta-Interpreter für Beweisbäume nur die Blätter des Beweisbaumes werden gesammelt Literale werden generalisiert ebl_prove( L, L, GenL, GenL) :- :- clause(l,true). ebl_prove( (C1,C2), (GenC1,GenC2), (GenFacts1,GenFacts2)) :- :-!,!, ebl_prove(c1, GenC1, GenFacts1), ebl_prove(c2, GenC2, GenFacts2). ebl_prove( Head, GenHead, GenFacts ) :- :- clause( GenHead, GenBody ), ), GenBody \= \= true, copy_term( (GenHead :- :- GenBody), (Head :- :- Body) ), ), ebl_prove(body, GenBody, GenFacts). 7
8 Aufruf des EBL Meta-Interpreters ebl_prove(ancestor(pam,pat), ancestor(,y), GenFacts) GenFacts enthält dann die auf die angegebenen Variablen generalisierten Facts Man kann noch einen Aufruf programmieren, der den generalisierten Head und die generalisierten Facts zusammensetzt: Aufruf: ebl( L, GenL, (GenL :- GenFacts)) :- ebl_prove(l, GenL, GenFacts).?- ebl(ancestor(pam,pat),ancestor(,y),p). = _G160 Y = _G161 P = ancestor(_g160, _G161) :- parent(_g160, _G267), parent(_g267, _G161), female(_g161) 8
9 Die neue Regel ist... beweisbar immer richtig d.h., wenn die Bedingungen des Bodies erfüllt sind, ist der Head sicher gültig da sich das aus dem zugrundeliegenden Beweisbaum ergibt für mehr als ein Beispiel gültig sie wurde zwar aus einem Beispiel erzeugt ( gelernt ) aber sie gilt für alle Beispiele, die denselben Beweisweg nehmen z.b. auch für ancestor(tom,ann). nicht für alle Beispiele gültig es gibt natürlich Beispiele, die sich nicht mit dieser Regel herleiten lassen z.b. alle, die über mehr oder weniger als 2 Generationen gehen EBL liefert eine hinreichende, aber nicht notwendige Regel. 9
10 Beachte Die neue Regel beinhaltet kein neues Wissen! Alles was, mit der neuen Regel bewiesen werden kann, könnte auch ohne ihr bewiesen werden! Aber der Beweis wird abgekürzt! Die neue Regel greift nur direkt auf die Fakten zu. dadurch werden Irrwege im Finden dieses Ableitungsbaums vermieden (SLD Search Tree) das heißt beim nächsten Mal wird dieses Beispiel effizienter bewiesen. Die neue Regel deckt auch neue Fälle ab, die dann ebenfalls effizienter bewiesen werden könne Kurz gefaßt: Man weiß nach dem Lernen nichts neues, aber man weiß es schneller! Wird auch Speed-Up Learning genannt 10
11 Utility Problem Wurde zuerst von Minton (1988) im Prodigy Lern- und Plan- System beobachtet Hier wurde EBL zur Effizienzsteigerung in der Suche nach Plänen eingesetzt gefundene Pläne wurden mit EBL generalisiert und konnten in der Folge wiederverwertet werden Gelernte Regeln können die Problemlösungszeit reduzieren, da das Ausführen einer Regel effizienter ist, als eine Suche durchzuführen erhöhen aber andererseits die Problemlösungszeit, da alle Regeln in Betracht gezogen werden müssen (was wiederum Zeit kostet) Daher ist der Nutzen der Regeln nicht immer klar, z.b. Regeln, die selten verwendet werden Regeln, deren Bedingungen teuer zu matchen sind 11
12 Operationalisierung von Wissen Eine Sichtweise auf EBL ist, daß es versucht, das vorhandene Wissen zu operationalisieren. Operationales Wissen ist Wissen, das unmittelbar (d.h. ohne lange Beweisketten überprüft werden kann. Einfachste Realisierung: Operationale Prädikate sind die Fakten, die in der Datenbank gespeichert sind (EDB) Nicht-operationale Prädikate sind die Regeln der IDB Es sind aber auch andere Varianten denkbar 12
13 Realisierung von Operationalisierung Ein Prädikat definieren, das angibt, ob ein Literal operational ist: alle Fakten sind operational operational(l) :- clause(l,true). zusätzliche operationale Prädikate können (z.b.) einfach aufgelistet werden operational( person(_) ). In der ersten Regel des Programms wird dann nicht mehr überprüft, ob ein Fakt vorliegt sondern überprüft, ob ein operationales Prädikat vorliegt ebl_prove( L, GenL, GenL) :- operational(l), call(l). call(l) ruft Prolog's eingebauten Beweiser auf, um festzustellen, ob L gilt oder nicht. 13
14 Ergebnis?- ebl(ancestor(pam,pat),ancestor(,y),p). = _G160 Y = _G161 P = ancestor(_g160, _G161) :- parent(_g160, _G267), parent(_g267, _G161), person(_g161) Die Generalisierung ist nun auch für männliche Nachkommen gültig. 14
15 Anwendungen von EBL Search Control Während einer Suche muß man ständig entscheiden, welcher Zustand als nächstes ausgewählt werden soll Query Optimization der IDB Teil teurer Datalog Queries kann durch EBL in EDB- Abfragen kompiliert werden Spiele Spiele wie Schach haben eine klar formalisierbare Domäntheorie (die Regeln des Spieles) Für jede Stellung des Spiels läßt sich (theoretisch) beweisen, wer gewonnen hat Der Beweis ist aber sehr aufwendig Daher die Hoffnung: Generalisierung gefunder Beweise mittels EBL erlaubt, auch in neuen Situationen effizienter zu spielen hat sich aber in der Praxis als undurchführbar herausgestellt 15
16 Beispiel: Go-Moku (Minton, 1984) Das Spiel Go-Moku (5-Gewinnt ohne Schwerkraft) wurde durch eine Domän-Theorie kodiert Immer wenn das Programm verloren hat, versuchte es zu beweisen, warum es verloren hat Und generalisierte dann den Beweis zu einer Regel Beispiel einer gelernten Regel: move(square,player) :- three-in-row(pos3,player), is_empty(square), extends(pos3,square), composes(pos4,square,pos3), is_empty(square1), extends(pos4,square1), is_empty(square2), extends(pos4,square2), Square1 \= Square2. 16
17 Beispiel: Go-Moku (Minton, 1984) Das Spiel (5-Gewinnt ohne Schwerkraft) wurde durch eine Domän-Theorie kodiert Immer wenn das Programm verloren hat, versuchte es zu beweisen, warum es verloren hat Und generalisierte dann den Beweis zu einer Regel Beispiel einer gelernten Regel: move(square,player) :- three-in-row(pos3,player), is_empty(square), extends(pos3,square), composes(pos4,square,pos3), is_empty(square1), extends(pos4,square1), is_empty(square2), extends(pos4,square2), Square1 \= Square2. 17
18 Beispiel: Go-Moku (Minton, 1984) Das Spiel (5-Gewinnt ohne Schwerkraft) wurde durch eine Domän-Theorie kodiert Immer wenn das Programm verloren hat, versuchte es zu beweisen, warum es verloren hat Und generalisierte dann den Beweis zu einer Regel Beispiel einer gelernten Regel: move(square,player) :- three-in-row(pos3,player), is_empty(square), extends(pos3,square), composes(pos4,square,pos3), is_empty(square1), extends(pos4,square1), is_empty(square2), extends(pos4,square2), Square1 \= Square2. O 18
19 Beispiel: Go-Moku (Minton, 1984) Das Spiel (5-Gewinnt ohne Schwerkraft) wurde durch eine Domän-Theorie kodiert Immer wenn das Programm verloren hat, versuchte es zu beweisen, warum es verloren hat Und generalisierte dann den Beweis zu einer Regel Beispiel einer gelernten Regel: move(square,player) :- four-in-row(pos4,player), is_empty(square), extends(pos4,square). O 19
20 Beispiel: Go-Moku (Minton, 1984) Das Spiel (5-Gewinnt ohne Schwerkraft) wurde durch eine Domän-Theorie kodiert Immer wenn das Programm verloren hat, versuchte es zu beweisen, warum es verloren hat Und generalisierte dann den Beweis zu einer Regel Beispiel einer gelernten Regel: move(square,player) :- four-in-row(pos4,player), is_empty(square), extends(pos4,square). O 20
21 Literatur Artikel T. M. Mitchell, R. M. Keller, S. T. Kedar-Cabelli. Explanation-Based Generalization: A Unifying View. Machine Learning 1:47-80, (Der klassische Artikel zu EBL) G. DeJong, R. Mooney. Explanation Based Learning: An Alternative View. Machine Learning 1: , 1986 S. T. Kedar-Cabelli, L. T. McCarty. Explanation-Based Generalization as Resolution Theorem Proving, Proceedings of the International Workshop on Machine Learning (ICML-87), pp , (beschreibt die Implementierung als Prolog-Meta-Interpreter) S. Minton. Constraint-Based Generalization: Learning Game-Playing Plans from Single Examples. Proceedings of the National Conference on Artificial Intelligence (AAAI-84), pp , (beschreibt die Anwendung auf das Spiel Go-Moku) Bücher T. M. Mitchell: Machine Learning, McGraw-Hill, 1997 (Klassisches Lehrbuch, hier vor allem Abschnitt 11) 21
Überblick 2. Vorlesungsteil
Überblick 2. Vorlesungsteil Deduktives Schließen Deduktive Datenbanken, Datalog Kurze Einführung in Prolog Beweisbäume Induktives Schließen Explanation-Based Learning Automatisches Lernen von Datalog-Programmen
Logisches und funktionales Programmieren
Prof. Dr. Christoph Beierle, Dr. Harald Ganzinger, Prof. Dr. Michael Hanus Kurs 01816 Logisches und funktionales Programmieren LESEPROBE Das Werk ist urheberrechtlich geschützt. Die dadurch begründeten
Logische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 11: Logikprogramme Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca [email protected] 19. Dezember 2016 1/55 WIEDERHOLUNG: HORN-KLAUSELN
Prolog basiert auf Prädikatenlogik
Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:
3. Lernen mit Vorwissen
3. Lernen mit Vorwissen Wissen beim Lernen 3. Lernen mit Vorwissen Sei Beschreibungen die Konjunktion aller Beispiele der Trainingsmenge und Klassifizierungen die Konjunktion aller Beispielklassifizierungen.
Grundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 28. Aussagenlogik: DPLL-Algorithmus Malte Helmert Universität Basel 2. Mai 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26. Grundlagen 27. Logisches
Logische Programmierung & Deduktive Datenbanken Klausur
Prof. Dr. Stefan Brass 22. September 2011 Institut für Informatik MLU Halle-Wittenberg Logische Programmierung & Deduktive Datenbanken Klausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte
Eigenschaften der Resolution für PL1 Formeln
Eigenschaften der Resolution für PL1 Formeln Widerlegungsvollständigkeit (ohne Beweis): Sofern man Resolution auf eine widersprüchliche Klauselmenge anwendet, so existiert eine endliche Folge von Resolutionsschritten,
SLD-Ableitungsbäume. G = B 1... B m. G die Menge aller SLD-Resolventen von G und definiten. G einen Nachfolger, der mit G markiert ist.
SLD-Ableitungsbäume Definition 5.48 Sei P ein definites Programm und G ein definites Ziel. Ein SLD-Ableitungsbaum ist ein Baum, der die folgenden Bedingungen erfüllt: 1. Jeder Knoten des Baums ist mit
Wiederholung zur SLD-Resolution (1)
8. Korrektheit und Vollständigkeit der SLD-Resolution 8-1 Wiederholung zur SLD-Resolution (1) SLD-Resolution: Selektionsfunktion: Wählt Atom der Anfrage. Nächstes zu bearbeitendes Atom. Normalerweise einfach
PROLOG Syntax. Einführung in PROLOG II. Atome. Variablen. Es gibt vier Arten von Termen: Atome. Zahlen. Variablen. Komplexe Terme
PROLOG Syntax Es gibt vier Arten von Termen: Atome Variablen Atome Zahlen Variablen Komplexe Terme 1. uni, uni_hannover 2. KI Kurs, $ % 45 3. @=, ====> 1. X, Y 2. Variable, Output 3. _tag, _head 4. X_256
Übungen zu Kognitive Systeme I
Übungen zu Kognitive Systeme I Stephan Weller ([email protected]) Kognitive Systeme / WIAI / Uni Bamberg 19. Oktober 2005 Inhalt Intro Was ist Prolog? Wie funktioniert Prolog? Rekursion
Symbolisches Lernen in Go
Symbolisches Lernen in Go Seminar Knowledge Engineering und Lernen in Spielen, SS 04 Frank Steinmann Motivation (1) Was kann gelernt werden? Globaler Ansatz: eine Funktion f: f: Stellungen x Züge -> ->
Eigenschaften der SLD-Resolution
Eigenschaften der SLD-Resolution Vollständigkeit der SLD-Resolution für Hornklauseln Sei F eine inkonsistente Hornklauselmenge. Dann gibt es eine SLD-Widerlegung von F. Beweisskizze: Für inkonsistentes
Maschinelles Lernen: Symbolische Ansätze
Semestralklausur zur Vorlesung Maschinelles Lernen: Symbolische Ansätze Prof. J. Fürnkranz / Dr. G. Grieser Technische Universität Darmstadt Wintersemester 2005/06 Termin: 23. 2. 2006 Name: Vorname: Matrikelnummer:
Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung
Deduktion in der Aussagenlogik Menge von Ausdrücken der Aussagenlogik beschreibt einen bestimmten Sachverhalt, eine "Theorie" des Anwendungsbereiches Was folgt logisch aus dieser Theorie? Deduktion: aus
Deduktion in der Aussagenlogik
Deduktion in der Aussagenlogik Menge von Ausdrücken der Aussagenlogik beschreibt einen bestimmten Sachverhalt, eine "Theorie" des Anwendungsbereiches. Was folgt logisch aus dieser Theorie? Deduktion: aus
Minesweeper ist NP-vollständig
1 Einleitung Minesweeper ist NP-vollständig Damian Schmidt 28.06.2007 Das bekannte Spiel Minesweeper ( Minenräumer ) wird mit Microsoft Windows mitgeliefert. In einem rechteckigen Feld aus quadratischen
Logische Programmierung
1. Vorbemerkungen 1-1 Logische Programmierung Stefan Brass Institut für Informatik Fachgebiet Datenbanken und Informationssysteme Prof. Dr. Udo W. Lipeck 1. Vorbemerkungen 1-2 Organisatorisches Sprechstunde:
Tableaukalkül für Aussagenlogik
Tableaukalkül für Aussagenlogik Tableau: Test einer Formel auf Widersprüchlichkeit Fallunterscheidung baumförmig organisiert Keine Normalisierung, d.h. alle Formeln sind erlaubt Struktur der Formel wird
Data Mining und Maschinelles Lernen Wintersemester 2015/2016 Lösungsvorschlag für das 3. Übungsblatt
Data Mining und Maschinelles Lernen Wintersemester 2015/2016 Lösungsvorschlag für das 3. Übungsblatt 18. November 2015 1 Aufgabe 1: Version Space, Generalisierung und Spezialisierung (1) Gegeben sei folgende
Logikprogrammierung. Berechnung durch Resolution Die Programmiersprache Prolog
Logikprogrammierung Berechnung durch Resolution Die Programmiersprache Prolog Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.1 Logikprogrammierung Berechnung durch Resolution 213 Resolution
Knowledge-Based system. Inference Engine. Prof. Dr. T. Nouri.
12.01.2008 Knowledge-Based system Inference Engine Prof. Dr. T. Nouri [email protected] 2 / 30 Inhalt Grundlagen Wozu Inference? Aufbau Knowledge Based System Strategien für Folgerungen Suchstrategien
Problemreduktion durch Transformation am Beispiel des. Erweiterten Euklidschen Algorithmus
Problemreduktion durch Transformation am Beispiel des Erweiterten Euklidschen Algorithmus Wolfgang Windsteiger JKU Linz, A 4040 Linz, Austria Kurzfassung Transformation beschreibt im Wesentlichen die algorithmische
Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen
Gliederung Programmierparadigmen Programmieren in Prolog D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 26. April
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.8 Aussagenlogik Der Sequenzen-Kalkül 99. Sequenzen
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.8 Aussagenlogik Der Sequenzen-Kalkül 99 Sequenzen Zum Abschluss des Kapitels über Aussagenlogik behandeln wir noch Gentzens Sequenzenkalkül.
Bestandteile von Prolog-Programmen. Syntax und Datenstrukturen. Legende Syntaxdiagramme. Lesen von Syntaxdiagrammen. Ein Programm besteht aus
Syntax und Datenstrukturen Bestandteile von Prolog-Programmen Übersicht Woraus besteht ein Prolog-Programm? Syntaxdiagramme für Bildungsregeln Programm, Klausel, Anfrage, 3 Sorten von en atomare e, Variablen,
Prolog 3. Kapitel: Rekursion
Zusammenfassung: Kapitel 2 Prolog 3. Kapitel: Rekursion Wir haben gelernt wie komplexe Strukturen durch Matching in Prolog aufgebaut werden können und wie die Beweisführung in Prolog funktioniert. Dozentin:
Künstliche Intelligenz Logische Agenten & Resolution
Künstliche Intelligenz Logische Agenten & Resolution Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Inferenz-Algorithmus Wie könnte ein
Prolog 3. Kapitel: Rekursion
Prolog 3. Kapitel: Rekursion Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 3 1 Zusammenfassung: Kapitel 2 Wir haben gelernt wie komplexe
Bestandteile von Prolog-Programmen. Syntax und Datenstrukturen. Legende Syntaxdiagramme. Lesen von Syntaxdiagrammen
Syntax und Datenstrukturen Bestandteile von Prolog-Programmen Übersicht Woraus besteht ein Prolog-Programm? Syntaxdiagramme für Bildungsregeln Programm, Klausel, Anfrage, 3 Sorten von en atomare e, Variablen,
Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser
Informatik A Prof. Dr. Norbert Fuhr [email protected] auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser 1 Teil I Logik 2 Geschichte R. Descartes (17. Jhdt): klassische
Sortieren II / HeapSort Heaps
Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: [email protected] Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php
Effizienter Planaritätstest Vorlesung am
Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit
HA-Lösung TA-Lösung Diskrete Strukturen Tutoraufgabenblatt 10. Besprechung in KW02/2019
Technische Universität München Winter 2018/19 Prof. J. Esparza / Dr. M. Luttenberger, C. Welzel 2019/01/11 HA-Lösung TA-Lösung Diskrete Strukturen Tutoraufgabenblatt 10 Besprechung in KW02/2019 Beachten
Logische Programmierung
Logische Programmierung Einleitung Elmar Eder () 1 / 27 Verschiedene Paradigmen der Programmierung Imperative Programmierung Einfache imperative Programmierung Prozedurale Programmierung Objektorientierte
Prolog. Modellieren in Prolog. Argumente eines Prädikates. Fakten
Prolog Idee (Kowalski 1979) Algorithmus = Logik + Kontrolle Logik: was ist das Problem? Kontrolle: wie lšse ich es geschickt? Sichtweisen: Theorembeweiser (Resolution) Datalog (Datenbankanfragesprache)
2.3 Deduktiver Aufbau der Aussagenlogik
2.3 Deduktiver Aufbau der Aussagenlogik Dieser Abschnitt beschäftigt sich mit einem axiomatischen Aufbau der Aussagenlogik mittels eines Deduktiven Systems oder eines Kalküls. Eine syntaktisch korrekte
Funktionen: Rückgabewert
Funktionen: Rückgabewert Jede Funktion in C++ (außer Konstruktoren und Destruktoren siehe später) MUSS einen Rückgabewert-Typ vereinbaren. Gibt sie nichts zurück, muss der Rückgabetyp void sein. Jede return-anweisung
Magic Sets. Kontrollkomponente SIP. Sideways Information Passing Strategy (SIP-Strategy)
Sideways Information Passing Strategy (SIP-Strategy) Magic Sets (informal) Für eine Regel eines Programms stellt eine SIP- Strategie eine Entscheidung hinsichtlich der Auswertungsreihenfolge der Prädikate
Fakten, Regeln und Anfragen
Fakten, Regeln und Anfragen Prolog Grundkurs WS 99/00 Christof Rumpf [email protected] 18.10.99 GK Prolog - Fakten, Regeln und Anfragen 1 Programmieren = Problemlösen Prolog ist eine deklarative
Maschinelles Lernen: Symbolische Ansätze
Maschinelles Lernen: Symbolische Ansätze Wintersemester 2014/2015 Musterlösung für das 3. Übungsblatt Aufgabe 1: Version Space, Generalisierung und Spezialisierung Gegeben sei folgende Hierarchie von Begriffen:
Logik Vorlesung 3: Äquivalenz und Normalformen
Logik Vorlesung 3: Äquivalenz und Normalformen Andreas Maletti 7. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen
Theoretische Informatik
Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 7 Besprechung in KW 48 / Abgabe in KW 49 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren
Empfehlenswerte Referenzen
Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein
Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln
Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann [email protected] 9. Juni 2015 Frank Heitmann [email protected] 1/36 Ersetzbarkeitstheorem
Formale Logik - SoSe 2012
2.44 % Formale Logik - SoSe 2012 Versuch einer Zusammenfassung Malvin Gattinger http://xkcd.com/435/ 4.88 % Gliederung Einleitung Was ist Logik? Begriffsklärungen Sätze und Wahrheit Argumente und Gültigkeit
Künstliche Intelligenz Einführung in Prolog
Künstliche Intelligenz Einführung in Prolog Stephan Schwiebert WS 2009/20010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Was ist Programmieren? Was ist Programmieren?
Neuronalen Netzen. Jens Lehmann. 1. März Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden
Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden 1. März 2005 Neurosymbolische Integration versucht künstliche neuronale Netze und Logikprogrammierung zu vereinen
Grundlagen der Theoretischen Informatik
FH Wedel Prof. Dr. Sebastian Iwanowski GTI22 Folie 1 Grundlagen der Theoretischen Informatik Sebastian Iwanowski FH Wedel Kap. 2: Logik, Teil 2.2: Prädikatenlogik FH Wedel Prof. Dr. Sebastian Iwanowski
Einführung in PROLOG. Christian Stocker
Einführung in PROLOG Christian Stocker Inhalt Was ist PROLOG? Der PROLOG- Interpreter Welcher Interpreter? SWI-Prolog Syntax Einführung Fakten, Regeln, Anfragen Operatoren Rekursion Listen Cut Funktionsweise
Labor Compilerbau. Jan Hladik. Sommersemester DHBW Stuttgart. Jan Hladik (DHBW Stuttgart) Labor Compilerbau Sommersemester / 20
Labor Compilerbau Jan Hladik DHBW Stuttgart Sommersemester 2017 Jan Hladik (DHBW Stuttgart) Labor Compilerbau Sommersemester 2017 1 / 20 Resolution in der Prädikatenlogik testet Erfüllbarkeit (indirekt
Objektorientierte Programmierung II
Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem
Maschinelles Lernen: Symbolische Ansätze
Maschinelles Lernen: Symbolische Ansätze Wintersemester 2008/2009 Musterlösung für das 3. Übungsblatt Aufgabe 1: Version Space, Generalisierung und Spezialisierung Gegeben sei folgende Hierarchie von Begriffen:
Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15
Logik Gabriele Kern-Isberner LS 1 Information Engineering TU Dortmund Wintersemester 2014/15 WS 2014/15 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 1 / 125 Übersicht Modallogik 5. Grundlagen 6. Erfüllbarkeit
Grundlagen von Datenbanken
Grundlagen von Datenbanken SS 2010 4. Prolog als Datenbanksprache Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher 4. Prolog als Datenbanksprache
Folgen und Funktionen in der Mathematik
Folgen und Funktionen in der Mathematik Anhand von einigen exemplarischen Beispielen soll die Implementierung von mathematischen Algorithmen in C/C++ gezeigt werden: Reelle Funktionen in C/C++ Diese wird
Prolog 2. Kapitel: Matching und Beweisführung
Zusammenfassung: Kapitel 1 Prolog 2. Kapitel: Matching und Beweisführung Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Wir haben die Grundlagen und Anwendungsgebiete
Gödels Incompleteness Theorems. Episode I: Einführung
Gödels Incompleteness Theorems Episode I: Einführung Inhaltsübersicht Generelle Beweisidee Gödels Eigenschaften und Relationen der Sprache L Tools & Rules Beweise, 1. Teil Anforderungen an L Tools & Rules,
Einführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Woche 4 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Modus Ponens A B B A MP Axiome für
Westfälische Wilhelms-Universität Münster Fachbereich Physik. Quantenlogik. Martin Kohn Münster,
Westfälische Wilhelms-Universität Münster Fachbereich Physik Quantenlogik Martin Kohn [email protected] Münster, 14.09.2009 1 Einleitung Die Quantenlogik beschreibt die Anwendung der klassischen, alltäglichen
Binäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
Algorithmen auf Zeichenketten
Algorithmen auf Zeichenketten Rabin-Karp Algorithmus Christoph Hermes [email protected] Zeichenketten: Rabin-Karp Algorithmus p. 1/19 Ausblick auf den Vortrag theoretische Grundlagen... Zeichenketten:
Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem
Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung
Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:
Resolutionskalkül Ein Kalkül ist eine Kollektion von syntaktischen Umformungsregeln, die unter gegebenen Voraussetzungen aus bereits vorhandenen Formeln neue Formeln erzeugen. Der Resolutionskalkül besteht
