人工智能相關(guān)論文(2)
人工智能相關(guān)論文
人工智能相關(guān)論文篇二
計(jì)算機(jī)博弈與人工智能
計(jì)算機(jī)博弈,歷來(lái)是人工智能的一個(gè)重要的研究領(lǐng)域,早期人工智能的研究實(shí)踐,正是從計(jì)算機(jī)下棋開(kāi)始。因?yàn)槿祟?lèi)開(kāi)發(fā)下棋軟件,目的是讓計(jì)算機(jī)模仿人腦進(jìn)行思維,如果能夠掌握下棋的本質(zhì),也許就掌握了人類(lèi)智能行為的核心,那些能夠存在于下棋活動(dòng)中的重大原則,或許就存在于其它任何需要人類(lèi)智能的活動(dòng)中。所以說(shuō),下棋軟件某種意義上可以代表人工智能的發(fā)展程度。
從上世紀(jì)六十年代的“跳棋機(jī)”到1997年的“深藍(lán)”,計(jì)算機(jī)下棋程序在人機(jī)對(duì)弈中取得了一個(gè)又一個(gè)勝利,但是這些程序雖然屬于人工智能范疇,實(shí)際上它們并沒(méi)有多少“智”的成分,主要部分都是在可行范圍內(nèi)搜索。各種研究也大都是怎樣使搜索更快更有效。它們?nèi)狈?ldquo;智”的成分的根本原因,是我們自己并不清楚人類(lèi)是以怎樣的形式思考的。比如你寫(xiě)一個(gè)名字問(wèn)一名教師,這人是不是他班上的學(xué)生。教師馬上就可以回答是或不是。如果你問(wèn)計(jì)算機(jī),計(jì)算機(jī)也可以馬上正確地回答是或不是。但計(jì)算機(jī)的方式是把這個(gè)名字與學(xué)生名單里所有名字一一比較以后得出的答案。計(jì)算機(jī)搜索很快,全走一遍幾乎可以瞬間完成。但我們知道教師是不可能在短時(shí)間內(nèi)把班上所有學(xué)生的名單過(guò)一遍的。類(lèi)似的,我們看到一個(gè)人的照片,馬上就知道我們以前見(jiàn)沒(méi)見(jiàn)過(guò)這個(gè)人,我們不可能在短時(shí)間內(nèi)把我們以前見(jiàn)過(guò)的人都檢查一遍,那么我們是怎樣得出結(jié)論的呢?現(xiàn)在我們對(duì)此還不是完全清楚。
下棋的時(shí)候棋盤(pán)上可走的地方很多,但下棋的人并不是每種走法都去考慮。那么哪些位置需要考慮,哪些位置不需要考慮,這就是“模式識(shí)別”問(wèn)題。人腦有“模式識(shí)別”功能,可以很快得出一個(gè)大致的結(jié)論,計(jì)算機(jī)沒(méi)有這種功能,只好所有的位置都考慮。在人機(jī)博弈中,計(jì)算機(jī)人工智能的基本思考方法是窮舉法,即通過(guò)對(duì)所有可能的招法的演化結(jié)果進(jìn)行比較,最后選擇出一個(gè)最好的招法。例如在象棋的某個(gè)“局面”中,如果有38種合乎規(guī)則的棋子走法,無(wú)論選擇其中哪一種,都會(huì)再生成一個(gè)新局面。將所有這些變化列起來(lái),就會(huì)形成一棵“博弈樹(shù)”,計(jì)算機(jī)要做的,就是比較最后一層結(jié)果,選擇其中一個(gè)最好的,然后逆推,找到本局面下最好的一個(gè)走法,計(jì)算機(jī)的這種思考能力在中局搏殺階段表現(xiàn)得尤為明顯。另外,在人機(jī)對(duì)弈中,計(jì)算機(jī)面對(duì)每一步棋時(shí),都將會(huì)模仿人的思考方法盡可能地簡(jiǎn)化搜索范圍,然后對(duì)其進(jìn)行橫向比較并選擇最優(yōu)走法。但是,國(guó)際象棋的變化總數(shù)達(dá)到10的123次方,而中國(guó)象棋的變化數(shù)量比這還要多得多,可達(dá)10的144次方以上,圍棋的變化就更多,達(dá)10的172次方以上,計(jì)算機(jī)不可能算出棋盤(pán)上的所有變化。因此,所謂的“利用窮舉法選擇最好的走法”,指的是棋局的局部,并且是在有限的步驟里,而不是通盤(pán)窮舉,它更沒(méi)法對(duì)整盤(pán)棋的形勢(shì)做正確判斷。這就是它中盤(pán)計(jì)算超強(qiáng)而大局觀差的原因。半個(gè)世紀(jì)以前人們就開(kāi)始研究國(guó)際象棋程序,但因計(jì)算機(jī)性能問(wèn)題,在人機(jī)對(duì)弈中計(jì)算機(jī)始終表現(xiàn)不佳,因?yàn)榇罂臻g搜索不可行,就只能用人們?cè)O(shè)計(jì)的判別模式進(jìn)行選擇性地搜索(模仿人的思維)。選擇不見(jiàn)得對(duì),搜索又不徹底,結(jié)果當(dāng)然不會(huì)好到哪里去。好在計(jì)算機(jī)的性能發(fā)展得很快,到了1997年,IBM的深藍(lán)用“硬搜索”打敗了人類(lèi)國(guó)際象棋世界冠軍卡斯帕羅夫。當(dāng)然深藍(lán)還請(qǐng)了一些國(guó)際象棋專(zhuān)家指點(diǎn)判別程序,但主要靠的還是硬搜索。
目前,在三大棋類(lèi)項(xiàng)目中,國(guó)際象棋和中國(guó)象棋兩項(xiàng),計(jì)算機(jī)的水平都已經(jīng)可以跟最頂級(jí)的職業(yè)棋手抗衡了,但在圍棋項(xiàng)目中計(jì)算機(jī)的水平卻始終上不去,目前圍棋計(jì)算機(jī)大賽獲得冠軍的軟件也只勉強(qiáng)達(dá)到業(yè)余初段水平,和頂級(jí)職業(yè)棋手相比,大概要被讓七子。
為什么計(jì)算機(jī)圍棋的水平和象棋比差這么多呢?除了資金等投入上有差距外,大致還有以下幾個(gè)原因:
(1)國(guó)際象棋盤(pán)60格,中國(guó)象棋90個(gè)交叉點(diǎn),而圍棋則有361個(gè)交叉點(diǎn)。象棋一局棋一般三四十個(gè)回合七八十步棋,而圍棋一盤(pán)棋一般要一百多手棋,最多的會(huì)超過(guò)三百手棋,這使圍棋的計(jì)算量遠(yuǎn)遠(yuǎn)超過(guò)象棋,因此對(duì)計(jì)算機(jī)的性能提出了更高的要求,但按照傳統(tǒng)的解決問(wèn)題的思路,目前計(jì)算機(jī)還不能滿(mǎn)足這種要求。
(2)中國(guó)象棋和國(guó)際象棋的目的比較明確,就是保存子力,保衛(wèi)老將(王)。而圍棋以占地多少?zèng)Q定勝負(fù),厚勢(shì)與薄味、要子和廢子、模樣和實(shí)地,這些都是判斷上的問(wèn)題,很難在程序中做出界定。
(3)在象棋中,計(jì)算占的比重很大,象棋中每個(gè)棋子的價(jià)值都是可以量化的,例如國(guó)際象棋中后相當(dāng)于三個(gè)馬或九個(gè)兵,在棋局的不同階段或子力優(yōu)勢(shì)時(shí)再加上不同的權(quán)值,因此計(jì)算機(jī)可以用準(zhǔn)確無(wú)誤的計(jì)算來(lái)彌補(bǔ)它判斷上的不足。但圍棋的計(jì)算只是圍棋的一部分,尤其是序盤(pán)階段,對(duì)全局形勢(shì)的分析與判斷才是重點(diǎn),由于在棋局進(jìn)程中,隨著周?chē)钠遄硬贾貌煌?原有棋子的價(jià)值在不斷地發(fā)生變化,如何判斷取舍,這一方面正是計(jì)算機(jī)的弱點(diǎn),也無(wú)法通過(guò)計(jì)算來(lái)彌補(bǔ)。
計(jì)算機(jī)圍棋的難點(diǎn)之一,是缺乏好的估值函數(shù),使計(jì)算機(jī)圍棋不能如象棋一樣,運(yùn)用好的估值函數(shù)、搜尋樹(shù)及-剪枝法,即可獲得不錯(cuò)的棋力,計(jì)算機(jī)圍棋大多依靠一些經(jīng)驗(yàn)法則,以靜態(tài)的評(píng)估為主,而動(dòng)態(tài)的搜索則僅用于局部的、目標(biāo)明確的棋串攻殺,全局的搜索較少。因此,人類(lèi)的經(jīng)驗(yàn)如何用于計(jì)算機(jī)圍棋,就成了設(shè)計(jì)的重點(diǎn)。
圍棋中一般認(rèn)為達(dá)到業(yè)余初段水平才算入門(mén),多年來(lái)計(jì)算機(jī)圍棋的水平一直在門(mén)外徘徊,直到目前的最新技術(shù),以蒙特卡羅方法為基礎(chǔ)的UCT算法出現(xiàn)以后,計(jì)算機(jī)圍棋終于達(dá)到了業(yè)余初段水平,而且從發(fā)展?jié)摿?lái)看還有很大提升空間。
蒙特卡羅是位于摩納哥的賭城,蒙特卡羅方法(Monte Carlo,縮寫(xiě)為MC)的名稱(chēng)象征性地表明該方法的概率統(tǒng)計(jì)的特點(diǎn),它是把所求解的問(wèn)題同一定的概率模型相聯(lián)系,用計(jì)算機(jī)實(shí)現(xiàn)統(tǒng)計(jì)模擬或抽樣,以獲得問(wèn)題的近似解。MC怎樣用于圍棋呢?針對(duì)某局面下的某一手棋,由計(jì)算機(jī)模擬后續(xù)對(duì)局,得到這手棋的獲勝概率,把所有可能下法的獲勝概率都算出來(lái)后,選擇獲勝概率最大的下法。MC直接用在圍棋上的缺點(diǎn)十分突出,首先是浪費(fèi)了模擬次數(shù),因?yàn)樵谟邢薜臅r(shí)間內(nèi)只能模擬出一定的棋局?jǐn)?shù)。其次,它沒(méi)有考慮對(duì)方的下一手,如果我們把MC當(dāng)作估值函數(shù),那么對(duì)比傳統(tǒng)的人機(jī)博弈程序,簡(jiǎn)單的MC相當(dāng)于只搜索了一步。如果估值無(wú)比精準(zhǔn)的話(huà),那么這一步足矣。實(shí)際上圍棋還不存在這么精確的估值,以MC的估值速度,往深算幾步,耗費(fèi)的時(shí)間無(wú)法接受。所以人們對(duì)算法進(jìn)行了改進(jìn),首先是根據(jù)棋形和基本著法進(jìn)行智能判定,只對(duì)合理的著法作模擬,對(duì)明顯不合理的招法予以舍棄,其次,對(duì)難以判定優(yōu)劣的多種可選方案,用AMAF算法進(jìn)行隨機(jī)選擇。
以蒙特卡羅方法為基礎(chǔ)的UCT算法,是目前計(jì)算機(jī)圍棋在計(jì)算手筋和局部戰(zhàn)斗上的最好的算法,在9€?的小棋盤(pán)上有過(guò)戰(zhàn)勝職業(yè)棋手的記錄,但它也有自己的局限,如果沒(méi)有新的算法上的突破,很難跳出業(yè)余的段位,和職業(yè)棋手進(jìn)行對(duì)抗。假如將來(lái)有一天,計(jì)算機(jī)圍棋程序戰(zhàn)勝了頂級(jí)職業(yè)棋手,是否說(shuō)明計(jì)算機(jī)已經(jīng)具有智能了呢?我們?nèi)匀徊荒艿贸鲞@個(gè)結(jié)論。
看了“人工智能相關(guān)論文”的人還看了:
2.人工智能論文