Künstliche Intelligenz

Größe: px
Ab Seite anzeigen:

Download "Künstliche Intelligenz"

Transkript

1 Künstliche Intelligenz Prolog - Rekursion, Backtracking Claes Neuefeind Sprachliche Informationsverarbeitung Universität zu Köln 14. Dezember 2011

2 Wiederholung Backtracking Praxis Hausaufgaben & Seminarplan

3 Wiederholung Backtracking Praxis Hausaufgaben & Seminarplan

4 Hausaufgabe 1: Fakultät Die Fakultät einer Zahl X ist definiert durch X (X 1) (X 2)... 1 Bspw. ist die Fakultät von 5 5! = Schreiben Sie ein Prolog-Prädikat, dass die Fakultät zu einer Zahl berechnet.

5 Hausaufgabe 2: Fibonacci Die Fibonacci-Folge f 0, f 1,... ist durch das Bildungsgesetz f n = f n 1 + f n 2 für n 2 mit den Anfangswerten f 0 = 0 und f 1 = 1 definiert. (Nach Wikipedia: Fibonacci-Folge)

6 Fibonacci - Optimierung Warum benötigt das Programm für größere Zahlen sehr viel Zeit? Für jedes N müssen alle vorigen Zahlen immer wieder neu durch Rekursion ermittelt werden! Optimierung: Verwendung von assert, um bereits berechnete Zahlen in die KB zu schreiben Dafür nötig: Kennzeichnung der KB als dynamic sorgt dafür, dass die KB verändert werden kann

7 Der cut-operator:! Beschneidet den Suchraum der Inferenzmaschine Für alles vor dem cut wird kein alternativer Beweis gesucht Festschreibung der Variableninstantiierungen Zwei Verwendungen: Deterministische Klauseln (z.b. bei Fibonacci) Negation mittels cut-fail-kombination: p :- q,!, fail. q ist erfüllbar, anschließend wird das Scheitern erzwungen ( fail ), durch den cut wird ein alternativer Beweis verhindert damit scheitert p, obwohl q erfüllbar ist.

8 Wiederholung Backtracking Praxis Hausaufgaben & Seminarplan

9 Backtracking Uninformiertes, universelles Suchverfahren (trial and error) Fester Bestandteil von Prolog Implementiert Tiefensuche in Bäumen Findet garantiert eine Lösung (falls eine Lösung existiert)

10 Beispiel: Wegsuche Gesucht: Weg vom zur Uni Abbildung: Aus: König/Seiffert (1989): Kap. 5.3, etwas modifiziert

11 Beispiel: Wegsuche An jeder Kreuzung gibt es Alternativen, die evtl. zum Ziel führen. Abbildung: Aus: König/Seiffert (1989): Kap. 5.3, etwas modifiziert

12 Daraus lässt sich eine Baumstruktur erzeugen, in der jeder Knoten einer Kreuzung entspricht, und in der jeder Knoten als Kind-Knoten die erreichbaren Kreuzungen enthält. Abbildung: Aus: König/Seiffert (1989): Kap. 5.3, etwas modifiziert

13 Daraus lässt sich eine Baumstruktur erzeugen, in der jeder Knoten einer Kreuzung entspricht, und in der jeder Knoten als Kind-Knoten die erreichbaren Kreuzungen enthält. Friedrich / Lautenschläger Friedrich/ Uni Uni......

14 Ein Backtracking-Algorithmus expandiert den aktuellen Knoten, wählt ein Kind und setzt dieses als neuen aktuellen Knoten. So wird der Baum rekursiv von der Wurzel bis zu einem Blatt durchlaufen (Tiefensuche). Friedrich / Lautenschläger Friedrich/ Uni Uni......

15 Backtracking-Algorithmus Friedrich / Lautenschläger Friedrich/ Uni Uni......

16 Backtracking-Algorithmus Friedrich / Lautenschläger Friedrich/ Uni Uni......

