Languages for Artificial Intelligence
Code | Completion | Credits | Range |
---|---|---|---|
D36JUI | Z,ZK | 4 | 14+4s |
- The course is a substitute for:
- Languages for Artificial Intelligence (XD36JUI)
- 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:
- Syllabus of lectures:
-
1. Languages used in AI, functional notation, recursive functions
2. Functional notation, basic data types and functions in Lisp
3. Function definitions, free and bound variables, predicates, COND
4. Recursion and iteration in Lisp, tail recursion, efficiency
5. List and number functions, mapping functionals, filters, lambda-expr
6. Internal representation, special forms, property lists
7. Input/output, Lisp implementation, memory management
8. Logic programming, data and program syntax in Prolog
9. Predicates, clauses, facts, goals and their satisfaction in Prolog
10. Arithmetic predicates, operators, processing terms
11. Meta-logic predicates, cut and negation
12. Input/output, programming style, program database
13. Prolog implementation, comparing application case studies
- Syllabus of tutorials:
-
1. Recursive programming, solving simple problems in Pascal
2. Using the Lisp system in the computer laboratory
3. Definition of simple list processing functions in Lisp
4. Homework tasks assignment
5. Recursive and iterative solution of problems, efficiency of recursion
6. Usage of mapping functionals and filters
7. Usage of property lists of atoms and modifying pseudo-functions
8. Homework consultation
9. Using the Prolog system in the computer laboratory
10. Simple predicates, execution trace, program debugging
11. Using recursion when processing lists and structures in Prolog
12. Cut, role of logical database
13. Homework presentation
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: