Course detail
Languages for Artificial Intelligence
FSI-VJUAcad. year: 2011/2012
The course deals with the following topics: Principles of functional and logic programming. Lisp language: basic features, data types, program structures, evaluation of symbolic expressions, functions and macros. Prolog language: basic notions, data types, clauses, unification of terms, control of program execution, built-in predicates. Examples of solving artificial intelligence problems in Lisp and Prolog.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Examination: written test (problems and questions), oral exam.
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Koschmann, T. The Common Lisp Companion. New York, John Wiley & Sons 1990.
Luger, G.F. Artificial Intelligence. Structures and strategies for Complex Problem Solving. Harlow, Addison-Wesley 2008.
Recommended reading
Merrit, D. Building Expert Systems in Prolog. Berlin, Springer-Verlag 1989. http://www.amzi.com/ExpertSystemsInProlog/index.htm
Molnár, L., Návrat, P. Programovanie v jazyku Lisp. Bratislava, Alfa 1988.
Polák, J. Prolog. Praha, Grada 1992.
Seibel, P. Practical Common Lisp. Apress, 2005. http://www.gigamonkeys.com/book/
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
2. Basic functions, definition of functions, evaluation mechanism.
3. Functions for list and number processing, predicates, evaluating functions.
4. Iteration, mapping functions, definition and evaluation of macros.
5. Modification of structures, representation of atoms, input and output, memory management.
6. Examples of applying Lisp to solving artificial intelligence problems.
7. Logic programming. Prolog language - program structure, data objects.
8. Declarative and procedural meaning of program, list and number processing.
9. Operator notation, type predicates, meta-logical predicates, constructing and decomposing terms.
10. Cut, negation, database manipulation.
11. Input and output, backtracking and the predicate repeat.
12. Building expert systems in Prolog.
13. Examples of applying Prolog to solving other artificial intelligence problems.
Computer-assisted exercise
Teacher / Lecturer
Syllabus
2. Definition of functions for list processing.
3. Tail recursion, iteration, definition of macros.
4. Strategies for state space search.
5. Knowledge representation, machine learning.
6. Implementation of an expert system in Lisp.
7. Introduction to the use of Prolog interpreters.
8. List and number processing.
9. Search strategies.
10. Planning problems.
11. Knowledge representation, machine learning.
12. Implementation of an expert system in Prolog.
13. Evaluating semester projects.