assignments
due Thu Sep 3
AI history & topics
- In the AIMA text, read chapter 1, "Artificial Intelligence"
- Discuss your answers to the the "Surely * cannot be intelligent" questions at the end of chapter 1.
- Browse Wikipedia's AI article.
- If you want to work with lisp, install clisp and get it working on your machine. (Or, if you would rather use python, ditto if you don't already have it.)
- As a coding review and warm-up, write a program that asks for a number N and then finds the sum of all even fibonacci numbers less than N.
due Thu Sep 10
Agents , start search
- Read chapter 2 (defining "agents") and chapter 3 (tree search - should be review from algorithms)
- Install and play around the AIMA code for the vacuum world, in python or lisp.
- Do problem 3.20 or something along those lines, coding an agent for the vacuum world.
- Code one tree search problem :
consider a puzzle like the TopSpin one described
at http://www.jaapsch.net/puzzles/topspin.htm but
having 8 numbers, not 20. That is, you
have a list of the numbers 1 to 8 in a
randomized order, such as
[3,1,4,5,7,6,2,8].
You have three possible moves:
1) flip the first four numbers to get [5,4,1,3,7,6,2,8]
2) rotate them to the right to get [8,3,1,4,5,7,6,2], or
3) rotate them left to get [1,4,5,7,6,2,8,3].
The goal is to put them into the order 1 through 8.
To reach the goal, search the tree of possible moves.
(From each node of the tree except the root, one
move goes backward, and two of these three moves
move down the tree.)
- If all this seems like too much ... do what you can, and we'll discuss in class.
due Thu Sep 17
search
- Read through the end of the chapters on searching, 3, 4, 5. Skip 6 in the interests of time.
- Choose one of those the search techniques to explore, code and example of, and share in class. Good ones include
- genetic programming
- simulated annealing
- min/max game programming
- Examples of reasonable examples and projects include
- We'll discuss in class Tuesday.
due Thu Sep 24
propositional logic
- read chapter 7 (skip 7.6)
- read wikipedia:propositional calculus
- Explain what all this logic formalism has to do with the wumpus world.
- define the following terms; give an example if appropriate
- propositional logic (read ahead or lookup "first-order logic", for comparison)
- inference
- resolution
- de Morgan's laws
- CNF (conjuctive normal form) and Horn form
- KB
- Convert the assertion (A -> B and B -> C) into CNF. Use the resolution procudure to show that A -> C is a valid inference.
- Start to explore the AIMA code library for logic in python or lisp by using their KB (knowledge base) and its tell(), ask() methods on the previous (A, B, C) problem.
- Explain the wumpus agent algorithm described in the text in chap 7. In particular,
- What information (and how much) does it start with?
- what are the (input, output, side-effects) for the routines TELL(), ASK() ?
- Do 7.10 from AIMA 3rd pg 281 :
Decide whether each of the following sentences is valid, unsatisfiable, or neither.
Verify your decisions using truth tables or logical equivalence rules.
(Symbols here mean (| or) (& and) (=> implies) (~ not).)
a. Smoke => Smoke
b. Smoke => Fire
c. (Smoke => Fire) => (~ Smoke => ~ Fire)
d. Smoke | Fire | ~Fire
e. ((Smoke & Heat) => Fire) <=> ((Smoke => Fire) | (Heat => Fire))
f. (Smoke => Fire) => ((Smoke & Heat) => Fire)
g. Big | Dumb | (Big => Dumb)
h. (Big & Dumb) | ~ Dumb
- Do 7.22 from AIMA 3rd pg 284, on minesweeper
due Tue Oct 6
First Order Logic
- Read chapter 8.
- Browse through the "big picture" ideas from chapter 9, inference in FOL.
- Do 8.10 from AIMA 3rd, which is :
Consider a vocabulary with the following symbols:
Occupation(p, o): Predicate. Person p has occupation o.
Customer (p1, p2): Predicate. Person p1 is a customer of person p2.
Boss(p1, p2): Predicate. Person p1 is a boss of person p2.
Doctor, Surgeon, Lawyer, Actor: Constants denoting occupations.
Emily, Joe: Constants denoting people.
Use these symbols to write the following assertions in first-order logic:
a. Emily is either a surgeon or a lawyer.
b. Joe is an actor, but he also holds another job.
c. All surgeons are doctors.
d. Joe does not have a lawyer (i.e., is not a customer of any lawyer).
e. Emily has a boss who is a lawyer.
f. There exists a lawyer all of whose customers are doctors.
g. Every surgeon has a lawyer.
- Do 8.18 in AIMA 3rd, namely:
Write out the axioms required for reasoning about the wumpus’s
location, using a constant symbol Wumpus and a binary predicate
At(Wumpus, Location). Remember that there is only one wumpus.
Write axioms describing the predicates Grandchild, Greatgrandparent,
Ancestor, Brother, Sister, Daughter, Son, FirstCousin, BrotherInLaw,
SisterInLaw, Aunt, and Uncle. Find out the proper definition of mth
cousin n times removed, and write the definition in first-order logic. Now
write down the basic facts depicted in the family tree. Using
a suitable logical reasoning system (i.e. snark) TELL it all the sentences you
have written down, and ASK it who are Elizabeth’s grandchildren,
brothers-in-law, Zara’s great-grandparents, and Eugenie’s ancestors.
due Tue Oct 13
Probability
- start reading chapters 13, 18, 20
- i.e Bayesian Probablity, learning, neural networks, etc
- or use any of the other sources from the Oct 13 notes.
- Do the following two problems from AIMA 3rd:
- 13.13, a conditional probability disease testing question.
- 13.21, on green and blue taxis.
- Propose a midterm project, due in two weeks.
- You can work on anything related to the material we've covered so far, which is mainly logic systems (new material) and searching (which we've seen a lot of in the algorithms course).
- Building on something you've already done as a homework is OK.
- Include a write-up (i.e. what this is, why you chose it, how it works, what the output looks like, a bibliography of where you learned about this and/or other people's versions), docs, tests, and all that.
- A completed ancestor problem along the lines of AIMA 8.14 is one option.
due Tue Oct 20
Hendricsk
- no class - no homework
- work on your midterm project
- turn in any missing homework
due Tue Oct 27
mid term coding project
- Come to class ready to share your midterm project, and turn it in.
due Tue Nov 3
Bayesian Networks
- finish reading chapter 14, on Bayesian Networks ... see if my notes (Nov 29 class) help. You should understand (a) what one of these graphs means about the probabilities, either forward or backwards through the arrows, and how a "sampling" numeric approach works.
- start reading chapter 15, on adding time to the mix. In particular, you should end up with an understanding of markov models and particle filters - we're going to implement one of those for a robot location example.
- Given the network shown in figure 14.12a in AIMA, find P(rain|wet_grass) two ways :
- by directly calculating the joint probability table P(C,S,R,W) and from that the desired result, and
- by writing code (language of your choice) to implement a gibbs sampling approach, and estimating the answer by counting.
due Tue Nov 10
HMM
- Read about Hidden Markov Models and the FORWARD algorithm in chap 15 of AIMA and my Nov 3 notes.
- Study my ipython notebooks as discussed on Nov 5, which are in the code/markov folder, particularly rain umbrella.html .
- Work on the Dow Jones problem at dow problem.jpg .
due Tue Nov 17
particle filter
- Pick one of the HMM problems we've been doing, like the monkey chocolate one we did in class.
- Implement a particle filter approach to the forward algorithm.
- Discuss what it is doing, and compare with the exact solution.
- Entirely Optional: set up a toy version of a robot navigator, using the same HMM particle filter, as discussed during class.
- Start looking at chapter 18 in the AIMA textook, on learning, particularly neural nets. We'll be heading into that material next.
- Also start thinking about what you might want to do for a final project, which should be a further exploration of one of the topics we will have covered by the end of the term. Probabilistic approaches (i.e. HMM) or a machine learning problem of some sort would be good choices.
due Tue Nov 24
neural nets and project
- Choose a final project and get started, as discussed in class. Tell me what you're up to.
- Read the first two chapters of http://neuralnetworksanddeeplearning.com/ , which we'll be discussing this week and next.
- On my Nov 19 notes page I listed several neural nets exercises, following along with neuralnetworksanddeeplearning. Pick at least one of those to do and discuss.
due Tue Dec 1
more neural nets
- Continue reading neuralnetworksanddeeplearning, and come to class ready to discuss and explore.
- Do a task or exercise from neuralnetworksanddeeplearning - your choice.
- One of his exercises.
- Install and run some of his code for the handwriting digit recognition problem.
- Implement some small part of what his code does.
- Show me something you've done to illustrate the progress on your project.
due Tue Dec 8
project presentations
- Come to class ready to show your final project.
due Fri Dec 11
final project submission
- Submit your final write-up : a discussion (i.e. short paper), bibliography, docs, code, and a demo of what the code does.
course grade