Einführung in PROLOG III Rekursion
|
|
|
- Walther Hafner
- vor 9 Jahren
- Abrufe
Transkript
1 Einführung in PROLOG III Rekursion Betrachten wir die folgende Knowledge Base: teurer(x,y):- kostet_etwas_mehr(x,y). teurer(x,y):- kostet_etwas_mehr(x,z), teurer(z,y). kostet_etwas_mehr(big_mac,pommes). kostet_etwas_mehr(doener,big_mac). Prädikate (hier teurer) können rekursiv auch definiert werden. Betrachten wir die deklarative und die prozedurale Bedeutung dieser Regel. Deklarativ (Was es aussagt): Erste Regel: Wenn X etwas mehr als Y kostet, dann ist X teurer als Y Zweite Regel: Wenn X etwas mehr als Z kostet und Z teurer als Y ist, dann ist X teurer als Y. Prozedural (Was wirklich passiert): Die erste Regel (Die Basisklausel) ist klar Die zweite Regel gibt PROLOG eine alternative Strategie, um herauszufinden, ob X teurer ist als Y: Versuche ein Z zu finden, so dass X etwas mehr als Z kostet, und Z teurer als Y ist. Das heißt, Prolog zerlegt das Problem in zwei Teilprobleme. Schauen wir uns an, was PROLOG mit folgender Query macht:?- teurer(doener,pommes). Zuerst versucht PROLOG die erste Regel anzuwenden. X wird mit doener und Y mit pommes gleichgesetzt, wodurch wir folgendes goal erhalten: kostet_etwas_mehr(doener,pommes). Aber die Knowledge Bas enthält diese Information nicht. Also versucht PROLOG die zweite Regel und erhält folgendes goal: kostet_etwas_mehr(doener, Z), teurer(z, pommes). Beim Blick in die Knowledge Base wird Z mit big_mac instanziiert, so dass der erste Teil erfüllt ist. Die erste Regel reduziert den zweiten Teil auf: teurer(big_mac,pommes). Und das ist ein Fakt in der Knowledge Base. Es ist einleuchtend, dass man beim Schreiben eines rekursiven Prädikates immer wenigstens zwei Klauseln benötigt: Eine Basisklausel, die die Rekursion beenden kann, und eine, die die Rekursion enthält.
2 Beispiel Nachkomme Da wir jetzt wissen, was Rekursion für PROLOG bedeutet, betrachten wir jetzt, warum Rekursion so wichtig ist. Betrachten wir folgende Knowledge Base: kind(jan,alfred). kind(jonathan,jan). Wenn wir jetzt die Beziehung Nachkomme definieren wollen, können wir das nicht-rekursiv tun: kind(x,y). kind(x,z), kind(z,y). Wenn wir aber mehr als zwei Generationen betrachten wollten, müssten wir immer weitere Regeln anhängen, daher bietet sich die rekursive Version an : kind(x,y). kind(x,z), nachkomme(z,y).
3 Beispiel Sukzessor Es gibt verschieden Arten Zahlen zu schreiben. Eine begegnet uns in der Logik: 1. 0 ist eine Zahl 2. Wenn X eine Zahl ist, dann auch succ(x). Succ steht für Sukzessor, also ist succ(x) die Zahl, die man erhält, wenn man zu X Eins addiert. Diese Definition wird zu einem PROLOG-Programm mit folgender Knowledge Base: zahl(0). zahl(succ(x)):-zahl(x). Natürlich ergibt die Query?- zahl (succ(succ(succ(0)))). Ein yes. Aber interessanter ist:?- zahl(x). Also: Zeig mir einige Zahlen! ergibt: X = 0 ; X = succ(0) ; X = succ(succ(0)) ; X = succ(succ(succ(0))) ; X = succ(succ(succ(succ(0)))) ; X = succ(succ(succ(succ(succ(0))))) ; X = succ(succ(succ(succ(succ(succ(0)))))) ; X = succ(succ(succ(succ(succ(succ(succ(0))))))) PROLOG zählt auf eine besondere Art und Weise, indem es Zahlen mithilfe von matching konstruiert. Vorsicht! Es ist wichtig, zu verstehen, wie PROLOG vorgeht, indem es versucht Queries zu beantworten. Was passiert z.b., wenn wir obige Knowledge Base in folgener Form schreiben: zahl(succ(x)):-zahl(x). zahl(0). Und dann die Querie?- zahl(x). starten?
4 Übungen: 1. Betrachten wir folgende Knowledge Base: bigger(cat,mouse). bigger(dog,cat). bigger(sheep,dog). bigger(horse,sheep). bigger(elephant,horse). Schreiben Sie ein rekursives Prädikat biggerthan/2 welches alle Größer-Als - Beziehungen zwischen den Tieren herausbekommt, dass also ein Elefant größer ist als eine Maus, usw. 2. Betrachten wir folgende Knowledge Base: directtrain(lueneburg,hamburg). directtrain(bremen,lueneburg). directtrain(braunschweig,hannover). directtrain(hannover,lueneburg). directtrain(hamburg,kiel). directtrain(magdeburg,braunschweig). directtrain(berlin,magdeburg). Sie enthält Informationen über direkte Zugverbindungen. Natürlich kann man auch reisen, indem man mehrere Züge hintereinander nimmt. Schreiben Sie ein rekursives Prädikat travelbetween/2 welches uns mitteilt, ob man zwischen zwei Orten fahren kann. Zum Beispiel sollte die Querie: `yes' ergeben. travelbetween(berlin,hamburg). Gehen wir jetzt davon aus, dass eine Verbindung von A nach B auch eine Verbindung von B nach A bedeutet. Ergänzen Sie eine Rule, die dieses ermöglicht, und testen Sie sie mit der Querie: travelbetween(hamburg,berlin). 3. Betrachten wir folgende Knowledge Base: bycar(auckland,hamilton). bycar(hamilton,raglan). bycar(valmont,saarbruecken). bycar(valmont,metz). bytrain(metz,frankfurt). bytrain(saarbruecken,frankfurt).
5 bytrain(metz,paris). bytrain(saarbruecken,paris). byplane(frankfurt,bangkok). byplane(frankfurt,singapore). byplane(paris,losangeles). byplane(bangkok,auckland). byplane(losangeles,auckland). Schreibe Sie ein Prädikat travel/2, welches herausfindet, ob es möglich ist von einem Ort zum anderen zu reisen, indem man Auto, Zug oder Flugzeug nimmt. Zum Beispiel sollte `yes' auf die Querie travel(valmont,raglan) geliefert werden. travel/2 sagt uns also, dass es möglich ist, von Vamont nach Raglan zu reisen. Schreiben Sie ein Prädikat travel/3, welches die exakte Route angibt. Auf die Querie travel(valmont,paris,go(valmont,metz,go(metz,paris))) sollte also yes und X = go(valmont,metz,go(metz,paris,go(paris,losangeles))) auf die Querie travel(valmont,losangeles,x). folgen Erweitern Sie travel/3 so, dass sie nicht nur die Route liefert, sondern auch wie von einem Ort zum anderen gereist wird, also car, train, plane.
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
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:
Rekursion. rekursive Prädikate. deklarative vs. prozedurale Bedeutung von Prädikaten. Programmierkurs Prolog p.1
Rekursion rekursive Prädikate deklarative vs. prozedurale Bedeutung von Prädikaten Programmierkurs Prolog p.1 is digesting/2 is digesting(x,y) :- just ate(x,y). is digesting(x,y) :- just ate(x,z), is digesting(z,y).
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
Rekursive Listenverarbeitung
Rekursive Listenverarbeitung Übersicht Rekursion ist die wichtigste Programmiertechnik in Prolog! Rekursive Datenstrukturen Einfache und rekursiv gebildete Strukturen Rekursive Datenstrukturen und rekursive
Einführung in PROLOG IV Listen
Einführung in PROLOG IV Listen Beispiele für Listen in PROLOG: 1. [mia, vincent, jules, yolanda] 2. [mia, robber(honey_bunny), X, 2, mia] 3. [] 4. [mia, [vincent, jules], [butch, girlfriend(butch)]] 5.
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
Logische Programmierung
Logische Programmierung Einleitung Elmar Eder () 1 / 27 Verschiedene Paradigmen der Programmierung Imperative Programmierung Einfache imperative Programmierung Prozedurale Programmierung Objektorientierte
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
Einführung in PROLOG
Einführung in PROLOG 1.Einfache Beispiele Es gibt nur drei Konstrukte in PROLOG. Fakts (Fakten), rules (Regeln) und queries. Eine Sammlung von Fakten und Regeln nennt man knowledge base. Beim Programmieren
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:
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
1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -
1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen Folge von
Path Finding with Prolog. AAI Projekt Thien-An Bui und Marlene Wittwer FHNW Brugg-Windisch, HS 2014
Path Finding with Prolog AAI Projekt Thien-An Bui und Marlene Wittwer FHNW Brugg-Windisch, HS 2014 Ziel Grundlagen von Prolog vermitteln Beispiel Path Finding Zugstrecken erklären Ablauf 1. Allgemeines
LISTEN. Programmierkurs Prolog p.1
LISTEN Programmierkurs Prolog p.1 Liste Listen sind rekursive Datenstrukturen, die dazu dienen geordnete Mengen von Elementen zu beschreiben. Man kann sich Listen in Prolog als Behälter vorstellen, die
Ü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
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,
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?
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
Prolog als Datenbanksprache - Idee
Prolog als Datenbanksprache - Idee student Mnr Vorname Name Semester student( 1000, Anna, Arm, ti2 ). student( 1001, ita, eich, ti2 ). student( 1002, Peter, eich, ti2 ). student( 1003, Peter, Petersen,
2. Imperative Programmierung und Berechenbarkeit - Registermaschinen -
2. Imperative Programmierung und Berechenbarkeit - Registermaschinen - 2.1 Definition 2.2 Loop-Programme 2.3 While Programme 2.4 While Programme und rekursive Funktionen Im Wesentlichen: Tafel! Maschinenmodell
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
5 Logische Programmierung
5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen
Rekursive Funktionen (1)
Rekursive Funktionen (1) Rekursive Algorithmen Wenn Gesamtlösung durch Lösen gleichartiger Teilprobleme erzielbar: Rekursion möglich Beispiel: Fakultät einer ganzen Zahl n: n i n! = i=1 für n > 0 1 für
Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3
Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Aufgabe 1 (20 Punkte) Dialogische Logik a) Was isteine formal wahrebehauptung? Welche Aussageschematasindallgemeingültig? b) Überprüfen
Rekursive Funktionen (1)
Rekursive Funktionen (1) Rekursive Algorithmen Wenn Gesamtlösung durch Lösen gleichartiger Teilprobleme erzielbar: Rekursion möglich Beispiel: Fakultät einer ganzen Zahl n: nn ii nn! = ii=1 für nn > 0
Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,
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
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
Logische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 8: Arithmetik, Listenprädikate, weitere Prolog Prädikate Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca [email protected] 1/67 ARITHMETIK
Denkübungen Zeit: 58 Min. Name des Kandidaten:
Sie haben 58 Min. Zeit. Holen Sie das Beste heraus! 1. Verteilen Sie die Zahlen von 1 bis 9 so, dass die Summe quer durch das Rad jeweils 15 gibt. 2. Verteilen Sie die Zahlen von 1 bis 16 in diesem Raster
Inhalt. PROLOG-1A: Mathematik? PROLOG-1B: Aussagen. PROLOG-2: Mengen, Funktionen. PROLOG-3A: Mathematik in Semestern 1+2
Inhalt PROLOG-1A: Mathematik? PROLOG-1B: Aussagen PROLOG-2: Mengen, Funktionen PROLOG-3A: Mathematik in Semestern 1+2 PROLOG-3B: Funktionen, Induktion, Ungleichungen Mathematik in Semestern 1+2 Mathematik
SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4. R. C. Ladiges, D. Fast 10. Juni 2010
SS2010 BAI2-LBP Gruppe 1 Team 07 Entwurf zu Aufgabe 4 R. C. Ladiges, D. Fast 10. Juni 2010 Inhaltsverzeichnis 4 Aufgabe 4 3 4.1 Sich mit dem Programmpaket vertraut machen.................... 3 4.1.1 Aufgabenstellung.................................
Logische Programmierung
Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);
Terme. Heute: Terme vergleichen. Struktur von Termen. Operatoren. Logik in der Praxis Logikprogrammierung (Prolog) p.1
Terme Heute: Terme vergleichen Struktur von Termen Operatoren Logik in der Praxis Logikprogrammierung (Prolog) p.1 Termgleichheit: ==?- a == a.?- a == b. no?- X == Y. no?- X == X.?- X == a. no Logik in
DataLog. Datenbank-Programmiersprache für deduktive Datenbanken. Proseminar Programmierparadigmen und Sprachen. Nico Braunisch
DataLog Datenbank-Programmiersprache für deduktive Datenbanken Proseminar Programmierparadigmen und Sprachen Nico Braunisch Inhalt DataLog Motivation Definition Entstehung Syntyx & Semantik Bedeutung CodeQuest
SWP Logische Programme
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
Prolog 4. Kapitel: Listen
Prolog 4. Kapitel: Listen Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 4 1 Zusammenfassung Kapitel 3 Wir haben gelernt, dass die Rekursion
Kapitel 3. Natürliche Zahlen und vollständige Induktion
Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine
Futur II. NIVEAU NUMMER SPRACHE Mittelstufe B2_1032G_DE Deutsch
Futur II GRAMMATIK NIVEAU NUMMER SPRACHE Mittelstufe B2_1032G_DE Deutsch Lernziele Lerne das Futur II auszudrücken Wiederhole das Futur I Lerne den Unterschied zwischen Futur I und Futur II zu erkennen
Program = Logic + Control
Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren
Multiplikation langer Zahlen
Multiplikation langer Zahlen Aljoscha Rudawski 20.5.2017 Inhaltsverzeichnis 1 Einleitung 1 2 Multiplikation nach Lehrbuch 1 2.1 Addition langer Zahlen............................. 2 2.2 Multiplikation
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
Deduktives Lernen Explanation-Based Learning
Deduktives Lernen Explanation-Based Learning Algorithmus grundlegende Idee anhand eines Beispiels Eigenschaften von EBL Utility Problem Implementierung als PROLOG Meta-Interpreter Operationalisierung 1
2. Übungsblatt Abgabe spätestens in der Vorlesung/Übung am
Grundlagen der Kognitiven Informatik Schmid, Siebers WS 11/12 2. Übungsblatt Abgabe spätestens in der Vorlesung/Übung am 18.12.10 Aufgabe ist es, selbst ein ACT-R Model zu erzeugen. In der Datei add-model.lisp
Grundlagen der Logik und Logik-Programmierung
Grundlagen der Logik und Logik-Programmierung 10. Übung - Übungsblatt 9 Florian Wittmann Übungen zu GLoLoP Inhalt 1 Aufgabe 9-1: ESK-Kalkül und Quantorenlogik 2 Aufgabe 9-2: Logik mit Peter 3 Aufgabe 9-3:
Maple-Praktikum für Lehramt Blatt 3 Dieses Blatt wird in Kalenderwoche 18 (ab 30. April) testiert.
Maple-Praktikum für Lehramt 2018 - Blatt 3 Dieses Blatt wird in Kalenderwoche 18 (ab 30. April) testiert. Aufgaben: 8 > restart; Ein wichtiges Konzept in der Analysis sind Grenzwerte von Folgen. ÜBUNG
Strukturelle Rekursion und Induktion
Kapitel 2 Strukturelle Rekursion und Induktion Rekursion ist eine konstruktive Technik für die Beschreibung unendlicher Mengen (und damit insbesondere für die Beschreibung unendliche Funktionen). Induktion
Einführung in PROLOG 7 Kontextfreie Grammatiken
Einführung in PROLOG 7 Kontextfreie Grammatiken Der Erschaffer von PROLOG, Alain Colmerauer, war ein Computer-Linguist. Daher ist die Computer-Linguistik immer noch das klassische Anwendungsfeld von PROLOG.
(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
Einführung in Prolog. Simon Bischof. IPD Snelting
Einführung in Prolog Simon Bischof IPD Snelting KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Terme id := [a-z][a-za-z0-9]*
Aussagenlogik Prädikatenlogik erster Stufe. Logik. Logik
Grundzeichen Aussagenlogik Aussagenvariablen P, Q, R,... Junktoren nicht und oder Runde Klammern (, ) Formeln Aussagenlogik Formeln sind spezielle Zeichenreihen aus Grundzeichen, und zwar 1 Jede Aussagenvariable
Übung: Aktuelle Lebensbereiche bewerten & konkrete Verbesserungspotentiale für deine. Lebensqualität entdecken
Übung: Aktuelle Lebensbereiche bewerten & konkrete Verbesserungspotentiale für deine Lebensqualität entdecken Herzlich willkommen, heute zeige ich dir eine hilfreiche Übung, mit der du deine Lebensbereiche
Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin
Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin Helmut Veith Technische Universität München Organisatorisches Anmeldung zur Lehrveranstaltung: [email protected]
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
Logische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 9: Prolog - Das Prädikat CUT Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca [email protected] 9. Dezember 2016 1/31 Läßt sich nämlich
5. 7. Brüche und Dezimalzahlen. Mathematik. Das 3-fache Training für bessere Noten: Klasse. Klasse
Das 3-fache Training für bessere Noten: WISSEN ÜBEN TESTEN Die wichtigsten Regeln zum Thema Brüche und Dezimalzahlen mit passenden Beispielen verständlich erklärt Zahlreiche Übungsaufgaben in drei Schwierigkeitsstufen
Listen. M. Jakob. Gymnasium Pegnitz. 20. September Hinführung: Wartenschlangen. Grundprinzip von Listen Rekursion
M. Jakob Gymnasium Pegnitz 20. September 2015 Inhaltsverzeichnis Grundprinzip von Rekursion (10 Std.) Die einfach verkettete Liste als Kompositum (10 Std.) Klasse LISTENELEMENT? Entwurfsmuster Kompositum
Grundlagen der Logik und Logik-Programmierung
Grundlagen der Logik und Logik-Programmierung 9. Übung - Übungsblatt 8 Florian Wittmann Übungen zu GLoLoP Inhalt 1 Aufgabe 8-1: 2 Aufgabe 8-2: Frege Kalkül 3 Aufgabe 8-3: Vier-Farben-Satz Florian Wittmann
Theorembeweiser und ihre Anwendungen
Theorembeweiser und ihre Anwendungen Prof. Dr.-Ing. Gregor Snelting Dipl.-Inf. Univ. Daniel Wasserrab Lehrstuhl Programmierparadigmen IPD Snelting Universität Karlsruhe (TH) IPD Snelting, Uni Karlsruhe
Rekursive Programmiertechniken. Einfachste Rekursion mit Babuschka. Hyponymie: Unterbegriffshierarchie. Linksrekursion mit Babuschka
Rekursive Programmiertechniken Einfachste Rekursion mit Babuschka Übersicht Linksrekursion Transitive Relationen berechnen Hierarchische Beziehungen: Hyponymie Dekomposition eines (von mehreren) Arguments
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
Prolog = Programmierung in Logik (Roussell, Colmerauer, 1973/74)
Logikprogrammierung Historie: Philosophie / Mathematik Künstliche Intelligenz Praktische Programmiersprache: Prolog = Programmierung in Logik (Roussell, Colmerauer, 1973/74) Grundidee: Ein Programm ist
Inhalt. 1 Mathematik? 2 PROLOG-1: Aussagen und Mengen. 3 PROLOG-2: Funktionen. 4 PROLOG-3: Zahlenmengen und vollständige Induktion
Inhalt 1 Mathematik? 2 PROLOG-1: Aussagen und Mengen 3 PROLOG-2: Funktionen 4 PROLOG-3: Zahlenmengen und vollständige Induktion 5 PROLOG-4: Ungleichungen Daniel Weller (Inst. f. Diskr. Math.) PROLOG 2013
Übungen zu Logik und Künstliche Intelligenz Blatt 8
Heilbronn, den 14.5.2010 Prof. Dr. V. Stahl WS 10/11 Übungen zu Logik und Künstliche Intelligenz Blatt 8 Aufgabe 1. Überlegen Sie, wie man folgende Relationen R grafisch darstellen könnte und entscheiden
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),
Vorschlag informeller Test zu den Themen Die Grundlagen der Erde sowie Orientierung und Karten
Vorschlag informeller Test zu den Themen Die Grundlagen der Erde sowie Orientierung und Karten Ziele Erklären können, warum es Tag und Nacht gibt Die Drehbewegungen der Erde erläutern können Über das Gradnetz
Prolog 1. Kapitel: Fakten, Regeln und Anfragen
Prolog 1. Kapitel: Fakten, Regeln und Anfragen Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 1 1 Allgemeines Prolog (aus dem franz. Programming
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Was sind Programme? In dieser Vorlesung: Python,
7 Das Zählen von Objekten. Themen: Teile und Herrsche Zählen durch Bijektion
7 Das Zählen von Objekten Themen: Teile und Herrsche Zählen durch Bijektion Grundprinzipien des Zählens 1. Teile und Hersche: Strukturiere die zu zählenden Objekte so, dass sie in Teilklassen zerfallen,
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Was sind Programme? In dieser Vorlesung: Python,
