1 UM Stratego Collin Schepers Daan Veltman Enno Ruijters Leon Gerritsen Niek den Teuling Yannick Thimister.

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
1 UM Stratego Colin Schepers Daan Veltman Enno Ruijters Leon Gerritsen Niek den Teuling Yannick Thimister.
© Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems Introduction.
Advanced Piloting Cruise Plot.
& dding ubtracting ractions.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
UNITED NATIONS Shipment Details Report – January 2006.
and 6.855J Spanning Tree Algorithms. 2 The Greedy Algorithm in Action
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Summary of Convergence Tests for Series and Solved Problems
Human Performance Improvement Process
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt ShapesPatterns Counting Number.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Year 6 mental test 5 second questions
Year 6 mental test 10 second questions
Solve Multi-step Equations
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Lectures 6&7: Variance Reduction Techniques
Table 12.1: Cash Flows to a Cash and Carry Trading Strategy.
Randomized Algorithms Randomized Algorithms CS648 1.
Data Structures ADT List
Data Structures Using C++
ABC Technology Project
Hash Tables.
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
Green Eggs and Ham.
VOORBLAD.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
Identifying Our Own Style Extended DISC ® Personal Analysis.
BIOLOGY AUGUST 2013 OPENING ASSIGNMENTS. AUGUST 7, 2013  Question goes here!
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Artificial Intelligence
Chapter 5 Test Review Sections 5-1 through 5-4.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
Subtraction: Adding UP
U1A L1 Examples FACTORING REVIEW EXAMPLES.
H to shape fully developed personality to shape fully developed personality for successful application in life for successful.
Januar MDMDFSSMDMDFSSS
Week 1.
Analyzing Genes and Genomes
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
PSSA Preparation.
& dding ubtracting ractions.
CpSc 3220 Designing a Database
ChooseMove=16  19 V =30 points. LegalMoves= 16  19, or SimulateMove = 11  15, or …. 16  19,
Presentation transcript:

1 UM Stratego Collin Schepers Daan Veltman Enno Ruijters Leon Gerritsen Niek den Teuling Yannick Thimister

2 Introduction (Yannick) Starting positions (Daan) Evaluation Function (Leon) Monte Carlo (Collin) Genetic Algorithm (Enno) Opponent modelling and strategy (Niek) Results (Yannick) Conclusion (Yannick)

3 Starting Positions Distance to Freedom Being bombed in Partial obstruction Adjacency Flag defence Startup Pieces

4 Starting Positions Distance to Freedom

5 Starting Positions Flag defence

6 Starting Positions Startup Pieces

7 Starting Positions Flag:10 for DTF < when bombed in Spy: 1 for pieces > captain, adjacent with higher DTF 2 when bombed in 1 when DTF > 5 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF Scout: 2 for >2 in flag defence 2 when bombed in 1 when DTF > 5 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF 1 for > 5 in DTF < 2 Miner: 1 for >1 in flag defence 2 when bombed in 1 when DTF > 5 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF 1 when on front row 1 for each > 1 in DTF < 2 Sergeant: 1 for >1 in flag defence 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF 2 for > 3 in DTF < 2 Lieutenant: 1 for >1 in flag defence 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF 2 for > 3 in DTF < 2 Captain: 2 when bombed in 1 when DTF > 5 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF 2 for > 3 in DTF < 2 1 when spy adjacent 1 for each > 2 in DTF < 2 Major: 2 when bombed in 1 when DTF > when on flag side 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF 2 for > 2 in DTF < 2 Colonel: 2 when bombed in 1 when DTF > when on flag side 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF 1 for > 1 in DTF < 2 General: 2 when bombed in 1 when DTF > when on flag side and Marshal not on flag side 1 when DTF > 1, adjacent piece -1 or -2 = piece, adjacent piece higher DTF Marshal: 2 when bombed in 1 when DTF > when on flag side Bombs: 2 when bombed in 1 when DTF > when sergeant adjacent + 2 when lieutenant adjacent 1 when scout adjacent

8 Sub-functions of the evaluation function: Material value Information value Near enemy piece value Near flag value Progressive bonus value Evaluation Function

9 How it works: All the sub-functions return a value These values are then weighted and added to each other The higher the total added value, the better that move is for the player

10 Evaluation Function Material Value: Used for comparing the two players' board strengths Each piece type has a value Total value of the opponent's board is subtracted from the player's board value Positive value means strong player board Negative value means weak player board

11 Evaluation Function Information value: Stimulates the collection of opponent information and the keeping of personal piece information Each piece type has a certain information value All the values from each side are summed up and then substracted from each other A marshall being discovered is worse than a scout being discovered

12 Evaluation Function Near enemy piece value Checks if a moveable piece can or cannot defeat a piece next to it If piece can be defeated, return positive score If not, return a negative one If piece unknown, return 0

13 Evaluation Function Near flag value Stimulates the defence of own flag and the attacking of enemy's flag Constructs array with possible enemy flag locations If enemy near own flag, return negative number If own piece near possible enemy flag, return positive number

14 Evaluation Function Progressive bonus value Stimulates the advancement of pieces towards enemy lines Returns a positive value if piece moves forward Negative if backward

15 Monte Carlo A subset of all possible moves is played No strategy or weights used Evaluation value received after every move At the end a comparison of evaluation values determines the best move A depth limit is used so the tree doesn't grow to big and the algorithm will end at some point

16 Monte Carlo Tree representation

17 Monte Carlo Advantages: Simple implementation Can be changed quickly Easy observation of behavior Good documentation Good for partial information situations

18 Monte Carlo Disadvantages: Generally not smart Dependents on the evaluation function Computationally slow Tree grows very fast A lot of memory required

19 Genetic Algorithm Evolve weights of the terms in the evaluation functions AI uses standard expectiminimax search tree Evolution strategies (evolution paremeters are themselves evolved)

20 Genetic Algorithm Genome: Mutation:

21 Genetic Algorithm Crossover: σ and α of parents average weights: Averaged if difference < α Else randomly chosen from parents

22 Genetic Algorithm Fitness function: Win bonus Number of own pieces left Number of turns spent

23 Genetic Algorithm Reference AI: Monte Carlo AI Self-selecting reference genome Select average genome from each generation Pick winner between this genome and previous reference

24 Opponent modeling Observing moves Ruling out pieces Stronger pieces are moved towards you Weaker pieces are moved away

25 Opponent modeling Initial probability distribution Updating the probabilities Update the probability of the moving piece Update probabilities of free pieces nearby Bluffing Bluffing probability

26 Strategy Split the game up into phases Exploration phase Elimination phase End-game phase Alter the evaluation function

27 Results First generation GA against MC First generation GA wins 80,0% of the games Algorithmnr. of winsAverage nr. of turns Standard deviation First GA87990,684,5 MC163184,789,6 None (draw)60

28 Results Newest generation (66th) GA against MC GA won 81,3 % of the games Algorithmnr. of winsAverage nr. of turns Standard deviation Newest GA42685,078,2 MC73181,490,8 None (draw)25

29 Results First generation GA against newest generation of GA First GA wins 40,9 % of the games Newest generation GA wins only 25% Algorithmnr. of winsAverage nr. of turns Standard deviation First GA391080,665,4 Newest GA ,066,7 None (draw)3266

30 Conclusion Monte Carlo is (still) weaker than GA Limited by begin piece setup Manual weight tweaking required GA gets weaker after training Non transitivity of references Should let it play against other AI's