v
Current announcements will appear here,
at top-level, for quick and easy inspection.
v 28July2016: As
posted to the class mailing list, the FinalAI
deadline has been extended to 11:59pm Thu., 28 July;
no submissions accepted after Thu., 28 July.
v 27July2016: The
Final Exam key has been posted below, and is available here.
v 26
July2016: Please bring your UCI ID to the Final Exam today.
We will check your ID when you turn in your Final Exam, just as we did for the Mid-term
Exam. You will need to have your UCI ID to turn in your Final Exam. If you do
not have your UCI ID with you, you will have to go home and get it.
v 26July2016: A new StudentResources/
folder has been released that corrects an error in the
direction the Java agent initially faces. The agent should and will
start facing to the right. Please fix your code as needed! Please download and install the new Java and tournament
shells if you are coding in Java.
v 20July2016: The
Quiz #4 key has been posted below and is available here.
v 19July2016: All FirstGuessAI
and DraftAI deadlines are extended without penalty to
midnight tomorrow, Weds., 20July2016. You may submit without late penalty any
revised code versions of *either* or *both* your FirstGuessAI
and DraftAI to their respective EEE DropBox by midnight, tomorrow, Weds. 20July2016. We will run a revised tournament with all of them together,
which will replace all previous results.
In the end, your code will be evaluated entirely based on your
submission by midnight, tomorrow, Weds. 20July2016, and not on any previous
submission. If you wish to correct
a FirstGuessAI submission, please submit it to the
EEE FirstGuessAI DropBox. If you wish to correct a DraftAI submission, please submit it to the DraftAI DropBox. Please make all desired corrected
submissions to the appropriate desired EEE DropBox by
midnight, tomorrow, Weds. 20July2016. If you do so, you will avoid any
late penalty. All late penalties are waived
for FirstGuessAI and for DraftAI,
and submissions will be accepted without penalty until midnight, tomorrow,
Weds. 20July2016.
v 19July2016: New versions of the student
coding shells have been released and are available here. Please replace your old shells with these
new shells. As always, you may keep
all the “smarts” you have written; simply replace the old shells
with new. Especially, these new
coding shells fix problems in the tournament shell about which direction the
Java agent begins facing, and they also give the caves used to test FirstGuessAI and DraftAI
(relevant Worlds for your use may be found in
StudentResources/StudentResources_tournament/Wumpus_World_tournament:
Worlds_20160712, Worlds_DraftAI, and Worlds_FirstGuessAI.)
v 16July2016: As an international courtesy to
international scholars, on Tuesday, 19 July, we will host a group of visitors
from Sookmyung Women's University, South Korea. They wish to audit the class that day.
Please plan to attend class on Tuesday, 19 July, in order to show respect and
courtesy from UCI to our international visitors.
v 16July2016: *PLEASE* do fill out and submit
your student teaching evaluations for CS-171, Summer Session I. Every
student who fills out a course evaluation from UCI for CS-171 will receive a
bonus of 1% added to their final grade, free and clear, off the curve, simply a
bonus. These evaluations are important to me in improving the CS-171 course
offerings, and to UCI in evaluating our success at our educational mission.
Many of the good features that you now enjoy in CS-171 were suggested by
previous CS-171 students on their student teaching evaluations. I do listen and
respond to what you say.
v 16July2016: Our
CS-171 Tournament Director, Abdullah Younis, has
released the results of FirstGuessAI, which are
available here.
v 16July2016: Going forward into the future,
your AI has a time limit of 30 seconds total clock time to explore all 4,000
caves. The reason for this time limit is that all FirstGuessAIs
--- except one --- explored their 4,000 caves in 10 seconds or less. That one exceptional AI required what
Abdullah described as "days or weeks." We decided that this outcome was
unreasonable and not OK. Consequently, your AI has a time limit of 30 seconds
to explore all 4,000 caves, which is 3X longer than any FirstGuessAI
(except that outlier) required on all 4,000 caves. We believe this to be a very
generous time limit, which should not affect your code unless you are doing
something truly unusual. Please advise us if you have a legitimate reason to
exceed this 30 second time limit for 4,000 caves.
v 14July2016: The
Mid-term Exam key has been posted below and is available here.
v 12July2016: The
Quiz #3 key has been posted below and is available here.
v 12July2016: As
announced to the class mailing list, you may fix your FirstGuessAI
errors or upgrade your code without penalty by depositing a new AssignmentSubmission in EEE DropBox
by midnight tonight, Tue., 12July.
v 12July2016: Dr.
Lathrop’s office hours today will be 4:00-4:30pm due to a conflict.
v 9July 2016: No Project submissions will be
accepted later than the Tuesday following each Sunday deadline. (We need
time to run the tournament.) You lose 10% of your project grade on that
assignment for each day or fraction thereof that it is late.
v 8July2016: Upon the advice of our
Tournament Director, Abdullah Younis, we have changed
the Project grading rubric in your favor:
o First Guess AI (20% of Project grade): It must score
>= -200. The purpose of the first guess AI is to get a sense of the code
base in action, make sure everything is working properly, report to students
whose code didn't compile, fix any bugs that arise, and make sure students are
familiar with the submission policies. Setting the pass or fail threshold to -200
tells us that the agent avoids the wumpus and pits a
majority of the time.
Please
note that -200 is deliberately a very low threshold for you. The emptyAI class that we package with the java and cpp shells only climbs, so it always scores -1. This class
will beat all three RandomAIs. Sometimes, it even
beats a PoorAI.
You are not allowed to turn in emptyAI (or any other agent that only climbs) as your FirstGuessAI.
(We already have emptyAI, so if that was what
we wanted, we could just turn it in to ourselves.) You must do something at
least slightly more interesting and creative.
o Draft AI (30% of Project grade): It must score positive
(> 0). There is a major difference between scores of -1 and 1. To score
a positive value, the agent must successful capture the gold a few times out of
4000 caves, and must have some sort of record keeping to achieve this. This is
a big threshold in the sense that it guarantees the agent has some 'smarts'.
o Final AI (50% of Project grade; Write-up
15%, AI 35%): It must score >= 200. This says that
the agent is now able to retrieve the gold better than one out of five times
and rarely die.
With this scale, it is clear what is expected of the
students. The First Guess should avoid dying and do something slightly
interesting. The Draft AI should start to be aware of the board and start
record keeping. The Final AI should capture the gold more than 20% of the time
and rarely die.
v
8July2016:
A new java shell has been
released that fixes the bug whereby the agent starts facing down. It is
available in the Project section below and also here. Please discard old java
shells and download the new one. As always, you can keep any
“smart” code you have written, just put it in the new shell.
v
5July2016: As promised in lecture, new project shell
versions have been released by the student developers. Please download them,
and then discard your old shells. You can keep any “smart” code you
have written, just put it into the new shells. Also, be sure to download and
read the updated documentation and background info.
o
General
documentation and background info.
o
A
C++ shell.
o
A
Java shell.
o
A
Python shell.
o
A
tournament shell.
v 5July2016: The
quiz #2 key has been posted below and is available here.
v 5July2016: Please bring your UCI ID to the
Mid-term Exam Thursday.
v 5July2016: New
project shells will be released later tonight. Please look for and download them,
then discard your old shells. You can keep any “smart” code you
have written, just put it into the new shells.
v 5July2016:
CS-171 Teaching Staff change: Siavash Rezaei is no longer a TA.
v 3July2016: Good
news!! In order to give you
more time to code your project, all project due dates are extended from
(currently) Friday to (changed to) Sunday. The main reason f this
change is to give you more time to code.
You will have a whole additional weekend to write code.
• Fri., 8 July changed
to Sun., 10 July: Project “First Guess AI” due.
• Fri., 15 July changed
to Sun., 17 July: Project “Draft AI” due.
• Fri., 22 July changed
to Sun., 24 July: Project “Final AI” due.
v
3July2016: The tournament shell is released. If your
current project shell is older than 2July2016, please discard it and get a
current shell.
v
2July2016: New shells have been released.
o
General
documentation and background info.
o
A
C++ shell.
o
A
Java shell.
o
A
Python shell.
o
A
tournament shell will be available shortly.
We will fix any further problems and issue new
shells as necessary. Please watch
for and download any new shells, then discard your old shells. You can keep any
“smart” code you have written, just put it into the new shells.
v
30Jun2016:
New shells have been released.
o
General
documentation and background info.
o
A
C++ shell.
o
A
Java shell.
o
A
Python shell.
o
A
tournament shell will be available shortly.
We will fix any further problems and issue new shells as necessary.
Please watch for and download any new shells, then discard your old shells. You
can keep any “smart” code you have written, just put it in the new
shells.
To
help you get started, we also have released the source code to “RandomAI,” and the executables to RandomAI,
PoorAI, AverageAI, and GoodAI (they go by different names in different shells).
(Only the Java shell has a propositional logic theorem prover now. The C++
shell has 1,000 random caves for each of 4x4 through 7x7.)
v
v
29Jun2016:
At 1pm on Tue., 5 July, we will have a brief Special Guest Presentation by
Teresa Barrett-Bewley of the UC Irvine Blood Donor
Center. Please try to arrive early so that you do not miss her presentation.
v
29Jun2016:
The CS-171 Teaching Staff office hours have been fixed and are in effect now as
follows:
Yue Yu
Office
hours: Wednesday 3:00-4:00pm, or anytime by appointment, in Calit2 room 3301 (building 325 on
the UCI
campus map, directly adjacent to DBH).
Abdullah Younis
Office
hours: Tuesday noon-12:45pm in DBH room 3013. This time will be a
“Project Clinic” where you can get answers to project questions and
help with project problems.
Email:
younisa@uci.edu
Richard Lathrop
Office
hours: Tuesday 4:00-5:00pm, or anytime by appointment, in DBH room 4224.
Email:
rickl@uci.edu
**** (If you send email, please put
“CS-171” somewhere in the Subject line.) ****
These
office hours are made available to you in order to help you understand the
material and get a better grade, so please do take advantage of them.
v
28Jun2016:
The Quiz #1 key has been posted below and is available here.
v
28Jun2016:
We are fixing a newly-discovered
problem with the project Python subdirectory, and so the project link has been
removed until it is fixed (hoped for later tonight).
v
28Jun2016:
Abdullah Younis, the Project Tournament Director, has
kindly agreed to hold a “Project Clinic” noon-12:45pm each Tuesday
in DBH-3013, starting next Tuesday, 5 July. He will help you solve any problems
you may encounter with your project.
v
28Jun2016:
New shells have been released and are available here and
in the Project section below.
These new shells should fix many of the problems you have encountered, and also
be more compatible with the tournament. Please discard your old shells. You can keep any
“smart” code you have written, just put it in the new shells.
v
26Jun2016:
Due to the fact that the coding project shells are almost but not quite yet
ready, we have changed the project due date deadlines to be more favorable to
you. Every previous Tuesday due date is hereby changed to
Friday of that same week. This change will give you three more
days to code your project for the deadline, and will avoid having both a test
and a project deadline due on the same day
v
24Jun2016:
As was announced repeatedly in lecture and as appears below, Discussion Section
is mandatory. In particular,
it is NOT OK to be present
for roll call and then leave in the middle of the Discussion Section lecture.
If necessary, we will call roll immediately thereafter to identify such a
student, who will thereupon lose points. I
hope it does not come to this. I hope and expect that students in this class
will show respect and courtesy to the TAs who are
leading the Discussion Section lectures.
Your
TAs are there only for your benefit, to help you
understand the material better and thereby achieve a higher grade. Their
experience as TAs is an important part of the UCI educational mission, as part
of their training to become future teachers and professors. I will not allow
you to interfere with them in achieving the goals of their educational mission.
In
particular, please drink your water, use the bathroom, and answer your cell
phone during the break or after Discussion Section. You are not allowed to leave Discussion Section for any reason after
roll has been called and before the break.
You will lose points if you do so.
v
23Jun2016:
Abdullah Younis, the Project Tournament Director, has
agreed to attend the beginning of class each Tuesday to answer questions about
the project, the shells, and the tournament. Please accumulate your questions
and bring them for him each Tuesday. Also, if you send me email about these
topics, please CC Abdullah (younisa@uci.edu).
v
23Jun2016:
If you are a wait-listed student who wishes to add the class, please see Dr.
Lathrop at the podium immediately after lecture. Students will be added in
wait-list order up to the course capacity.
v
23Jun2016:
There is now a CS-171 MessageBoard on EEE with two
Forums for your use. “CS-171, Intro to AI, Summer Session I, 2016”
v
CS-171 Course Material Discussion: This forum is available for
students to discuss aspects of the CS-171 course material. Normal forum •
Posters identified • No password required
v
CS-171 Coding Projects Discussion: This forum is available for
CS-171 students to discuss various aspects of the coding projects as they go
along and reflect upon how, actually, to do it. Normal forum • Identities
may be suppressed • No password required
v
21Jun2016:
Although this class website is only complete through the first week of classes,
I have decided to release it to EEE now anyway in hopes that it will be useful
to you for planning purposes. The coding shells will be added tomorrow
(22Jun2016), and I will expand the later weeks shortly.
v
21Jun2016:
Please see class email dated 21Jun2016 about a REALLY EXCITING experiment being
done here at ICS as an Internet of Things study with Google Glass during this
summer. You all should respond eagerly and enthusiastically to this
request. You will be provided with
a Google Glass device and will use it while walking around campus. (How exciting is that?) You will receive
"alerts" about IoT-related scenarios from
the device, answer several questions for each, and perform an exit survey. This
is a great opportunity to try a hot new technology (Google Glass) in an
important upcoming area (IoT) while advancing
computer science research here at ICS. Contact Hosub
Lee hosubl@uci.edu.
·
Tue., 28 June: Quiz #1.
·
Tue., 5 July: Quiz #2.
·
Thu.,
7 July: Review for Mid-term Exam, take Mid-term Exam.
·
Sun.,
10 July: Project “First Guess AI” due. (Changed in your favor!)
o
Results are available here.
·
Tue., 12 July: Quiz #3.
·
Sun.,
17 July: Project “Draft AI” due. (Changed in your favor!)
·
Tue., 19 July: Quiz #4.
·
Thu., 21 July: Review for Final Exam
·
Sun.,
24 July: Project “Final AI” due. (Changed in your favor!)
·
Tue, 26 July: Take Final Exam.
The
course is based on, and the UCI bookstore has, the 3rd edition. The
assigned textbook reading is required, and is fair game for quizzes and
exams. You
place yourself at a distinct disadvantage if you do not have the textbook. I expect that you have a personal copy
of the textbook, and quizzes and exams are written accordingly.
Please
purchase or rent your own personal textbook for the quarter (and then resell it
back to the UCI Bookstore at the end if you don't want it for reference).
Please do not
jeopardize your precious educational experience with the false economy of
trying to save a few dollars by not having a personal copy of the textbook.
Also,
for your convenience, I have requested that a copy of the textbook be placed on
reserve in the UCI Science Library. There is a two-hour check-out limit. However,
please understand that with high student enrollments, it is unrealistic to
expect that these thin reserves always will be available when you need
them. Please
purchase or rent your own personal textbook. Otherwise, you are at a severe
disadvantage.
I do deplore the high cost of modern textbooks. You may find the textbook cheaper if you
look online at sites such as eBay.com, Amazon.com, etc.; or search the web for other
sites related to the textbook.
You may
find the following sites useful, though I cannot vouch for them:
The following represents a preliminary syllabus. Some changes in the
lecture sequence may occur due to earthquakes, fires, floods, wars, natural
disasters, unnatural disasters, or the discretion of the instructor based on
class progress.
Background Reading and Lecture Slides will be changed or revised as the
class progresses at the discretion of the instructor. Please note: I often tweak or revise the lecture
slides prior to the lecture; please ensure that you have the current version.
Please read the assigned textbook reading and review the lecture notes in advance of each lecture, then again after each lecture.
Week
|
Day Date
|
Quiz
|
Lecture 1
(1:00-2:20)
|
Lecture 2
(2:30-3:50)
|
1
|
Tue 21 Jun
|
|
Class setup, Intro Agents
|
Propositional Logic A
|
|
Thu 23 Jun
|
|
Propositional Logic B
|
Predicate Logic A
|
2
|
Tue 28 Jun
|
Q1
|
Predicate Logic B
|
Probability, Bayes Nets
|
|
Thu 30 Jun
|
|
Clustering, Regression
|
Intro State Space Search
Uninformed Search
|
3
|
Tue 5 Jul
|
Q2
|
Heuristic Search
|
Local Search
|
|
Thu 7 Jul
|
|
Mid-term Review
|
Mid-term
Exam
|
4
|
Tue 12 Jul
|
Q3
|
Game Search A
|
Game Search B
|
|
Thu 14 Jul
|
|
Constraint Satisfaction A
|
Constraint Satisfaction B
|
5
|
Tue 19 Jul
|
Q4
|
Machine Learning A
|
Machine Learning B
|
|
Thu 21 Jul
|
|
Final Review
|
Final Review
|
|
Tue 26 Jul
|
|
Final
Exam
|
Final
Exam
|
Week
|
Day Date
|
Lecture 1
(1:00-2:20)
|
Lecture 2
(2:30-3:50)
|
1
|
Tue 21 Jun
|
Chapters 1-2
|
Chapter 7.1-7.4
|
|
Thu 23 Jun
|
Chapter 7.5 (optional: 7.6-7.8)
|
Chapter 8.1-8.5
|
2
|
Tue 28 Jun
|
Review Chapters 8.3-8.5,
Read 9.1-9.2 (optional: 9.5)
|
Chapters 13, 14.1-14.5
|
|
Thu 30 Jun
|
Chapters 18.6.1-2, 20.3.1
|
Chapter 3.1-3.4
|
3
|
Tue 5 Jul
|
Chapter 3.5-3.7
|
Chapter 4.1-4.2
|
|
Thu 7 Jul
|
Review
all of the above
|
Mid-term Exam
|
4
|
Tue 12 Jul
|
Chapter 5.1, 5.2, 5.4
|
Chapter 5.3 (optional: 5.5+)
|
|
Thu 14 Jul
|
Chapter 6.1-6.4, except 6.3.3
|
same
|
5
|
Tue 19 Jul
|
Chapter 18.1-18.4
|
Chapters 18.5-12, 20.1-2
|
|
Thu 21 Jul
|
Review
all of the above
|
Review
all of the above
|
|
Tue 26 Jul
|
Final Exam
(NO BREAK)
Final Exam
|
Tue., 21 June:
Lecture 1: Class setup,
Introduction, Agents.
Read
in advance: Textbook Chapters 1-2.
Lecture
slides: Introduction, Agents [PDF; PPT].
Lecture 2: start
Propositional Logic.
Read
in advance: Textbook Chapter 7.1-7.4.
Lecture slides: Propositional Logic A [PDF; PPT].
Thu., 23 June:
Lecture 1: finish
Propositional Logic.
Read
in advance: Textbook Chapter 7.5 (optional: 7.6-7.8).
Lecture slides: Propositional Logic B [PDF; PPT].
Lecture 2: start
First Order Logic
Read in advance: Textbook Chapter 8.1-8.5.
Lecture
slides: First Order Logic Syntax [PDF; PPT].
Discussion Section: Review material for this week.
Propositional Logic [PDF].
Week 1 Optional Ungraded
Homework:
Week 1 Optional Cultural
Interest:
Optional Cultural Interest: AI and Agents
John
McCarthy, “What
Is Artificial Intelligence?”
AAAI,
AI Overview.
IBM Watson: Final Jeopardy! and the Future of Watson
AI vs. AI.
Two chatbots talking to each other.
Silicon Valley Kingpins Commit $1 Billion to Create Artificial Intelligence Without Profit Motive
Cyc is a large-scale knowledge-engineering project:
“CYC: A Large-Scale Investment in Knowledge Infrastructure,” Lenat, 1995
“Searching for Commonsense: Populating Cyc from the Web,” Matuszek et al, AAAI 2005
Cyc - Wikipedia, the free encyclopedia.
Hitting the road: Hitchbot begins cross-Canada journey
“Canada's
hitchBOT travels 4,000 miles to test human-robot
bonds --- LA Times.”
HitchBOT, the hitchhiking robot, gets beheaded in
Philadelphia
“Janken (rock-paper-scissors) Robot with 100% winning
rate”
“Asterisk - Omni-directional
Insect Robot Picks Up Prey #DigInfo”
“Freaky AI robot, taken from Nova science now”
Tue., 28 June:
Abdullah Younis,
Tournament Director, Project Questions.
Quiz #1 (answer key here).
Lecture 1:
finish First Order Logic; Knowledge Representation.
Review Chapter 8.3-8.5
Read in advance: Textbook Chapter 9.1-9.2 (optional 9.5).
Lecture slides (two parts):
(1) First Order Logic Semantics [PDF; PPT]; and
(2) First Order Logic
Knowledge Representation [PDF;
PPT].
Lecture 2: Probability, Uncertainty, Bayesian Networks.
Read in advance: Textbook Chapters 13, 14.1-14.5.
Reasoning Under Uncertainty.
Bayesian Networks.
Thu., 30 June:
Lecture 1: Clustering (unsupervised learning) and Regression (statistical numeric learning).
Read in advance: Textbook Chapters 18.6.1-2, 20.3.1.
Lecture
slides (two parts):
Clustering (Unsupervised Learning) [PDF; PPT].
Lecture 2: Intro to State
Space Search; Uninformed Search.
Read
in Advance: Textbook Chapter 3.1-3.4.
Lecture
slides (two parts):
(1)
Introduction to State Space Search [PDF; PPT]; and
(2)
Uninformed Search [PDF; PPT].
Discussion Section:
Review material for this week.
Lecture
1: FOPL, Probability, Bayesian Networks [PDF].
Week 2 Optional Ungraded
Homework:
Week 2 Optional Cultural
Interest:
Boston Dynamics Big Dog (new
video March 2008)
Cheetah Robot runs 28.3 mph;
a bit faster than Usain Bolt
Video of Judea Pearl’s 2011 Turing Award lecture.
The Mechanization of Causal Inference: A “mini” Turing Test and Beyond.
“Peter Norvig 12. Tools of AI: from logic to probability.”
Week
2 Optional Reading:
Gaffney,
et al., 2007, “Probabilistic
clustering of extratropical cyclones using regression mixture models”
Tue., 5 July:
Teresa
Barrett-Bewley, UC Irvine Blood Donor Center, Special
Guest Presentation.
Abdullah Younis,
Tournament Director, Project Questions.
Quiz #2 (answer key here).
Lecture 1: Heuristic Search.
Read
in advance: Textbook Chapter
3.5-3.7.
Lecture
slides: Heuristic Search [PDF; PPT].
Lecture 2: Local Search.
Read in advance: Textbook Chapter 4.1-4.2.
Lecture
slides (two parts):
(1)
Local Search [PDF;
PPT];
and
(2)
Representation [PDF;
PPT].
Thu., 7 July:
Lecture 1: Review for Mid-term
Exam.
Read in advance: All of the above.
Lecture
slides: Review [PDF; PPT].
Lecture 2: Mid-term Exam (answer key here).
Read
in advance: All of the above.
Discussion Section:
Review material for this week.
Heuristic Search and Local Search [PDF].
Sun., 10 July: Project
“First Guess AI” due.
Results are available here.
Week 3 Optional
Ungraded Homework:
Week 3 Optional Cultural
Interest:
A*
Search in Interplanetary Trajectory Design, courtesy of Eric Trumbauer, former CS-271 student and Aero/Astro PhD
student.
Eric
comments, “One thing to possibly discuss with the last slide is that the
itinerary it settles on does stay at a higher energy for a little bit until it
passes closest to Europa, maximizing the velocity before the insertion sequence
to the lower energy. This is indeed
optimal behavior, as opposed to immediately reducing its energy as a Greedy
Best First algorithm using this heuristic would want to do.”
A* Search in Protein
Structure Prediction, Lathrop and Smith, J. Mol. Biol.
Interesting
search algorithm visualization web page.
Infinite Mario AI - Long
Level
An attempt at a Mario AI using the A* path-finding algorithm.
It
claims the bot won both Mario AI competitions in 2009.
“You
can see the path it plans to go as a red line, which updates when it detects
new obstacles at the right screen border. It uses only information visible on
screen.”
See
also http://www.marioai.org/.
The
program learns to build a car using a genetic algorithm.
If
you let this program run for a long time (>> 30 generations), you will
see that eventually it produces cars well suited to the terrain. This outcome
illustrates a general theme of genetic algorithms: very, very slow; but,
eventually, good performance. After all, it took ~3.6 billion years to evolve
humans from bacteria (http://en.wikipedia.org/wiki/Timeline_of_evolutionary_history_of_life).
Please note that this eventual good performance of genetic algorithms is
conditional upon a representation that allows good solutions to sub-problems to
be combined simply, by cross-over, into a globally good solution; if the vector
position of the features is completely randomized within the chromosome, any
such good performance is lost.
“Hill
Climbing with Simulated Annealing”
Week
3 Optional Reading:
Newell & Simon’s “Symbols and Search” Turing
Award Lecture (1976).
Herbert
Simon was awarded a Nobel Prize (in economics, 1978).
Alan Turing’s classic paper on AI (1950).
Alan Turing is the most famous computer scientist of all time.
The Turing Award is the highest honor in computer science.
The Turing Machine is still our fundamental theoretical model of computation.
Turing’s work on the Enigma code in WWII led to programmable computers.
AAAI/AI Topics: The Turing Test: “Can Machines Think?”
Wikipedia “Computing Machinery and Intelligence”
Minton,
et. al., 1990, AAAI "Classic
Paper" Award recipient in 2008.
How
to solve the 1 Million Queens problem and schedule space telescopes with local
search.
Week 4:
Tue., 12 July:
Abdullah Younis,
Tournament Director, Project Questions.
Quiz #3 (answer key here).
Lecture 1: start Games/Adversarial Search.
Read in advance: Textbook
Chapter 5.1, 5.2, 5.4.
Lecture
slides: Games/Adversarial Search/MiniMax Search [PDF; PPT].
Lecture 2: finish
Games/Adversarial Search.
Read in advance: Textbook
Chapter 5.3. (Optional: Chapter 5.5 and beyond.)
Lecture
slides: Games/Adversarial Search/Alpha-Beta Pruning [PDF; PPT].
Thu., 14 July:
Lecture 1: start
Constraint Satisfaction.
Read in advance: Textbook
Chapter 6.1-6.4, except 6.3.3.
Lecture
slides: Constraint Satisfaction Problems [PDF;
PPT].
Lecture 2: finish Constraint
Satisfaction.
Read
in advance: Textbook Chapter 6.1-6.4, except 6.3.3.
Lecture
slides: Constraint Propagation [PDF;
PPT].
Discussion Section:
Review material for this week.
Mid-term Exam and Quiz #3 solutions [PDF].
Game Search and Constraint Satisfaction [PDF].
Sun., 17 July: Project
“Draft AI” due.
Week 4 Optional Cultural
Interest:
Arthur
C. Clarke “Quarantine.”
A science fiction short story written by a classic master, in 188
words.
He
was challenged to write a science fiction short story that would fit on a
postcard.
AlphaGo:
The first computer program to ever beat a professional player at the game of
go.
RoboCup 2012 Standard Platform: USA / Germany (Final).
“Complete Map of Optimal Tic-Tac-Toe Moves.”
“Quadrocopter
Pole Acrobatics”
“Nano
Quadcopter Robots swarm video” [need to fix link]
The
Stanford Autonomous Helicopter performing an aerobatic airshow under computer
control:
“Stanford Autonomous
Helicopter - Airshow #1”
“Stanford Autonomous
Helicopter - Airshow #2 Redux”
Week 4 Optional Reading:
AlphaGo Nature paper. Technical
details about the first computer program to beat a human Go champion.
Campbell, et al., 2002, Artificial
Intelligence, “Deep Blue.” [PDF]
(URL
http://www.sciencedirect.com/science/article/pii/S0004370201001291)
Details about the AI system that beat the human chess champion.
Chaslot, et al., “Monte-Carlo
Tree Search: A New Framework for Game AI,”
in Proceedings
of the Fourth Artificial Intelligence and Interactive Digital Entertainment
Conference,
AAAI Press, Menlo Park, pp. 216-217, 2008.
An interesting combination of Local Search (Chapter 4) and Game
Search (Chapter 5).
Optional
URL: “Everything Monte Carlo Tree
Search” website.
Tue., 19 July:
As an international courtesy to international
scholars, on Tuesday, 19 July, we will host a group of visitors from Sookmyung Women's University, South Korea.
Abdullah Younis,
Tournament Director, Project Questions.
Quiz #4 (answer key here).
Lecture 1: start Learning from
Examples.
Read in advance: Textbook Chapter 18.1-18.4.
Lecture
slides: Intro to Machine Learning [PDF; PPT].
Lecture 2: finish
Learning from Examples.
Read in advance: Textbook Chapter 18.5-18.12, 20.1-20.2.
Lecture slides:
Learning Classifiers [PDF; PPT].
Thu., 21 July:
Lecture 1: Review for Final
Exam.
Read in advance: All of the above.
Lecture
slides: Review [PDF; PPT].
Lecture 2: Review for Final Exam.
Read
in advance: All of the above.
Lecture slides: Same as Lecture 1 (above).
Discussion Section:
Review material for this week.
Machine Learning [PDF].
Sun., 24 July: Project
“Final AI” due.
Week 5 Optional Cultural
Interest:
“Flexible Muscle Based Locomotion for Bipedal
Creatures” --- video
Boston Dynamics Big Dog (new
video March 2008)
Cheetah Robot runs 28.3 mph;
a bit faster than Usain Bolt
Audi
Piloted Parking (Audi's self-parking car)
Tesla Model S P85D AWD and
auto-pilot demo
Google Car: It Drives Itself
- ABC News
[Part 1/3] The Evolution of
Self-Driving Vehicles
[Part 2/3] How Google's
Self-Driving Car Works
[Part 3/3] Google's
Self-Driving Golf Carts
DARPA Urban Challenge
Highlights
DARPA Urban Challenge: Ga
Tech hits curb
DARPA Urban Challenge - Sting
Racing crash
[DARPA] Team Oshkosh attempts
forced Entry to Main Exchange
[DARPA] Alice's Crash
(spectator view)
[DARPA] Alice's Crash
(road-finding camera) [different view of above; long]
DARPA Urban Challenge Crash
Cornell MIT
DARPA Urban Challenge - robot
car wreck [different view of above]
Week 5 Optional Reading:
“Flexible Muscle-Based Locomotion for Bipedal Creatures” --- paper.
“Machine learning”
- Wikipedia, the free encyclopedia
“Data mining” -
Wikipedia, the free encyclopedia
Ferrucci, et al., 2010, “Building
Watson: An Overview of the DeepQA Project”
Proof that Decision Tree information gain is always non-negative (problem 3, pp. 4-5).
“Google
reveals it is developing a computer so smart it can program ITSELF.”
Danziger, et al., 2009, “Predicting Positive p53 Cancer Rescue Regions Using Most Informative Positive (MIP) Active Learning”
Kim
& Xie, 2014, “Handwritten
Hangul recognition using deep convolutional neural networks”
Baldi, Sadowski, & Whiteson, 2014, “Searching
for Exotic Particles in High-Energy Physics with Deep Learning”
Tue., 26 July: 1:00-3:50pm
(answer key here).
Your project is to code
a “Wumpus World” agent. The “Wumpus World” is exactly as described in your
textbook (pp. 236-240, 246-247, 305-307, 499-503),
except that we allow the cave to be of variable and unknown size (some of the
shells support rectangles and some only support squares). The tournament will
use 4,000 random variable-size square caves, 1,000 each of 4x4, 5x5, 6x6, and
7x7.
v Upon the advice of our Tournament Director, Abdullah
Younis, we have changed the Project grading rubric in
your favor:
o First Guess AI: It must score
>= -200. Please note that -200 is deliberately a very low
threshold for you. The emptyAI class that we package
with the java and cpp shells only climbs, so it
always scores -1. You are
not allowed to turn in emptyAI (or any other agent
that only climbs) as your FirstGuessAI. You must do something at least slightly
more interesting and creative.
o Draft AI: It must score positive
(> 0). To score a positive value, the agent must successful capture the
gold a few times out of 4000 caves, and must have some sort of record keeping
to achieve this. This threshold guarantees the agent has some 'smarts'.
o Final AI: It must
score >= 200. This says that the agent is now able to retrieve the gold
better than one out of five times and rarely die.
In
summary: The First Guess should avoid dying and do something slightly
interesting. The Draft AI should start to be aware of the board and start
record keeping. The Final AI should capture the gold more than 20% of the time
and rarely die.
Project Coding Shells:
Student resources are
available here, including:
v General documentation and background
info.
v A C++ shell.
v A Java shell.
v A Python shell.
v A tournament shell.
We will fix any further
problems and issue new shells as necessary. Please watch for and download any
new shells, then discard your old shells. You can keep any “smart”
code you have written, just put it into the new shells.
“Dumb”
coding shells are available in C++, Java, and Python. You must write the “smarts.”
To help you get started, we also have released the source code to “RandomAI,” and the executables to RandomAI,
PoorAI, AverageAI, and GoodAI (they go by different names in different shells).
(Only the Java shell has a propositional logic theorem prover now. The C++
shell has 1,000 random caves for each of 4x4 through 7x7.)
Your
final AI will compete in a tournament against all your classmates for extra
credit bonus points (the top 10% will get 10 Bonus points, the second 10% will
get 9, the third 10% will get 8, and so on). This is a solo project and you
must do all of it all by yourself.
As
noted in lecture, all of my CS-171 project shells were written by former CS-171
students (grade of A- or better required) who wanted to go further and do
something creative and interesting. The original Java shell was written by Sean
King. The Python shell was written by Rimoun Ghaly. The C++
shell was written by Tiancheng Xu and Minjae Wee, then revised by Abdullah
Younis. The tournament shell was written by Vincent
Ho and Toluwanimi Salako, then revised by Adbullah Younis.
Project Deadlines and Regulations:
·
Project
deadlines are given above in the Important Dates
section.
·
Your EEE DropBox submission must be a single “zipped”
file named “yourLastName_yourUCINumericID_yourTeamName.” NO SPACES OR ANY OTHER SPECIAL UNIX
CHARACTER in yourTeamName. Please restrict your TeamName to characters, digits, hyphen, and underscore, or
else you may lose points.
·
It should have three
subdirectories: src, bin, & doc; for source,
executable, and documents (‘doc’
must contain your Project Report).
·
Your main AI file must
contain the string “AI” and no other file may contain the string
“AI” (case is ignored, i.e., “ai”
== “AI”).
You will lose 10% of
your project score for each day (or part thereof) that your project is late for
any deadline. Please submit your project early, well ahead of the deadline, and
avoid the last-minute rush. If system problems, web congestion, or other
unavoidable Internet delays make your project late, it is still late and will
be penalized.
Previous
CS-171 Quizzes, Mid-term exams, and Final exams are available here as study
guides.
As an
incentive to study this material, at least one question from a previous Quiz or
Exam will appear on every new Quiz or Exam. In particular, questions that many
students missed are likely to appear again. If you missed a question, please
study it carefully and learn from your mistake --- so that if it appears again,
you will understand it perfectly.
Please note
that some of the very old tests below reflect different textbooks that may
define some things differently than does your current textbook. In case of
conflict, your current textbook is deemed correct and will prevail. Some of
your visualization systems may not display the red PDF overlays used to correct
errors in very old tests. For example, in problems #2a, #2c, #3a, and #3b on
Quiz #2 from SQ’2004, the PDF overlay is invisible on a Mac (iPad), and
possibly on some other systems or printers. The PDF overlays just do not seem to
work as advertised (sorry!!), but this problem seems only to afflict very old
tests (i.e., from over a decade ago). If you are confused by any of the answers
below, please bring your questions to the TA in Discussion Section. If you find a genuine error anywhere,
please send me email and you will receive a Bonus Point if correct.
Also, a
student has recommended ‘quizlet.com’ as a good online study
resource. While I cannot vouch for it, apparently it contains several good
study aids for your textbook.
Summer Session I 2016:
Mid-term Exam and key.
Final Exam and key.
Winter Quarter 2016:
Mid-term Exam and key.
Final Exam and key.
Fall Quarter 2015:
Mid-term Exam and key.
Final Exam and key.
Winter Quarter 2015:
Mid-term Exam and key.
Final Exam and key.
Fall Quarter 2014:
Mid-term Exam and key.
Final Exam and key.
Winter Quarter 2014:
Mid-term
Exam and key
Final
Exam and key
Fall Quarter 2013:
Mid-term
Exam and key
Final Exam and key
Fall Quarter 2012:
Mid-term Exam and key
Final
Exam and key
Winter Quarter 2012:
Mid-term Exam and key
Final Exam and key
Spring Quarter 2011:
Mid-term Exam and key
Final
Exam and key
Spring Quarter 2004:
The correct
answer to Quiz #2 (2a) is A B D E C G.
The correct
answer to Quiz #2 (2c) is A; A B C G.
The correct
answer to Quiz #2 (3a) is N.
The correct
answer to Quiz #2 (3b) is N.
These emendations to Quiz #2 have been corrected by overlays to the old PDF files, but apparently those corrections may not be not visible on some systems (MAC/iPAD?) or when printed on some printers (?). Please be warned.
Spring Quarter 2000:
Additional Online Resources may be posted as the class progresses.
Textbook website for Artificial Intelligence: A Modern Approach (AIMA).
AAAI
Digital Library of more
than 10,000 AI technical papers.
AAAI AI Magazine.
AAAI Author Kit.
Academic dishonesty is unacceptable and will not be tolerated at the University of California, Irvine. It is the responsibility of each student to be familiar with UCI's current academic honesty policies. Please take the time to read the current UCI Academic Senate Policy On Academic Integrity and the ICS School Policy on Academic Honesty.
The policies in these documents will be adhered to scrupulously. Any student who engages in cheating, forgery, dishonest conduct, plagiarism, or collusion in dishonest activities, will receive an academic evaluation of ``F'' for the entire course, with a letter of explanation to the student's permanent file. The ICS Student Affairs Office will be involved at every step of the process. Dr. Lathrop seeks to create a level playing field for all students.