關燈 巨大 直達底部
親,雙擊螢幕即可自動滾動
第817章 電腦和人腦的對決

第七百九十一章電腦和人腦的對決

深藍是美國IBM公司生產的一臺超級國際象棋電腦,重1270公斤,有32個大腦(微處理器),每秒鐘可以計算2億步。“深藍”輸入了一百多年來優秀棋手的對局兩百多萬局。

深藍是平行計算的電腦系統,建基於RS/6000SP,另加上480顆特別製造的VLSI象棋晶片。下棋程式以C語言寫成,執行AIX 作業系統。1997年版本的深藍運算速度為每秒2億步棋,是其1996年版本的2倍。1997年 6月,深藍在世界超級電腦中排名第259位,計算能力為每秒113.8億次浮點運算。

1997年的深藍可搜尋及估計隨後的12步棋,而一名人類象棋好手大約可估計隨後的10步棋。每增加1步棋的搜尋能力約等於增加下棋強度約80 ELO分。

人與計算機的首次對抗是在 1963 年。國際象棋大師兼教練大衛·布龍斯坦懷疑計算機的創造效能力,同意用自己的智慧與計算機較量。下棋的時候他有一個非常不利的條件:讓一個後。但當對局進行到一半時,計算機就把布龍斯坦的一半兵力都吃掉了。這時,布龍斯坦要求再下一局,但這次卻不再讓子了!

1996年2月10日,超級電腦深藍首次挑戰西洋棋世界冠軍卡斯帕羅夫,但以2-4落敗。比賽在2月17日結束。其後研究小組把深藍加以改良

1997 年 5 月 11 日,在人與計算機之間挑戰賽的歷史上可以說是歷史性的一天。計算機在正常時限的比賽中首次擊敗了等級分排名世界第一的棋手。加里·卡斯帕羅夫以 2.5:3.5 (1勝2負3平)輸給 IBM 的計算機程式“深藍”。機器的勝利標誌著國際象棋歷史的新時代。

我們可以看到國際象棋的博弈樹複雜度有10的123次方這麼多,根據深藍每秒運算2億步棋來算的話,對於博弈樹的遍歷需要10的107次方這麼多年。雖然說隨著遊戲的進行博弈樹複雜度快速下降,但是想要用計算機找到必勝策略,在可預見的未來還是不行的。要知道可見的宇宙範圍內才10的80次方這麼多原子,就算把它們都做成計算機來並行運算,可能都滿足不了需求。樓上說各種棋類都會研發出不敗的計算機軟體的同學大可放心。

但是我們想要打贏別人並不需要找到那個飄渺的必勝策略,只需要比對方運算得多就行了:深藍可搜尋到隨後的12步棋,而一名人類象棋好手能估計10步棋左右。這就體現出來差距了,多算一步,勝率就多了許多。

更關鍵的是演算法,演算法對於計算機運算能力的提升要遠高於硬體更新換代的提升。稍微有點智商的對弈軟體都不可能採取暴力運算的演算法,至少也會用α—β剪枝演算法。深藍的獲勝主要是軟體的勝利,在未來的的人機對弈中,軟體也都是獲勝的絕對決定因素,硬體速度的重要性很低。就像其他答案裡描述的,這個軟體針對特定人的棋風進行了最佳化。在此之外,也肯定針對國際象棋的特點設計了特殊的演算法。對於所有棋類遊戲而言,想要設計出一個高手水平的對弈軟體其實都是能做到的,即使是圍棋,如果真的有需求的話也可以想辦法設計,關鍵在於要讓高手把自己的對弈思路「說清楚」。只要是人能夠「說清楚」的事情,計算機實際上都能做。

1947年,阿蘭.圖靈設計了第一個下國際象棋的程式。

1948年,UNIAC計算機被宣稱是世界上功能最強大的計算機。它不僅可以下國際象棋,而且它玩RUMMY(一種用兩副牌玩的紙牌遊戲)所向無敵,無人能戰勝它。

1949年,克勞得.夏農對如何編寫用於下棋的計算機程式進行了描述。當年,Ferranti計算機被用於解二步殺的棋題。

1956年,在美國城市洛斯阿拉莫斯(Los Alamos),人們在計算機MANIAC I上(每秒執行11,000次)執行了用6*6棋盤下棋的程式。這也是第一個有文獻記載的國際象棋程式。

1957年,波恩斯坦為IBM704機編寫了一個國際象棋程式。這是世界上第一個成熟的國際象棋程式。

世界上第一個參加比賽的國際象棋程式是由麻省理工學院的格林.布萊特(Greenblatt)為PDP-6機所寫的程式,名為MacHackVI。

1966年一個來自蘇聯的國際象棋程式擊敗了斯坦福IBM7090機的程式。

1967年,在麻省國際象棋