1. 程式人生 > >五子棋專案的實現(一)

五子棋專案的實現(一)

 

 

       在這個學期裡花了一個學期的時間零零散散寫了一個五子棋專案,專案的實現主要還是根據華南理工大學裡面劉瑞的一篇碩士論文《五子棋人工智慧演算法設計與實現》。其實我也不認識他,但是在知網找相關資料時,就發現這篇的引用率最高也是最通俗易懂的那個,其中也看了一本《資料結構,演算法設計》的書,這本書非常的無聊,認真看完了遞迴就看不下去了。後面都是當字典用,遇到要運用的點,再看這個展開。效果還不錯。在整個專案過程中,一開始人機對戰用到的是貪婪演算法,就是遍歷當前整個棋盤,專門寫一個評估函式,有多少棋子元在一起就評估多少分,最後根據分數來決定要下子的位置。這就是我們求當前局面最優值的思想,但是在實際的過程中,當我們實現這個演算法的時候,只要我們有意三三開局,電腦就會識別不出來,所以這種演算法的算力非常的有限。而我們採用博弈樹演算法,不但可以判斷當前局面的最優值,還可以預判在接下來的一段時間內的預測值,雖然本質還是求最優解的過程,但是感覺智慧程度已經大大提高。

       開始這個專案首先我們還是先需求分析把要實現的功能先列出來:

做完需求分析我們再是實機模組的設計。