CSCE 420 Lecture 24

From Notes
Jump to navigation Jump to search

« previous | Tuesday, April 16, 2013 | next »


Agent Architectures

Decision-making Implementation ()

  1. Sense
  2. Decide
  3. Act
  4. repeat...

Similar to other fields'

  1. Observe
  2. Orient
  3. Decide
  4. Act
  5. repeat...

Simple Reflex

  1. sensor input
  2. what does world look like now? → state
  3. what action should I do now? → action
  4. perform action
  • Table-lookup: determine actions in a table based on sensor inputs (doesn't scale well)
  • Rule-based Agent: Implement with set of "condition → action" rules (requires conjunctive antecedents)
    • Rules should be ordered by priority
    • Stop after first match
Figure 1. Ghengis Robot

Genghis Robot (Rob Brooks, MIT) has simple, reactive controllers for legs:

  1. push backward
  2. lift up
  3. move forward
  4. if stuck, retract and lift higher
  5. set down
  6. repeat...

Model-Based

Maintain an internal representation of the world state

  1. sensor input
  2. update internal state
  3. what does the world look like now? → state
  4. what action should I do now? → action
  5. perform actions

Goal-Based

Describe in KB what goals need to be accomplished

  • Try to infer for all
  • use Situation Calculus to encode preconditions and effects of actions in


OR use planners to derive sequence of actions (plan) by state-space search (e.g. A*)

In either case, output of actuators follows a plan

Utility-Based

  • Utility Function
  • Transition function
    • defines outcomes of actions
    • could be probablistic (distribution over successor states)
  • Reward/Cost function
    • payoff of action
  • Goal: maximize reward over time: , where is a geometric weighting scalar/constant that helps series to converge.
    • smaller would look for immediate payoff
    • larger would be longer term

Plans are encoded in policies (mapping states to actions)

Computing optimal policy that maximizes long-term discounted reward

  • evaluation via Bellman equations:
  • Value function gives utility of each state (which depends on its neigboring states)
  • Therefore values are all Coupled