C463 / B551 Artificial Intelligence

Intelligent Agents

Intelligent Agent

Agent Function

Rational Agent

Rationality

Agent Autonomy

Environment

Environment

More Definitions of Agents

Agent vs. Program

Simple Agents

; Table driven, Lisp version
(defun table_agent (percept)
  (let ((action t))
    (push percept percepts)
    (setq action 
          (lookup percepts table))
    action))

(defun reflex_agent (percept)
  (let ((rule t) (state t) (action t))
    (setq state (interpret percept))
    (setq rule (match state))
    (setq action (decision rule))
    action))

# Table drives, Python version
percepts = []
table = {}
def table_agent (percept):
    action = True
    percepts.append(percept)
    action = lookup(percepts, table)
    return action

def reflex_agent (percept):
    state = interpret(percept)
    rule = match(state)
    action = decision(rule)
    return action

Model-Based Reflex Agents

; Reflex agents, Lisp version
(setq state t) ; the world model
(setq action nil) ; latest action
(defun model_reflex_agent (percept)
  (let ((rule t))
    (setq state 
      (update_state 
            state action percept))
    (setq rule (match state))
    (setq action (decision rule))
    action))

# Reflex agents, Python version
state = True   # the world model
action = False # latest action

def model_reflex_agent (percept)
    state = update_state(state,
                         action, 
                         percept)
    rule = match(state)
    action = decision(rule)
    return action

Goal-Driven Agents

Learning Agents

Other Types of Agents

Classification of agents

Agent Example