SlideShare a Scribd company logo
1 of 19
Applying Fuzzy Control in
Fighting Game AI
Chun Yin Chu and Ruck Thawonmas
Intelligent Computer Entertainment Lab.
Graduate School of Information Science and Engineering
Ritsumeikan University
In short…
1: Kaito Yamamoto, Syunsuke Mizuno, Chun Yin Chu and Ruck Thawonmas, "Deduction of Fighting-Game
Countermeasures Using the k-Nearest Neighbor Algorithm and a Game Simulator," Proc. of 2014 IEEE
Conference on Computational Intelligence and Games (CIG 2014), Dortmund, Germany, pp. 437–441, Aug. 26-29,
2014.
• Applying fuzzy control in fighting game AI is able to
alleviate the “cold start” problem of k-nn prediction
technique1
• Fuzzy control is found to be more effective than crispy rules
What is Fighting Game?
Board Game
Turn-based, slow pace
Well researched
Fighting Game
Real time, fast pace
Emergent research field
FightingICE
• First fighting game AI platform for annual competitions
• Written in Java, suitable for AI development by small team
• 3 rounds in a game
• 60 frame/second
• Data delayed by 15 frames
• Imperfect information
• Previously 2 categories
• 1 Character
• 3 Characters
• Currently 1 character
http://www.ice.ci.ritsumei.ac.jp/~ftgaic/index.htm
Existing techniques:
k-nn Prediction & Simulation1
• AI is re-trained for each game
• Use a game simulator to predict
the current game state to counter
the delay in information
• Use k-nn for predicting the
opponent’s next attack action
(skills) among 31 possible
candidates
• Use another game simulator to
decide a counter-measure action
among a set of major actions
1: Kaito Yamamoto, Syunsuke Mizuno, Chun Yin Chu and Ruck Thawonmas, "Deduction of Fighting-Game
Countermeasures Using the k-Nearest Neighbor Algorithm and a Game Simulator," Proc. of 2014 IEEE Conference
on Computational Intelligence and Games (CIG 2014), Dortmund, Germany, pp. 437–441, Aug. 26-29, 2014.
Performance of
k-nn Prediction & Simulation AI
(MizunoAI)
• MizunoAI is able to defeat the champion of the 2013
competition
• Score > 500 is considered victory in a round
Score of MizunoAI vs T, the 2013 champion
Cold Start
• MizunoAI is re-trained for each game
• If there is not enough opponent action data (=at the beginning of the game)…
• No data to predict opponent’s action! The AI just keeps guarding!
• MizunoAI is thus weak during the early stage of the fight
=> cold start
Cannot predict
and simulate!
Applying Fuzzy Control
Is the number of opponent data sufficient?
sufficient
Use kNN
prediction and
simulation
kNN
prediction
simulation
……
Use rule-base.
Distance?
insufficient
close far
Use close-
range attack
Use long-range
attack
Fuzzy
Fuzzy
Fuzzy Control – Use k-nn prediction?
Singleton Defuzzification:
Probability(“use_MizunoAI”) = sufficient(oppData)
e.g. if oppData == 10, the probability of MizunoAI being used is 0.5
0
0.25
0.5
0.75
1
0 5 10 15 20
Membership
oppData (number of opponent data)
Membership function for "sufficient data" and
"insufficient data"
insufficient
sufficient
RULE 1 : IF oppData IS sufficient THEN decision IS use_knn;
RULE 2 : IF oppData IS insufficient THEN decision IS rule_base;
oppData is the number of opponent action record in the
corresponding dataset
Fuzzy Control – close or far?
Only the horizontal distance of the two characters is considered
Singleton Defuzzification:
Probability(“close-range-attack”) = close-range(distance);
e.g. if distance == 60, the probability of using close-range attack is 0.5
RULE 1 : IF distance IS close THEN decision IS close_range_attack;
RULE 2 : IF distance IS far THEN decision IS long_range_attack;
0
0.2
0.4
0.6
0.8
1
0 40 80 120 160 200 240 280 320 360
Membership
distance
Membership function for “close distance" and “far distance”
close-range long-range
Evaluation
• 200 3-round games (100 games played as P1 + 100 games as P2) against:
• MizunoAI: original k-nn prediction and simulation AI as proposed by
Yamamoto et al. (2014)
• ChuMizunoAI_crispy: AI proposed by this paper, but replaced fuzzy control
with crispy threshold
• All AIs used 3 as the k-value for the k-nn algorithm
• All AIs used the character KFM and fought on FightingICE v.1.02
Round 1 Round 2 Round 3
Average 542 502 514
SD 104 125 128
Results 129 wins
3 draws
68 loses
67 wins
70 draws
63 loses
83 wins
52 draws
65 loses
VS ChuMizunoAI_crispy
Threshold: oppData = 10, distance = 60
Round 1 Round 2 Round 3
Average 647 572 542
SD 129 166 146
Results 174 wins
26 loses
71 wins
110 draws
19 loses
56 wins
119 draws
25 loses
VS MizunoAI
• Better performance than the original MizunoAI
• Fuzzy control fared better than crispy rule
MizunoAI performed poorly due to cold start
Fuzzy rule-base outperforms
crispy rules
Video:
ChuMizunoAI vs MizunoAI
P1: ChuMizunoAI P2: MizunoAI
Fighting Game AI Competition 2015
Fighting Game AI Competition will be held at CIG 2015
Midterm Deadline: 7 June 2015
Final Deadline: 16 August 2015
Please refer to http://www.ice.ci.ritsumei.ac.jp/~ftgaic/
Questions are welcome
Thank you for your kind attention
Appendix 1 – Fuzzy Rule-Based Move Sets
STAND_B
STAND_D_DB_BA
THROW_A
close, to-ground
STAND_D_DF_FC/A
STAND_D_DB_BB
AIR_D_DB_BB
far, to-ground
STAND_F_D_DFA
CROUCH_FB
STAND_F_D_DFB
close, to-air
STAND_D_DF_FB
AIR_D_DF_FA
AIR_D_DB_BB
far, to-air
to-air
to-ground
close far
Appendix 2 – On Singleton Defuzzification
• All fuzzy controls use singleton defuzzication
• The membership values are directly used as probabilities,
which is then used to derive a single defuzzified output
0
0.25
0.5
0.75
1
0 5 10 15 20
Membership
oppData
Membership function for "sufficient data" and "insufficient
data"
insufficient
sufficient
oppData = 6
P(“use_mizunoAI”) : P(“rule_base”) = 1 : 9
oppData = 13
P(“use_mizunoAI”) : P(“rule_base”) = 8 : 2
Appendix 3 – Evaluation using
ChuMizunoAI_crispy with different parameters
Round 1 Round 2 Round 3
Average 518 517 510
SD 57 47 62
Results 12 wins
1 draw
7 loses
8 wins
7 draws
5 loses
7 wins
6 draws
7 loses
Threshold: oppData = 5, distance = 40
• 20 3-round games for each set of parameters (10 as P1, 10 as P2)
• All against ChuMizunoAI_crispy
• All figures are corrected to nearest integer
Round 1 Round 2 Round 3
Average 549 507 501
SD 90 78 97
Results 14 wins
1 draw
5 loses
8 wins
5 draws
7 loses
9 wins
5 draws
6 loses
Threshold: oppData = 5, distance = 60
Round 1 Round 2 Round 3
Average 542 523 544
SD 101 93 104
Results 14 wins
6 loses
8 wins
5 draws
7 loses
9 wins
6 draws
5 loses
Threshold: oppData = 5, distance = 80
Appendix 3 – Evaluation using
ChuMizunoAI_crispy with different parameters
Round 1 Round 2 Round 3
Average 540 517 518
SD 78 64 78
Results 14 wins
3 draws
3 loses
6 wins
10 draws
4 loses
8 wins
10 draws
2 loses
Threshold: oppData = 10, distance = 40
Round 1 Round 2 Round 3
Average 546 506 511
SD 97 60 85
Results 12 wins
8 loses
8 wins
7 draws
5 loses
8 wins
6 draws
6 loses
Threshold: oppData = 10, distance = 80
Appendix 3 – Evaluation using
ChuMizunoAI_crispy with different parameters
Round 1 Round 2 Round 3
Average 517 525 502
SD 84 39 90
Results 12 wins
1 draws
7 loses
8 wins
10 draws
2 loses
7 wins
8 draws
5 loses
Threshold: oppData = 15, distance = 40
Round 1 Round 2 Round 3
Average 501 507 504
SD 56 70 96
Results 11 wins
9 loses
7 wins
9 draws
4 loses
7 wins
9 draws
4 loses
Threshold: oppData = 15, distance = 60
Round 1 Round 2 Round 3
Average 517 516 528
SD 99 62 123
Results 13 wins
7 loses
11 wins
4 draws
5 loses
8 wins
6 draws
6 loses
Threshold: oppData = 15, distance = 80

