Dave Mark – Intrinsic Algorithm Kevin Dill – Lockheed Martin
• Mid ‐ to ‐ Advanced Level Lecture • References: – 2010 AI Summit Talk: Improving AI Decision Modeling Through Utility Theory – I/ITSEC 2011: A Game AI Approach to Autonomous Control of Virtual Characters • Best Paper: paper presentation – SISO SIW 2012: Introducing GAIA: A Reusable, Extensible Architecture for AI Behavior • Not published yet (end of March) – search for 12S ‐ SIW ‐ 046 – Behavioral Mathematics for Game AI
• Calculate relative goodness of each option – Shades of gray – Finer granularity – Subtle nuance of the situation – Guns and Grenades http://musicarmichael.com/category/music/ – Reasonable Variation => Believability
• “Like a giant bucket of floats…” • Utility is complex to the novice • So is C++!! • Software Engineering => tools • We need Utility Engineering http://www.enasco.com/product/TB15671T
• “Simple and succinct solutions to commonly occurring design problems” – Gamma et. al. http://www.renovation ‐ headquarters.com/walls ‐ partitions.htm
• Absolute Utility (“ Rank ”) Divide Into – Always pick an option with higher Categories rank over one with lower rank • Relative Utility (“ Weight ”) Calculate – Every option could be picked, but one “Appropriateness” with higher utility is more likely – “ Weighted Random ” • You Can Use Both!!
Completely 1. Eliminate weight <= 0 Inappropriate 2. Screen on rank Something more important is going on 3. Eliminate very small weight Avoid 4. Weighted Random Artificial Stupidity!! Random but Reasonable
• Modular decision making – Each consideration examines a single aspect of the situation • Each consideration can: n R Max ( R ) O i 1 i – Set a minimum rank n n W B M – Apply a bonus to the weight O i i i 1 i 1 – Apply a multiplier to the weight
• Shoot / No ‐ Shoot • Shoot Considerations: – Clear line of sight – Clear line of retreat http://www.imfdb.org/wiki/Bangkok_Dangerous
1) Weight <= 0 • Consideration: “ Do not do this!!” 2) Screen rank • Simply set M = 0 3) Very small weight 4) Weighted Random n R Max ( R ) O i 1 i n n W B M O i i i 1 i 1
• Engage Decision – He attacks me – He attempts to enter – Poor chat choice http://www.histquest.com/index.php?id=51
1) Weight <= 0 • Consideration: “ Do this!!” 2) Screen rank • Stand guard – “ Default Option ” 3) Very small weight 4) Weighted Random – Fixed values: Rank 0, Weight 1 n R Max ( R ) • Engage O i 1 i n n – Default R = ‐ 1 W B M O i i – Each consideration can set R = 10 i 1 i 1
1) Weight <= 0 • While executing, retain some rank 2) Screen rank 3) Very small weight • Engage 4) Weighted Random – Default R = ‐ 1 n R Max ( R ) – Each consideration can set R = 10 O i 1 i n n – Execution History consideration W B M O i i • Set R = 7 while executing i 1 i 1
• Options: – Guard – Engage – Ring the Alarm http://www.histquest.com/index.php?id=51
1) Weight <= 0 • Like inertia, but increase rank 2) Screen rank 3) Very small weight • Engage / Ring the Alarm 4) Weighted Random – Default R = ‐ 1 n R Max ( R ) – Each consideration can set R = 10 O i 1 i n n – Execution History consideration W B M O i i • Set R = 11 while executing i 1 i 1
1) Weight <= 0 • “ I’m done executing – 2) Screen rank do something else now ” 3) Very small weight 4) Weighted Random • Is Done consideration: n R Max ( R ) – Am I currently selected? O i 1 i – Have I finished execution? n n W B M O i i – If so, M = 0 i 1 i 1
• Shoot / No ‐ Shoot • Shoot Considerations: – Clear line of sight – Clear line of retreat – Delay between shots http://www.imfdb.org/wiki/Bangkok_Dangerous
1) Weight <= 0 • Don’t do the same thing twice in a row 2) Screen rank • Evaluate time since last selection 3) Very small weight – Fixed delay (M = 0 for 15 sec) 4) Weighted Random – Variable delay (M = 0 for 10 ‐ 20 sec) n R Max ( R ) O i 1 – Tiered delay i n n • M = 0 for 8 ‐ 12 sec W B M O i i • M = 0.5 for 18 ‐ 22 sec i 1 i 1
• Shoot/Wait/Flee • Shoot Considerations: – Clear line of sight – Clear line of retreat – Delay between shots – Number of shots fired
1) Weight <= 0 • Fire Option Repeat Penalty 2) Screen rank – R = 10 ‐ (2 * shots_fired) 3) Very small weight • Flee Option 4) Weighted Random – R depends on situation n R Max ( R ) O i 1 i • Shooting at me? • Surrounding me? n n W B M • Looking at me? • Running away? O i i i 1 i 1
1) Weight <= 0 • Sniper Target Selection: 2) Screen rank US Military: M = 10 – Side 3) Very small weight Civilian: M = 0.1 4) Weighted Random Officer: M = 16 – Rank NCO: M = 4 n R Max ( R ) O i 1 i Enlisted: M = 1 n n 50 ‐ 300 meters: 0.5 ≤ M ≤ 2 W B M – Distance O i i Otherwise: M = 0 i 1 i 1 – Visibility M = LOS_hits / LOS_attempts
Dave Mark Dave Mark Kevin Dill Kevin Dill Intrinsic Algorithm LLC Intrinsic Algorithm LLC Lockheed Martin Lockheed Martin Dave@IntrinsicAlgorithm.com KDill4@gmail.com www.IntrinsicAlgorithm.com
Recommend
More recommend