17 Backtracking-Algorithmus Friedrich / Lautenschläger Friedrich/ Uni Uni......

18 Backtracking-Algorithmus Friedrich / Lautenschläger Friedrich/ Uni Uni......

19 Backtracking-Algorithmus Friedrich / Lautenschläger Friedrich/ Uni Uni......

20 Backtracking-Algorithmus Friedrich / Lautenschläger Friedrich/ Uni Uni......

21 Backtracking-Algorithmus Friedrich / Lautenschläger Friedrich/ Uni Uni......

22 Backtracking-Algorithmus Friedrich / Lautenschläger Friedrich/ Uni Uni......

23 Backtracking & Unifikation Wird im Backtracking-Baum ein Schritt zurück in Richtung Wurzel zurückgelegt, werden alle Variablen, die zuvor in diesem Schritt unifiziert wurden, wieder frei.

24 Praxis Wiederholung Backtracking Praxis Hausaufgaben & Seminarplan

25 Praxis Übung: Wegsuche in Prolog ort(bahnhof). ort(uni). ort(krieg,friedrich). ort(krieg,kronen). ort(friedrich,kronen). ort(lautenschlager,kronen). ort(krieg,kepler). weg(ort(bahnhof), ort(krieg,friedrich)). weg(ort(bahnhof), ort(lautenschlager,kronen)). weg(ort(krieg,friedrich), ort(friedrich,kronen)). weg(ort(lautenschlager,kronen), ort(friedrich,kronen)). weg(ort(friedrich,kronen), ort(krieg,kronen)). weg(ort(friedrich,kronen), ort(uni)). weg(ort(krieg,kronen), ort(krieg,kepler)). weg(ort(krieg,kepler), ort(uni)). % Gesucht: Prädikat % wegsuche(x,y) :-??? % Aufruf: wegsuche(ort(bahnhof), ort(uni)).

26 Wiederholung Backtracking Praxis Hausaufgaben & Seminarplan

27 Hausaufgabe 1: Wegsuche mit Ausgabe Erweitern Sie das Programm zur Wegsuche mit Hilfe von nl/0 und write/1 um eine Ausgabe. nl/0 gibt einen Zeilenumbruch aus write/1 gibt einen Term aus, z.b. write( Hallo ), write( ), write( Welt ).

28 Hausaufgabe 2: Wegsuche mit Ausgabe Erweitern Sie das Programm zur Wegsuche um eine weitere Variable, die den Weg enthält: wegsuche(x,y,w). Aufruf: wegsuche(ort(bahnhof), ort(uni), W). gibt die möglichen Wege als Instantiierung von W zurück.

29 Hausaufgabe 3: Alle Lösungen zu einem Ziel finden Erweitern Sie die Wegsuche, so dass bei Aufruf des Programms direkt alle Möglichkeiten angezeigt werden. Verwenden Sie hierbei das built-in Prädikat bagof (siehe Prolog-Hilfe). Hinweis: Der bag ist eine Liste!

30 Hinweis zu den Aufgaben Abgabe bitte in separaten Dateien bis spätestens ! Recherche (u.a. in der Prolog-Hilfe) ist ausdrücklich erlaubt! Bei Unklarheiten wenden Sie sich gerne an mich.

31 Semesterplan

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/2010 Sprachliche Informationsverarbeitung Institut für Linguistik versität zu Köln Backtracking Backtracking uninformiertes, universelles

Mehr

Künstliche Intelligenz Unifikation, Backtracking, Rekursion und Listen in Prolog

Künstliche Intelligenz Unifikation, Backtracking, Rekursion und Listen in Prolog Künstliche Intelligenz fikation, Backtracking, Rekursion und Listen in Prolog Stephan Schwiebert WS 2008/2009 Sprachliche Informationsverarbeitung Institut für Linguistik versität zu Köln Aufgabe: Stammbaum

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 Wiederholung: Prolog-Syntax Ein einfaches Expertensystem

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Prolog - Definite Clause Grammar Claes Neuefeind Sprachliche Informationsverarbeitung Universität zu Köln 25. Januar 2012 Wiederholung: DCGs Parser, Kongruenz, Semantik Praxis Hausaufgaben

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2008/2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln 8-Damen-Problem Gegeben: Schachbrett

