Logic Programming for Artificial Intelligence (using Prolog)

Number L.079.05704
Place  
Dates

First lecture:
either Monday 8.4. 9:15-11:45 in F1.110
or Tuesday 9.4. 11:15-13:45 in F1.110

Installation workshop: Wednesday 10.4. 9:15-12:45 in F1.110

Following lectures: Tuesdays 16.4. 11:15-13:45 in F1.110

Exercises:
Mondays (starting 15.4.) 9:15-10:45 or 10:50-12:20 or 12:25-13:55 in F1.110

Lecturer Prof. Dr. Stefan Böttcher
Panda-Course

Logic Programming for Artificial Intelligence (using Prolog)

For the first lecture, bring your lecture slides (download here 4.4.2019) printed on paper!

Further news and material will be distributed on PANDA.

Requirements and prerequisites (see important details here) last update 3.4.2019)
The course requires previous knowledge of Prolog in exactly the amount given in the lecture 'Grundlagen von Datenbanken' at the University of Paderborn. 
Furthermore, weekly programming assignments are given that are required for the exam (again look at the details).
Presentation and explanation of your solutions during the exercises is mandatory.

 

Course organization (updated 1.4.2019)

 

Installation hints (updated 3.4.2019)
Make sure that you install SWI-Prolog-8.0.2-1 !!
Exactly this version is needed for a special testing tool !

 

References and links for download can be found in PANDA (soon)

 

About the course:

We are using Prolog (a language that came up in the 1980s) to look at Artificial Intelligence from a logic point of view. This is a traditional view to AI problems like question answering systems, automated translation, reasoning - as opposed to the modern main-line approaches using machine learning, statistics and neural networks.

That is, we focus on a logic-based programming view of topics like parsing, text understanding, puzzles, automated theorem proving, rule-based systems, etc. and study solutions via running example programs provided in Prolog.

The focus is to learn the Prolog language and to apply it to a variety of search and AI algorithms, thereby providing a view to some problems that is different from the view taken when using procedural languages to solve these problems. Although Prolog is not widely used, the use of the language provides a different view to programming, parsing, reasoning and other topics.