More Related Content

More from ftgaic

2021 Fighting Game AI Competition
2021 Fighting Game AI Competition2021 Fighting Game AI Competition
2021 Fighting Game AI Competitionftgaic
 
2020 Fighting Game AI Competition
2020 Fighting Game AI Competition2020 Fighting Game AI Competition
2020 Fighting Game AI Competitionftgaic
 
2019 Fighting Game AI Competition
2019 Fighting Game AI Competition2019 Fighting Game AI Competition
2019 Fighting Game AI Competitionftgaic
 
2018 Fighting Game AI Competition
2018 Fighting Game AI Competition 2018 Fighting Game AI Competition
2018 Fighting Game AI Competition ftgaic
 
Introduction to the Replay File Analysis Tool
Introduction to the Replay File Analysis ToolIntroduction to the Replay File Analysis Tool
Introduction to the Replay File Analysis Toolftgaic
 
2017 Fighting Game AI Competition
2017 Fighting Game AI Competition2017 Fighting Game AI Competition
2017 Fighting Game AI Competitionftgaic
 

More from ftgaic (6)

2021 Fighting Game AI Competition
2021 Fighting Game AI Competition2021 Fighting Game AI Competition
2021 Fighting Game AI Competition
 
2020 Fighting Game AI Competition
2020 Fighting Game AI Competition2020 Fighting Game AI Competition
2020 Fighting Game AI Competition
 
