Übersicht. 10. Logische Inferenzsysteme

Größe: px
Ab Seite anzeigen:

Download "Übersicht. 10. Logische Inferenzsysteme"

Transkript

1 Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlußfolgern 6. Logisch schließende Agenten 7. Prädikatenlogik 1. Stufe 8. Entwicklung einer Wissensbasis 9. Schließen in der Prädikatenlogik 1. Stufe 10. Logische Inferenzsysteme IV Logisch Handeln V Unsicheres Wissen und Schließen VI Lernen VII Kommunizieren, Wahrnehmen und Handeln

2 Kategorien von Schlussfolgerungssystemen Theorem Beweiser (SAM, AURA, OTTER) und logische Programmiersprachen (Prolog, MRS, LIFE) Regelbasierte Produktionssysteme (OPS-5, CLIPS, SOAR) Frame-Systeme (OWL, FRAIL, KODIAK) und semantische Netze (SNEPS, NETL, Conceptual Graphs) Terminologische Logiken (Beschreibungslogiken; KL-ONE, CLASSIC, LOOM)

3 Grundaufgaben von Schlussfolgerungssystemen 1. Hinzufügen von Fakten (Wahrnehmungen oder Schlußfolgerungen) zur Wissensbasis (Funktion TELL). 2. Herleiten von Fakten aus einem neuem Faktum und der Wissensbasis (bei Vorwärtsverkettung Teil von TELL). 3. Fragen beantworten (Funktion ASK). Mit Ja/Nein oder durch Instanziierungen). 4. Feststellen, ob eine Frage bereits in der Wissensbasis enthalten ist (eingeschränkte Version von ASK). 5. Entfernen von Sätzen aus der Wissensbasis.

4 Implementierung der Datentypen Vorbemerkung: Ein/Ausgabe für Interaktion mit Benutzer muss gesondert behandelt werden. Interne Repräsentation: Basis-Datentyp Compound mit einem Feld für den Operator und einem Feld für die Argumente, z.b. wirddersatzc= P(x) P(y) in folgende interne Darstellung umgesetzt: OP(c) = ARGS (c) = [P(x), P(y)]. Naives Abspeichern von Sätzen in einer linearen Liste hat einen Suchaufwand von O(n), ob ein Satz in der Liste enthalten ist, und beim Abspeichern ebenfalls einen Aufwand von O(n), falls Duplikate erkannt und entfernt werden sollen (ohne Duplikat-Erkennung nur O(1)). Besser: Indexierung

5 Indexierung Implementierung der Wissensbasis als Hash-Tabelle: 1. Ansatz: Reserviere jeweils eine Speicherzelle für jeden Satz. Nachteile: 1. Reflektiert nicht die strukturbildenden Elemente der Logik 2. Kann nicht mit Variablen umgehen. Daher nicht geeignet für Anfragen wie: Suche eine Implikation mit P auf der rechten Seite (Nachbedingung) SucheMatchzu x Bruder (Richard, x) mit Bruder (Richard, John) 2. Ansatz: Indiziere nach Prädikatsymbolen und teile nach 4 Kategorien auf: - Liste von positiven Literalen für das Prädikatsymbol - Liste von negativen Literalen für das Prädikatsymbol - Liste von Sätzen mit Prädikatssymbol in Nachbedingung - Liste von Sätzen mit Prädikatssymbol in Vorbedingung Verfeinerung des 2. Ansatz: Unterindex für die konstante Argumente

6 Beispiel für Indizierung logischer Sätze

7 Unifikationsalgorithmus (1) Mit Indexierung ist die Unifikation ziemlich effizient, allerdings erhöht der Occur-Check in der Prozedur Unify-Var die Komplexität von O(n) auf O(n 2 ), wobei n die Länge des Ausdrucks bezeichnet.

8 Unifikationsalgorithmus (2)

9 Logische Programmiersprachen Programm und die Eingabe: logische Sätze Herleitung von Schlußfolgerung: logische Inferenz (Beweis) Algorithmus = Logik + Kontrolle Logische Programmiersprachen ermöglichen das Schreiben von Algorithmen, indem sie logische Sätze mit Informationen anreichern, um den Inferenzprozess zu kontrollieren. Verbreitetestes Beispiel: Prolog Beispieldefinition: member (X, [X L]) x, l Member (x, [x l]) member (X, [Y L]) :- member (X, L) x, y, l Member (x, l) Member (x, [y l])

10 Eigenschaften von Prolog Programm besteht aus Folge von (mit und verknüpften) Sätzen, alle Variablen sind allquantifiziert und disjunkt in verschiedenen Sätzen. Als Sätze sind nur Hornklauseln zugelassen. Terme: Konstanten, Variablen, Funktionsausdrücke Anfragen: Terme, Konjunktionen, Disjunktionen, Negation as Failure: Das Ziel P gilt als bewiesen, wenn P nicht hergeleitet werden kann. Syntaktisch disjunkte Terme sind disjunkt, d.h. man kann nicht A=B oder A = f(x) ausdrücken, falls A eine Konstante ist. Viele eingebaute Prädikate für Arithmetik, Ein/Ausgabe usw., deren Code bei Aufruf einfach ausgeführt wird.

