Logo ČVUT
Loading...
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2011/2012

Languages for Artificial Intelligence

The course is not on the list Without time-table
Code Completion Credits Range
E36JUI Z,ZK 4 2+2s
The course is a substitute for:
Languages for Artificial Intelligence (XE36JUI)
Lecturer:
Tutor:
Supervisor:
Department of Computer Science and Engineering
Synopsis:

The course is addressed to those interested in functional and logic programming, whose primary application domain is artificial intelligence (AI). It offers an acquaintance with programming languages Lisp and Prolog. As homework assignments, problems from AI, programming languages, and compiler construction are worked out. Usage of object oriented facilities of Common Lisp is welcome.

Requirements:

http://service.felk.cvut.cz/courses/E36JUI

Syllabus of lectures:

1. Basic features of languages for AI, Lisp: atoms, symbolic expressions, definition of variables and functions.

2. Conditions and predicates, basic operations with symbolic expressions.

3. Rational agents, simple implementation.

4. Standard functions, eval-apply-funcall, types of recursion.

5. Argument definition, generalized variables, modification functions.

6. Implementation of search, heuristic search.

7. Control structures, lambda, mapping functionals, structures.

8. Macros, structure definition, metods and generic functions.

9. I/O operations, strings and chars, arrays, hash tables.

10. Programming style, games, alpha-beta procedure, CSP.

11. Prolog, program structure and execution, data types.

12. Declarative and procedural semantics, lists, search implementation.

13. Backtracking and cut, standard predicates, implementation of CSP.

14. Reserved

Syllabus of tutorials:

1. Functional notation, inductive/recursive definition of numerical functions, symbolic data types.

2. LispWorks System, debugging and extending functions from lab 1.

3. Design and testing of functions that process symbolic expressions, debugging in LispWorks.

4. Designing efficient recursive functions, profiling.

5. AIMA code (doc, utilities) - modification and testing of selected functions.

6. AIMA code (agents, search) - modification and testing of selected functions.

7. Team formation and homework projects assignment.

8. Consultation to projects, usage of control structures.

9. Consultation to projects, usage of macros.

10. Consultation to projects, usage of I/O functions and hash tables.

11. Consultation to projects.

12. Prolog programming environment, debugging simple programs.

13. Presentation and evaluation of projects.

14. Assessment.

Study Objective:
Study materials:

[1] Kolář, J.: Jazyky pro umělou inteligenci. Skripta ČVUT, Praha 1994

[2] Slade, S.: Object-Oriented Common Lisp. Prentice Hall, New Jersey 1998

[3] Bratko, I.: PROLOG Programming for Artificial Intelligence. Reading, Addison-Wesley, Mass. 1990

[4] S. Russell - P. Norvig: Artificial Intelligence: A Modern Approach. Prentice Hall, 2003

[5] Paul Graham's WWW Pages (http://www.paulgraham.com/index.html)

[6] Seibel, P.: Practical Common Lisp. Apress, 2005, ISBN 1-59059-239-5 (see http://www.gigamonkeys.com/book/)

Note:
Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Generated on 2012-7-9
For updated information see http://bilakniha.cvut.cz/en/predmet11057504.html