Foundations of Artificial
Intelligence
Final Exam
|
|
|
Venue: SR 1 (S16) |
|
Date: Tuesday, 26 April 2004 |
|
Time: 1:00 – 3:00 pm |
Format
|
|
|
|
One A4 sized sheet allowed to
the test |
|
Eight questions, emphasizing
material covered after the midterm |
|
Yes, all material in the course
will be covered on the exam |
Outline
|
|
|
|
Agents |
|
Search |
|
Uninformed Search |
|
Informed Search |
|
Adversarial Search |
|
Constraint Satisfaction |
|
Knowledge-Based Agents |
|
Uncertainty and Learning |
Agent types
|
|
|
Four basic types in order of
increasing generality: |
|
Simple reflex agents |
|
Model-based reflex agents |
|
Goal-based agents |
|
Utility-based agents |
Simple reflex agents
Model-based reflex agents
Goal-based agents
Utility-based agents
Creating agents
|
|
|
|
Where does the intelligence
come from? |
|
Coded by the designers |
|
Knowledge representation –
predicate and first order logic |
|
Learned by the machine |
|
Machine learning – expose naïve
agent to examples to learn useful actions |
|
|
Learning agents
Searching for solutions
|
|
|
|
In most agent architectures,
deciding what action to take involves considering alternatives |
|
|
|
Searching is judged on
optimality, completeness and complexity |
|
|
|
Do I have a way of gauging how
close I am to a goal? |
|
No: |
|
Yes: |
Uninformed search
|
|
|
|
Formulate the problem, search
and then execute actions |
|
|
|
Apply Tree-Search |
|
|
|
For environments that are |
|
Deterministic |
|
Fully observable |
|
Static |
Tree search algorithm
|
|
|
|
Basic idea: |
|
offline, simulated exploration
of state space by generating successors of already-explored states |
Summary of algorithms
|
|
|
Breadth-First – FIFO order |
|
Uniform-Cost – in order of cost |
|
Depth-First – LIFO order |
|
Depth-Limited – DFS to a
maximum depth |
|
Iterative Deepening – Iterative
DLS. |
|
|
|
Bidirectional – also search
from goal towards origin |
Repeated states:
Graph-Search
Informed search
|
|
|
|
Heuristic function h(n) =
cost of the cheapest path from n to goal. |
|
|
|
Greedy Best First Search |
|
Minimizing estimated cost to
goal |
|
A* Search |
|
Minimizing total cost |
Properties of heuristic
functions
|
|
|
|
Admissible: never overestimates
cost |
|
Consistent: estimated cost from
node n+1 is than cost from node n +
step cost. |
|
|
|
A* using Tree-Search is optimal
if the heuristic used is |
|
Graph-Search needs an
consistent heuristic. Why? |
|
|
Local search
|
|
|
|
Good for solutions where the
path to the solution doesn’t matter |
|
Often work on |
|
Don’t search systematically |
|
Often require very little
memory |
|
|
|
|
|
Correlated to online search |
|
Have only access to the local
state |
Local search algorithms
|
|
|
Hill climbing search – choose
best successor |
|
Beam search – take the best k successor |
|
Simulated annealing – allow
backward moves during beginning steps |
|
Genetic algorithm – breed k successors
using crossover and mutation |
Searching in specialized
scenarios
|
|
|
|
Properties of the problem often
allow us to formulate |
|
Better heuristics |
|
Better search strategy and
pruning |
|
|
|
Adversarial search |
|
Working against an opponent |
|
Constraint satisfaction problem |
|
Assigning values to variables |
|
Path to solution doesn’t matter |
|
View this as an incremental
search |
Adversarial Search
|
|
|
|
Turn-taking, two-player,
zero-sum games |
|
Minimax algorithm: |
|
One ply: |
|
Max nodes: agent’s move,
maximize utility |
|
Min nodes: opponent’s move,
minimize utility |
|
Alpha-Beta pruning: rid
unnecessary computation. |
Constraint Satisfaction
|
|
|
|
Discrete or continuous
solutions |
|
Discretize and limit possible
values |
|
|
|
Modeled as a constraint graph |
|
|
|
As the path to the solution
doesn’t matter, local search can be very useful. |
Techniques in CSPs
|
|
|
|
|
|
|
Basic: backtracking search |
|
DFS for CSP |
|
A leaf node (at depth v) is a
solution |
|
|
|
Speed ups |
|
Choosing variables |
|
Minimum remaining values |
|
Most constrained variable /
degree |
|
Choosing values |
|
Least constraining value |
Pruning CSP search space
|
|
|
|
Before expanding node, can
prune the search space |
|
Forward checking |
|
Pruning values from remaining
variables |
|
Arc consistency |
|
Propagating stronger levels of
consistency |
|
E.g., AC-3 (applicable before
searching and
during search) |
|
|
|
Balancing arc consistency with
actual searching. |
Propositional and First
Order Logic
|
|
|
|
|
|
|
Propositional Logic |
|
Facts are true or false |
|
|
|
First Order Logic |
|
Relationships and properties of
objects |
|
More expressive and succinct |
|
Quantifiers, functions |
|
Equality operator |
|
Can convert back to prop logic
to do |
Inference in logic
|
|
|
|
|
|
Given a KB, what can be
inferred? |
|
Query- or goal-driven |
|
Backward chaining, model
checking (e.g. DPLL), resolution |
|
|
|
Deducing new facts |
|
Forward chaining |
|
Efficiency: track # of literals
of premise using a count or Rete networks |
Inference in logic
|
|
|
|
Chaining |
|
Requires |
|
Uses Modus Ponens for sound
reasoning |
|
Forward or Backward types |
|
|
|
Resolution |
|
Requires Conjunctive Normal
Form |
|
Uses Resolution for sound
reasoning |
|
Proof by Contradiction |
Inference in FOL
|
|
|
|
|
|
|
Don’t have to propositionalize |
|
Could lead to infinite
sentences functions |
|
|
|
Use unification instead |
|
Standardizing apart |
|
Dropping quantifiers |
|
Skolem constants and functions |
|
|
|
Inference is semidecidable |
|
Can say yes to entailed
sentences, but non-entailed sentences will never terminate |
Connection to
knowledge-based agents
|
|
|
CSP can be formulated as logic
problems and vice versa |
|
CSP search as model checking |
|
|
|
|
|
|
|
|
|
Local search: WalkSAT with
min-conflict heuristic |
Inference and CSPs
|
|
|
|
Solving a CSP via inference |
|
Handles special constraints
(e.g., AllDiff) |
|
Can learn new constraints not
expressed by KB designer |
|
Solving inference via CSP |
|
Whether a query is true under
all possible constraints (satisfiable) |
|
|
|
Melding the two: Constraint
Logic Programming (CLP) |
|
|
Uncertainty
|
|
|
|
|
|
|
Leads us to use probabilistic
agents |
|
Only one of many possible
methods! |
|
|
|
Modeled in terms of random
variables |
|
Again, we examined only the
discrete case |
|
|
|
Answer questions based on full
joint distribution |
|
|
Inference by enumeration
|
|
|
|
Interested in the posterior
joint distribution of query variables given specific values for evidence
variables |
|
Summing over hidden variables |
|
Cons: Exponential complexity |
|
|
|
Look for absolute and
conditional independence to reduce complexity |
Prolog
|
|
|
|
Engine for FOL |
|
|
|
Syntax |
|
Variables |
|
Relations |
|
Execution pattern in prolog |
|
Which clauses? |
|
Which goals? |
Natural Language
Processing
|
|
|
|
Processing vs. Generation |
|
Deals mostly with one sentence
at a time |
|
Main problem: ambiguity! (at
many levels) |
|
|
|
Parsing: assigning structure to
a sentence via re-write rules |
|
Lexicon: nonterminal to
terminal rules |
|
Grammar: nonterminals to
nonterminals |
|
|
|
Grammars can over/undergenerate |
|
|
Parsing
|
|
|
|
Bottom-up or top-down |
|
Which is more efficient for
what cases? |
|
|
|
Augmented Grammars |
|
FOL version of parsing –
parsing with parameters |
|
Use unification to get
agreement. |
Bayesian networks
|
|
|
|
One way to model dependencies |
|
Variable’s probability only
depends on its parents |
|
Use product rule and
conditional dependence to calculate joint probabilities |
|
Easiest to structure causally |
|
From root causes forward |
|
Leads to easier modeling and
lower complexity |
|
|
Learning
|
|
|
|
Inductive learning - based on
past examples |
|
Learn a function h() that
approximates real function f(x) on examples x |
|
|
|
Balance complexity of
hypothesis with fidelity to the examples |
|
Minimize α E(h,D) + (1-α) C(h) |
|
|
|
|
Learning Algorithms
|
|
|
|
Many out there but the basics
are: |
|
K nearest neighbors |
|
Instance-based |
|
Ignores global information |
|
Naïve Bayes |
|
Strong independence assumption |
|
Scales well due to assumptions |
|
Needs normalization when
dealing with unseen feature values |
|
Decision Trees |
|
Easy to understand its
hypothesis |
|
Decides feature based on
information gain |
Training and testing
|
|
|
|
Judge induced h()’s quality by
using a test set |
|
Training and test set must be
separate; otherwise peeking occurs |
|
Modeling noise or specifics of
the training data can lead to overfitting |
|
Use pruning to remove parts of
the hypothesis that aren’t justifiable |
Where to go
from here?
|
|
|
|
Just the tip of the iceberg |
|
|
|
Many advanced topics |
|
Introduced only a few |
|
Textbook can help in
exploration of AI |
That’s it
|
|
|
Thanks for your attention over
the semester |
|
See you at the exam! |
|
|