11 Implementierung von Prolog Inferenz mittels Rückwärtsverkettung und Tiefensuche Reihenfolge der Abarbeitung: von links nach rechts & oben nach unten Kein Occur-Check aus Effizienzgründen Prolog liefert alle Lösungen zu einer Anfrage nacheinander: member (loc (X,X), [loc (1,1), loc (2,1), loc (2,2)]) X=1 und X=2 Effizienzsteigerungen für den Interpreter Es werden nicht alle Lösungen für ein Teilziel generiert, sondern nur eine Lösung, sowie ein Versprechen (choice point), weitere zu generieren, wenn die erste Lösung vollständig untersucht wurde. Substitutionen für Variablen werden nicht als Bindungslisten, sondern als Wertbindungen repräsentiert. Zum effizienten Rücksetzen der Variablen wird ein Stack (Trail) verwendet.

12 Kompilierung von Prolog Da der Instruktionsvorrat von den üblichen Computern schlecht zur Semantik von Prolog passt, kompilieren die meisten Prolog-Compiler in eine Zwischensprache, vor allem die Warren Abstract Machine oder auch in andere Sprachen wie LISP oder C. Die Klauseln für Member werden nicht in einer Datenbasis gesucht, sondern sind in die Prozedur eingebaut. Die Variablenbindungen werden auf einem Stack (trail) verwaltet. Continuation:Speichern von Informationen zur Fortsetzung des Aufrufs

