spelet
Tic-tac-toe är ett mycket populärt spel för två spelare, X och O, som turas om att markera utrymmen i en 3×3 rutnät. Spelaren som lyckas placera tre av sina märken i en vertikal, horisontell eller diagonal rad vinner spelet.,
matematiska egenskaper
ur matematisk synvinkel har spelet två mycket viktiga egenskaper:
egendom 1:
spelet medger spelaren som använder denna optimala strategi kommer att vinna eller rita men det kommer inte att förlora.
egenskap 2:
antalet möjliga olika matcher är relativt litet.
i början kan den första spelaren markera något av de 9 utrymmena. I följande tur den andra spelaren kan markera en av de återstående 8 utrymmen och så vidare., Spelet fortsätter tills alla utrymmen är markerade eller en av spelarna vinner.
det är då lätt att förstå att det totala antalet olika matcher är lägre än:
987….1 = 9! = 362880
det är ett någorlunda litet nummer för en dator.
algoritmen
Från egenskaper 1 och 2 följer att en praktisk och allmän algoritm för att vinna / rita spelet är att använda Alfa Beta-sökningen.,
vid varje tur utvärderar algoritmen alla möjliga konsekvenser av varje drag (möjligt på grund av egendom 2) och väljer den som kommer att säkerställa en seger eller oavgjort (möjligt på grund av egendom 1).
en AI-spelare som väljer varje drag med alpha beta-sökalgoritmen kommer aldrig att förlora. För att göra spelet mer realistiskt är det trevligt att införa en stokastisk faktor så att varje gång med en fördefinierad Sannolikhet AI-spelaren rör sig slumpmässigt snarare än att följa alfa beta-algoritmen., Detta kommer att göra spelet mer realistiskt eftersom det kommer att göra AI-spelaren mer mänsklig och ibland kommer det att förlora.