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.
68 Optimering af Minimax<br />
vigtigt at være opmærksom p˚a præcis hvilken information der er gemt i værdien<br />
for bræt<strong>til</strong>standen. Uanset hvilke kriterier undersøgelsen af bræt<strong>til</strong>standen tidligere<br />
er blevet foretaget med, vil værdien være et minimum for hvor godt enten<br />
Min eller Max vil klare sig for denne bræt<strong>til</strong>stand. Om det er Min eller Max<br />
afhænger af bræt<strong>til</strong>standens generation. Er generationen over bræt<strong>til</strong>standen en<br />
Min-generation er bræt<strong>til</strong>standen selv af en Max-generation og omvendt.<br />
Værdien gemt i bræt<strong>til</strong>standen kommer alts˚a ikke <strong>til</strong> at blive bedre end den allerede<br />
er set fra Max eller Min’s syn generationen over bræt<strong>til</strong>standen. S˚a hvis Min<br />
generationen over arbejder med en beta-værdi, der er lige s˚a stor eller større end<br />
den gemte værdi, behøver den ikke lave en nye undersøgelse af bræt<strong>til</strong>standen,<br />
da der allerede findes en lige s˚a god eller bedre løsning. Er det ikke <strong>til</strong>fældet,<br />
bliver den nødt <strong>til</strong> at starte en ny undersøgelse af bræt<strong>til</strong>standen med de nye<br />
alpha og beta værdier, da det ikke kan garanteres at værdien for bræt<strong>til</strong>standen<br />
ikke reelt er højere end hvad den forrige undersøgelse var kommet frem <strong>til</strong>, da<br />
den blev afsluttet.<br />
Er det Max, der er i gang generationen før bræt<strong>til</strong>standen, skal der i stedet<br />
checkes om alpha-værdien er mindre end eller lige s˚a stor som den gemte værdi.<br />
Er den mindre end eller lige s˚a stor er der ingen grund <strong>til</strong> at undersøge bræt<strong>til</strong>standen<br />
igen.<br />
Normalt checker Min- eller Max-funktionen om et træk resultere i en bræt<strong>til</strong>stand<br />
der allerede eksisterer, hvis den gør det <strong>til</strong>føjer den bræt<strong>til</strong>stand som et<br />
barn og <strong>til</strong>føjer sig selv som forældre p˚a bræt<strong>til</strong>standen, og s˚a gøres der ellers<br />
ikke mere ved den. Men med alpha beta-pruning inde i billedet, stopper den<br />
ikke længere. Ligesom hvis den ikke havde konstateret at der allerede fandtes<br />
en s˚adan bræt<strong>til</strong>stand, kører den enten Max eller Min p˚a <strong>til</strong>standen, dog med<br />
den lille forskel, at udover at sende alpha og beta værdierne med, sender den en<br />
værdi der indikere om bræt<strong>til</strong>stand fandtes i forvejen eller ej.<br />
Det første Min eller Max gør, i <strong>til</strong>fælde af at bræt<strong>til</strong>standen allerede eksisterede,<br />
er at sammenligne henholdsvis alpha og beta med bræt<strong>til</strong>standens gemte værdi.<br />
Er værdien for Min’s vedkommende mindre end eller lig med alpha eller for<br />
Max’s vedkommende større end lig med beta, stoppes processen der og værdien<br />
gemt i bræt<strong>til</strong>standen returneres. Er det ikke <strong>til</strong>fældet fortsætter Min og Max<br />
p˚a sædvanligvis.<br />
5.4.4 Fordele og ulemper:<br />
Sammenlignet med en almindelige Minimax algoritme har Alpha-Beta versionen<br />
ingen ulemper, da den altid vil kom frem <strong>til</strong> samme løsning, bare hurtigere. Den<br />
eneste forskel der kan komme <strong>til</strong> syne er, at der kan være mindre variation i<br />
Alpha-Beta versionens træk. Dette skyldes at den kunstige intelligens er sat