UCSCBaskin School of Engineering  
General Information Events, News & Organizations Degrees & Departments Research Classes Admissions & Advising People & Jobs Administration
CMPS 140 - Winter 2007

Class Syllabus, Grading, Schedule, Notes

Artificial  Intelligence

Professor Robert Levinson (levinson -at- cse -dot- ucsc -dot- edu)
TA: Foaad Khosmood (foaad -at- ucsc -dot- edu) (important: use "[140]" in email subject line.)
Grader: Anita Krishnakumar (anita -at- soe -dot- ucsc -dot- edu)

Winter 2007 Lecture meetings: MWF 3:30-4:40PM, Physical Sciences 110
Lab hours: (optional) T 1:30-4PM, Baskin Engineering 105 (SUN lab) and R 4-6PM, Baskin Engineering 109 (PC lab) or by appt.
Grader office hours: MWF 1-2PM, Baskin Engineering 316 (knock on the door)

Newsgroup: ucsc.class.cmp140 (check for latest information)

Important Messages!

Key for the Final is available.
P4b results for all 4 tournaments are in my public directory. Unfortunately, running IPD against all P3s and P2s proved unfeasable, so IPD is evaluated only against P3s. I ran IPD P4s against P3s only and that took a good 32 hours. SM, however is evaluated against both P3s and P2s which created an increadible 10 spots for the top quartile. Even so some poeple's older agents did better than their new ones. Overall, almost everyone did well, and much better than their original agents.
In the P4b IPD tournament the top quartile went to 6 agents as FerranMerrillPettit, Staley and Nguyen took first, second and third respectively and Schirado, FagnaniKistler and Nasledov all tied for fourth even after 3 tournaments.
In the P4b StockMarket tournament, the top spot went to Staley who won all four times the tournament ran. Second place went to ChattinMcnichols. Dean and Nasledov were tied for third and Benterou also ended up in the top quartile.
Congratulations to everyone and I hope you all enjoyed it.
I'll run a P4c tournament at about 8PM Thursday night with whatever agents have been submitted.
For those interested in a P4c tournament : I've created a P4c directory that you can use to submit P4c agents for both games. Please use the same specs and naming conventions as P4b (but changing it to "_P4c") I will try my best to run the tournaments on Wednesday or Thursday of Finals week. Of course there are no points associated with this excercise. Check back here for Results.
Final's week Office Hours: Dr. Levinson will hold office hours on 15th 5-8PM and Tuesday, 20th 4-8PM. Foaad will be in the lab Thursday 3:30 - 6PM. P4b is due Friday at 6PM, no exceptions!
Important for P4b: Make sure all defuns have your agent name at the beginning of their name, so we don't pollute the name space. Also, please check to make sure you have no debug output in your agent before submitting.
Mar 13: Google Video Computers and Common Sense by Doug Lenat.
Mar 8: Syntax for submitting P4a from the unix.ic machines: "submit cmps140-ral.w07 P4a filename.lisp" (read the assignment for naming conventions on code files and data files.)
Mar 2: The new smMonitor is here. I've started to keep track of modifications and release dates, so check the first few lines for this.
Mar 2: smMonitor now has a new price formula. Actually we just added a third term based on total activity in the system. The price is now determined as follows:
PreTurn Price (this is what's passed into agent)
PreTurn + [buys - sells] (this is the price used in actual transactions.)
In addition, agents now start with $10000 and 100 shares. We are now dividing demand and activity terms by 100.
PreTurn + [buys - sells]/100 + [[buys + sells] - avgActivity]/100 (this becomes the new Preturn Price. Note that it's after when the orders are fulfilled.
avgActivity is the mean of all [buys + sells] seen since the first turn.
Feb 25: P4 assignment is now available.
Feb 18: Stock Market monitor is now available. I was able to fix almost everyone's agent so they could participate in the tournament. The ones I have modified have "-mod" appended to their name and are all in the newly compiled file here. You should compile the monitor too if you want it to go fast and also note the "verbose" settings (1-3). Run it like this: (monitor P2_sm_agentlist)
Feb 14: For P3, since we will be running against the old agents, we need to change the names of the functions. Simply append "_P3" to the end of the name from P2. For example KhosmoodLevinson_P3. The files, too, need to be changed. For P3 you are responsible for submitting these files with appropriate agents inside them: ipd_agent_P3.lisp, sm_agent_P3.lisp
Feb 12: For P3 (see description), you can download the compiled versions of the P2 class agents from here. On the unix.ic machine, you can copy the two files like this:
cp /afs/cats.ucsc.edu/users/a/foaad/public_html/public/*.sparcf .

You can load these files using the (load) function, just as if they were ".lisp" files. Each file containst a variable where the names of all the agents inside the file are stored. These are P2_ipd_agentlist and P2_sm_agentlist respectively.
Feb 6: Use this unix shell command to find out how many characters your agent is (limit is 800 for P2).
egrep -v ";" < agent.lisp | wc -m
Note that spaces do count toward the limit.
Important: We will be using the above filter to combine all your agent codes into one file. All your comments should be on a line by themselves. If you have a mixed code/comment line, this filter will break your code.
Feb 6: Turn in your ipd_agent.lisp file (as P2) by tomorrow at noon to take part in the practice tournament.
Feb 5: Files to be turned in for P2: ipd_monitor.lisp, ipd_agent.lisp, sm_agent.lisp, sm_monitor.lisp
Feb 2: In class presentation on Experience based adaptive search.
Jan 22nd: Syntax for submitting P1 from the unix.ic machines: "submit cmps140-ral.w07 P1 filename.lisp"
Jan 22nd: The prisoner's dilemma monitor is now available


Class Material Agent-based Games Lisp Resources
Class Syllabus, Grading, Class Schedule, Notes

Required Text: Artificial Intelligence: A modern Approach, Second Edition by Russell and Norvig, 2003, Apprentice Hall.

Required Text:  ANSI Common Lisp by Paul Graham

Optional: Draft Text Explorations in Scientific Thinking: A Systems Theoretic Approach by Levinson and Goodwin [PDF version]


Prisoner's Dilemma

CMPS 140, Winter 2007, IPD interface for agents and monitors.

IPD Monitor for P2

Wikipedia Page on PD

Matt Kane's IPD page. Includes an Online implementation. (NOTE: ours may not be exactly the same.)

Stock Market

CMPS 140, Winter 2007, Stock Market rules and requirements.


(The Bible:) Common Lisp the Language, 2nd edition, by Guy L. Steele, Thinking Machines, Inc. [Available Online]

An Introduction and Tutorial for Common Lisp [JHU]

Common LISP Hints by Geoffrey J. Gordon [CMU]

LISP Tutorial by Marc Schwarz

A Lisp Primer for C and Java Programmers by Gene Fisher, Cal Poly [PDF]


Grading and Class Policies

  1. Four written Assignments (HW1-HW4) - 25%
  2. Adaptive Programming Project (P1-P4) - 25%
  3. Four 30 minute quizzes (Q1-Q4) - 25%
  4. Final exam - 25%
  • Exceptional performance will be recognized (extra credit).
  • Minimally, at least 45% must be achieved in each part to be even considered for passing the course.
  • Homework, programming assignments, and project assignments may be done in groups of 1 or 2 or 3 that remain steady throughout the quarter,  and also must be turned in at class time (or other, if specifically announced).
  • It is fine and encouraged to discuss homework problems and projects with other students - BUT CHEATING or ACADEMIC DISHONESTY on any course item (such as direct verbatim copying from a member outside your group or during an exam) will result in not passing the course and other highly undesirable consequences.
  • No incompletes for the course will be given.

Homework and deliverables

  • HW1-HW4 are written and programming assignments.
  • P1-P4abc are Project assignments.
  • HW Exercises are from Russell/Norvig
  • P1 is from the Lisp book.
  • P2-P4 project assignments will be handed out in class!
  • Turn in HW1-HW4 in class on paper (typed is preferred)
  • P1-P4 will be turned in electronically via class lockers


Class Schedule

Lecture (notes) Homework, Programming Assignments and Quizzes
I. Introduction to AI and Lisp Programming

Jan 5, 2007

  • Read Chapters 1,2.1-2.3 in AI.and 2,3,5,6,9 in the Lisp book.
  • HW1= 1.9-1.13, 2.2, 2.5bc (7 problems in all - due Fri. January 12)
  • P1 = LISP: 2.2-2.7,2.9 3.3-3.5,5.1,5.2,6.3,6.4, 6.6, 9.1,9.6 (17 problems - due Fri. January 26)
Jan 8  
Jan 10  
Jan 12 HW1 is due (Solutions [PDF])
Jan 15 No Class
Jan 17  
Jan 19 Quiz 1
Jan 22  
Jan 24  
II. Search and Heuristics


Jan 26

  • Read Chapters 3 and 4.1-4.3 in AI
  • HW2: 3.4, 3.6, 3.8, 3.9, 4.1-4.3 (7 problems in all - due Friday Feb 9)
  • P2: Project Phase II: Game monitors + simple agents due Friday Feb. 9)

P1 is due. (Sample Solutions)

Jan 29  
Jan 31  
Feb 2 Quiz 2
Feb 5  
Feb 7  
Feb 9 HW2 and P2 are due. (Solutions [PDF]
Feb 12  
Feb 14  
III. Knowledge Representation and Logic

Feb 16

  • Read Chapters 7.3-7.6 and 8.1-8.3 and 9.1-9.2 and 9.5 in AI
  • HW3: 7.5-7.6, 7.8, 7.9, 8.6, 9.3, 9.4 (7 problems in all - Fri. Feb 23)
  • P3: Project Phase III: strategic agents (Due Feb. 23)*
  • Quiz 3
*P3 assignment is exactly the same as P2 for the agent part. You need to turn in two agents (one ipd, one sm)that do not exceed 50 (x80 characters) lines of code. Also you are allowed to use semi-globals (let) statements that encapsulate your whole function, but still not globals. Lastly, there's a response time limit. If your agent takes too long to respond (like 10 seconds) you will be disqualified.
**P3 Scoring in order of top to bottom quartile for each tournament is this: 30, 25, 20, 15. There will be four tournaments: one for each game where your P3 agent competes against all P2 agents and another for each game where your agent is competing against all the P2 and P3 agents in class.
Feb 19 No Class
Feb 21  
IV. Machine Learning

Feb 23

  • Read 19.1, 20.4,20.5 21.1-21.2 in AI
  • HW4: 19.1, 20.11, 20.13, 20.15 (4 problems - Due Fri. Mar 9)
  • P4abc: Project Phase IV (due Fri. Mar 9 and Fri. March 14): learning agents

HW3 (Solutions [PDF])+ P3 are due

Feb 26  
Feb 28  
Mar 2 Quiz 4 [key]
Mar 5  
Mar 7  
Mar 9 P4a + HW4 are due (Solutions [PDF])
Mar 12  
Mar 14 REVIEW. P4b(electronic) and P4c(on paper) are due
Final Mar 21, 4-7PM The final exam will be cumulative and will come from material in the lectures, readings, homework and programming problems, but will largely come from lecture. The exam may be open book, closed book, or take-home... but will probably be closed book.

General info News Events Degree Programs Research Classes Admissions Advising People Jobs Administration
SOE Webmail SOE SSH SOE Wiki Search Sitemap Contact us Driving directions Privacy UCSC
Baskin School of Engineering, University of California, Santa Cruz
1156 High St., Santa Cruz, CA 95064 (831) 459-2158 webmaster@soe.ucsc.edu