簡體   English   中英

確定最佳動作(人工智能-游戲)

[英]define the best possible move (AI - game)

我也看不出如何設置此設置:我必須為2個玩家的不對稱棋盤游戲編寫一個小的IA。 每個回合中,每個玩家都有許多動作要點,可用於在棋盤上移動棋子(10x10)。 現在,我知道如何根據給定動作點的數量為每個棋子生成可能動作的列表,但是我繼續下一步,選擇最佳動作。 我該如何編碼這樣一個事實,例如5個動作點,最好是將一個棋子移動3個單元格,再將2個棋子移動一個典當5個單元格。 我必須使用特定算法還是應用編程概念...? 好吧,我迷路了。

希望你能幫我 :)

您的問題有點含糊。 假設您僅在水平和垂直方向上移動,則可以使用DFS(深度優先搜索)或BFS(寬度優先搜索)兩種簡單的算法。也可以在此處查看https://www.ics.uci.edu/~eppstein /161/960215.html

您需要根據游戲規則為每個動作分配得分(評估)。 選擇適當的計分方法后,您可以評估5種可能的措施中哪一種是最好的。

舉個例子,我們假設一個簡單的游戲,在該游戲中,您必須將所有對手的棋子放在其對手的棋子之上(使用簡化/寬松規則的棋子)。 當您將棋子移動到下一個自由單元格而沒有將棋子暴露於危險中時,您可以分配分數+1,而對手的棋子則為+3。 如果對手采取你的棋子,那么你減去-3。 您可以定義其他計分規則。 當對所有可能的動作應用得分時,您可以使用2個玩家游戲的MinMax算法或一些貪婪的搜索算法來選擇最佳動作,該算法只是最大化分數選擇動作,從而在不預測對手動作的情況下在下一步產生最高分數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM