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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

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

Saved successfully!

Ooh no, something went wrong!