TA Bence Cserna

The goal of this class is to help you learn **how to build
intelligent software**. We'll cover concepts and algorithms
from perception (learning about the world from data), through planning
(deciding what to do), all the way to acting (actually doing
something). Along the way, we'll see topics in knowledge
representation (how to represent what we know), learning (how to get
better), and agent architecture (how to organize all this).

You should already be a fluent programmer in a high-level language (like Java or ML), understand common data structures (like trees, hash tables, and heaps), and be familiar with basic complexity analysis (big-O notation).

By taking a one-credit CS 696W alongside this class, it can be used as a writing-intensive class.

The class will next be offered in spring of 2018, and is planned to be offered every spring semester after that. Very likely to be Tuesdays and Thursdays 11:10-12:30, with recitations Fridays 11:10-noon, all in Kingsbury N113, but check the official course schedule to confirm.

- general information (revised 8/30/16)
- course schedule (revised 8/29/16)
- final project information (revised 8/30/16). Examples of strong final papers from previous years: Bond, Hatem, Leighton, Merrill, Wilt.

- Asst 12: handout, test harness, sample problems, reference solution
- Asst 11: handout, image generator, reference solution
- Asst 10: handout, test harness, harness instructions, digits, tiny, reference solution
- Asst 9: handout, test harness (10/31, 11:30am), sample input (10/31, 8:30am, reference solution (10/31, 8:30am)
- Asst 8: handout, validator, sample input, reference solution
- Asst 7: handout, validator, reference solution, same cnf converter as asst 6, sample KBs
- Asst 6: handout, validator, sample input, cnf converter, reference solution
- Asst 5: handout, validator, 3CNF generator, sample input, reference solution
- Asst 4: handout, validator, reference solution, some graphs, some complete graphs, more benchmarks
- Asst 3: handout, validator (9/17 6pm), reference solution (9/17 6pm), sample worlds (9/19 1pm)
- Asst 2: handout.
- Asst 1: handout, validator, reference solution, world generator, sample worlds.

Bug reports and suggestions regarding assignments are always appreciated.

- Part 6, Outro: 12/6, 12/8
- Part 5, Inferring Stuff from Data: 11/8, 11/10, 11/17, 11/29, 12/1
- Part 4, More Planning: 10/18, 10/20, 10/25, 10/27, 11/1 and 11/3
- Part 3, Knowing Stuff: 9/29, 10/4, 10/6, 10/11, 10/13
- Part 2, Choosing What To Do: 9/1, 9/6, 9/8, 9/13, 9/15, 9/20, 9/22, 9/27
- Part 1, Intro: 8/30

- the class Q&A forum
- the class blog, especially for those taking the class as writing-intensive
- a simple example of recursive-descent parsing (in OCaml)
- a primer on I/O redirection in Linux
- a unification algorithm, taken from Ed
Bender's book
*Mathematical Methods in Artificial Intelligence*(IEEE Computer Society Press, 1996) - AAAI author kit with properly formatted templates for scientific papers (lame version here).
- links to AI videos/demos
- the UNH AI Group
- Robotics at UNH
- AAAI has a set of overview pages called AI Topics
- AI links compiled by Russell and Norvig
- Kevin Murphy's nice tutorial on Bayesian networks
- Nick Smith's Guide to Academic Success

- Asst 5: handout, reference solution, test harness, harness info, tiny data, real data
- Asst 4: handout, reference solution (only does vi), simulators and worlds
- Asst 3: handout, sample input, validator, reference milestone solution, reference solution.
- Asst 2: handout, cnf converter, sample input, validator, reference solution
- Asst 1: handout, milestone validator, final validator, reference solution, world generator, sample worlds

- Part 1, Intro: video, slides: agents
- Part 2, Combinatorial Search: video, slides: search, heuristics, CSPs, optimization, games
- Part 3, Certain Knowledge: video, slides: propositional logic, reasoning, first-order logic, resolution, logic in practice,
- Part 4, Planning: video, slides: some practical logics, planning, planning graphs, regression, POP, MDPs, solving MDPs
- Part 5, Learning: video, slides: reinforcement learning, scaling RL, supervised learning, decision trees, more supervised learning, unsupervised learning
- Part 6, Uncertain knowledge: video, slides: Bayesian networks, more Bayes nets, particle filters, HMMs
- Part 7, Conclusion: video, slides: wrap-up
- Bonus: motion planning