2014-03-05 56 views
0

我正在學習一些AI概念並嘗試編寫一些代碼來測試我的知識。選擇下一座要排隊的遊戲 - AI遊戲編程

在最近的「獨立工程」我試圖開發一個AI來確定哪些建築物排隊尊重「艾規則」(一個簡單的建築板和規則最好的「路徑」末定義)

有人可以說,只需將HQ升級到最高等級,並且可以從其他建築物中減少50%的建造時間。但是如果我遵循這條路線,隊列需要等待很長時間纔能有足夠的資源用於下一個級別,因此不會考慮第一個AI規則。

然後挖網我找到了Minimax算法。我不覺得它能給我想要的東西,主要是因爲該算法表示它是針對2個玩家的已知場景。我沒有2號球員,這是對手的時間。此外,玩家可以獲得資源(如搶劫)的「提升」,然後無法使用,改變一切。

隨着Minimax記住,我已經把時間和資源(0..1)歸一化並且總結這些值,然後遵循具有最小值的路徑並且每次都進行這個評估它已經接近變空了。我知道,這樣做的結果並不是全球最佳的,但它將是「可行的」。

然而,即使有了這個「規範化的極小極小」,運行這個可能(當然也會)是一個苛刻的操作。有15座建築物達到30級,我甚至不想知道運行代碼的時間。而且,低深度=糟糕的決定和高深度=糟糕的表現。

最後,我被困住了。我不確定它是否會起作用。 有人有什麼建議嗎?還是更好的算法?


  • 人工智能規則:
    1. 隊列不應該是空的(或,至少,在minimium可能)
    2. 必須在時間儘可能少量完成。 (由完成我的意思是,擺在最高等級的一切)

  • 建築物規則:
    1. 時間/資源需要增加10%/水平。
    2. 所有建築物的最高等級爲10,最低等級爲1。

  • 的建築板材 Name - Time(sec) - Resource - Bonus HQ - 100 - 100 - Reduce all buildings time (5%/level) Resource - 150 - 80 - 2 resource/sec/level Military - 80 - 80 - none

回答

0

你可能會嘗試動態規劃,看到檢查例如here的東西,應該可以幫助您實現,解決它的算法。成本函數應該能夠直接來自您的建築物表單。

+0

我沒有時間去嘗試,但它真的看起來我需要什麼。給我一些時間,我會接受作爲答案。非常感謝你。 –