- 相關(guān)推薦
電腦是如何下棋的
圍棋起源于中國,是最古老的棋類(lèi)運動(dòng)之一,我們常說(shuō)的“琴棋書(shū)畫(huà)”中的“棋”就是指圍棋。喜歡下棋嗎?有沒(méi)有和計算機下過(guò)?現在,弈棋計算機的棋藝日益高強。讓我們通過(guò)分析以圍棋和國際象棋為代表的弈棋計算機,對人工智能的研究有一個(gè)更為深入的理解。

弈棋計算機
弈棋自古被視為一種關(guān)乎智力的高級挑戰。和其他智力測試相比,弈棋具有直接對抗的特點(diǎn),沒(méi)有什么比在緊張的對局中看到對手一手精妙兇狠的棋招更 能讓人感覺(jué)到一種智力上的刺激和挑戰了。弈棋相比于其他牌類(lèi)游戲而言,隨機和不可控因素更小,因此對局雙方的決策能夠更直接地控制整個(gè)局面的走勢,這進(jìn)一步增強了智力的對抗性。
毫不意外,在國際象棋更加流行的西方國家,人工智能領(lǐng)域自創(chuàng )建之初就在考慮如何制造一個(gè)會(huì )下國際象棋的機器。幾乎所有人工智能先驅?zhuān)ㄐ畔⒄?創(chuàng )始人香農、“人工智能”之父約翰·麥卡錫(John McCarthy)、計算機科學(xué)創(chuàng )始人圖靈,都曾嚴肅思考過(guò)制造國際象棋機器的問(wèn)題。20世紀80年代初,貝爾實(shí)驗室的工程師們(其中包括著(zhù)名操作系統 Unix的聯(lián)合創(chuàng )作者肯·湯姆森)開(kāi)發(fā)出歷史上第一個(gè)具有人類(lèi)大師級水平的國際象棋機器“Belle”。到80年代末,卡內基梅隆大學(xué)的許峰雄博士在 “Bella”的思路基礎上(將在后面詳細介紹)進(jìn)一步改進(jìn),研制出了第一個(gè)特級大師水平的國際象棋機器,取名“深思”(源自《銀河系漫游指南》中的超級 計算機)。隨后,許博士加入IBM研究院,在那里和其他幾個(gè)團隊成員一起研制出了實(shí)力更強的弈棋機器“深藍”,并最終于1997年的一場(chǎng)歷史性的人機大戰 中以3.5:2.5的比分戰勝了人類(lèi)國際象棋冠軍卡斯帕羅夫(卡斯帕羅夫不但是當時(shí)的人類(lèi)冠軍,同時(shí)也是人類(lèi)歷史上國際象棋等級分最高的職業(yè)選手)。
在圍棋更加流行的東方,圍棋大師的頭銜同樣是智力超群的象征。自從計算機在國際象棋上挑戰人類(lèi)成功之后,所有人的目光就聚焦在了圍棋這項古老的 東方棋類(lèi)運動(dòng)上。然而對計算機來(lái)說(shuō),圍棋似乎是個(gè)比國際象棋更“難”的東西。1985年,企業(yè)家應昌期先生懸賞一百萬(wàn)美金尋找能夠打敗人類(lèi)職業(yè)棋手的計算 機,可時(shí)至30年后的今日仍然沒(méi)有一臺計算機能夠做到。20世紀90年代,以我國陳志行教授開(kāi)發(fā)的“手談”程序以及著(zhù)名開(kāi)源軟件組織GNU開(kāi)發(fā)的“GNU Go”程序為代表的“計算機圍棋冠軍”們,棋力尚且不及人類(lèi)的業(yè)余初段。進(jìn)入21世紀之后,研究者們開(kāi)始探索一套被稱(chēng)為“蒙特卡洛樹(shù)搜索”的全新思路(將 在后面詳細介紹),并終于在2006年在9×9的“小棋盤(pán)”上率先產(chǎn)生突破。以法國的MoGo和CrazyStone為代表的新一代圍棋程序在9路圍棋上 基本已經(jīng)達到人類(lèi)職業(yè)棋手的水平,甚至曾在公開(kāi)場(chǎng)合戰勝過(guò)職業(yè)棋手周俊勛九段。另一方面,在真正的19路圍棋棋盤(pán)上,以日本的ZEN(天頂圍棋)和法國的 CrazyStone為代表的一流圍棋程序沿著(zhù)“蒙特卡洛方法”的思路不斷改進(jìn),在和人類(lèi)頂尖職業(yè)棋手進(jìn)行的一系列讓子棋比賽中屢有佳績(jì),而近些年人類(lèi)棋 手能“讓”計算機的子數也越來(lái)越少。最有趣的是在2013年,計算機程序CrazyStone在受讓四子的情況下戰勝被稱(chēng)為“人腦計算機”的日本棋手石田 芳夫九段,并被認為已有業(yè)余五~六段的水平。
截至目前,盡管計算機在公平的圍棋比賽中還不足以直接抗衡人類(lèi)職業(yè)棋手,但相關(guān)的研究熱度卻很高,大家普遍對近期前景持較為樂(lè )觀(guān)的態(tài)度!吧钏{之父”許峰雄博士甚至在2007年10月的一期《IEEE Spectrum》雜志上表示,相信10年內超級計算機將能挑戰世界冠軍級別的人類(lèi)棋手。
計算機下棋的思考模式
現在主流弈棋計算機的基本“思考模式”很簡(jiǎn)單,就是對當前局面下的每一種合法走法所直接導致的局面進(jìn)行評估,然后選擇“獲勝概率”最高的局面所 對應的那個(gè)走法。也就是說(shuō),“準確評估給定局面的勝率”是主流弈棋計算機的核心問(wèn)題,同時(shí)也是主要難點(diǎn)所在。在進(jìn)一步深入討論這一核心技術(shù)問(wèn)題之前,我們 先在基本思考模式層面簡(jiǎn)單比較一下計算機棋手與人類(lèi)棋手的異同。
可以說(shuō),計算機的基本策略是所有“人類(lèi)有可能采用”的策略中最原始最簡(jiǎn)單的一種。毫無(wú)疑問(wèn),人類(lèi)的思考模式中必然也包含“局面評估”的部分,然而人類(lèi)至少還同時(shí)擁有另一個(gè)重要的思考模式——戰略性思考,也就是把一個(gè)基本目標有效分解成一系列“子目標”。
以圍棋為例,“獲勝”是圍棋的最終目的,而勝的定義是“結束比賽時(shí)擁有更多棋子和空”(中國規則)。但是人類(lèi)棋手在對弈時(shí)顯然并不是每時(shí)每刻都 在基于這個(gè)“勝”的定義進(jìn)行思考的——通常我們只在棋局進(jìn)入中后期時(shí)才經(jīng)常性地“數目”。在對弈的大部分時(shí)間里我們是在思考諸如“如何借助右上角黑棋的毛 病擴張”、“如何做活”、“如何侵消對手的模樣”、“如何在劫爭中轉換”、“如何分斷”等等一系列具體問(wèn)題。我們注意到,每一個(gè)這樣的“具體問(wèn)題”實(shí)際上 是改變了思考的目標,把一個(gè)“求勝”的問(wèn)題轉化成了一系列“分斷”或者“做活”之類(lèi)的子問(wèn)題。這樣的一個(gè)“戰略計劃”,其背后的邏輯當然是,我們的大腦相 信在當前情況下“分斷對手大龍”是最有可能導致最終贏(yíng)棋的子目標。一旦確立了子目標,人類(lèi)棋手便集中精力考慮具體戰術(shù)走法來(lái)完成這個(gè)子目標,而不是“贏(yíng) 棋”這個(gè)最終目標。與之不同的是,目前主流的弈棋計算機從基本思考模式上并不依賴(lài)于“生成并確定子目標”的戰略能力。在大多數時(shí)刻,這些弈棋計算機只關(guān)心 一個(gè)問(wèn)題,就是按照“勝”的基本定義來(lái)贏(yíng)得比賽*1!霸诋斍熬置嫦,我走在x點(diǎn)的話(huà)最終能贏(yíng)幾子”,計算機就是通過(guò)不停地重復問(wèn)自己這個(gè)問(wèn)題來(lái)完成對弈 的。盡管這聽(tīng)起來(lái)很“原始”,但正如前面所說(shuō),這樣思考的計算機卻已經(jīng)在很多棋類(lèi)中達到了相當令人驚訝的水平!
【電腦是如何下棋的】相關(guān)文章:
如何測試電腦功耗08-17
如何自學(xué)電腦維修06-02
電腦硬盤(pán)如何保養08-28
如何保養電腦CPU06-09
如何給電腦硬盤(pán)降溫10-04
如何電腦打字-電腦打字的技巧06-15
如何提升現有電腦的效率09-03
電腦主板BIOS如何設置08-26
電腦開(kāi)機藍屏如何修復08-12
如何安裝電腦硬件09-21