dave mark intrinsic algorithm kevin dill lockheed martin
play

Dave Mark Intrinsic Algorithm Kevin Dill Lockheed Martin Mid to - PowerPoint PPT Presentation

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


  1. Dave Mark – Intrinsic Algorithm Kevin Dill – Lockheed Martin

  2. • 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

  3. • 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

  4. • “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

  5. • “Simple and succinct solutions to commonly occurring design problems” – Gamma et. al. http://www.renovation ‐ headquarters.com/walls ‐ partitions.htm

  6. • 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!!

  7. 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

  8. • 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

  9. • Shoot / No ‐ Shoot • Shoot Considerations: – Clear line of sight – Clear line of retreat http://www.imfdb.org/wiki/Bangkok_Dangerous

  10. 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

  11. • Engage Decision – He attacks me – He attempts to enter – Poor chat choice http://www.histquest.com/index.php?id=51

  12. 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

  13. 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

  14. • Options: – Guard – Engage – Ring the Alarm http://www.histquest.com/index.php?id=51

  15. 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

  16. 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

  17. • Shoot / No ‐ Shoot • Shoot Considerations: – Clear line of sight – Clear line of retreat – Delay between shots http://www.imfdb.org/wiki/Bangkok_Dangerous

  18. 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

  19. • Shoot/Wait/Flee • Shoot Considerations: – Clear line of sight – Clear line of retreat – Delay between shots – Number of shots fired

  20. 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

  21. 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

  22. 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