Artificial Intelligence 2012

Prabhas Chongstitvatana
email prabhas at chula dot ac dot th

Course Description

    Foundations of artificial intelligence, solving problems by searching, knowledge representation, first-order logic, inference in first-order logic, language processing, machine learning.

Previous lecture   2011


26  Sept 2012     Fan page is open at
30 Oct 2012       Mid term exam will be given on 6 Nov 2012, 1:15 - 2:15 pm in class
1 Nov 2012        My lecture is updated   Philosophy of AI    AI as search
20 Nov 2012      lecture note:  Natural language   Top-down parser
21 Nov 2012      Final exam is on 11 Dec 2012, 2-4pm.   lecture note  Recursive programming with List
28 Nov 2012      Lecture on Genetic Algorithms


1) Structure of Intelligent Agents      Introduction (aima)   Intelligent Agent (aima)   Philosophy of AI
2) Solving Problems by Searching     Boonserm slide 1    AI as search
3) Representation, Reasoning, and Logic     Boonserm slide 3
4) First-Order Logic
5) Language processing Boonserm slide 4 (NLP)  Natural language    Top-down parser
6) Speech Recognition 
7) Machine Learning    Boonserm slide 5 (ML)
8)  Computing by evolution   Genetic Algorithms
9) Neural Networks   Nervous system     
Final examination


26 Sept 2012   Read and prepare to discuss  a philosophical issue in AI, "Can machines really think?"     Chinese Room Argument
9  Oct 2012     Complete your State-Space drawing of 15-puzzle, labelling it with values from your heuristic functions.
23 Oct 2012    Try out my puzzle.c   Arrange your tool to compile and run it.  The give source does blind search with Depth-First-Search.  Try to make it Breadth-First-Search.  Run both versions and observe the difference in terms of the number of nodes explored and the quality of solutions (the number of move to solve the problem).
30 Oct 2012    Prepare for your midterm.  At most four questions will be presented.
13 Nov 2012   Write a naive top-down parser.  Use any language that you are comfortable with.  See if it can parse the examples in class.
27 Nov 2012   Try applet of GA.  Run several examples to get the feeling how GA solve these problems and how to set up parameters.


Final exam       30 %
Midterm exam  20 %
Class work      30 %
Assignments    20 %

    Total    100 %

Reference Text

1)  This one is a standard AI text used in US.
Stuart Russell, Peter Norvig, "Artificial Intelligence: A Modern Approach," Prentice Hall, 2010
link to textbook website

ai a modern approach

2) If you want to "program" for AI, this one is a must:
Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig (1991)   ISBN-10: 1558601910

paradigm in ai

3)  Boonserm Kijsirikul, "Artificial Intelligence"  in Thai, Department of computer engineering, Chulalongkorn University (free download here)
4)  other AI related free e-book    (search on 26 Sept 2012)

Additional materials

video of Watson at Jeopardy

Example:  Video of a biped robot walking using Evolutionary Algorithm.  from the paper: Chaisukkosol, C. and Chongstitvatana, P., "Evolving control programs for a biped static walker", IEEE Inter. Conf. on Humanoid Robots, Waseda, Tokyo, November 22-24, 2001.  full paper
Famous historical AI program :  eliza

Artificial Neural Network Simulator
Application of AI, Data Mining: Using WEKA video (20 min)

Applet (animation) for GA
Genetic Algorithm Viewer 1.0 is a demonstration applet of the functioning of a Genetic Algorithm (GA). It aims at showing the power of GA and of the main mechanisms used while permitting a certain form of visualization of the general functioning.
Visualisation of Genetic Algorithms for the Traveling Salesman Problem in Java
The applet executes what is called a genetic algorithm (GA). To facilitate understanding, every step in the GA is animated. This particular GA evolves solutions to a simple board game. This program also detects and reports if any irreducibly complex (IC) solutions arise during the evolution of its population of solutions to the board game.
Minimum of Function: The problem is expressed as looking for extreme of a function. Some function is given and GA tries to find minimum of the function. For other problems we just have to define search space and the fitness function which means to define the function, which we want to find extreme for. 

AI programming

15-puzzle   (preliminary, only Depth-First-Search)   puzzle.c   (complete)  puzzle2.c

AI list library in C

Top-down parser  package 

Recursive programming with List

last update 4 Dec 2012