Transcript jan12

CS 4100 Artificial Intelligence
Prof. C. Hafner
Class Notes Jan 12, 2012
Types of Agents (cont.)
Reflex agent
• Behavior depends only on current input (no
history or model of the overall environment)
• Ex: Vacuum Agent
– Percepts: 2-tuple: A or B, Clean or Dirty
– Actions: Left, Right, Suck, NoOp
Vacuum agent’s behavior
• The vacuum agent might follow this simple
strategy:
– if current location is dirty, clean it (Suck)
– If current location is clean move to the other
location
Knowledge Representation: Two Approaches
• Procedural representation
– Program’s statements directly encode the
knowledge (for example, of the strategy to follow)
• Declarative representation
– A data structure encodes the knowledge and the
program’s statements act like an interpreter
Implementing the Vacuum Agent
Approach 1 (procedural)
if status = Dirty then return Suck
else if location = A then return Right
else if location = B then return Left
Implementing the Vacuum agent
Approach 2 (declarative):
state  perceive()
rule  rule-match(state, rule base)
action  RHS(rule)
return action
Rule Base
Per cept
Action
[A, Clean]
Right
[A, Dirty]
Suck
…
Simple reflex agents
Production Rule Systems
• Behavior is expressed as a set of production
rules (called “table-driven” by RN)
1.
Condition  Action
2.
Condition  Action
...
Condition called left-hand-side (LHS)
Action called right-hand-side (RHS)
In what sense is an agent that
uses declarative knowledge
more intelligent ??
Production rule systems
• Drawbacks:
– Huge RULE BASE (time consuming to build by
hand)
– What if more than one condition is satisfied?
– Inflexible (no adaptation or learning)
Analyzing Agent Performance
• Discussion of “rationality”
– Must define a performance measure
• How clean (but penalty for extra work?)
– Rationality maximizes expected value of the measure
– Depends on knowledge of the environment
• Can a clean square get dirty again? At what rate?
Knowledgeable agents
Q: What formal language(s) can we use to represent
•
•
•
•
Current facts about the state of the world
General facts about how the world behaves
General facts about the effects of actions that
the agent can perform
Condition  action rules that specify how the
agent is to behave
A: Formal logic
• Syntax and semantics well understood
• Computational tractability known for important
subsets (Horn clause logic)
Introduce Python
Assignment 1
http://relationalagents.com/demos/index.html
Relational Agent Systems
How are you feeling today ?