Week 1: (8/18/03 - 8/24/03)
info on Eclipse Prolog and
first note on Prolog with
the first program in Prolog (p1.pl).
Here is the second Prolog program (p2.pl) and
the second note on Prolog.
The third and fourth
Prolog program. The homework is due on 11:59 pm, August 26.
Please
submit your homework using
the class submission web site.
Week 2: (8/25/03 - 9/01/03)
We continue to learn Prolog.
The second note contains the program
for checking whether a number is a prime number or not.
Here are the programs in the note:
The homework for this week include:
Week 3-4: (9/01/03 - 9/15/03) The labor day makes the third week
short. Here are the stuffs that we will go over in these two weeks:
Week 5: (9/15/03 - 9/22/03) We will continue with situation
calculus and will have the first taste of using Prolog to reasoning
about actions and changes. The
note for the last two classes
on situation calculus is now available. Here is the first
Prolog program for the block world.
The written homework for this week is very simple.
It is due at 11:59pm, September 21 (Sunday).
Here is the new version of the block world program. Find out the answer for your queries with this program.
Week 6: (9/22/03 - 9/29/03) We will now move on to Golog
and ConGolog. Please read the papers on
ConGolog and
Golog. You need to complete the 'planning' predicate and
submit it to 'Assignment-5'.
Submit it before 11:59pm, September 23 (Tuesday).
Homework 1: Write a GOLOG program that `demolishes' all the
towers. In other words, given a possible configuration of the
block world, your program should find a plan that puts all the
blocks onto the table. When you submit this homework,
call it 'Assignment-6'.
The written homework is due at 11:59pm, September 28 (Sunday).
PROJECT 3 On the LEGO robot front, try to smooth your
programs and finalize the construction of your robot.
Write a program that takes the robot from node 1 to node 6
and back to node 1. (Please see the map in SH170 for the number).
Think about how you would write a program that takes
two integers as parameters and takes the robot from one node
to the other node (YOU DO NOT NEED TO WRITE THIS PROGRAM).
We would like to see a demo on next Monday
(September 29). Please submit your code for this program
through the submission system (call it Assignment-7).
Here is the new version of the block world program that you should use in implementing your first GOLOG program.
Week 7: (9/29/03 - 10/6/03)
We have the first major demonstration of the robot.
We start looking at GOLOG. Here is the code for the
destroy all towers (or getting
all the blocks onto the table) program. Call it the 'notower'
program.
On Wednesday, we will study the elevator program in
the GOLOG paper. Here is the source code of the
GOLOG interpreter
written in Eclipse Prolog.
HOMEWORK Run the notower program with 5 different configurations of the block world domain (you define it -- correct the 'notower' program to do it. (A configuration of the block world includes: the number of blocks and the initial situation). The configurations must satisfy (i) there are at least 6 blocks; and (ii) there are at least 2 towers in the configuration of the block work given to the program. Report your configurations and the answers to the query do(control,s0,S). Do you find anything that appears unintuitive to you? Please submit your answer to 'Assignment-8'. (THIS IS ANOTHER WRITTEN HOMEWORK). Due: 11:59pm, October 5, 2003.
Week 8: (10/06/03 - 10/13/03) We will look at the
elevator program in the GOLOG paper. Here is a short
slide on GOLOG.
We will need to install
additional software for the final project. This includes
JAVA SDK and the LEGO Mindstorm SDK.
HOMEWORK Given a railway network with four stations A, B, C and D which lie on a straight line, from left to right. A is direcly connected to B, B is direcly connected to C, and C is directly connected to D. The network is depicted in the following figure:
A ------------- B ------------- C ------------- D
A robot is stationed at A and faces B (it is heading to the right). The robot is somewhat special since it can only move forward towards its heading to the next station or turn 180 degree. This means that if the robot is at A (or D) and its heading is toward the left (or right), the robot cannot go forward.
Develop a suitable situation calculus theory for this domain and write a GOLOG program that allows the robot to figure out what it needs to do to reach another station from its current station.
Hint: A program with two parameter (X,Y) or a program with just one parameter (X) could do the job. When you use (X,Y), you have to check whether X is the current station; if it is not, then you have to reject the call (fail); otherwise, you go on and figure out the sequence of actions that need to be done (for the robot) to get to Y. If only one parameter is used, you might need to figure out the current station and then return the sequence of actions. Your program has to work for every possible initial situation.
Please submit your answer to 'Assignment-9'. (THIS IS ANOTHER WRITTEN HOMEWORK BUT THIS ONE WORTHS 50 POINTS). Due: 11:59pm, October 19, 2003.
Here are the softwares that we will need to install for the next project.
Week 9: (10/13/03 - 10/20/03) Welcome back from the Fall break.
We will talk about LEGOLOG and the modifications that have been made
to work with the USB port. Here is the link to the
LEGOLOG's homepage.
Here is a note on LEGOLOG.
There is no homework for this week but the last one is due on
October 19, 2003.
Week 10: (10/20/03 - 10/27/03)
We change our schedule a little bit. The exam is moved to next week
(10/27/03). So, we will start with the second topic: agent theory.
Read the papers on intelligent agents
by Wooldridge and the survey
paper by Wooldridge and Jennings.
Week 11: (10/27/03 - 11/04/03) Here is the
exam.
Week 12: (11/04/03 - 11/11/03)
The main topic of this week will be autonomous agents.
We will discuss the materials in the survey papers.
Here is my slides on autonomous agents in
PPT.
Here is the project description in Power Point Format.Here is it in PDF or PS format.
Here are the slides on the difference between IndiGolog and Golog.
Week 13: (11/10/03 - 11/17/03)
We will study the subsumption architecture.
Week 14: (11/17/03 - 11/24/03)
We will study the deliberative architecture.
Please submit your initial situation calculus theory for the project
by the end of Wednesday. Submit it to 'Assignment-10'.
Last modified: Mon Nov 17 09:34:07 Mountain Standard Time 2003