Mehr

Logische und funktionale Programmierung

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 csacarea@cs.ubbcluj.ro 9. Dezember 2016 1/31 Läßt sich nämlich

Mehr

13.2) Implementieren Sie nun das Prädikat differenz/3 indem nur Elemente vorkommen die exklusiv in L1 vorkommen. L1=[1,2,3,4],L2=[3,4,5,6],L3=[1,2]

13.2) Implementieren Sie nun das Prädikat differenz/3 indem nur Elemente vorkommen die exklusiv in L1 vorkommen. L1=[1,2,3,4],L2=[3,4,5,6],L3=[1,2] Aufgabenblatt 6: Einführung in das Symbolische Programmieren CIS, WS 2010 ===================================================================== Lösung Aufgabe 13 13.1) Gegeben seinen zwei Listen, L1 und

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Intelligente Agenten Claes Neuefeind Sprachliche Informationsverarbeitung Universität zu Köln 26. Oktober 2011 Agenten Konzept des Agenten Rationalität Umgebungen Struktur von Agenten

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

Übung zu Kognitive Systeme I

Übung zu Kognitive Systeme I Übung zu Kognitive Systeme I Prolog Stephan Weller (Stephan.Weller@wiai.uni-bamberg.de) Kognitive Systeme / WIAI / Uni Bamberg 1. November 2006 Inhalt Intro Was ist Prolog? Wie funktioniert Prolog? Rekursion

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

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik Tag 18 Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik 09.09.2009 Agenda Tag 16 Datenstrukturen Abstrakte Datentypen, ADT Folge: Stack, Queue, Liste, ADT Menge: Bäume:

Mehr

Übungen zu Kognitive Systeme I

Übungen zu Kognitive Systeme I Übungen zu Kognitive Systeme I Kognitive Systeme / WIAI / Uni Bamberg 26. Oktober 2005 Inhalt 1 2 3 Listen und Mengen Input & Output Sonstiges 4 5 Die werden als Bonuspunkte auf die Klausur angerechnet.

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

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

Übungen zu Kognitive Systeme I

Übungen zu Kognitive Systeme I Übungen zu Kognitive Systeme I Stephan Weller (Stephan.Weller@wiai.uni-bamberg.de) Kognitive Systeme / WIAI / Uni Bamberg 19. Oktober 2005 Inhalt Intro Was ist Prolog? Wie funktioniert Prolog? Rekursion

Mehr

Übungen zu Kognitive Systeme I

Übungen zu Kognitive Systeme I Übungen zu Kognitive Systeme I Kognitive Systeme / WIAI / Uni Bamberg 14. Oktober 2005 Inhalt 1 2 3 4 5 6 Ablauf der Übungen Ablauf SWI-Prolog Ab nächster Woche wird es Übungszettel geben Ablauf der Übungen

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

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen

Mehr

Logische und funktionale Programmierung

Logische und funktionale Programmierung Logische und funktionale Programmierung Vorlesung 10: Prolog - Das Prädikat CUT Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 12. Dezember 2016 1/38 UNTERBINDEN

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Logische Agenten Claes Neuefeind Sprachliche Informationsverarbeitung Universität zu Köln 02. November 2011 Logische Agenten Wissensbasierte Agenten Eine Modellwelt Aussagen Logik

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

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21.

Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21. Name, Vorname: Matrikel-Nr.: Studiengang: Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008 Jun.-Prof. Dr. B. Beckert 21. Februar 2008 Informatik (Diplom) Computervisualistik

Mehr

