Artificial Intelligence and Intelligent Systems (KIIS)

Course given autumn semester 2005 at Roskilde University by Henning Christiansen

The course runs on Tuesdays, 9.30-12.00 and 13.00-15.30, Room 43-2.43;
First course day 6-sep-2005.

See Study council's official description of the course.
However, due to late re-assignment of teacher, the description does not exactly match the actual course given.

Main changes:

To get an overview of the approach taken in the course, you may have a look at the slides from the course presentation that was given 30-aug-2005.

Course schedule
... which will be revised during the course. Reading, exercises, references, slides, etc., will be made available as pdf or html.

Written assignment

Look here (added 12 oct 2005)


[MN] Michael Negnevitsky: Artificial Intelligence, A Guide to Intelligent systems, 2nd edition Addison-Wesley, 2004.
Is ordered for RUC's book store; see also Amazon.
See also author's home page and material related to the book.

[HC1] Henning Christiansen: Introduction to Prolog as a database language, RUC, 2003
Available as pdf

[HC2] Henning Christiansen: A short introduction to CHR and its application for rule-based expert systems, RUC, 2005
Available as pdf. NB: New edition added 12-sep-2005, 16:35.
Source files: leq, expert0, my_kb0, my_kb1.

[HC3] Henning Christiansen: Abductive reasoning in Prolog and CHR, RUC, 2005
Available as pdf
Source files: wetGrass, db, diagnosisPeriodic, diagnosisConsistent.

[HC4] Henning Christiansen: Examples and exercises for conditional probabilities and Bayesian reasoning, RUC, 2005
Available as pdf

[HC-VD1] Henning Christiansen and Veronica Dahl, Meaning in Context, In: Proc. CONTEXT'05, the Fourth International and Interdisciplinary Conference on Modeling and Using Context, Paris, France, 5-8 July 2005. Dey, A., Kokinov, B., Leake, D., Turner, R. (eds.), Lecture Notes in Artificial Intelligence 3554. pp. 97-111.

[HC-VD2] Henning Christiansen and Veronica Dahl, HYPROLOG: A New Logic Programming Language with Assumptions and Abduction, In: Proc. International Conference on Logic Programming, ICLP'05, M. Gabbrielli and G. Gupta (Eds.), pp. 159-173, 2005. Lecture Notes in Computer Science 3668.

[AT] Alan Turing: Computing machinery and intelligence, 1950
Available at

[WLRZA] K.S. Wai, A. Latif, B.A. Rahman, H.F. Zaiyadi, A.A. Aziz: Expert System in Real World Applications. online paper

[BNW] Peter Bauer, Stephan Nouak, Roman Winkler: A brief course in Fuzzy Logic and Fuzzy Control . Web pages, 1996. (NB: Status of this link unclear)

[KKS] John R. Koza, Martin A. Keane, Matthew J. Streeter: Evolving Intentions. Scientific American, Feb 2003, Vol. 288, Issue 2 (pp. unknown). Available online when you search via (works only from RUC or VPN to RUC).

More to come...

Additional reading on Prolog and logic programming

A number of good books and web-based documents on logic programming and Prolog are available on the internet.

[BBS] Patrick Blackburn, Johan Bos and Kristina Striegnitz: Learn Prolog Now!
A popular online introduction to Prolog (including DCG).
Available at
Also available as one pdf document.

[NM] Ulf Nilsson and Jan Maluszynski: Logic, Programming and Prolog (2ed)
A good and rather formal introduction to the subject (notice the important comma in the title).
Available at

[RAK] Robert A. Kowalski: Logic for Problem Solving.
The classic and most influential book from 1979. Still worth reading.
Available electronically at the author's homepage.

[PS] Fernando C. N. Pereira, Stuart M. Shieber: Prolog and Natural-Language Analysis.
A modern classic recommended for those who want to learn more about Prolog and language analysis (anno 1987!). NOT COMPULSORY READING. Available electronically.

Technical documentation

[SP] SICStus Prolog manual

[CHR1] Manual for CHR; section of the above; try direct link
Everything worth knowing about CHR: CHR web

[DCG] Manual for DCG; section of the above; try direct link
NB: Ignore the strange section title and everything about term_expansion and companions. Be aware that the examples are very misleading (but not incorrect). Text is indicated as strings in double quotes, e.g. "text"; strings in Prolog are weird: a quoted text is considered an abbreviation for a list (in the strict Prolog sense), so "text" is just a convenient way of writing [116,101,120,116] (sic!).

[SWI] SWI Prolog includes also CHR and is free. It is available for a variety of platforms, but it has the peculiarity that it does not print out the final constraint store. (Link provided by Pawel Pruszkowski)

Last modification 8-jan-2006, Henning Christiansen