Sep 3
Reminder on copyright & plaigarism - see resources page.
coding review
First let's look at the assigned code warm-up,
just to get our chops going.
AIMA overview
And here's a rough schedule :
I - AI intro
1. AI Background : philosophy & history : today
2. Defining an "agent" as the book's thematic approach : over the weekend
II - searching for a problem solution
3 - 6 : tree search, game search, genetic search ... : next two weeks
(Much of this should be review material from algorithms.)
III - knowledge representation and logical reasoning : another two-ish weeks
7 - 12 : first order logic, inference, ontological engineering
~ midterm project (logic based)
IV - probability | jump to udacity material instead : about four weeks
V - learning | with text as supplment
various applications : language, vision, etc
final projects - each person does one & shares
This pace will cover (or skim) lots of pages in the book quickly;
we'll have to be selective and see how that goes.
chapter 2
Discuss the "vacuum world" and the "agent" paradigm.
Wave our hands at the code libraries in python & lisp
Aside : if lisp ...
After dowloading and unpacking their aima.lisp code
from http://aima.cs.berkeley.edu/lisp/doc/overview.html
here's how it looks to follow their installation guide
with clisp.
# edit aimi.lisp's to set the directory path.
$ clisp -ansi -I
> (load "aima.lisp")
> (aima-load 'all)
; Several "continuable error" messages.
; Each time, type 'continue' without quotes.
> (aima-compile)
; Ditto.
> (test 'all) ; look at output to see how to run it.
> (saveinitmem "aima.mem") ; avoid this next time
> control-D ; exit
# next time
$ clisp -M aima.mem
> (run-environment (make-vacuum-world))
... and so on
The two top level vacuum world things are (run-environment ...) and (agent-trials ...).
The two sample agents are defined in agents/agents/vacuum.lisp.
Note that this file shows the glory and pain of lisp;
the (defstructure ...) format won't be found in any lisp manual,
because it's a macro defined by these particular authors,
based on common lisps (defstruct ...) object system, named
after C's structs.
A typical thing to do here is to write your own agent, following the pattern of theirs.
textbook
Terminology to understand from the textbook chap 2
- agent, agent function/program, architecture
- environment (or "task environment")
- percept, action
- performance measure
- PEAS : Performance, Environment, Actuators, Sensors
- (deterministic, stochastic), (continuous, discrete), (episodic, sequential)
- simple reflex, model-based reflex, goal-based, utility-based
Ideas from chap 3 : search
- breadth-first
- iterative deepening
- depth-first
- bidirectional
- heuristic
- 8-puzzle (Sterling Blake did his M'boro plan on learning in this sytem, years ago.)
Depending on how far we get ...
There are several pieces to these 1st few chapters: the AI concepts,
the coding mechanics (in whatever language), and the API/environment harness
to set up the AI concepts as described. The AIMA code is a start ... but
does take some time to get your teeth into.