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

09.09.2013 Views

86 Test og sammenligning af de implementerede AI’er 7.3.1 Test af LocalArea AI p˚a en 4x4 plade: Denne test er i sig selv ikke s˚a interessant, da resultatet skulle være præcist det samme som for AlphaBeta AI’en, da disse fungere ens p˚a en fire gange fire plade. Det er dog vigtigt at konstatere at LocalArea AI’en fungere korrekt inden den slippes løs p˚a de større brætter, hvor det vil være svært at gennemskue forskellen mellem deciderede fejl og generelle problemer med netop den metode. Her gør rammerne det tydeligt hvorvidt AI’en fungere, da en lokal fuld dybde søgning p˚a fire gange fire anvendt p˚a et fire gange fire bræt, ikke m˚a kunne tabe. LocalArea (sort) mod AlphaBeta (hvid): 4x4 Hvid score Sort score stilling for LocalArea 6 6 Uafgjort 2 2 Uafgjort 6 6 Uafgjort 5 5 Uafgjort 6 6 Uafgjort 5 5 Uafgjort 6 6 Uafgjort 8 8 Uafgjort 4 4 Uafgjort 5 5 Uafgjort I alt 53 53 50% LocalArea (hvid) mod AlphaBeta (sort): 4x4 Hvid score Sort score stilling for LocalArea 4 4 Uafgjort 6 6 Uafgjort 5 5 Uafgjort 5 5 Uafgjort 2 2 Uafgjort 4 4 Uafgjort 5 5 Uafgjort 4 4 Uafgjort 4 4 Uafgjort 6 6 Uafgjort I alt 45 45 50% Alle spil endte i uafgjort mellem AlphaBeta og LocalArea, hvilket tyder p˚a at LocalArea udfører sin søgning p˚a sit fire gange fire areal korrekt.

7.4 Test af Growth AI (designet og udviklet af Morten Rask) 87 7.3.2 Test af LocalArea AI p˚a en 9x9 plade: P˚a en plade større end fire gange fire tildeler LocalArea trækmulighederne forkert værdier, i form af enten ∞ eller −∞ . De mulige træk placeres dog korrekt indenfor det p˚agældende fire gange fire omr˚ade. Det interessante ved fejlen for LocalArea AI’en er, udover at den virker fint for et 4x4 bræt, at der er b˚ade negative og positive ”uendelige”værdier, ofte vil der kun være et fortegn, hvis der f.eks. er blevet lavet en fortegnes fejl s˚a en værdi, der skulle være meget lille, er s˚a stor at den overtrumfer alt. Jeg er overbevidst om at forklaring skal findes i, at undersøgelsen af hvorvidt en brættilstand har n˚aet bunden eller ej ikke længere fungerer korrekt, da der stadig kan findes lovlige træk uden for arealet som LocalAera koncentrer sig om. Derfor ender alle værdier med at blive p˚a det minimum eller maksimum de fik tildelt fra start af. De endelige brættilstande bliver ikke vurderet til at være endelige brættilstande, men de f˚ar heller ikke nogle børn, da alle pladser inden for arealet er optaget. Grund til der b˚ade opst˚ar positive og negative værdi er fordi det vil være forskelligt om de endelige brættilstande er af lige eller ulige generation, derfor bliver nogle h˚andteret af Min-funktionen og f˚ar værdien ∞, mens andre af Max-funktionen og f˚ar −∞. En løsning ville være at lave en nye funktion til at vurdere, hvorvidt en brættilstand er endelige ud fra det lokal areal i stedet for hele brættet. 7.4 Test af Growth AI (designet og udviklet af Morten Rask) 7.4.1 Test af Growth AI’en p˚a en 4x4 plade: Det er interessant at se hvordan Growth klare sig mod AlphaBeta, da Growth netop ser bort fra træk der anses som uinteressante, mens AlphaBeta forsøger sig med alle træk. Denne test vil visse om de træk Growth ser bort fra virkeligt er uinteressante eller om det lykkedes AlphaBeta at vinde netop p˚a grund af disse træk. Growth (sort) mod AlphaBeta (hvid):

7.4 Test af Growth AI (designet og udviklet af Morten Rask) 87<br />

7.3.2 Test af LocalArea AI p˚a en 9x9 plade:<br />

P˚a en plade større end fire gange fire <strong>til</strong>deler LocalArea trækmulighederne forkert<br />

værdier, i form af enten ∞ eller −∞ . De mulige træk placeres dog korrekt<br />

indenfor det p˚agældende fire gange fire omr˚ade.<br />

Det interessante ved fejlen for LocalArea AI’en er, udover at den virker fint<br />

for et 4x4 bræt, at der er b˚ade negative og positive ”uendelige”værdier, ofte vil<br />

der kun være et fortegn, hvis der f.eks. er blevet lavet en fortegnes fejl s˚a en<br />

værdi, der skulle være meget lille, er s˚a stor at den overtrumfer alt.<br />

Jeg er overbevidst om at forklaring skal findes i, at undersøgelsen af hvorvidt<br />

en bræt<strong>til</strong>stand har n˚aet bunden eller ej ikke længere fungerer korrekt, da der<br />

stadig kan findes lovlige træk uden for arealet som LocalAera koncentrer sig<br />

om. Derfor ender alle værdier med at blive p˚a det minimum eller maksimum de<br />

fik <strong>til</strong>delt fra start af. De endelige bræt<strong>til</strong>stande bliver ikke vurderet <strong>til</strong> at være<br />

endelige bræt<strong>til</strong>stande, men de f˚ar heller ikke nogle børn, da alle pladser inden<br />

for arealet er optaget. Grund <strong>til</strong> der b˚ade opst˚ar positive og negative værdi er<br />

fordi det vil være forskelligt om de endelige bræt<strong>til</strong>stande er af lige eller ulige<br />

generation, derfor bliver nogle h˚andteret af Min-funktionen og f˚ar værdien ∞,<br />

mens andre af Max-funktionen og f˚ar −∞.<br />

En løsning ville være at lave en nye funktion <strong>til</strong> at vurdere, hvorvidt en bræt<strong>til</strong>stand<br />

er endelige ud fra det lokal areal i stedet for hele brættet.<br />

7.4 Test af Growth AI (designet og udviklet af<br />

Morten Rask)<br />

7.4.1 Test af Growth AI’en p˚a en 4x4 plade:<br />

Det er interessant at se hvordan Growth klare sig mod AlphaBeta, da Growth<br />

netop ser bort fra træk der anses som uinteressante, mens AlphaBeta forsøger<br />

sig med alle træk. Denne test vil visse om de træk Growth ser bort fra virkeligt<br />

er uinteressante eller om det lykkedes AlphaBeta at vinde netop p˚a grund af<br />

disse træk.<br />

Growth (sort) mod AlphaBeta (hvid):

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!