|

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
- Four written Assignments (HW1-HW4) - 25%
- Adaptive Programming Project (P1-P4) - 25%
- Four 30 minute quizzes (Q1-Q4) - 25%
- 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. |
|