Jag pysslar med ett spel i en Java-kurs. Spelet är en förenklad version av Dam, som ni kanske känner till.
Lite om hur spelet är uppbyggt:
- Info om spelplanen lagras i en array squares som består av objekt av typen Square (innehåller spelare, pjästyp, position på spelplanen).
- Det finns två typer av pjäser: bönder och damer. Damer skapas då en bonde når andra sidan av brädet, som i schack.
- Man vinner genom att antingen eliminera eller blockera alla motståndarens pjäser.
Ett obligatoriskt moment är att man ska kunna spela mot datorn. Mitt problem ligger i hur jag ska utforma datorns strategier. Jag har ett par idéer om hur man skulle kunna göra, men förmodligen är jag inte den förste som ställts inför samma problem.
Har ni några tips på hur man på bästa sätt skapar en bra men enkel "AI"? Vi snackar alltså ingen ny Deep Blue, men heller inte någon löjligt enkel lösning.
Normalt när man pratar om ett "simpel-AI" som är hårt regelstyrd så brukar man använda sig av poäng.
Vad man gör är att man låter datorn göra alla möjliga drag och sedan väljer man det som ger mest poäng. Hur man räknar ut poängvärdet på ett drag får man bestämma själv och det kräver ofta ganska mycket tankearbete.
Ofta gör man så att man låter datorn göra ett drag, sedan simulera dina möjliga drag och så reagerar man på detta i ett antal steg och sedan tar man det som ger högst poäng på sikt.
Det gör dock att det är ganska lätt att finta datorn genom att göra något fullständigt puckat.
Om du söker på olika AI-teorier så finns det färdiga ramverk för detta.