官术网_书友最值得收藏!

1.11 隱藏在自動弈棋機中的秘密

棋盤上棋子之間不同組合的數目幾乎無以數計,但即便如此,歷史上也曾出現過自動弈棋機。聽到這個你一定感到非常驚訝,過去的人是如何做出這樣一種能自動下棋的機器的?

過去,人們相信一定會有這樣一種機器,能真正自動地下棋。在這種情況下,自動弈棋機應運而生。有一架自動弈棋機非常有名,甚至連拿破侖都忍不住要跟它一決高下。它的發明者匈牙利機械師沃里弗蘭克·馮·坎別林曾經帶它四處展覽,足跡到達過維也納、莫斯科、巴黎、倫敦等地方。不幸的是,19世紀中期,這臺久負盛名的自動弈棋機在美國費城的一場大火中被燒毀。

其實那時根本沒有什么自動弈棋機,大家以為能自動進行運算的弈棋機都是騙人的。但人們始終對自動進行有效運算的機器的發明抱有十足的信心。而且在以后的歲月里,這種信心絲毫不減。下面我們就以沃里弗蘭克·馮·坎別林所發明的弈棋機為例,談一談當時的自動弈棋機的構造問題。

這臺自動弈棋機其實是一個裝滿了復雜機械裝置的大箱子。棋局開始之前,為了讓觀眾相信里面除了機器零件之外別無他物,自動弈棋機一般會被打開,人們會看到里面全套的棋盤、棋子以及那些復雜的機械裝置。看到箱子內部的陳列之后,人們就開始期待精彩的表演了。但是誰也沒有想到,箱子里其實藏著一個棋手。展示箱子的時候,他悄悄移動,躲在那些用來掩飾棋手的機械裝置的后面,所以很難被發現。著名的棋手約翰·阿爾蓋勒和威廉·劉易斯都曾藏在箱子里面跟人下過棋。

可能出現的棋局太多太多了,能夠自動進行運算的弈棋機并不真正存在,它們只是一些機械師想出的騙人的把戲罷了。所以,我們完全不用擔心自己的棋藝會受到這種機器的威脅。面對我們復雜多樣的走法,能夠自動應對,并做出完美選擇的機器只存在于人們的幻想之中。

不過,隨著科技的迅速發展,近年來很多人的棋藝確實開始受到機器的威脅。現在確實有了自動弈棋機。這種會“下棋”的機器其實就是我們前面所提到的運算能力非常強的計算機。

計算機只會根據事先編好的程序,按照一定的步驟進行數據的運算,別的什么都不會做。所以要想讓計算機“下棋”,首先必須根據下棋的戰術寫出程序。下棋的戰術可以理解為下棋過程中走棋的規則。這套規則必須能夠為每個棋子的每個位置選擇出最好的走棋路線。這一部分一般由數學家完成。

下面就是一個給每個棋子規定了特定分值的戰術:


國王………………+200分

皇后………………+9分

車…………………+5分

象…………………+3分

馬…………………+3分

卒…………………+1分

落后卒……………-0.5分

被困卒……………-0.5分

并卒………………-0.5分


除了給棋子規定分值之外,諸如棋子是否位于中心位置,棋子的靈活性,等等,也可以用來判斷棋子所在位置的優劣。不過,位置的優勢占不到一分。用白子的總分減去黑子的總分,所得的差值如果是正的,那么就代表持白子的一方暫時占有優勢,如果是負的,則代表持黑子的一方暫時占有優勢。從這種差值就能看出雙方在陣容上的優劣。

由于計算機的運算速度非常快,所以它走一步棋所用的時間很短,在下棋過程中,我們不必擔心會出現“時間不足”的現象。計算機在下棋的過程中,會通過計算來判斷在三步之內怎樣使這種差值的改變最大。然后從這三步可能的走法中選擇一個最佳方案,在專門的卡片上將它打印出來。這樣,“一步棋”這只是下棋過程中所運用的諸多戰術中的一種。除此之外,還有許多其他的戰術,比如,有時在下棋過程中,棋手更關注的是對手諸如吃子、將軍、進攻、防守等“關鍵”步的走法,而不是過多地去考慮對手回棋的可能走法。遇到比較強勁的對手時,棋手也不只會算出三步的最佳方案。另外,棋子的分值也不只有這一種表示形式,隨著戰術的變化,計算機的“下棋風格”也不斷發生著變化。就算走完了。

提前想出三步棋走法的機器只能算是一個初級的玩家。但是我們也不要灰心,因為計算機的“棋藝”勢必會隨著計算機技術的發展而發展,所以,可能用不了多久,這個初級的玩家就會發展成高水平的“棋手”一個高水平的棋手,通常會提前計算出10步或者10步以上的最佳走法。了。

因為下棋時可能出現的棋局非常多,所以關于“下棋”的編程問題非常復雜。為了讓大家更好地了解計算機“下棋”的秘密,在下一章里我們會向大家介紹一些比較簡單的計算機程序。

主站蜘蛛池模板: 佛坪县| 大悟县| 射洪县| 象山县| 隆子县| 灵川县| 阜新| 信阳市| 商南县| 彩票| 潼南县| 棋牌| 张家口市| 襄城县| 西乡县| 罗定市| 长武县| 和硕县| 尚义县| 乌拉特前旗| 基隆市| 盐津县| 准格尔旗| 菏泽市| 木兰县| 准格尔旗| 屏边| 乃东县| 锦州市| 武功县| 许昌县| 兖州市| 德庆县| 南华县| 新化县| 乌拉特中旗| 黄大仙区| 连平县| 伊春市| 北流市| 黄冈市|