Skip to main content
Skip header

Logic Programming

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-4093/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Choice-compulsory
Level of Course Unit *Second Cycle
Year of Study *First Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
MEN059Mgr. Marek Menšík, Ph.D.
Summary
The course will provide the fundamentals of logic programming. Students will learn how to specify a program in the declarative way as a knowledge base of facts and rules. We will also deal with evaluation strategies based on resolution method and with the foundations of machine learning.
Learning Outcomes of the Course Unit
The course will provide the fundamentals of logic programming. Students will learn how to specify a program in the declarative way as a knowledge base of facts and rules. We will also deal with evaluation strategies based on resolution method and with the foundations of machine learning.
Course Contents
Lectures:
1. The structure of a logical program
2. Communication with Prolog interpreter, quering
3. Prolog evaluatiuon strategies.
4. Syntactic structures of Prolog (facts, rules, lists, built-in predicates,…)
5. Simple applications; relational databases, graphs, natural language processing
6. Recursion
7. Cut vs. not
8. Crisp vs. fuzzy approach (theory and practice)
9. Introduction to fuzzy Prolog (Ciao Prolog), Aggregation operators, syntax
10. Applications of fuzzy logic programming
11. Artificial intelligence in agent systems; machine learning algorithms in Prolog.
12. Graphic interface in LPA Prolog

Seminars:
1. The structure of a logical program
2. Communication with Prolog interpreter, quering
3. Prolog evaluatiuon strategies.
4. Syntactic structures of Prolog (facts, rules, lists, built-in predicates,…)
5. Simple applications; relational databases, graphs, natural language processing
6. Recursion
7. Cut vs. not
8. Crisp vs. fuzzy approach (theory and practice)
9. Introduction to fuzzy Prolog (Ciao Prolog), Aggregation operators, syntax
10. Applications of fuzzy logic programming
11. Artificial intelligence in agent systems; machine learning algorithms in Prolog.
12. Graphic interface in LPA Prolog
Recommended or Required Reading
Required Reading:
[1] J. W. Lloyd. Foundations of Logic Programming (2nd edition). Springer-Verlag 1987.
[2] I. Bratko. PROLOG. Programming for Artificial Intelligence (3rd edition). Addison Wesley 2001.
[3] W.F. Clocksin, C.S. Mellish. Programming in Prolog. Springer-Verlag 1987.

[1] J. W. Lloyd. Foundations of Logic Programming (2nd edition). Springer-Verlag 1987.
[2] I. Bratko. PROLOG. Programming for Artificial Intelligence (3rd edition). Addison Wesley 2001.
[3] W.F. Clocksin, C.S. Mellish. Programming in Prolog. Springer-Verlag 1987.
[4] M. Bieliková, P. Návrat. Funkcionálne a logické programovanie. STU Bratislava 2000.

Recommended Reading:
[1] D. DeGroot, G. Lindstrom. Logic Programming; Functions, Relations and Equations. Prentice Hall, New Jersey, 1986.
[1] D. DeGroot, G. Lindstrom. Logic Programming; Functions, Relations and Equations. Prentice Hall, New Jersey, 1986.
Planned learning activities and teaching methods
Lectures, Individual consultations, Tutorials, Project work
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 51