Course detail

Languages for Artificial Intelligence

FSI-VJU-KAcad. year: 2013/2014

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

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

Students will acquire knowledge of functional and logic programming styles, and will be able to apply Lisp and Prolog to solving artificial intelligence problems.

Prerequisites

Mathematical logic, basic knowledge of artificial intelligence and expert systems.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

The course is intended for the combined form of study, indivudual work of students is directed by lectures and exercises taught en bloc.

Assesment methods and criteria linked to learning outcomes

Course-unit credit requirements: active attendance at the seminars, elaboration of two projects (in Lisp and Prolog).
Examination: written test (problems and questions), oral exam.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

The goal of the course is to make students familiar with non-imperative approaches to solving problems and to deepen their knowledge of principles of artificial intelligence methods.

Specification of controlled education, way of implementation and compensation for absences

The attendance at the seminars is controlled. An absence can be compensated for via solving given problems.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Bratko, I. Prolog Programming for Artificial Intelligence. Wokingham, Addison-Wesley 1990.
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 2002.

Recommended reading

Kolář, J. Jazyky pro umělou inteligenci. Skripta. Praha, ČVUT 1994.
Molnár, L., Návrat, P. Programovanie v jazyku Lisp. Bratislava, Alfa 1988.
Polák, J. Prolog. Praha, Grada 1992.

Classification of course in study plans

  • Programme N2301-2 Master's

    branch M-AIŘ , 2 year of study, summer semester, compulsory
    branch M-AIŘ , 2 year of study, summer semester, compulsory

Type of course unit

 

Guided consultation

17 hod., optionally

Teacher / Lecturer

Syllabus

1. Functional programming. Lisp language - program structure, data types.
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.