a :- b,c. % (1) a :- e,f. % (2) (2) (9) (6) (9) (6) Call: (8) a Call: (9) b Fail:(10) g Redo:?-a (9) b Exit:(10) e Exit:(10) h

a :- b,c. % (1) a :- e,f. % (2) (2) (9) (6) (9) (6) Call: (8) a Call: (9) b Fail:(10) g Redo:?-a (9) b Exit:(10) e Exit:(10) h a :- b,c. % (1) a :- e,f. % (2) trace b :- g,h. % (3) b :- e,h. % (4) c.?-a % (5) a :- b,c. e. % (6) Call a f :- g. % (7) Call b b:- g,h. (1) f :- e % (8) (2) Exit b Call c h. % (9) Call g b c e f Fail

Mehr

Manipulation der Datenbasis und Aufsammeln von Lösungen

Manipulation der Datenbasis und Aufsammeln von Lösungen Manipulation der Datenbasis und Aufsammeln von Lösungen Heute: eingebaute Prolog-Prädikate zur Manipulation der Datenbasis Programmiertechnik: Memoisierung eigebaute Prolog-Prädikate zum Aufsammeln von

Mehr

Prüfungsrelevante Studienleistung Logische Programmierung (Sommer 2006) Magische Quadrate. Patricia Röschke (46016) Martin Grandrath (46375)

Prüfungsrelevante Studienleistung Logische Programmierung (Sommer 2006) Magische Quadrate. Patricia Röschke (46016) Martin Grandrath (46375) Prüfungsrelevante Studienleistung Logische Programmierung (Sommer 2006) Magische Quadrate Patricia Röschke (46016) Martin Grandrath (46375) 31. Oktober 2006 Inhalt 1 Aufgabenstellung 2 2 Erläuterung der

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

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

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

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche

Zustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche Zustandsraumsuche: Blinde und Heuristische Suche Einführung in die KI Übungsstunde am 01.11.04 Benmin Altmeyer 1 Heute im Angebot Was ist Suche? Suche als Probemlösung Zustandsraumsuche Vollständigkeit

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

PROLOG. Lernende Systeme WS 10/11 Crashkurs. Martin Sticht Stephan Weller

PROLOG. Lernende Systeme WS 10/11 Crashkurs. Martin Sticht Stephan Weller PROLOG Lernende Systeme WS 10/11 Crashkurs Martin Sticht Stephan Weller SWI Prolog http://www.swi-prolog.org Grundlegendes Grundkonstrukte Fakten Regeln Anfragen Fakten und Regeln kommen in die Programm-Datei

Mehr

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure 7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht

Mehr

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Optimierungsprobleme

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking

Mehr

2.4 Durchlaufen von Bäumen

2.4 Durchlaufen von Bäumen 2.4 Durchlaufen von Bäumen Möchte man alle Elemente eines Baumes ausgeben, muss man sich Strategien überlegen, in welcher Reihenfolge der Baum durchlaufen wird. Der Zugriff auf einzelne Knoten eines Baumes

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

Informatik II Übung 2

Informatik II Übung 2 Informatik II Übung 2 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 7.3.2013

Mehr

Prolog 10. Kapitel: Cut und Negation

Prolog 10. Kapitel: Cut und Negation Zusammenfassung Kapitel 9 Prolog 10. Kapitel: Cut und Negation Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Wir haben verschiedene Prädikate zur Analyse von zusammengesetzten

Mehr

Charts. Motivation. Grundfrage. Chart als Graph

Charts. Motivation. Grundfrage. Chart als Graph Charts Motivation Übersicht Chart bzw. Well-Formed Substring Table (WFST) Als azyklischer Graph, Tabelle und Relation Kantenbeschriftungen Kategorien: WFST Regeln: Passive Charts Regelhyposen: Aktive Charts

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

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur Klausur Künstliche Intelligenz: Grundlagen und Anwendungen, WiSe 2009 Seite 2 von 16 Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik Künstliche Intelligenz: Grundlagen und Anwendungen

