IB013 Logic Programming I

Faculty of Informatics
Spring 2010
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
Thu 10:00–11:50 B011
  • Timetable of Seminar Groups:
IB013/01: each even Friday 10:00–11:50 B116, H. Rudová
IB013/02: each odd Friday 10:00–11:50 B116, H. Rudová
IB013/03: No timetable has been entered into IS. A. Strejčková
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
there are 20 fields of study the course is directly associated with, display
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
Teaching methods
The course has a form of standard lectures with seminars taking two hours per two weeks at the computer laboratory. Solved problems are often realized using modifications of existing code. Seminaries concerns namely practical realization of logic programs in SICStus Prolog. Seminaries include homeworks which solutions together with solutions of examples solved during seminaries are available at the course web site.
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). 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. Taking of seminaries is obligatory. Absence at more than seminar requires successful completion of additional examples corresponding to the number of absent hours.
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 2009, Spring 2011, Spring 2012, Spring 2013.
  • Enrolment Statistics (Spring 2010, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2010/IB013