* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Advanced Graphics Computer Animation
Survey
Document related concepts
Transcript
Advanced Graphics Computer Animation Autonomous Agents Spring 2002 Professor Brogan Quick Reminder • Assignment 1 “take away message” – It’s hard to build intuitive interfaces • Adding knots to spline (beginning, middle, end) – Graphics makes it easy to add feedback that lets the user decide how to accomplish tasks • Highlight potential objects of an action before execution and change their graphical state once again when an action is initiated Autonomous Agents • Particles in simulation are dumb • Make them smart – Let them add forces • Virtual jet packs – Let them select destinations – Let them select neighbors • Give them artificial intelligence History of AI / Autonomous Agents – Cliff Note Version • 1950s – Newell, Simon, and McCarthy – General Problem Solver (GPS) • Use means-ends analysis • Subdivide problem • Use transformation functions (actions) to subdivide and solve subtasks – Useful for well-defined tasks • Theorem proving, word problems, chess • Iteration and exhaustive search used History of AI • 1960s – ELIZA, chess, natural language processing, neural networks (birth and death), numerical integration • 1970-80s – Expert systems, fuzzy logic, mobile robots, backpropagation networks – Use “massive” storage capabilities of computers to store thousands of “rules” – Continuous (not discrete) inputs – Multi-layer neural networks History of AI • 1990s - Major advances in all areas of AI – – – – – – – – – machine learning intelligent tutoring case-based reasoning multi-agent planning scheduling data mining natural language understanding and translation vision games So Many Choices • Important factors: f(state, actions)=state_new – # of inputs(state) and outputs(actions) • Previous states don’t matter (Markov) • Actions are orthogonal – – – – Continuous versus discrete variables Differentiability of f( ) Model of f( ) Costs of actions Example: Path Planning • • State Important factors: f(state, actions)=state_new – # of inputs(state) and outputs(actions) • Previous states don’t matter (Markov) • Actions are orthogonal – Continuous versus discrete variables – Differentiability of f( ) – Model of f( ) – Costs of actions – Position, velocity, obstacle positions, goal (hunger, mood, motivations), what you’ve tried • Actions – Movement (joint torques), get in car, eat, think, select new goal Path Planning • Do previous states matter? – Going in circles • Are actions orthogonal? – Satisfy multiple goals with one action • Continuous versus discrete? • Differentiability of f( ) – If f(state, action1) = state_new_1, does f(state, 1.1 * action1) = 1.1 * state_new_1? Path Planning • Model of f( ) – Do you know the result of f(s, a) before you execute it? – Compare path planning in a dark, unknown room to path planning in a room with a map • Costs of actions – If many actions take state -> new_state • How do you pick just one? Let’s Keep it Simple • Make particles that can intelligently navigate through a room with obstacles • Each particle has a jet pack – Jet pack can swivel (yaw torque) – Jet pack can propel forward (forward thrust) • Previous states don’t matter Particle Navigation • State = position, velocity, obstacle positions • Action = sequence of n torques and forces • Solve for action s.t. f(s, a) = goal position – Minimize sum of torques/forces (absolute value) – We have a model: f=ma – Previous states don’t matter • We don’t care how we got to where we are now • Tough problem – Lots of torques and forces to compute – Obstacle positions could move and force us to recompute Simplify Particle Navigation • State = position, velocity, obstacles • Action = torque, force • F (s, a) = new position, velocity – Find action s.t. position is closer to goal position • Smaller action space • Local search – could get caught in local min (box canyon) • Adapts to moving obstacles Multiple Particle Path Planning • Flocking behavior – Select an action for each particle in flock • Avoid collisions with each other • Avoid collisions with environment • Don’t stray from flock – Craig Reynolds: Flocks, Herds, and Schools: A Distributed Behavioral Model, SIGGRAPH ’87 Flocking • Action choices One Agent All Agents Slower but One Quick, but better Action suboptimal coordination Slower and Slowest but All replanning complete Actions required and optimal Models to the Rescue • Do you expect your neighbor to behave a certain way? – You have a model of its actions – You can act independently, yet coordinate The Three Rules of Flocking • Go the same speed as neighbors (velocity matching) – Minimizes chance of collision • Move away from neighbors that are too close • Move towards neighbors that are too far away Emergent Behaviors • Combination of three flocking rules results in emergence of fluid group movements • Emergent behavior – Behaviors that aren’t explicitly programmed into individual agent rules • Ants, bees, schooling fishes Local Perception • Success of flocking depends on local perception (usually considered a weakness) – Border conditions (like cloth) – Flock splitting Ethological Motivation • ethology: the scientific and objective study of animal behavior especially under natural conditions • Perception (find neighbors) and action • Fish data Combining three rules • Averaging desired actions of three rules can be bad – Turn left + Turn right = go straight… • Force is allocated to rules according to priority – First collision detection gets all it needs – Then velocity matching – Then flock centering • Starvation is possible Action Selection • Potential Fields – Collision Avoidance Scaling Particles to Other Systems • Silas T. Dog, Bruce Blumberg, MIT AI Lab • Many more behaviors and actions – Internal state – Multiple goals – Many ways to move Layering Control • Perceive world – Is there food here? • Strategize goal(s) – Get food • Compute a sequence of actions that will accomplish goal(s) – Must walk around obstacle • Convert each action into motor control – Run, gallop, trot around obstacle Multiple Goals • Must assign a priority to goals – Can’t eat and sleep at same time • Can’t dither back and forth between goals – Don’t start eating until finished sleeping • Don’t let goals wither on priority queue – Beware of starvation (literally) • Unrelated goals can be overlapped – Eating while resting is possible