IB013 Logic Programming I

Faculty of Informatics
Spring 2009
Extent and Intensity
2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
doc. Mgr. Hana Rudová, Ph.D. (lecturer)
Mgr. Adriana Strejčková (assistant)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Wed 12:00–13:50 B410
  • Timetable of Seminar Groups:
IB013/01: each even Thursday 10:00–11:50 B116, H. Rudová
IB013/02: each odd Thursday 10:00–11:50 B130, H. Rudová
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
Course objectives
The main goal of this lecture is to provide a basic information in the subject of Logic Programming. The lecture starts with basics of programming in Prolog. A brief introduction to computational logic is followed by the description of a theoretical background of logic programming language Prolog. Constraint logic programming is presented from the theoretical and practical point of view. Implementation of Prolog is discussed in the last part of the lecture together with basic optimization techniques. Seminaries are focused on practical aspects of logic programming.
Syllabus
  • Prolog, data structures, backtracking, cut. Extra-logical predicates, arithmetics. Programming techniques and style.
  • Theory of logic programming. First order logic, resolution, definite clauses and programs, models, SLD resolution. Control of program flow, reduction of program search tree, cut. Equality, negation, SLDNF resolution.
  • Constraint logic programming, basic programming in CLP(FD), constraint propagation, search.
  • Prolog implementation. Warren Abstract Machine.
Literature
  • BRATKO, Ivan. Prolog Programming for Artificial Intelligence. 3rd ed. Addison-Wesley, 2001, 678 pp. ISBN 0201-40375-7. info
  • NILSSON, Ulf and Jan MALUSZYNSKI. Logic, programming and Prolog. Chichester: John Wiley & Sons, 1990, 285 pp. ISBN 0-471-92625-6. URL info
  • DECHTER, Rina. Constraint processing. San Francisco: Morgan Kaufmann Publishers, 2003, xx, 481 s. ISBN 1-55860-890-7. info
Assessment methods
The course has a form of a lecture with a seminar taking two hours per two weeks at the computer laboratory. Evaluation consists of three parts: project (up to 40 points), test written during the semester (up to 30 points), final written exam (up to 150 points). Resit dates are in the form of oral exam. Credit is given for preparation of the project. Project includes written report containing preliminary analysis of the solved problem, final program in Prolog and program documentation. Projects are solved by 1-3 students. Test written during the semester is practically oriented on solving several simpler examples from the basics of Prolog. Final written exam consists of theoretical part and solving of practical examples.
Language of instruction
Czech
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2010, Spring 2011, Spring 2012, Spring 2013.
  • Enrolment Statistics (Spring 2009, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2009/IB013