Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet
Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet Kunstig Intelligens til Brætspillet Taiji - Danmarks Tekniske Universitet
92 Konklusion selv n˚a igennem et helt spil p˚a omkring et minut. Den samme opgave tager for Néstor Romeral Andrés’ kraftigste AI næsten 20 minutter. Men p˚a trods af at Néstor Romeral Andrés’ AI anvender godt 20 gange s˚a lang tid til sine beregninger som Growth, lykkedes det kun at vinde et ud 10 spil, og dette var ud fra de officielle regler, hvor et uafgjort resultat tæller som en sejr for sort. Growth vinder ni ud af ti gange, hvor den sidste en ud af ti endte uafgjort eller tabt afhængigt af reglerne. Og dette gjorde den p˚a kun ca. 5% af den tid Néstor Romeral Andrés’ AI anvendte. Desværre er resultatet ikke lige s˚a overbevisende mod en erfaren menneskelig spiller, hvor den vinder en tre-fire gange ud af ti spil, hvilket dog ogs˚a er et ganske glimmerende resultat sammenlignes med de andre AI’ers resultater. Min overordnede konklusion er derfor, at ved at benytte flere AI-teorier og kombinere disse p˚a gennemtænkt og gennemtestet m˚ade, kan man opn˚a væsentlige forbedringer vedr. afviklingshastighed uden at sætte ’intelligensen’ over styr. Dette er netop bevist med min AI. Derfor mener jeg ogs˚a det er rimeligt at konkludere at AI vil kunne anvendes med fordel i flere gennemanalyserede situationer. Disse situationer kan netop h˚andteres med AI uden at der behøves at anvendes overvældende computerkraft. Men ligesom det kan konkluderes at den kunstig intelligens kan bruges med fordel p˚a gennemanalyserede situationer, kan det tilsvarende konkluderes at: For situationer, hvor der ikke ligger en grundig analyse, der har afdækket alle udfaldsrum for en given situation, vil de typer AI som er anvendt i denne opgave ikke fungere. I situationer hvor ’spilbrættet’ ikke er kendt vil der være behov for andre metoder, der kan simulere en anden type intelligens, den type vi i daglig tale kalder intuition. 8.0.1 Fremtidige udviklingsmuligheder: I fremtidsperspektivet for AlphaBeta AI’en er der mulighed at lave yderligere forbedringer, disse kun komme p˚a flere fronter, men det bedste resultat ville formentligt komme af kombinationer mellem nye tiltag og gamle fungerende metoder. Et omr˚ade hvor der kan indføres nogle nye tiltag er heuristikken. Nye heuristikker kunne laves, som i stedet for blot at se p˚a scoren, kan g˚a ind og se p˚a udvidelsesmulighederne for de største figurer eller ser p˚a hvor store de tredje største figurer er. Det bedste resultat vil nok ikke komme ved at udskifte den nuværende heuristik med en ny, men netop ved at kombinere den nuværende heuristik med nye, og finde en passende vægtning mellem dem. Vægtningen kunne f.eks. tilpasses ved hjælp af mere avancerede metoder inden for AI, som simuleret nedkøling eller neurale netværk. Vægtningen vil med disse metoder kunne tilpasses ud fra erfaringer med at spille spillet, og hvordan disse
spil med forskellige vægtninger er endt. Ses der p˚a den lidt nærmere fremtid kunne AlphaBeta AI’en forbedres ved hjælp af metoden, der bestemmer hvilke træk der undersøges i Growth AI’en. Dette skulle ske ved at trækkene, som growth nøjes med at undersøge, skulle undersøges først i AlphaBeta AI’en, mens de resterende træk kommer i anden række. Det er nemlig ret sandsynligt, at de bedste træk befinder sig indenfor de træk growth undersøger. Jo hurtigere AlphaBeta AI’en finder et godt træk jo bedre fungerer alpha-beta pruning, da den derved kan stoppe en lang række undersøgelser p˚a et tidligere tidspunkt. I praksis vil denne forbedring kunne betyde, at AlphaBeta AI’en kommer til at kunne klare en dybere søgning ned i spiltræet. Skulle det hermed lykkedes AlphaBeta AI’en at n˚a den samme søgedybde, som Growth AI’en leverer, vil AlphaBeta AI’en sandsynligvis g˚a hen og blive et bedre valg, fordi Growth AI’ens begrænsede søgning i vise tilfælde skader kvaliteten af dens resultat. Forbedringer for Growth AI’en kunne best˚a i at lade dens træk g˚a ud fra de tre største figurer for hver farve i stedet for blot de to største, som det har været hidtil. En forbedring af justeringen af søgedybden kunne ogs˚a hjælpe, da nogle træk bliver beregnet s˚a hurtigt, at det formentligt ville være muligt at tage en generation mere med i beregningen i disse tilfælde. Dette vil dog kræve en grundigere analyse af brættilstanden, da det ikke umiddelbart er til at gennemskue, i hvilke tilfælde beregningerne er hurtigt overst˚aet og hvorn˚ar de ikke er. 93
- Page 52 and 53: 42 Minimax 4.3 Spilgraf for 3x3 Tai
- Page 54 and 55: 44 Minimax Herunder ses spilgrafen
- Page 56 and 57: 46 Minimax Herunder ses spilgrafen
- Page 58 and 59: 48 Minimax Som det kan ses ender sp
- Page 60 and 61: 50 Minimax Det kan ses at alle de e
- Page 62 and 63: 52 Optimering af Minimax Figur 5.1:
- Page 64 and 65: 54 Optimering af Minimax Figur 5.4:
- Page 66 and 67: 56 Optimering af Minimax som et uni
- Page 68 and 69: 58 Optimering af Minimax Det er der
- Page 70 and 71: 60 Optimering af Minimax klarer sig
- Page 72 and 73: 62 Optimering af Minimax IF v < m T
- Page 74 and 75: 64 Optimering af Minimax er tilfæl
- Page 76 and 77: 66 Optimering af Minimax Figur 5.9:
- Page 78 and 79: 68 Optimering af Minimax vigtigt at
- Page 80 and 81: 70 Optimering af Minimax
- Page 82 and 83: 72 Begrænsning af antallet af unde
- Page 84 and 85: 74 Begrænsning af antallet af unde
- Page 86 and 87: 76 Begrænsning af antallet af unde
- Page 88 and 89: 78 Test og sammenligning af de impl
- Page 90 and 91: 80 Test og sammenligning af de impl
- Page 92 and 93: 82 Test og sammenligning af de impl
- Page 94 and 95: 84 Test og sammenligning af de impl
- Page 96 and 97: 86 Test og sammenligning af de impl
- Page 98 and 99: 88 Test og sammenligning af de impl
- Page 100 and 101: 90 Test og sammenligning af de impl
- Page 104 and 105: 94 Konklusion
- Page 106 and 107: 96 Bilag A 19 20 // i n i t i a l i
- Page 108 and 109: 98 Bilag A 120 nodes [ p [ 0 ] ] [
- Page 110 and 111: 100 Bilag A 218 i f ( n . a > beta
- Page 112 and 113: 102 Bilag A 319 p [2]= nodes [ p [
- Page 114 and 115: 104 Bilag A 419 420 421 422 423 424
- Page 116 and 117: 106 Bilag A 517 n . wr = tModel . n
- Page 118 and 119: 108 Bilag A 61 } 62 } 63 64 // c h
- Page 120 and 121: 110 Bilag A 155 b [ c +1][ r −1]
- Page 122 and 123: 112 Bilag A 251 b [ c −1][ r −1
- Page 124 and 125: 114 Bilag A 347 r e = placePieceMax
- Page 126 and 127: 116 Bilag A 443 r e = placePieceMax
- Page 128 and 129: 118 Bilag A 537 b [ c +1][ r −1]
- Page 130 and 131: 120 Bilag A 633 b [ c −1][ r −1
- Page 132 and 133: 122 Bilag A 729 beta = r e [ 2 ] ;
- Page 134 and 135: 124 Bilag A 825 beta = r e [ 2 ] ;
- Page 136 and 137: 126 Bilag A 916 i f ( n . a > v ) 9
- Page 138 and 139: 128 Bilag A 997 Root . wc=0; // tMo
- Page 140 and 141: 130 Bilag A 1097 n . bc = tModel .
- Page 142 and 143: 132 Bilag A 93 i f ( rowEnd >= tMod
- Page 144 and 145: 134 Bilag A 192 alpha = n . a ; 193
- Page 146 and 147: 136 Bilag A 291 } 292 293 // Min−
- Page 148 and 149: 138 Bilag A 391 n . c h i l d r e n
- Page 150 and 151: 140 Bilag A 493 i f ( Root . c h i
92 Konklusion<br />
selv n˚a igennem et helt spil p˚a omkring et minut. Den samme opgave tager<br />
for Néstor Romeral Andrés’ kraftigste AI næsten 20 minutter. Men p˚a trods<br />
af at Néstor Romeral Andrés’ AI anvender godt 20 gange s˚a lang tid <strong>til</strong> sine<br />
beregninger som Growth, lykkedes det kun at vinde et ud 10 spil, og dette var<br />
ud fra de officielle regler, hvor et uafgjort resultat tæller som en sejr for sort.<br />
Growth vinder ni ud af ti gange, hvor den sidste en ud af ti endte uafgjort eller<br />
tabt afhængigt af reglerne. Og dette gjorde den p˚a kun ca. 5% af den tid Néstor<br />
Romeral Andrés’ AI anvendte.<br />
Desværre er resultatet ikke lige s˚a overbevisende mod en erfaren menneskelig<br />
spiller, hvor den vinder en tre-fire gange ud af ti spil, hvilket dog ogs˚a er et<br />
ganske glimmerende resultat sammenlignes med de andre AI’ers resultater.<br />
Min overordnede konklusion er derfor, at ved at benytte flere AI-teorier og<br />
kombinere disse p˚a gennemtænkt og gennemtestet m˚ade, kan man opn˚a væsentlige<br />
forbedringer vedr. afviklingshastighed uden at sætte ’intelligensen’ over<br />
styr. Dette er netop bevist med min AI. Derfor mener jeg ogs˚a det er rimeligt<br />
at konkludere at AI vil kunne anvendes med fordel i flere gennemanalyserede<br />
situationer. Disse situationer kan netop h˚andteres med AI uden at der behøves<br />
at anvendes overvældende computerkraft.<br />
Men ligesom det kan konkluderes at den kunstig intelligens kan bruges med fordel<br />
p˚a gennemanalyserede situationer, kan det <strong>til</strong>svarende konkluderes at: For<br />
situationer, hvor der ikke ligger en grundig analyse, der har afdækket alle udfaldsrum<br />
for en given situation, vil de typer AI som er anvendt i denne opgave<br />
ikke fungere. I situationer hvor ’spilbrættet’ ikke er kendt vil der være behov for<br />
andre metoder, der kan simulere en anden type intelligens, den type vi i daglig<br />
tale kalder intuition.<br />
8.0.1 Fremtidige udviklingsmuligheder:<br />
I fremtidsperspektivet for AlphaBeta AI’en er der mulighed at lave yderligere<br />
forbedringer, disse kun komme p˚a flere fronter, men det bedste resultat ville<br />
formentligt komme af kombinationer mellem nye <strong>til</strong>tag og gamle fungerende<br />
metoder.<br />
Et omr˚ade hvor der kan indføres nogle nye <strong>til</strong>tag er heuristikken. Nye heuristikker<br />
kunne laves, som i stedet for blot at se p˚a scoren, kan g˚a ind og se p˚a<br />
udvidelsesmulighederne for de største figurer eller ser p˚a hvor store de tredje<br />
største figurer er. Det bedste resultat vil nok ikke komme ved at udskifte den<br />
nuværende heuristik med en ny, men netop ved at kombinere den nuværende<br />
heuristik med nye, og finde en passende vægtning mellem dem.<br />
Vægtningen kunne f.eks. <strong>til</strong>passes ved hjælp af mere avancerede metoder inden<br />
for AI, som simuleret nedkøling eller neurale netværk. Vægtningen vil med disse<br />
metoder kunne <strong>til</strong>passes ud fra erfaringer med at spille spillet, og hvordan disse