09.09.2013 Views

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

SHOW MORE
SHOW LESS

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”.

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

Saved successfully!

Ooh no, something went wrong!