DSS: Decision Support Systems and AI: Artificial Intelligence In Business.
Transparent Decision-Making and AI Design
description
Transcript of Transparent Decision-Making and AI Design
![Page 1: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/1.jpg)
Transparent Decision-Making and
AI DesignDamian Isla
AI Lead, Bungie Studios
![Page 2: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/2.jpg)
Agenda
• Halo• Decision-making in Three Contexts– Behavior– Encounters– Dialogue
• Conclusions
![Page 3: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/3.jpg)
Halo
![Page 4: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/4.jpg)
![Page 5: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/5.jpg)
Complex Worlds
• Physics• Physics-based animation• Projectiles• Effects• Damage propogation• Destruction• AI
![Page 6: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/6.jpg)
Complex Worlds
Halo is …1.a simulation
2.a game
![Page 7: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/7.jpg)
Complex Worlds
What that actually means:• AI is full of rules to deal with
complexity• (Practically) all of those rules are
gameplay relevant• Therefore designers need access to
them
![Page 8: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/8.jpg)
AI Goals
Game AI must be:
• Coherent– for the player
• Transparent – for the player– for the designer
• Workable– for the engineer
![Page 9: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/9.jpg)
Player Transparency
• Player can explain AI behavior– “He dove out of the way because I threw the grenade.”
• Player can predict certain AI behavior– “If I throw the grenade, I bet the AI will dive out of the
way.”
• Player forms an ongoing narrative in his/her head– “I threw the grenade, so he dove out of the way, and
then cursed at me, and threw a grenade back, but I shot it in the air and hurt him, so he went nuts and charged me …”
• The AI needs to facilitate / encourage that narrative
![Page 10: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/10.jpg)
Designer Transparency• Designer can explain AI behavior
– “He dove out of the way because his danger_dive behavior is active.”
• Designer can predict certain AI behavior– “When I throw this grenade, there’s a 75% chance
he’ll dive out of the way”• Designer knows how to achieve different
behavior– “Hmm … he reacted to that grenade too quickly …
I think I’ll increase his projectile-acknowledgement delay from 0.5 to 0.7 seconds.”
• Design knows how to diagnose and fix MISbehavior– “WOAH … why the hell did he do THAT?!”
![Page 11: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/11.jpg)
AI and Complexity
• How do we go about making transparent AI?
• In this talk, I will present three different approaches to decision-making that occur in the Halo AI.
![Page 12: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/12.jpg)
Case 1: Behavior
![Page 13: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/13.jpg)
Hide?Panic?Get in that vehicle?Throw a grenade?Hold my ground?
![Page 14: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/14.jpg)
Behavior
A program that takes temporary control of an actor to achieve a specific goal.
• Fight• Hide• Enter vehicle• Throw grenade• etc.
How do I decide what to do when?
~120 of these in total
(i.e. ~ 7140 possible
transitions)
![Page 15: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/15.jpg)
Behavior FSM
![Page 16: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/16.jpg)
Behavior FSM
???
![Page 17: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/17.jpg)
Behavior Tree
melee
shoot
grenade
uncover
pursue
sleep
fight
search
hide
idle
root
cover
root
fight
shoot
![Page 18: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/18.jpg)
Behavior Tree
Three Simplifications:1.No sibling connections2.Binary activation functions3.Prioritized list decision-
making
Benefits:• No more n2 complexity• Scalability
![Page 19: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/19.jpg)
Behavior Tree: Designer Tools
1. Behavior Parameters
2. Styles3. Inhibition Groups– “Turn off all
grenades”– “Turn off all
vehicles”– “Turn off all
retreats”
bool hide_relevance() {
if (damage > MAX_DAMAGE) {
return true;}else {
return false;}
}
![Page 20: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/20.jpg)
![Page 21: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/21.jpg)
Behavior Trees
• Scalable, modular• Engineer still controls the structure• Figuring out why something
happened is easy• Figuring out why something didn’t
happen is still fiendishly hard
![Page 22: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/22.jpg)
Case 2: Encounters
![Page 23: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/23.jpg)
Player Approach
Generator 1 Generator 2
![Page 24: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/24.jpg)
“Task”
?!
![Page 25: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/25.jpg)
Objective Trees
search
[1] generator_1 (if g1)
[1] generator_2 (if g2)
Root
[2] retreat
priority
task namecondition
script
[1] front (if > 2)[2] back
[1] front (if > 2)[2] back
![Page 26: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/26.jpg)
Objective Trees
search
[1] generator_1 (if g1)
[1] generator_2 (if g2)
Root
[2] retreat
[1] front (if > 2)[2] back
[1] front (if > 2)[2] back6
3
3
3
3
![Page 27: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/27.jpg)
Objective Trees
search
[1] generator_1 (if g1)
[1] generator_2 (if g2)
Root
[2] retreat
[1] front (if > 2)[2] back
[1] front (if > 2)[2] back6
2
3
2
3
[1] front (if > 2)
2[1] generator_1 (if g1)
5
5
![Page 28: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/28.jpg)
is condition satisfied?
task namepriorit
yconditio
nother stuff
![Page 29: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/29.jpg)
![Page 30: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/30.jpg)
Objective Results
• Takes training• Great prototyping tool• Much cleaner implementation– no messy script– sharing encounters between designers
• Very extendable
![Page 31: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/31.jpg)
Case 3: Combat Dialogue
![Page 32: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/32.jpg)
Oh no, they killed
my friend!
Well done, friend!
Well done, Master Chief!
Ha! They killed
their own guy!
You idiot! You killed our own
guy!
Oh no, I killed my own guy!
I’m sorry!!!
Damn you,
Master Chief!
Aaargh!!!
![Page 33: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/33.jpg)
Combat Dialogue
<A> kills <B> “Event”“Oh no, they killed our friend!”
“Vocalization”
Match ~100 events ~320 vocalizations(and find a speaker)
![Page 34: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/34.jpg)
Combat Dialogue
Implementation: a rule-matching systemEvent: “Player kills a grunt”
killed(a,b)prs_plr_
killenemies(a, b),
player(a)friend(a)
event vocalization
relevance conditions
speaker condition
s
0.8
![Page 35: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/35.jpg)
Combat Dialogue
killed(a,b)prs_plr_
killenemies(a, b),
player(a)friend(a) 0.8
Probabilistically choose among top contenders
killed(a,b)prs_ally
_killenemies(a, b) friend(a) 0.5
killed(a,b)crs_plr_
killenemies(a, b),
player(a)enemy(a
)0.5
killed(a,b)crs_plr_
btryfriends(a, b),
player(a)friend(a) 0.0
Implementation: a rule-matching systemEvent: “Player kills a grunt”
![Page 36: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/36.jpg)
Combat Dialogue
killed(a,b)prs_plr_
killenemies(a, b),
player(a)friend(a) 0.8
Probabilistically choose among top contenders
killed(a,b)prs_ally
_killenemies(a, b) friend(a) 0.5
killed(a,b)crs_plr_
killenemies(a, b),
player(a)enemy(a
)0.5
killed(a,b)crs_plr_
btryfriends(a, b),
player(a)friend(a) 0.0
Implementation: a rule-matching systemEvent: “Player kills a grunt”
![Page 37: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/37.jpg)
![Page 38: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/38.jpg)
![Page 39: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/39.jpg)
![Page 40: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/40.jpg)
Combat Dialogue
• Use the appropriate tools– Excel has its place
• Expected results were extremely “soft”– target was an “experience”– target was negotiated between design
and audio
• Data-mining was absolutely critical
![Page 41: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/41.jpg)
Conclusions
![Page 42: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/42.jpg)
Technique Summary
• Behavior Tree• Objective Tree• Rule-system
Two parts to transparency:1.Transparent algorithm2.A tools infrastructure for editing and
debugging
![Page 43: Transparent Decision-Making and AI Design](https://reader034.fdocuments.us/reader034/viewer/2022051516/5681439c550346895db01a99/html5/thumbnails/43.jpg)
Conclusions
• Lots of decision-making going on in a typical AI
• Not looking for “smart” architecture, looking for “expressive” architecture
• Transparency is an essential component of expressivity
• Transarency almost always achieved through simplicity