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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
60 Optimering af Minimax<br />
klarer sig hele ti gange bedre end hashFunction. Der er unægtelig forskel p˚a om<br />
den menneskelige spiller skal vente fire sekunder p˚a at modstanderen foretager<br />
sit ryk eller om det tager næsten et helt minut.<br />
LocalArea og Growth vil der blive set nærmere p˚a senere, men generelt er resultatet<br />
det samme for disse to.<br />
5.3.2 Konklusion p˚a hashfunktioner:<br />
Testen viser som forventet at hashFunction2 giver en betydeligt hurtigere beregning<br />
end ved brug af den oprindelige hashFunction, n˚ar det kommer <strong>til</strong> den<br />
almindelige minimax algoritme med aplha beta pruning p˚a en stor plade, hvor<br />
det ikke er muligt at søg ret langt ned i spiltræet. Testen viser ogs˚a at selvom<br />
den kombinere hashfunktion hashFunction3 ikke altid er hurtigst, kommer den<br />
altid nær den bedste tid, da den kombinere de to tidligere versioners styrker. Det<br />
kan ogs˚a ses at denne kombination ikke har de store tidsomkostninger, selvom<br />
den laver b˚ade beregningen fra hashFunction og fra hashFunction2.<br />
Dette peger ogs˚a imod at selve beregningerne for hash-værdier ikke er den tunge<br />
del af svartiden. F.eks. er der en meget lille forskel i beregningstiden mellem<br />
hashFunction og hashFunction3 for AlphaBeta AI’en p˚a en fire gange fire plade,<br />
hvor hashFunction2 klare sig mindre godt og derfor ikke burde spille ind p˚a hashFunction3s<br />
resultat i forhold <strong>til</strong> hashFunction. Men der opst˚ar alts˚a ikke den<br />
stor forskel mellem hashFunction og hashFunction3, selvom hashFunction3 laver<br />
to beregninger, hvor hashFunction laver en. Den lille forskel i beregningstiden<br />
mellem hashFunction og hashFunction3, kan dog ogs˚a skyldes at hashværdien<br />
for hashFunction3 er det bedre og derfor giver hurtigere søgetider, og at dette<br />
derfor opvejer den ekstra regnetid per hashværdi.<br />
Alt i alt vil hashFunction3 være det bedste generelle valg. Den klare sig altid<br />
bedst eller næstbedst i testene, og i de <strong>til</strong>fælde hvor den kun er næstbedst ligger<br />
den meget tæt op ad den bedste. Det at den tager egenskaberne fra begge de<br />
forrige funktioner betyder at den aldrig vil klare sig specielt meget d˚arligere end<br />
den bedste af disse to i et hvilket som helst <strong>til</strong>fælde.<br />
5.4 Alpha-beta pruning<br />
Alpha-beta pruning 2 er en teknik, der kan anvendes <strong>til</strong> at se bort fra store dele<br />
af et spiltræ.<br />
2 Alpha-beta pruning er beskrevet i kapitel 6, afsnit 3 i ”Articial Intelligence - A Modern<br />
Approach”.