Mehr

KLAUSURDECKBLATT Studienhalbjahr: 1. Semester. Datum: 5. März 2015 Bearbeitungszeit: 90 Minuten. Modul: TINF1002 Dozent: Jan Hladik

KLAUSURDECKBLATT Studienhalbjahr: 1. Semester. Datum: 5. März 2015 Bearbeitungszeit: 90 Minuten. Modul: TINF1002 Dozent: Jan Hladik Student/in: Unterschrift: Fakultät Studiengang: Jahrgang / Kurs : Technik Angewandte Informatik 2014 / 14K KLAUSURDECKBLATT Studienhalbjahr: 1. Semester Datum: 5. März 2015 Bearbeitungszeit: 90 Minuten

Mehr

ABITURPRÜFUNG 2007 LEISTUNGSFACH INFORMATIK

ABITURPRÜFUNG 2007 LEISTUNGSFACH INFORMATIK ABITURPRÜFUNG 2007 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Arbeitszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,

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

1. Beweisbäume: Der folgende Text enthält Fakten zur Familie des Dichters JOHANN WOLFGANG VON GOETHE ( ):

1. Beweisbäume: Der folgende Text enthält Fakten zur Familie des Dichters JOHANN WOLFGANG VON GOETHE ( ): 1. Beweisbäume: Der folgende Text enthält Fakten zur Familie des Dichters JOHANN WOLFGANG VON GOETHE (1749-1832): Die männlichen Mitglieder der Familie Goethe sind Johann Kaspar, Johann Wolfgang, August,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.

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

Um eine Datei in Prolog zu lesen oder zu schreiben bietet die Prolog-Bibliothek viele Prädikaten. Mittels der Prädikat