2019 Fighting Game AI Competition
2019 Fighting Game AI Competition2019 Fighting Game AI Competition
2019 Fighting Game AI Competition
 
2018 Fighting Game AI Competition
2018 Fighting Game AI Competition 2018 Fighting Game AI Competition
2018 Fighting Game AI Competition
 
Introduction to the Replay File Analysis Tool
Introduction to the Replay File Analysis ToolIntroduction to the Replay File Analysis Tool
Introduction to the Replay File Analysis Tool
 
2017 Fighting Game AI Competition
2017 Fighting Game AI Competition2017 Fighting Game AI Competition
2017 Fighting Game AI Competition
 

Recently uploaded

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Recently uploaded (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

Applying fuzzy control in fighting game ai

  • 1. Applying Fuzzy Control in Fighting Game AI Chun Yin Chu and Ruck Thawonmas Intelligent Computer Entertainment Lab. Graduate School of Information Science and Engineering Ritsumeikan University
  • 2. In short… 1: Kaito Yamamoto, Syunsuke Mizuno, Chun Yin Chu and Ruck Thawonmas, "Deduction of Fighting-Game Countermeasures Using the k-Nearest Neighbor Algorithm and a Game Simulator," Proc. of 2014 IEEE Conference on Computational Intelligence and Games (CIG 2014), Dortmund, Germany, pp. 437–441, Aug. 26-29, 2014. • Applying fuzzy control in fighting game AI is able to alleviate the “cold start” problem of k-nn prediction technique1 • Fuzzy control is found to be more effective than crispy rules
  • 3. What is Fighting Game? Board Game Turn-based, slow pace Well researched Fighting Game Real time, fast pace Emergent research field
  • 4. FightingICE • First fighting game AI platform for annual competitions • Written in Java, suitable for AI development by small team • 3 rounds in a game • 60 frame/second • Data delayed by 15 frames • Imperfect information • Previously 2 categories • 1 Character • 3 Characters • Currently 1 character http://www.ice.ci.ritsumei.ac.jp/~ftgaic/index.htm
  • 5. Existing techniques: k-nn Prediction & Simulation1 • AI is re-trained for each game • Use a game simulator to predict the current game state to counter the delay in information • Use k-nn for predicting the opponent’s next attack action (skills) among 31 possible candidates • Use another game simulator to decide a counter-measure action among a set of major actions 1: Kaito Yamamoto, Syunsuke Mizuno, Chun Yin Chu and Ruck Thawonmas, "Deduction of Fighting-Game Countermeasures Using the k-Nearest Neighbor Algorithm and a Game Simulator," Proc. of 2014 IEEE Conference on Computational Intelligence and Games (CIG 2014), Dortmund, Germany, pp. 437–441, Aug. 26-29, 2014.
  • 6. Performance of k-nn Prediction & Simulation AI (MizunoAI) • MizunoAI is able to defeat the champion of the 2013 competition • Score > 500 is considered victory in a round Score of MizunoAI vs T, the 2013 champion
  • 7. Cold Start • MizunoAI is re-trained for each game • If there is not enough opponent action data (=at the beginning of the game)… • No data to predict opponent’s action! The AI just keeps guarding! • MizunoAI is thus weak during the early stage of the fight => cold start Cannot predict and simulate!
  • 8. Applying Fuzzy Control Is the number of opponent data sufficient? sufficient Use kNN prediction and simulation kNN prediction simulation …… Use rule-base. Distance? insufficient close far Use close- range attack Use long-range attack Fuzzy Fuzzy
  • 9. Fuzzy Control – Use k-nn prediction? Singleton Defuzzification: Probability(“use_MizunoAI”) = sufficient(oppData) e.g. if oppData == 10, the probability of MizunoAI being used is 0.5 0 0.25 0.5 0.75 1 0 5 10 15 20 Membership oppData (number of opponent data) Membership function for "sufficient data" and "insufficient data" insufficient sufficient RULE 1 : IF oppData IS sufficient THEN decision IS use_knn; RULE 2 : IF oppData IS insufficient THEN decision IS rule_base; oppData is the number of opponent action record in the corresponding dataset
  • 10. Fuzzy Control – close or far? Only the horizontal distance of the two characters is considered Singleton Defuzzification: Probability(“close-range-attack”) = close-range(distance); e.g. if distance == 60, the probability of using close-range attack is 0.5 RULE 1 : IF distance IS close THEN decision IS close_range_attack; RULE 2 : IF distance IS far THEN decision IS long_range_attack; 0 0.2 0.4 0.6 0.8 1 0 40 80 120 160 200 240 280 320 360 Membership distance Membership function for “close distance" and “far distance” close-range long-range
  • 11. Evaluation • 200 3-round games (100 games played as P1 + 100 games as P2) against: • MizunoAI: original k-nn prediction and simulation AI as proposed by Yamamoto et al. (2014) • ChuMizunoAI_crispy: AI proposed by this paper, but replaced fuzzy control with crispy threshold • All AIs used 3 as the k-value for the k-nn algorithm • All AIs used the character KFM and fought on FightingICE v.1.02 Round 1 Round 2 Round 3 Average 542 502 514 SD 104 125 128 Results 129 wins 3 draws 68 loses 67 wins 70 draws 63 loses 83 wins 52 draws 65 loses VS ChuMizunoAI_crispy Threshold: oppData = 10, distance = 60 Round 1 Round 2 Round 3 Average 647 572 542 SD 129 166 146 Results 174 wins 26 loses 71 wins 110 draws 19 loses 56 wins 119 draws 25 loses VS MizunoAI • Better performance than the original MizunoAI • Fuzzy control fared better than crispy rule MizunoAI performed poorly due to cold start Fuzzy rule-base outperforms crispy rules
  • 12. Video: ChuMizunoAI vs MizunoAI P1: ChuMizunoAI P2: MizunoAI
  • 13. Fighting Game AI Competition 2015 Fighting Game AI Competition will be held at CIG 2015 Midterm Deadline: 7 June 2015 Final Deadline: 16 August 2015 Please refer to http://www.ice.ci.ritsumei.ac.jp/~ftgaic/
  • 14. Questions are welcome Thank you for your kind attention
  • 15. Appendix 1 – Fuzzy Rule-Based Move Sets STAND_B STAND_D_DB_BA THROW_A close, to-ground STAND_D_DF_FC/A STAND_D_DB_BB AIR_D_DB_BB far, to-ground STAND_F_D_DFA CROUCH_FB STAND_F_D_DFB close, to-air STAND_D_DF_FB AIR_D_DF_FA AIR_D_DB_BB far, to-air to-air to-ground close far
  • 16. Appendix 2 – On Singleton Defuzzification • All fuzzy controls use singleton defuzzication • The membership values are directly used as probabilities, which is then used to derive a single defuzzified output 0 0.25 0.5 0.75 1 0 5 10 15 20 Membership oppData Membership function for "sufficient data" and "insufficient data" insufficient sufficient oppData = 6 P(“use_mizunoAI”) : P(“rule_base”) = 1 : 9 oppData = 13 P(“use_mizunoAI”) : P(“rule_base”) = 8 : 2
  • 17. Appendix 3 – Evaluation using ChuMizunoAI_crispy with different parameters Round 1 Round 2 Round 3 Average 518 517 510 SD 57 47 62 Results 12 wins 1 draw 7 loses 8 wins 7 draws 5 loses 7 wins 6 draws 7 loses Threshold: oppData = 5, distance = 40 • 20 3-round games for each set of parameters (10 as P1, 10 as P2) • All against ChuMizunoAI_crispy • All figures are corrected to nearest integer Round 1 Round 2 Round 3 Average 549 507 501 SD 90 78 97 Results 14 wins 1 draw 5 loses 8 wins 5 draws 7 loses 9 wins 5 draws 6 loses Threshold: oppData = 5, distance = 60 Round 1 Round 2 Round 3 Average 542 523 544 SD 101 93 104 Results 14 wins 6 loses 8 wins 5 draws 7 loses 9 wins 6 draws 5 loses Threshold: oppData = 5, distance = 80
  • 18. Appendix 3 – Evaluation using ChuMizunoAI_crispy with different parameters Round 1 Round 2 Round 3 Average 540 517 518 SD 78 64 78 Results 14 wins 3 draws 3 loses 6 wins 10 draws 4 loses 8 wins 10 draws 2 loses Threshold: oppData = 10, distance = 40 Round 1 Round 2 Round 3 Average 546 506 511 SD 97 60 85 Results 12 wins 8 loses 8 wins 7 draws 5 loses 8 wins 6 draws 6 loses Threshold: oppData = 10, distance = 80
  • 19. Appendix 3 – Evaluation using ChuMizunoAI_crispy with different parameters Round 1 Round 2 Round 3 Average 517 525 502 SD 84 39 90 Results 12 wins 1 draws 7 loses 8 wins 10 draws 2 loses 7 wins 8 draws 5 loses Threshold: oppData = 15, distance = 40 Round 1 Round 2 Round 3 Average 501 507 504 SD 56 70 96 Results 11 wins 9 loses 7 wins 9 draws 4 loses 7 wins 9 draws 4 loses Threshold: oppData = 15, distance = 60 Round 1 Round 2 Round 3 Average 517 516 528 SD 99 62 123 Results 13 wins 7 loses 11 wins 4 draws 5 loses 8 wins 6 draws 6 loses Threshold: oppData = 15, distance = 80

Editor's Notes

  1. k in the title is made italic
  2. AI -> MizunoAI
  3. k in the title is made italic Java code was removed