13 Parallelisierung von Prolog Oder-Parallelität: Ein Ziel kann mit vielen Literalen unifiziert werden, die unabhängig voneinander untersucht werden können. Und-Parallelität: Die Konjunktionen im Hornklausel-Rumpf werden parallel überprüft. Problem: konsistente Bindungen für Variablen. Effizienz (LIPS = Logical Instructions Per Second): Standard-Prolog-Compiler (1990 Workstations): LIPS Hochleistungs-Compiler (1990): Millionen LIPS PIM (Parallel Inference Machine; 5th Gen Project: LIPS

14 Logische Constraintsprachen (CLP) Erweiterung von Prolog um Constraints über Werten,z.B.x>3. Beispiel: Definition eines Dreiecks: Dreieck (x,y,z) (x>0) (y>0) (z>0) (x+y>z) (y+z>x) (x+z>y) Dreieck (3,4,5) kann sowohl in Prolog als auch CLP bestätigt werden. aber Dreieck (x,4,5) liefert nur in CLP die Antwort: {x>1 x<9} Auch symbolische Constraints wie Person (p) möglich, die nicht wie in Prolog sofort instantiiert werden, sondern verzögert ausgewertet werden (Least Commitment).

15 Fortgeschrittene Kontrollmöglichkeiten Metareasoning: Schlussfolgern über den Schlußfolgerungsprozess Beispiel1: Was ist das Einkommen der Gattin des Präsidenten? Einkommen (s,i) & verheiratet (s, p) & Beruf (p, Präsident) Ineffizient, daher besser die Reihenfolge der Anfrage umdrehen. Beispiel2: Welche Personen sind aus derselben Stadt wie der Präsident? Bürger (p, stadt) & Bürger (x, stadt) & Beruf (p, Präsident) Statt bei fehlgeschlagenem Beweis des letzten Literals eine andere Alternative beim vorletzten zu probieren (Backtracking), sollte man gleich zum ersten Literal zurückspringen (Backjumping). Außerdem kann man sich die fehlgeschlagene Variablenkombination merken (dependency directed backtracking). Oft ist es günstig, sich durchgeführte Inferenzen zu merken, um diese nicht noch mal herleiten zu müssen. Problem: Was soll man vergessen?

16 Theorem Beweiser (1) Unterschied zwischen logischen Programmiersprachen und Theorem- Beweisern: - Hornklauseln vs. volle Prädikatenlogik 1. Stufe - implizite vs. explizite Repräsentation der Kontrolle Beispiel für Kontrollinformationen in OTTER: - Aufteilung der Klauseln in wichtige und nutzbare gemäß der Set of Support Strategie - Umformung von Gleichungen in Rewrite-Regeln, die nur in einer Richtung benutzt werden, z.b. x+0=x. - Steuerungswissen (z.b. Gewicht von Klauseln) und Filterwissen (Ignorieren von Teilzielen).

17 Theorem Beweiser (2) Erweiterung von Prolog zu Theorem-Beweiser in PTTP - Occur-Check - Statt Tiefensuche iterative Tiefensuche - Zulassen negierter Literale - Eine Klausel mit n Literalen wird als n Klauseln gespeichert, z.b. für A B C zusätzlich B C A sowie C B A (kann sehr ineffizient sein). - Statt Input-Resolution lineare Input-Resolution Theorem Beweiser als Assistenten Einsatz zur Programmverifikation (und Synthese)

18 Architektur des OTTER - Theorem - Beweises

19 Vorwärtsverkettung mit Produktionsregeln Vereinfachung zu Theorem-Beweiser: Es werden Regeln mit Variabeln gegen eine Faktenbasis ohne Variablen abgeglichen (Pattern Matching statt Unifikation). Typischer Aufbau: - Working Memory (Faktenbasis). - Regeln mit Kondition und Aktion (jeweils typischerweise mit & verknüpft). Aktionen dürfen auch Elemente des Working Memory löschen oder verändern. - Vergleichsphase: In einem Inferenzzyklus werden alle Regeln berechnet, deren Konditionen aufgrund des Working Memory erfüllt sind. - Konfliktauflösung: Aus diesen Regeln wird eine ausgewählt und deren Aktion ausgeführt. Beispiele: OPS-5, SOAR, ACT.

20 Konfliktlösungstrategien Beispiele: - Keine Wiederholung (einer gerade gefeuerten Regel) - Spezifizität (Bevorzuge spezifischere Regeln). Bsp.: (1) Säugetier (x) => add Beine (x,4) (2) Säugetier (x) & Mensch (x) => add Beine (x,2) (2) ist spezifischer als (1). - Regelprioritäten (Zusatzwissen). - Aktualität (Bevorzuge Regeln, die auf gerade geänderte Einträge im Working Memory Bezug nehmen)

21 Beobachtungen: Vergleichsphase (1) Oft enthalten Regeln gleiche Elemente in der Kondition. Sie sollten nicht in jeder Regel neu überprüft werden müssen. (2) Von einem Inferenzzyklus zum nächsten ändert sich das Working Memory oft nur geringfügig. Daher sollten nur die Regeln überprüft werden, die von den Änderungen betroffen sind.

22 Beispiel für Kompilierung im RETE-Algorithmus Regelbasis: A(x) & B(x) & C(y) => Add D(x) A(x) & B(y) & D(x) => Add E(x) A(x) & B(x) & E(x) => delete A(x) Working Memory: {A(1), A(2), B(2) B(3), B(4), C(5)} A=E

23 Frame-Systeme und semantische Netze Grafische Wissensnotationen wurden schon Ende des 19. Jahrhunderts als "Logik der Zukunft" propagiert. Auf semantischer Ebene besteht aber kein grundlegender Unterschied zur Prädikatenlogik 1. Stufe. Kernmechanismen: - Vererbung entlang von Kanten mit Default-Werten - Zugeordnete Prozeduren möglich, um die Beschränkungen in der Ausdrucksstärke zu kompensieren. Vorteile grafischer Notationen: - bessere Lesbarkeit für Menschen. - durch Vereinfachungen in der Ausdrucksstärke wird der Inferenzprozess effizienter und transparenter (z.b. Verfolgen von Kanten im Netz) Nachteile: - oft unklare Semantik der Graphen (z.b. bei multipler Vererbung); Klärung nur im Programmcode. - Effizienzprobleme aufgrund von Nicht-Monotonie wegen Defaults.

24 Beispiel für Frame

25 Grundlegende Beziehung in semantischen Netzen

26 Mehrfachvererbung

27 Basis-Interpreter für semantische Netze (1)

28 Basis-Interpreter für semantische Netze (2)

29 Beschreibungslogiken (Terminologische Logiken) Ziel: Definition von Kategorien, so dass aufgrund der Eigenschaften einer Kategorie bzw. eines Objektes dessen Zugehörigkeit zu einer Kategorie ermittelt werden kann (Subsumption bzw. Klassifikation). Beispiel1 (Junggeselle): And (Unverheiratet, Erwachsener, Männlich) Beispiel2 (Mann mit mindestens drei arbeitslosen und mit einem Doktor verheirateten Söhnen und zwei Töchtern, die Professor in Chemie oder Physik sind): And (Mann, AtLeast (3 Sohn), Atleast (2 Tochter) (All (sohn, And (arbeitslos, verheiratet, all (Partner Doktor))) (All (Tochter, And (Professor, Fills (Fach, Physik, Chemie)))) Effizienzfrage: Wie aufwendig ist Subsumption in Abhängigkeit der Ausdrucksstärke der Sprache?

30 Sprache für Beschreibungslogik in CLASSIC Effizient interpretierbaren Beschreibungslogiken fehlen meist Operatoren für Negation und Disjunktion (z.b. Or oder Some ; Fills & OneOf erlauben Disjunktion nur für explizit aufgezählte Individuen).

31 Belief Revision (1) Implementierung von "Retract": Rücknahme oder Änderung einer Aussage, z.b. wegen Speicherbereinigung (Vergessen) Änderungen in der Welt Änderungen von Default-Annahmen Korrektur von Fehlinformationen Problem: Gewährleistung der Konsistenz der Datenbasis, da aus den geänderten Aussagen andere Aussagen hergeleitet sein können. Lösung: Truth-Maintenance-Systeme (TMS) Drei Varianten: 1. Chronologische Backtracking: Ziehe alle Schlussfolgerungen bis zu dem Punkt zurück, wo die geänderte Aussage das erste Mal benutzt wurde.

32 Belief Revision (2) 2. Justification-Based TMS (JTMS): Speichere zu jeder Schlussfolgerung die direkten Gründe (justifications) für ihre Herleitung. Wenn ein Grund ungültig wird, dann überprüfe, ob für die betroffene Schlußfolgerung noch andere Gründe zutreffen. Wenn nicht, ziehe sie zurück und überprüfe rekursiv die Auswirkungen. Problem: zirkuläre Gründe. Lösung: Unterscheidung in "sichere" und "unsichere" Gründe. 3. Assumption-Based TMS (ATMS): Speichere zu jeder Schlussfolgerung die Basisannahmen (Assumptions), die zu ihrer Herleitung geführt haben. Wenn sich etwas ändert, überprüfe anhand ihrer Basisannahmen, ob eine Schlussfolgerung immer noch gilt. Vorteile gegenüber JTMS: Kein Problem mit Zyklen, Behandlung multipler Zustände möglich. Nachteile: Skalierungsproblem, Behandlung von unsicherem Wissen.

Übersicht. Übersicht. Geschichte. Universelle Instantiierung

Übersicht. Übersicht. Geschichte. Universelle Instantiierung Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern 7. Logische Agenten 8. Prädikatenlogik 1. Stufe 9. Schließen in der Prädikatenlogik 1. Stufe 10. Wissensrepräsentation IV

Mehr

Übersicht. Künstliche Intelligenz: 9. Schließen in der Prädikatenlogik 1. Stufe Frank Puppe 1

Übersicht. Künstliche Intelligenz: 9. Schließen in der Prädikatenlogik 1. Stufe Frank Puppe 1 Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern 7. Logische Agenten 8. Prädikatenlogik 1. Stufe 9. Schließen in der Prädikatenlogik 1. Stufe 10. Wissensrepräsentation IV

Mehr

Übersicht. Übersicht. Universelle Instantiierung. Geschichte. Universelle und Existentielle Instantiierung. Existentielle Instantiierung

Übersicht. Übersicht. Universelle Instantiierung. Geschichte. Universelle und Existentielle Instantiierung. Existentielle Instantiierung Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern 7. Logische Agenten 8. Prädikatenlogik 1. Stufe 9. Schließen in der Prädikatenlogik 1. Stufe 10. Wissensrepräsentation IV

Mehr

Übersicht. Universelle Ontologien. Elemente der universellen Ontologie. Aspekte der universellen Ontologie. Maße. Repräsentation von Kategorien

Übersicht. Universelle Ontologien. Elemente der universellen Ontologie. Aspekte der universellen Ontologie. Maße. Repräsentation von Kategorien Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern 7. Logische Agenten 8. Prädikatenlogik 1. Stufe 9. Schließen in der Prädikatenlogik 1. Stufe 10. Wissensrepräsentation IV

Mehr

Übersicht. 9. Schließen in der Prädikatenlogik 1. Stufe

Übersicht. 9. Schließen in der Prädikatenlogik 1. Stufe Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlußfolgern 6. Logisch schließende Agenten 7. Prädikatenlogik 1. Stufe 8. Entwicklung einer Wissensbasis 9. Schließen in der Prädikatenlogik

Mehr

Übersicht. 7. Prädikatenlogik 1. Stufe

Übersicht. 7. Prädikatenlogik 1. Stufe Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlußfolgern 6. Logisch schließende Agenten 7. Prädikatenlogik 1. Stufe 8. Entwicklung einer Wissensbasis 9. Schließen in der Prädikatenlogik

Mehr

Übersicht. Prädikatenlogik höherer Stufe. Syntax der Prädikatenlogik 1. Stufe (mit Gleichheit)

Übersicht. Prädikatenlogik höherer Stufe. Syntax der Prädikatenlogik 1. Stufe (mit Gleichheit) Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern 7. Logische Agenten 8. Prädikatenlogik 1. Stufe 9. Schließen in der Prädikatenlogik 1. Stufe 10. Wissensrepräsentation IV

Mehr

Künstliche Intelligenz Logische Agenten & Resolution

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

Mehr

Eigenschaften der Resolution für PL1 Formeln

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,

Mehr

Programmiersprache Prolog

Programmiersprache Prolog Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 240 Programmiersprache Prolog Prolog-Programm ist Liste von Fakten (einelementige Hornklausel) und Regeln (mehrelementige

Mehr

Grundlagen der Künstlichen Intelligenz

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

Mehr

Logikprogrammierung. Berechnung durch Resolution Die Programmiersprache Prolog

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

Mehr

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren? Attribut-Werte-Paare Eine Eigenschaft kann beschrieben werden durch ein Paar [a,w]. Dabei bezeichnet a das Attribut und w den konkreten Wert aus dem Wertebereich W a des Attributs. Die Eigenschaften eines

Mehr

Das Programm ist deterministisch: es gibt für jedes Ziel höchstens eine Klausel, die zur erfolgreichen Ableitung des Zieles

Das Programm ist deterministisch: es gibt für jedes Ziel höchstens eine Klausel, die zur erfolgreichen Ableitung des Zieles Green Cuts Klauseln zum Mischen zweier geordneten Listen: merge ( [X Xs ], [Y Ys ], [X Zs ] ) : X < Y, merge ( Xs, [ Y Ys ], Zs ). (1) merge ( [X Xs ], [Y Ys ], [ X,Y Zs ] ) : X =:= Y, merge (Xs, Ys, Zs

Mehr

Eigenschaften der SLD-Resolution

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

Mehr

Logische und funktionale Programmierung

Logische und funktionale Programmierung Logische und funktionale Programmierung Vorlesung 11: Logikprogramme Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 19. Dezember 2016 1/55 WIEDERHOLUNG: HORN-KLAUSELN

Mehr

Künstliche Intelligenz

Künstliche Intelligenz George F. Luger 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Künstliche Intelligenz Strategien zur Lösung komplexer

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Bearbeitet von Uwe Lämmel, Jürgen Cleve 4., aktualisierte Auflage 2012. Buch. 336 S. ISBN 978 3 446 42758 7 Format (B x L): 18 x 24,5 cm Gewicht: 717 g Weitere Fachgebiete > EDV,

Mehr

1 Inhalt der Vorlesung B-PS1

1 Inhalt der Vorlesung B-PS1 1 Inhalt der Vorlesung B-PS1 1.1 Tag 1 1.1.1 Vormittag Geschichte der Programmiersprachen Wie viele Programmiersprachen gibt es? https://en.wikipedia.org/wiki/list_of_programming_languages Esoterische

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Structure Sharing vs. Structure Copying

Structure Sharing vs. Structure Copying a, b, c, d?-a. a, e, f CP a a, g b, c, d b, g, h g, h, c, d c, k, g h, c, d g c, d h k, g, d backtracking SLD-Ableitungen a :- b,c,d. a :- e,f. a :- g. b :- g,h. c :- k,g. g. h. CP a e, f a g { } backtracking

Mehr

3. Exkurs in weitere Arten der Programmierung

3. Exkurs in weitere Arten der Programmierung 3. Exkurs in weitere Arten der Programmierung Inhalt: Objektorientierte Programmierung in C++ Funktional-Logische Programmierung in Prolog Funktional-logische Programmierung in Prolog Prolog Programming

Mehr

Grundlagen der Kognitiven Informatik

Grundlagen der Kognitiven Informatik Grundlagen der Kognitiven Informatik Resolutionskalkül und Prolog Ute Schmid Kognitive Systeme, Angewandte Informatik, Universität Bamberg letzte Änderung: 14. Dezember 2010 U. Schmid (CogSys) KogInf-Resolution

Mehr

Teil 4: Rekursion und Listen

Teil 4: Rekursion und Listen Einführung in das Programmieren Prolog Sommersemester 2006 Teil 4: Rekursion und Listen Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln,

Mehr

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie Was ist Logik? Geschichte der Logik eng verknüpft mit Philosophie Begriff Logik wird im Alltag vielseitig verwendet Logik untersucht, wie man aus Aussagen andere Aussagen ableiten kann Beschränkung auf

Mehr

Logisches und funktionales Programmieren

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

Mehr

Teil 1: Ein motivierendes Beispiel

Teil 1: Ein motivierendes Beispiel Einführung in das Programmieren Prolog Sommersemester 2006 Teil 1: Ein motivierendes Beispiel Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax,

Mehr

Logik-Grundlagen. Syntax der Prädikatenlogik

Logik-Grundlagen. Syntax der Prädikatenlogik Logik-Grundlagen X 1 :...: X k : ( A 1 A 2... A m B 1 B 2... B n ) Logische und funktionale Programmierung - Universität Potsdam - M. Thomas - Prädikatenlogik III.1 Syntax der Prädikatenlogik Prädikat:

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

Logik Vorlesung 4: Horn-Logik und Kompaktheit

Logik Vorlesung 4: Horn-Logik und Kompaktheit Logik Vorlesung 4: Horn-Logik und Kompaktheit Andreas Maletti 14. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

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

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung GdP4 Slide 1 Grundlagen der Programmierung Vorlesung 4 vom 04.11.2004 Sebastian Iwanowski FH Wedel Grundlagen der Programmierung 1. Einführung Grundlegende Eigenschaften von Algorithmen und Programmen

Mehr

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung Sommersemester 2017 Thomas Schneider AG Theorie der künstlichen Intelligenz (TdKI) http://tinyurl.com/ss17-bl Beschreibungslogik SoSe 2017 7

Mehr

Künstliche Intelligenz Hornklauseln & Prolog

Künstliche Intelligenz Hornklauseln & Prolog Künstliche Intelligenz Hornklauseln & Prolog Stephan Schwiebert WS 2007/2008 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Terminologie (A B C) E Rumpf einer Klausel

Mehr

Übersicht. Wissensbasierte Agenten. Allgemeiner Entwurf eines Agenten (1) Allgemeiner Entwurf eines Agenten (2)

Übersicht. Wissensbasierte Agenten. Allgemeiner Entwurf eines Agenten (1) Allgemeiner Entwurf eines Agenten (2) Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern 7. Logische Agenten 8. Prädikatenlogik 1. Stufe 9. Schließen in der Prädikatenlogik 1. Stufe 10. Wissensrepräsentation IV

Mehr

Seminararbeit im Fachbereich

Seminararbeit im Fachbereich Seminararbeit im Fachbereich Wissensrepräsentation Truth Maintenance Systeme Autor: Elke Klippstein 1/46 1. Grundlagen 2. Truth Maintenance System (TMS) 3. Arten (a) Justification-based TMS (JTMS) (b)

Mehr

Resolution und Regeln

Resolution und Regeln Resolution und Regeln Hans Kleine Büning University of Paderborn Institute for Computer Science Group Paderborn, 18. Juli 2013 Resolution und Regeln Hans Kleine Büning 1/9 Resolution Theorem Resolution:

Mehr

Prolog. Modellieren in Prolog. Argumente eines Prädikates. Fakten

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)

Mehr

4 Spezielle Schlussverfahren

4 Spezielle Schlussverfahren 4 Spezielle Schlussverfahren 11. Vorlesung: Probabilistisches Schließen; Nichtmonotones Schließen Methoden der Künstlichen Intelligenz Ipke Wachsmuth WS 2011/2012 Unsicherheit, Unvollständigkeit 4. Wie

Mehr

Verfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere

Verfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere Prolog-Arithmetik Verfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere Verfügbare arithmetische Vergleichsoperationen: >, =, =

Mehr

Gedächtnisprotokoll Diplomprüfung Vertiefungsfach Wissenbasierte Systeme

Gedächtnisprotokoll Diplomprüfung Vertiefungsfach Wissenbasierte Systeme Gedächtnisprotokoll Diplomprüfung Vertiefungsfach Wissenbasierte Systeme Prüfungsinhalt: Artificial Intelligence (WS ) Knowledge Representation (SS 2002) Logikprogrammierung (WS) Prüfer: Lakemeyer Datum:

Mehr

(Logik und) Logikprogrammierung

(Logik und) Logikprogrammierung Übungsaufgaben zur Lehrveranstaltung (Logik und) Logikprogrammierung im Studiengang Informatik Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Künstliche Intelligenz

Mehr

SWP Logische Programme Teil 2

SWP Logische Programme Teil 2 SWP Logische Programme Teil 2 Bernhard Aichernig Institut für Softwaretechnologie aichernig@ist.tugraz.at Institute for Software Technology Inhalt! Motivation! Logische Programme (LP)! Resolution! Unifikation!

Mehr

Teil 8: Fortgeschrittene Techniken

Teil 8: Fortgeschrittene Techniken Einführung in das Programmieren Prolog Sommersemester 2006 Teil 8: Fortgeschrittene Techniken Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax,

Mehr

Programmierung Paradigmen und Konzepte

Programmierung Paradigmen und Konzepte Programmierung Paradigmen und Konzepte Mit 79 Bildern, 85 Beispielen, 130 Aufgaben und Kontrollfragen und 19 Referatsthemen Fachbuchverlag Leipzig im Carl Hanser Verlag 1 Einführung und Überblick 11 1.1

Mehr

-ein Mustervergleicher ist ein Programm, das überprüft, ob ein Datum zu einem gegebenen Muster passt.

-ein Mustervergleicher ist ein Programm, das überprüft, ob ein Datum zu einem gegebenen Muster passt. Thema: Wie ein beispielhaftes Query-System funktioniert Vortragender: Petar Tonev 1. Vorworte - - Ziele und Aufgaben des Vortrags klären wie das für Beispiel verwendete Anfragesystem die Herleitung musterbasierter

Mehr

Regeln. Wenn <Vorbedingung> dann <Aktion> Zwei Aktionstypen: Implikation (Deduktionen): Monotonie-Eigenschaft. Handlungen: keine Monotonie

Regeln. Wenn <Vorbedingung> dann <Aktion> Zwei Aktionstypen: Implikation (Deduktionen): Monotonie-Eigenschaft. Handlungen: keine Monotonie Regeln Wenn dann Zwei Aktionstypen: Implikation (Deduktionen): Monotonie-Eigenschaft Handlungen: keine Monotonie Beispiel für Implikationsregel: wenn (1) Nackensteife und (2) hohes

Mehr

Kapitel 6: Logik. Teil 2. (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01)

Kapitel 6: Logik. Teil 2. (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01) Kapitel 6: Logik Teil 2 (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01) Künstliche Intelligenz, Kapitel 6 Logik 1 Wdh. Resolution Das Resolutionsprinzip

Mehr

Inferenzmethoden. Einheit 12. Theorien- und Gleichheitsbehandlung

Inferenzmethoden. Einheit 12. Theorien- und Gleichheitsbehandlung Inferenzmethoden Einheit 12 Theorien- und Gleichheitsbehandlung 1. Theoriekonnektionen und Unifikationstheorie 2. Axiomatische Gleichheitsbehandlung 3. Gleichheitskonnektionen 4. Paramodulation 5. Resolution

Mehr

Semantische Netze Psychologische Plausibilität

Semantische Netze Psychologische Plausibilität Conceptual Graphs Knoten repräsentieren Konzepte oder konzeptuelle Relationen; Kanten haben keine Labels n-stellige konzeptuelle Relation repräsentiert als Knoten mit n Kanten Mächtigkeit der PL1; aber

Mehr

Einführung in die Methoden der Künstlichen Intelligenz. Klausurvorbereitung Überblick, Fragen,...

Einführung in die Methoden der Künstlichen Intelligenz. Klausurvorbereitung Überblick, Fragen,... Einführung in die Methoden der Künstlichen Intelligenz Klausurvorbereitung Überblick, Fragen,... PD Dr. David Sabel SoSe 2014 Stand der Folien: 18. Juli 2014 Klausur Termin: Donnerstag 31. Juli um 9.15h

Mehr

Abstrakte Syntax von Prolog (1)

Abstrakte Syntax von Prolog (1) 3. Prolog Syntax 3-1 Abstrakte Syntax von Prolog (1) Abstrakte und konkrete Syntax: Abstrakte Syntax: Nur Datenstrukturen, die der Parser anlegt (z.b. Operatorbaum). Konkrete Syntax: Zeichenketten, die

Mehr

Deklarative Semantik

Deklarative Semantik 7. Deklarative Semantik 7-1 Deklarative Semantik Bisher: Prolog als Programmiersprache. Operationale Semantik : Wie wird ein Programm ausgeführt? Welche Antworten werden berechnet? Jetzt: Prolog als logischer

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

Reihenfolge von Klauseln

Reihenfolge von Klauseln Reihenfolge von Klauseln Bei der Programmierung in Prolog steht grundsätzlich die Repräsentation logischer Zusammenhänge im Vordergrund. Nichtsdestotrotz ist es unvermeidbar, die Mechanismen der Abarbeitung

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Deduktion in der Aussagenlogik

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

Mehr

Prolog 2. Kapitel: Matching und Beweisführung

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

Mehr

Wissensrepräsentation

Wissensrepräsentation Wissensrepräsentation Vorlesung Sommersemester 2008 12. Sitzung Dozent Nino Simunic M.A. Computerlinguistik, Campus DU Übersicht Rückblick, Zusammenhänge Mysterien 2 Inhalte im abstrakten Überblick Künstliche

Mehr

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen

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

Mehr

Aufgabe 1 (Allgemeines)

Aufgabe 1 (Allgemeines) Klausur... Einführung in die Künstliche Intelligenz 1SS08 Aufgabe 1 (Allgemeines) (4 Punkte) a) In der Künstlichen Intelligenz unterscheidet man symbolische und subsymbolische Verfahren. Beschreibe diese

Mehr

Labor Compilerbau. Jan Hladik. Sommersemester DHBW Stuttgart. Jan Hladik (DHBW Stuttgart) Labor Compilerbau Sommersemester / 20

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

Mehr

Deduktion in der Aussagenlogik. Semantische Folgerungsbeziehung. Zusammenhang zwischen semantischer und syntaktischer Folgerung

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

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);

Mehr

Logik I. Symbole, Terme, Formeln

Logik I. Symbole, Terme, Formeln Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v

Mehr

Tableaukalkül für Aussagenlogik

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

Mehr

Wissensbasierte Systeme/ Expertensysteme. Teil 2

Wissensbasierte Systeme/ Expertensysteme. Teil 2 Wissensbasierte Systeme/ Expertensysteme Teil 2 BiTS, Sommersemester 2004 Dr. Stefan Kooths KOOTHS BiTS: Wissensbasierte Systeme/Expertensysteme Teil 2 1 Gliederung 1. Einführung und Einordnung 2. Entscheidungsunterstützung(ssysteme)

Mehr

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

Mehr

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation Entscheidungsverfahren mit Anwendungen in der Softwareverifikation VI: SMT, DPLL(T) Carsten Sinz Institut für Theoretische Informatik 21.11.2018 Inhalt Theorien SMT-LIB DPLL(T): Idee Abstraktes DPLL(T)!2

Mehr

Die beiden Regeln des vorangegangenen Beispiels weisen Unterschiede. Die erste Regel entspricht einer logischen Implikation.

Die beiden Regeln des vorangegangenen Beispiels weisen Unterschiede. Die erste Regel entspricht einer logischen Implikation. 3. Regelsysteme Eine weitverbreitete Form der Wissensrepräsentation ist die Formulierung von Regeln. Regeln sind formalisierte Konditionalsätze der Form Wenn (if) F dann (then) G. Bedeutung: Wenn dann

Mehr

Wozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation

Wozu formale Logik? Programmiersprachen Logik im Fingerhut. Formeln. Logik im Fingerhut (24. Januar 2005) Belegung und Interpretation Wozu formale Logik? Logik im Fingerhut Studiengang Informatik Universität Bremen präzise Beschreibung von Aussagen über die Welt bzw. über verschiedene Welten Ziehen und Überprüfen von Schlussfolgerungen

Mehr

Teil X.4. C vs. Pascal

Teil X.4. C vs. Pascal Teil X.4 C vs. Pascal 1 Unterschiede im Typsystem (1) Einfache Typen C char int enum long float double Pascal Char Integer Word Longint Single Double Typdeklaration double summe; /* Var summe: Double;

Mehr

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37 Aussagenlogik Übersicht: 1 Teil 1: Syntax und Semantik 2 Teil 2: Modellierung und Beweise Aussagenlogik H. Kleine Büning 1/37 Modellierungsaufgabe Es gibt drei Tauben und zwei Löcher. Jede Taube soll in

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2015/2016

Klausur Formale Systeme Fakultät für Informatik WS 2015/2016 Klausur Formale Systeme Fakultät für Informatik WS 2015/2016 Prof. Dr. Bernhard Beckert 4. März 2016 Vorname: Name: Matrikel-Nr.: Platz-Nr.: Code: **Vorname** **Familienname** **Matr.-Nr.** **Hörsaal**

Mehr

Künstliche Intelligenz Einführung in Prolog

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?

Mehr

Übersicht. Künstliche Intelligenz: 13. Unsicherheiten Frank Puppe 1

Übersicht. Künstliche Intelligenz: 13. Unsicherheiten Frank Puppe 1 Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres Wissen und Schließen 13. Unsicherheiten 14. Probabilistisches Schließen 15. Probabilistisches

Mehr

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales

Mehr

4. Regelbasierte Systeme

4. Regelbasierte Systeme 4. Regelbasierte Systeme Grundlagen regelbasierter Systeme 4. Regelbasierte Systeme Eine weitverbreitete Form der Wissensrepräsentation ist die Formulierung von Regeln. Regeln sind formalisierte Konditionalsätze

Mehr

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

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.

Mehr

Semantic Web Technologies II SS 2008

Semantic Web Technologies II SS 2008 Semantic Web Technologies II SS 2008 09.07.2008 Die Regelbasierte Ontologiesprache F-Logik Dr. Peter Haase PD Dr. Pascal Hitzler Dr. Steffen Lamparter Denny Vrandecic Content licensed under Creative Commons

Mehr

Cut und Negation. Heute: if-then-else. Negation. Programmierkurs Prolog p.1

Cut und Negation. Heute: if-then-else. Negation. Programmierkurs Prolog p.1 Cut und Negation Heute: der Cut if-then-else Negation Programmierkurs Prolog p.1 Zur Erinnerung: Suchbäume p(x) :- a(x). p(x) :- b(x),c(x),d(x). p(x) :- f(x). a(1). p(i1) b(1). c(1). a(i1) b(i1), c(i1),

Mehr

Prolog 3. Kapitel: Rekursion

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:

Mehr

Prolog Tutorial Norbert E. Fuchs Institut für Informatik Universität Zürich

Prolog Tutorial Norbert E. Fuchs Institut für Informatik Universität Zürich Prolog Tutorial Norbert E. Fuchs Institut für Informatik Universität Zürich Inhalt Vom deklarativen Wissen zum prozeduralen Programm Vom Programm zur Berechnung Elemente eines Prolog-Programms Zugverbindungen

Mehr

Prolog 3. Kapitel: Rekursion

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

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung Einleitung Elmar Eder () 1 / 27 Verschiedene Paradigmen der Programmierung Imperative Programmierung Einfache imperative Programmierung Prozedurale Programmierung Objektorientierte

Mehr

Logik Vorlesung 3: Äquivalenz und Normalformen

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

Mehr

(Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01, sowie von Andreas Abecker/Knut Hinkelmann)

(Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01, sowie von Andreas Abecker/Knut Hinkelmann) Kapitel 9: Frames (Dieser Foliensatz basiert auf Material von Mirjam Minor, Humboldt- Universität Berlin, WS 2000/01, sowie von Andreas Abecker/Knut Hinkelmann) Künstliche Intelligenz, Kapitel 9 Frames

Mehr

Spezifikation in Datalog:

Spezifikation in Datalog: Spezifikation in Datalog: darf_hinzufügen (X,W) :- editiert (Z,W), hat_mitglied (Z,X). darf_löschen (X,E) :- besitzt (X,E). darf_modifizieren (X,E) :- besitzt (X,E). darf_modifizieren (X,E) :- besitzt

Mehr

4. Regelbasierte Systeme

4. Regelbasierte Systeme 4. Regelbasierte Systeme Die beiden Regeln des vorangegangenen Beispiels weisen Unterschiede auf: Eine weitverbreitete Form der Wissensrepräsentation ist die Formulierung von Regeln. Regeln sind formalisierte

Mehr

Logische Programmierung

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:

Mehr

Einführung in die Logik (Vorkurs)

Einführung in die Logik (Vorkurs) Einführung in die Logik (Vorkurs) Jürgen Koslowski 2014-04-07 Ein Beispiel Familie A will im kommenden Jahr eine Waschmaschine, ein Auto und ein Moped anschaffen. Aber falls Herr A seinen üblichen Bonus

Mehr

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 auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser Informatik A Prof. Dr. Norbert Fuhr fuhr@uni-duisburg.de 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

Mehr

Mathematische Grundlagen I Logik und Algebra

Mathematische Grundlagen I Logik und Algebra Logik und Algebra Dr. Tim Haga 21. Oktober 2016 1 Aussagenlogik Erste Begriffe Logische Operatoren Disjunktive und Konjunktive Normalformen Logisches Schließen Dr. Tim Haga 1 / 21 Präliminarien Letzte

Mehr

Künstliche Intelligenz für Ingenieure

Künstliche Intelligenz für Ingenieure Künstliche Intelligenz für Ingenieure von Prof. Dr.-Ing. Jan Lunze 2., völlig überarbeitete Auflage Oldenbourg Verlag München Verzeichnis der Anwendungsbeispiele Hinweise zum Gebrauch des Buches xvii xxiii

Mehr

2008W. Vorlesung im 2008W Institut für Algebra Johannes Kepler Universität Linz

2008W. Vorlesung im 2008W  Institut für Algebra Johannes Kepler Universität Linz Logik Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://wwwalgebrauni-linzacat/students/win/ml Inhalt Logik Logik Aussagen Die mathematische Logik verwendet mathematische Methoden,

Mehr

Prolog 2. Kapitel: Matching und Beweisführung

Prolog 2. Kapitel: Matching und Beweisführung Prolog 2. Kapitel: Matching und Beweisführung Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 2 1 Zusammenfassung: Kapitel 1 Wir haben die

Mehr