Um eine Datei in Prolog zu lesen oder zu schreiben bietet die Prolog-Bibliothek viele Prädikaten. Mittels der Prädikat Lesen und schreiben aus einer Datei Um eine Datei in Prolog zu lesen oder zu schreiben bietet die Prolog-Bibliothek viele Prädikaten. Mittels der Prädikat /* working_directory(-old, +New) kann man den

Mehr

Einführung in Prolog. Simon Bischof. IPD Snelting

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]*

Mehr

Auswahl von Klauseln und Atomen in Prolog

Auswahl von Klauseln und Atomen in Prolog 5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten

Mehr

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur 1

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur 1 1. Teilklausur GKI Seite 1 von 5 Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik Künstliche Intelligenz: Grundlagen und Anwendungen WS 2014/2015 Albayrak, Fricke (AOT) Opper,

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (2) Spannbäume Kürzeste Wege Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 455 Wiederholung Traversierung eines Graphen via Tiefendurchlaufs

Mehr

D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung. Serie 11

D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung. Serie 11 D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung Serie 11 1. Wir betrachten das überbestimmte Gleichungssystem Ax = y mit 1 1 1 1 A := 1 1 0 1 0 1, y := 2 3 0 0 1 4 Berechnen Sie die

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Kapitel 1 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006

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

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

Rekursive Listenverarbeitung

Rekursive Listenverarbeitung Rekursive Listenverarbeitung Übersicht Rekursion ist die wichtigste Programmiertechnik in Prolog! Rekursive Datenstrukturen Einfache und rekursiv gebildete Strukturen Rekursive Datenstrukturen und rekursive

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

Inhalt. Kognitive Systeme 1. Expansion eines impliziten Suchraums Netz aller möglichen Schritte. Impliziter Suchraum. Uninformierte Suche

Inhalt. Kognitive Systeme 1. Expansion eines impliziten Suchraums Netz aller möglichen Schritte. Impliziter Suchraum. Uninformierte Suche Inhalt Uninformierte Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 04.11.2009 1 Implizite Suchgraphen 2 Tiefensuche 3 Breitensuche 4

Mehr

Kognitive Systeme 1. Uninformierte Suche. Dr.-Ing. Bernd Ludwig

Kognitive Systeme 1. Uninformierte Suche. Dr.-Ing. Bernd Ludwig Kognitive Systeme 1 Uninformierte Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 04.11.2009 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive

Mehr

Algorithmen und Datenstrukturen 1-5. Seminar -

Algorithmen und Datenstrukturen 1-5. Seminar - Algorithmen und Datenstrukturen 1-5. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Outline 5.+6. Übungsserie: 5 Aufgaben, insgesamt 40 Punkte A17 Baum-Traversierung

Mehr

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

Mehr

Beweise aus dem Fach Grundzüge der Künstlichen Intelligenz

Beweise aus dem Fach Grundzüge der Künstlichen Intelligenz Beweise aus dem Fach Grundzüge der Künstlichen Intelligenz Alexander Pacha TU Wien - Matr. Nr.: 0828440 alexander.pacha@tuwien.ac.at 1 Begriserklärungen Für die folgenden Beweise werden zuerst folgende

Mehr

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013 Technische Universität Braunschweig Sommersemester 2013 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen

Mehr

Klausur zur Vorlesung Künstliche Intelligenz

Klausur zur Vorlesung Künstliche Intelligenz Klausur zur Vorlesung Künstliche Intelligenz Ulrich Furbach Claudia Obermaier Arbeitsgruppe Künstliche Intelligenz Fachbereich Informatik, Universität Koblenz-Landau 13.03.2009 Name: Vorname: Matrikelnummer:

Mehr

Vorlesung Künstliche Intelligenz Alexander Manecke Oliver Schneider Andreas Stoffel 9. Mai 2006

Vorlesung Künstliche Intelligenz Alexander Manecke Oliver Schneider Andreas Stoffel 9. Mai 2006 Vorlesung Künstliche Intelligenz 9. Mai 2006 Aufgabe 1: Listen in Prolog a) Den Fall der leeren Liste müssen wir hier nicht betrachten, denn eine leere Liste besitzt kein Maximum. Also ist Standardantwort

Mehr

Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / WS 2003/2004. Jun.-Prof. Dr. B.

Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / WS 2003/2004. Jun.-Prof. Dr. B. Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / Künstliche Intelligenz für IM Name, Vorname: Matrikel-Nr.: Studiengang: WS 2003/2004 Jun.-Prof. Dr.

Mehr

Logische und funktionale Programmierung

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 csacarea@cs.ubbcluj.ro 1/67 ARITHMETIK

Mehr

Semantik von Programmiersprachen SS 2017

Semantik von Programmiersprachen SS 2017 Lehrstuhl für Programmierparadigmen Denis Lohner Sebastian Ullrich denis.lohner@kit.edu sebastian.ullrich@kit.edu Semantik von Programmiersprachen SS 2017 http://pp.ipd.kit.edu/lehre/ss2017/semantik Lösungen

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

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

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

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

Informatik II Übung 8

Informatik II Übung 8 Informatik II Übung 8 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 25.4.2018 Carina Fuss 25.4.2018 1 Übung 8 Nachbesprechung Übung 7 Vorbesprechung Übung 8 binäre Suche Backtracking anhand vom Rucksackproblem

Mehr

Belegarbeit. Erstellung eines ProLog Programms

Belegarbeit. Erstellung eines ProLog Programms Belegarbeit Erstellung eines ProLog Programms Christian Fischer, Matthias Lenk, 44597 BNC 44683 BNC Aufgabenstellung: Erstellung eines POLOG Programms, mit dem alle nicht- repetitiven Wörter über dem Alphabet

Mehr

Counting the Number of Satisfying Assignments

Counting the Number of Satisfying Assignments Counting the Number of Satisfying Assignments Ferienakademie im Sarntal Kurs 1 Moderne Suchmethoden der Informatik: Trends und Potenzial Stefan Ploner Department Informatik FAU Erlangen-Nürnberg 29. September

Mehr

Übungsblatt 1 Vorlesung Algorithmentechnik im WS 08/09

Übungsblatt 1 Vorlesung Algorithmentechnik im WS 08/09 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt Vorlesung Algorithmentechnik im WS 08/09 Problem : Amortisierte Analyse Für die Implementierung benutzen wir zwei Stacks E

Mehr

Lösungshinweise zu Blatt 8 und Blatt 9 GIN2-SS04

Lösungshinweise zu Blatt 8 und Blatt 9 GIN2-SS04 Lösungshinweise zu Blatt 8 und Blatt 9 GIN2-SS04 er Baum zum Zustandsgraphen UI UI 0 1 2 3 4 UI 5 6 7 8 UI UI UI UI UI 9 0 1 2 3 4 5 6 7 9 K30 K31 K32 K33 K35 K36 K37 K38 K39 K41 K42 K43 K44 K45 8 K34

Mehr

1. Die rekursive Datenstruktur Liste

1. Die rekursive Datenstruktur Liste 1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen Ideen zur Bestimmung der Länge einer Liste: 1. Verwalte ein globales Attribut int laenge. Fügt man ein Element zur Liste oder löscht es, wird

Mehr

Programmiertechnik II

Programmiertechnik II Prolog 2 Überblick Deklaratives Programmieren ( Programmieren in Logik ) 1972 entwickelt von A. Colmerauer vor allem für KI-Systeme verwendet Kern-Sprache des japanischen Fifth Generation Computer Systems

Mehr

Backtracking mit Heuristiken

Backtracking mit Heuristiken Backtracking mit Heuristiken Thomas Dübendorfer thomas@duebendorfer.ch 14. September 2000 Inhalt und Ablauf 1. Einführendes Beispiel (4 min) 2. Konzepte zu Backtracking (8 min) 3. Eingesperrt im Labyrinth

Mehr

Der Satz von Savitch

Der Satz von Savitch Der Satz von Savitch Satz (Savitch, 1970): Sei s 2 (log(n)). Danngilt NSPACE(s) DSPACE(s 2 ). Wir führen den Beweis für den Fall, dass s eine platzkonstruierbare Funktion ist: Sei M eine NTM, deren Platzbedarf

Mehr

Model Checking mit Büchi Automaten

Model Checking mit Büchi Automaten Ingo Weigelt Softwaretechnik 3 16.05.2007 Übersicht 1 Automaten über unendlichen Wörtern ω-automaten Büchi-Automaten 2 Model Checking mit Büchi Automaten Konstruktion von A Konstruktion von A S Leerheitstest

Mehr

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur 1

Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik. Schriftlicher Test - Teilklausur 1 Technische Universität Berlin Fakultät IV - Elektrotechnik und Informatik Künstliche Intelligenz: Grundlagen und Anwendungen WS 2012/2013 Albayrak, Fricke (AOT) Opper, Ruttor (KI) Schriftlicher Test -

Mehr

= 1. Falls ( a n. ) r i. i=1 ( b p i

= 1. Falls ( a n. ) r i. i=1 ( b p i Das Jacobi-Symbol Definition Jacobi-Symbol Sei n N ungerade mit Primfaktorzerlegung n = s definieren das Jacobi-Symbol ( a ( ) ri n) := s a i=1 p i. i=1 pr i i. Wir Anmerkungen: Falls a quadratischer Rest

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und

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

8. Logische Programmierung. Prolog Sprachkonstrukte: Fakten. Prolog Übersicht

8. Logische Programmierung. Prolog Sprachkonstrukte: Fakten. Prolog Übersicht 8. Logische Programmierung GPS-8-1 Übersicht zur logischen Programmierung GPS-8-2 Themen dieses Kapitels: Deklaratives Programmieren: Problem beschreiben statt Algorithmus implementieren (idealisiert).

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