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 ?