jepsOMedlem sedan mars 2001423 inlägg
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.
LimeMedlem sedan sep. 2001837 inlägg
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.
jepsOMedlem sedan mars 2001423 inlägg
Fint, det var faktiskt precis så jag hade tänkt själv :). Ska lyda ditt råd och söka lite, tack!
Du har inget tips på var man hittar sådana teorier och ramverk? Kasta sig ut i Google, eller en bättre startplats?
etromicMedlem sedan juni 200420 inlägg
jepsOMedlem sedan mars 2001423 inlägg
Tack för hjälpen! Efter att ha sökt lite enligt era tips hittade jag en generell strategi: "MinMax" med "Alpha-Beta pruning". Ta en titt pa http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html för att se hur det funkar.