近來隨著計(jì)算機(jī)的快速發(fā)展,各種棋類游戲被紛紛請(qǐng)進(jìn)了電腦,使得那些喜愛下棋,又常常苦于沒有對(duì)手的棋迷們能隨時(shí)過足棋癮。而且這類軟件個(gè)個(gè)水平頗高,大有與人腦分庭抗禮之勢(shì)。其中戰(zhàn)勝過國際象棋世界冠軍-卡斯帕羅夫的“深藍(lán)”便是最具說服力的代表;其它像圍棋的“手淡”、象棋的“將族”等也以其優(yōu)秀的人工智能深受棋迷喜愛;而我們今天將向大家介紹的是五子棋的算法。
當(dāng)我們與電腦對(duì)戰(zhàn)時(shí),您知道這些軟件是怎樣象人腦一樣進(jìn)行思考的嗎?前不久我曾編寫過一個(gè)五子棋的游戲,在這里就以此為例和大家一起探討探討。
總的來說(我們假定您熟悉五子棋的基本規(guī)則),要讓電腦知道該在哪一點(diǎn)下子,就要根據(jù)盤面的形勢(shì),為每一可能落子的點(diǎn)計(jì)算其重要程度,也就是當(dāng)這子落下后會(huì)形成什么棋型(如:“沖四”、“活三”等),然后通覽全盤選出最重要的一點(diǎn),這便是最基本的算法。當(dāng)然,僅靠當(dāng)前盤面進(jìn)行判斷是遠(yuǎn)遠(yuǎn)不夠的,這樣下棋很容易掉進(jìn)玩家設(shè)下的陷阱,因?yàn)樗鼪]有考慮以后的變化。所以在此基礎(chǔ)上我們加入遞歸調(diào)用,即:在電腦中預(yù)測出今后幾步的各種走法,以便作出最佳選擇,這也是我們下棋時(shí)常說的“想了幾步”。如此一來您的程序便具有一定的水平了。什么?不信!過來試試吧!
標(biāo)簽:
計(jì)算機(jī)
發(fā)展
上傳時(shí)間:
2015-08-30
上傳用戶:zsjinju