Veranstalter: | Ralf Klinkenberg (klinkenberg@ls8.cs.uni-dortmund.de, Tel. 0231/755-5103) | |||||||
Zeit: | Der Kurs findet als zweiwöchige Kompaktveranstaltung in der vorlesungsfreien Zeit nach dem Sommersemester 2002 in der Zeit vom 22.07. bis zum 02.08.2002 täglich von Montag bis Freitag von 9:00 bis 12:00 Uhr (Vorlesung) und 13:00 bis 14:30 Uhr (Übung) statt. | |||||||
Ort: |
Vorlesung im GB IV /Raum 113 (bzw. am 30.07. ausnahmsweise im GB V /Raum 420)
|
|||||||
Inhalt: |
Der Programmierkurs soll Prinzipien einer nichtprozeduralen
Programmiersprache anhand der logischen Programmierung
vermitteln. Dabei soll im Vordergrund stehen, Prolog durch
umfangreiche praktische Übungen als effizientes Werkzeug
kennenzulernen.
Der Kurs befaßt sich im ersten Teil mit den Grundbegriffen der logischen Programmierung, wie Hornklausellogik, Resolution und Unifikation. Er liefert damit Logikkenntnisse und Grundlagen für einen Vergleich mit anderen Programmiersprachen. Danach wird auf das Ausführungsmodell von Prolog mit Backtracking, Rekursion, expliziter Ablauf- und Ein-/ Ausgabekontrolle, sowie Metaprädikaten und DCGs eingegangen. Zum Abschluss ist bei entsprechendem Interesse der Teilnehmerinnen als Ausblick noch eine kurze Darstellung des Bereichs Constraint Logic Programming (CLP) möglich. Ebenso kann aber auch auf andere spezielle Interesse der TeilnehmerInnen eingegangen werden. Alle Inhalte werden anhand von praktischen Übungen eingehend vertieft. In den Übungen werden weiterhin Programmiertechniken zum effektiven und effizienten Programmieren in Prolog vermittelt. | |||||||
Leistungsnachweis: | Übungsschein bei erfolgreicher Teilnahme. | |||||||
Literatur: |
Bratko, Ivan (2001). Prolog Programming for Artificial Intelligence.
Addison-Wesley Longman, Amsterdam, 3. Auflage, ISBN 0-201-40375-7. Bratko, Ivan (1990). Prolog Programming for Artificial Intelligence.
Addison-Wesley, 2. Auflage. Clocksin, W.F. und Mellish, C.S. (1994). Programming in Prolog. Springer-Verlag, 4. Auflage. O'Keefe, R. (1990). The Craft of Prolog. MIT press, Cambridge, MA, USA und London, GB. Sterling, L. und Shapiro, E. (1994). The Art of Prolog. MIT Press, 2. Auflage. |
|||||||
Weitere Quellen: |
Peter Brockhausen (2000). Programmierkurs Prolog. Uni Dortmund. Thorsten Joachims und Stephan Lehmke (1998). Programmierkurs Prolog. Uni Dortmund. Thorsten Joachims und Ingolf Markof (1997). Programmierkurs Prolog. Uni Dortmund. Stephan Lehmke (2002). Vorlesung Intelligente Systeme. FH Gelsenkirchen. |
|||||||
Prolog Compiler: | SWI-Prolog (http://www.swi-prolog.org/): Dokumentation [HTML] [PDF] [HTML lokal] [PDF lokal] [PDF.GZ lokal] | |||||||
Technische Hinweise: | Hinweise zur Konfiguration des Rechnerzugangs und zur Benutzung von SWI-Prolog |
Folien zur Vorlesung im Postscript und/oder PDF Format:
Übungsblatt | Hilfsmittel | Lösungen |
Aufgabenblatt 1 | --- | ... |
Aufgabenblatt 2 [PS.GZ] [PDF.GZ] [PDF] | verwandtschaft.pl | ... |
Aufgabenblatt 3 [PS.GZ] [PDF.GZ] [PDF] | arithmetik.pl, inbetween.pl | ... |
Aufgabenblatt 4 [PS.GZ] [PDF.GZ] [PDF] | verwandtschaft2.pl | ... |
Aufgabenblatt 5 [PS.GZ] [PDF.GZ] [PDF] | Aufgabe 5.2: baumtraversierung.pl, Aufgabe 5.3: tiefensuche.pl |
Aufgabe 5.1: mergesort.pl, Aufgabe 5.2: ... Aufgabe 5.3: ... |
Aufgabenblatt 6 [PS.GZ] [PDF.GZ] [PDF] | (Folien zum A*-Algorithmus, siehe oben) | Aufgabe 6.1 + 6.2: astar_8puzzle.pl, memo.swi_prolog, memo.prolog_sort |
Aufgabenblatt 7 [PS.GZ] [PDF.GZ] [PDF] | minimax.folien.pl, minimax_alpha_beta.folien.pl, minimax_alpha_beta.ki98.pl, minimax.info | ... |
Aufgabenblatt 8 [PS.GZ] [PDF.GZ] [PDF] | (Folien zum Thema DCGs, siehe oben) | ... |
Aufgabenblatt 9 [PS.GZ] [PDF.GZ] [PDF] | (Folien zum Thema Expertensysteme, siehe oben) | ... |