蒙特卡罗算法求大师介绍?

软件等级:
贝尔:刚走进球场你就能感受到那种感觉,这样的比赛比其他任何一场比赛都要重要十倍。心理压力和赛前的准备从几个星期前就开始了。这是特别的比赛,你可以看到球员在球场上展现出的求胜激情。球迷对每个球都给予激烈的反应,由此可见比赛对他们的意义。, 滨岩:其实这个问题最有资格回答的应该是现任国安主帅曼萨诺,马德里竞技俱乐部可以说是一个非常复杂的产物,这里从来不缺少名帅,名将,但绝大多数都活在皇马的阴影中,在马德里这座城市里,马竞输给皇马似乎成了一件理所当然,不足为奇的事情。这一切都因为一个人的到来终结了, 他就是西蒙尼。西蒙尼绝对比不上曼萨诺博学,阿吉雷(日本队主帅)老道,比安奇智慧,但他带来了一个无与伦比的法宝,权威,信念,与皇马巴萨平起平坐的野心。在技战术上,西蒙尼也是一步步推进,从防守反击到阵地战,到去伯纳乌主动出击。可以说,西蒙尼创造了马竞新纪元。他也是幸运的,这样的创业可以发生在拉齐奥,国米,但马竞最先勇敢地提供了舞台。 高层示意安切洛蒂用贝尔这样身体出众的球员填补迪马利亚的空缺,引发了安切洛蒂的反感,他反问高层:“既知今日何必当初,早知道如此,为什么还要卖迪马利亚?阿根廷人在场上奔跑能力跟肯尼亚人一样出色。我想不明白为什么俱乐部拥有6亿欧元的年度预算,却死活不答应迪马利亚再涨400万欧元的加薪要求。省下这笔钱就如此重要?” 时间在流逝,但皇马却始终无法解决一个严重的问题:定位球失球。这个顽疾在皇马多年,无论是上赛季的皇马,还是穆里尼奥时代的皇马都没能治愈。马德里德比,皇马重蹈覆辙,再次被对手利用定位球得分。 (北江户川) 上赛季C罗在欧冠创纪录地打进17球,目前他与梅西一样欧冠收获67球,落后劳尔4球。, 新浪体育:梅西,本马尔双双发力,出彩,后面还有苏亚雷斯,巴萨是不是很强? 中场:7号-祖菲、20号-弗赖、33号-内尼、34号-扎卡 由于最近《每日快报》等媒体曝出切尔西已经准备在明年夏天跟曼联竞争求购皇家马德里顶星C罗,并且蓝军的报价将高达6000万英镑,关于C罗的问题成为了记者们关心的重点问题。对于记者的发问,穆里尼奥回应到:“噗,省省吧。”显然,对于穆里尼奥本人来说,这一小道消息着实不靠谱。随后,穆帅高度评价了切尔西的夏季引援工作。“我们都对引援工作非常满意,我尽到了自己的责任,早早在上赛季就分析好了情况。随后我的俱乐部完成了惊人的工作,买回了我们认为最合适的球员。” 皇马的三中场克罗斯-摩德里奇以及J罗,安切洛蒂说:“这方面我拥有丰富的经验,我在米兰就是这么安排的,西多夫跟皮尔洛,上赛季的迪马利亚。用技术型球员为球队带来平衡是行得通的,之后看看如何不同。” 这是齐达内执教卡斯蒂亚的第四场正式比赛,也是他第一场正式比赛胜利,为球队建功的则是布尔吉、劳尔-德-托马斯以及梅德兰。此前卡斯蒂亚三战全败,排名联赛倒数,创造了卡斯蒂亚20年最差开局(自1996年)。, 关于安切洛蒂,我们知道他率领球队拿到最令人期待的冠军奖杯,他在上赛季后期打造了一支势如破竹的球队。我们从来不会听到他说出有损俱乐部的话,即便是在俱乐部让他陷入尴尬境地的时候也是如此。
·上一软件:·下一软件:
永利百慕大三角网友
注册送现金棋牌游戏
谁能告诉我
软件若有错误,请打勾通知网站管理员蒙特卡罗娱乐_介绍信誉好蒙特卡罗娱乐官方赌博_送现金注册金冠棋牌斗地主域名
蒙特卡罗娱乐
分组内容:羽毛球单打界,礼仪培训心得,廊坊大捷 评书,李源朝背景,武汉体育学院校徽校名,斩空物语5汉化
内容简介:就读学位,二人转姜须搬兵
知识导读:什么叫现代教育技术,敲磬的槌
重点概括:helena 歌词,电视剧 江姐
分组内容:湖北大鼓下载,confusion 陈冠希,meredith怎么读,2013年统计学专业,多宝八音盒,成人黄色
内容简介:大提琴参考文献,台湾买东西
知识导读:四小天鹅舞蹈下载,细胞核的教学设计
重点概括:尤伦斯 沙发,宠物粮食
分组内容:交宜恰恰舞,印刷服务,卓尔oa,重庆交通大学研究生部,网上可查大专证,大提琴 暗夜 谱
内容简介:天鹅之死,bill sharman
知识导读:葫芦丝教学,少儿英语课程顾问
重点概括:裘英俊相声专场2012,美女人体艺术
分组内容:赵海燕个人资料,少儿英语加盟哪家好,佛朗明哥 教学,飞跃彩虹歌谱,拾忆的钢琴谱,厚街皇家俱乐部
内容简介:清音少女,东北二人转小矮子
知识导读:单田芳明末遗恨,天津松江600225
重点概括:对位芳纶染色牢度,郑州北影赛美儿短期
分组内容:mba考试科目,河南在职研究生网,李贺诗李凭箜篌引,园博知识竞赛题答案,妈咪,洗星海
内容简介:捐助台词,异界超级玩家
知识导读:电贝司琴颈调节,五子棋外挂
重点概括:图兰朵保暖内衣,五声调式 简谱
分组内容:小s代言的母婴用品,四川长虹,陕西最好的补习学校,婴儿游泳的好,最黄的东北二人转,卡比龙
内容简介:汽修学校,大明英烈淫
知识导读:万能视频合成器,深圳的母婴用品网店
重点概括:科创电力,花海六线谱
分组内容:无锡风电园,大专生招聘话题,个性签名超拽,教育家名字,绍兴同城游,不差钱剧本
内容简介:花式台球 最美的境界,生肖邮票发行了几轮
知识导读:明月几时 葫芦丝谱子,颐和园 的教学设计
重点概括:史铁生与陈希米相识,科普手抄报内容
分组内容:鞋辅件,中华考试网cne163,水浒传单田芳评书吧,开通集团短号,剑桥少儿英语教材,卓人早教产品
内容简介:单田芳评书童林传,洛阳理工
知识导读:童心圆计牌器,钢琴吴迎
重点概括:徵羽宫 陌上风轻,早孕试纸最早什么时候用
分组内容:eclogue of virgil,奇志大兵动漫相声,艾茉森电钢琴官网,云南葫芦丝网,写真服装,凉城第一幼儿园主页
内容简介:骆玉笙 长坂坡,忆江南蓝天幼儿园园歌
知识导读:羊跪母乳,黄健翔妻子
重点概括:民用建筑设计通则,中秋贺词
分组内容:河北旅游景点大全,超幸福鞋垫2012,中国壁球公开赛,张殿昀,九亭公立幼儿园,夜舞倾城第四集
内容简介:景深计算器,临门一脚 数学中考
知识导读:中央美术学院研修班,河南坠子下载
重点概括:昆明金诺补习学校,自力教育
分组内容:剑网三 七秀坊,朱庆涛评话,电力外线平面图,白字戏研究,歌舞青春breaking free,王乐
内容简介:豫剧哭局,英语四级真题及答案
知识导读:迪士高视频,goran bregovic
重点概括:淮河琴书,董路减肥
分组内容:金领冠婴儿奶粉,沈阳体育学院招生处长,摩根少儿英语网站,有声小说天眼人生91,消除妊娠纹,岐阜fc 不死鸟
内容简介:新式简约主义,祥林嫂的悲剧命运
知识导读:拉杆箱,青春白恼会8
重点概括:淮剧邢娜,冯巩妻子艾慧
分组内容:江南styie mv,透光人造云石,民国时期的教育家,孙小宝活宝专辑,田连元评书在线收听,都市春潮都市春潮
内容简介:北京尚德机构,ipl5 we vs m5
知识导读:歌舞青春第一步,三明华图
重点概括:移动集团短号查长号,sherwood eddy
分组内容:打牌技巧,苏六娘字幕,楚剧 赵五娘吃糠,浙江金融职业学院 附近宾馆,拉丁红代理的包,快乐驿站解学士全集
内容简介:c++期中考试题,杨影结婚了吗
知识导读:彩梦芭蕾3,笑笑茶楼第二部27
重点概括:判断转调,稳定的反义词
分组内容:梅花大鼓黛玉悲秋,小泽征尔decca,小桥流水纯音乐,浙江万里学院基础学院,qq音乐网页版,民谣吉他品牌
内容简介:婺剧曾尼会,颤音怎么练
知识导读:相思碑歌谱,双子星公主连音
重点概括:请问,贝亲怎么样
分组内容:陈悦情竹,汇众教育 游戏学院怎么样,佳能广角镜头,司机求职,职业培训,南京工业大学研究生部
内容简介:科普征文,四级分数
知识导读:翟鸿 骗子,保险大专学历
重点概括:依斑娜电吉他,雅马哈yu121钢琴
分组内容:悲伤的网名,杨凌本香产业集团,达内课件下载方法,国际象棋常青藤,学而思网,长子潞安上当鼓书
内容简介:孙小宝媳妇车祸,陈秀男
知识导读:柏林赫塔 奥厄,东北二人转魏三视频
重点概括:梦幻西游强身术效果,玛丝菲尔夏装
分组内容:怎样验证偏光镜,自读大专,妊娠纹什么时候长,abac,小提琴大师课,延安大学
内容简介:歌舞青春打包下载,5d2 反光板
知识导读:高考报名,2006第17届金曲奖
重点概括:农业加工机械,乐欧鱼竿
分组内容:x线感蓝胶片,苏州新爱婴,四六级与学位证,专业学位综合改革,江西鸿联九五,竹符还是汉家分
内容简介:东北二人转人民剧场,铜管乐器有哪些
知识导读:郭丰周,2010高考英语听力
重点概括:魔法盾,比较初等教育02任务
分组内容:金圣权,魏三,超强电吉他弹奏忐忑,骆玉笙 重整河山,古典舞自学,蒙牛酸酸乳音乐风云榜新歌
内容简介:都柏林 outlet,真途教育
知识导读:苏氏牛骨头老店加盟,李湘怀孕
重点概括:残疾人体育健身,夜半歌声 歌剧魅影
您可能感兴趣電腦是如何下棋的︰蒙特卡洛樹搜索法
來源:新浪科技 作者︰ 
  圍棋起源于中國,是最古老的棋類運動之一,我們常說的“琴棋書畫”中的“棋”就是指圍棋。
  “深藍”在1997年的一場歷史性的人機大戰中戰勝了人類國際象棋冠軍卡斯帕羅夫。 圖/Peter Morgan
  1996年,許峰雄博士(右,現為微軟亞洲研究院高級研究員)代表“深藍”與卡死佩羅夫對弈。
  本文轉自《科學世界》
  你喜歡下棋嗎?有沒有和計算機下過?現在,弈棋計算機的棋藝日益高強。讓我們通過分析以圍棋和國際象棋為代表的弈棋計算機,對人工智能的研究有一個更為深入的理解。
  弈棋計算機
  弈棋自古被視為一種關乎智力的高級挑戰。和其他智力測試相比,弈棋具有直接對抗的特點,沒有什麼比在緊張的對局中看到對手一手精妙凶狠的棋招更
能讓人感覺到一種智力上的刺激和挑戰了。弈棋相比于其他牌類游戲而言,隨機和不可控因素更小,因此對局雙方的決策能夠更直接地控制整個局面的走勢,這進一步增強了智力的對抗性。
  毫不意外,在國際象棋更加流行的西方國家,人工智能領域自創建之初就在考慮如何制造一個會下國際象棋的機器。幾乎所有人工智能先驅,包括信息論
創始人香農、“人工智能”之父約翰o麥卡錫(John
McCarthy)、計算機科學創始人圖靈,都曾嚴肅思考過制造國際象棋機器的問題。20世紀80年代初,貝爾實驗室的工程師們(其中包括著名操作系統
Unix的聯合創作者肯o湯姆森)開發出歷史上第一個具有人類大師級水平的國際象棋機器“Belle”。到80年代末,卡內基梅隆大學的許峰雄博士在
“Bella”的思路基礎上(將在後面詳細介紹)進一步改進,研制出了第一個特級大師水平的國際象棋機器,取名“深思”(源自《銀河系漫游指南》中的超級
計算機)。隨後,許博士加入IBM研究院,在那里和其他幾個團隊成員一起研制出了實力更強的弈棋機器“深藍”,並最終于1997年的一場歷史性的人機大戰
中以3.5︰2.5的比分戰勝了人類國際象棋冠軍卡斯帕羅夫(卡斯帕羅夫不但是當時的人類冠軍,同時也是人類歷史上國際象棋等級分最高的職業選手)。
  在圍棋更加流行的東方,圍棋大師的頭餃同樣是智力超群的象征。自從計算機在國際象棋上挑戰人類成功之後,所有人的目光就聚焦在了圍棋這項古老的
東方棋類運動上。然而對計算機來說,圍棋似乎是個比國際象棋更“難”的東西。1985年,企業家應昌期先生懸賞一百萬美金尋找能夠打敗人類職業棋手的計算
機,可時至30年後的今日仍然沒有一台計算機能夠做到。20世紀90年代,以我國陳志行教授開發的“手談”程序以及著名開源軟件組織GNU開發的“GNU
Go”程序為代表的“計算機圍棋冠軍”們,棋力尚且不及人類的業余初段。進入21世紀之後,研究者們開始探索一套被稱為“蒙特卡洛樹搜索”的全新思路(將
在後面詳細介紹),並終于在2006年在9×9的“小棋盤”上率先產生突破。以法國的MoGo和CrazyStone為代表的新一代圍棋程序在9路圍棋上
基本已經達到人類職業棋手的水平,甚至曾在公開場合戰勝過職業棋手周俊勛九段。另一方面,在真正的19路圍棋棋盤上,以日本的ZEN(天頂圍棋)和法國的
CrazyStone為代表的一流圍棋程序沿著“蒙特卡洛方法”的思路不斷改進,在和人類頂尖職業棋手進行的一系列讓子棋比賽中屢有佳績,而近些年人類棋
手能“讓”計算機的子數也越來越少。最有趣的是在2013年,計算機程序CrazyStone在受讓四子的情況下戰勝被稱為“人腦計算機”的日本棋手石田
芳夫九段,並被認為已有業余五~六段的水平。
  截至目前,盡管計算機在公平的圍棋比賽中還不足以直接抗衡人類職業棋手,但相關的研究熱度卻很高,大家普遍對近期前景持較為樂觀的態度。“深藍
之父”許峰雄博士甚至在2007年10月的一期《IEEE
Spectrum》雜志上表示,相信10年內超級計算機將能挑戰世界冠軍級別的人類棋手。
  基于“特征識別”的靜態評估
  對圍棋局面基于“粒子-場”模型的靜態評估結果
  局面靜態評估好比人類棋手的“感覺”(也叫“第一感”、“棋感”)。
  目前使用的方法很容易理解。就像網上經常遇到的性格測試︰讓一個人做10道選擇題,每道題如果選A加1分,選B不加分,然後根據10道題的總分對這個人的性格進行分類,0~2分的是黏液質性格,8~10分的是多血質性格……
國際象棋的局面靜態評估過程和性格測試非常類似,對于一個給定的局面(對應性格測試里的一個人),評估算法問“當前局面里我方有沒有皇後”,有的話加10分,沒有不加分;再問“有沒有兵”,有的話每個兵加1分,沒有不加分……然後評估算法把所有問題的總分加起來,總分越高代表該局面勝率越大。
  我們看到,計算機對國際象棋局面的靜態評估過程相當于給局面做了一次測試卷,其中每一道測試題對應了局面的一個特征。一般來說,優秀的國際象棋計算機所使用的“測試卷”中的每一道題都是由人類大師根據自己多年的弈棋經驗精心設計的,而里面每道題的“分值”或者由象棋大師直接設定,或者由計算機根據海量棋譜通過被稱為“機器學習”的技術自行決定。
  前一種方法往往面臨的一個問題是,人類大師其實根本就不用這種“給局面做測試卷”的方式思考,所以他們的經驗有時很難直接指導分值設定。而在後一種基于機器學習技術的做法下,象棋大師除了設計用于評估局面的“考題”(每道題分值待定)之外,“只”需要對用于“訓練”計算機的棋譜中出現的每一個局面打一個“局面總分”(這個總分並不基于大師為計算機設計的任何“考題”,而是直接根據自己的經驗得出),計算機就可以自動為每道考題選擇一個合適的分值,使得當我們使用如此學習出來的分值去考察棋譜中的每個局面時,由“考卷”累加得到的分數都恰好比較接近象棋大師根據經驗為該局面評估的分數!
  圍棋計算機程序使用的靜態評估過程一般也基于類似的“打分原理”。只不過圍棋里面棋子的“位置特征”比“數量特征”更重要,所以圍棋程序在選取特征時往往並不基于單個棋子,而是基于由若干子組成的“基本形狀”。更重要的區別是,圍棋局面評估並不僅僅是把來自每個特征的得分簡單相加,而是基于一些更復雜有趣的綜合過程。
  比如,在這方面有一類很有意思的研究叫做“基于動態系統的圍棋局面評估”。這種觀點把圍棋棋盤看作一個二維“靜力場”,里面每一個棋子或每一個基本形狀擁有一個類似于“電荷”的屬性,並根據這個屬性向外輻射“影響力”,強度隨著距離遞減。這樣,對于給定局面,棋盤中的每一個點都具有一個“場強”,它根據來自棋盤上所有黑子和白子的影響力相互疊加和抵消後決定。所有點的場強可以通過多輪迭代計算得出(類似于物理中求解“多體問題”的過程),根據這些場強我們就可以決定對于棋盤中每一個點,黑白哪一方“勢力”更大。
  從某種意義上講,基于動態系統的圍棋局面評估實際就是在試圖建立一套“圍棋世界里的物理定律”,使得依據這些定律做出的判斷符合頂級高手間的實戰經驗,或甚至是符合“完美走法”下的結果。當然,目前的“粒子-場”模型可能更多只是對我們所熟知的經典力學模型的簡單模仿,也許我們應該基于一套完全不同的理論來描述圍棋棋盤里的天地(比如基于概率模型),又或許從原則上根本不存在能夠精確描述局面走勢的“圍棋定律”……
無論如何,對圍棋局面靜態評估的研究一旦產生突破,很有可能使得人類對圍棋這項古老棋類運動本身產生更深刻的理解,同時也會極大地改變圍棋弈棋計算機研究的現狀。
  截至目前,對圍棋局面的靜態評估效果還遠遠比不上國際象棋,一般只對處于棋局初期的局面有一定作用,而對當棋局進入激烈廝殺後的中後盤,尚未找到有效的靜態評估方法。下面馬上就要提到,正是由于靜態評估部分的缺陷,直接導致了圍棋程序在“局面動態評估”部分采用了一套與國際象棋程序差異很大的策略。
  另外值得注意的是,在上述局面靜態評估的構建過程中,機器作為一個“智能個體”,最多參與到特征的“權重”設定,而對于更重要的“應該使用什麼樣的特征”以及“根據什麼方式對所有特征進行整合”的問題則完全由人類專家負責。可以說,“特征自動提取”一直是機器學習這個人工智能分支多年來的主要挑戰之一。後面還會再次提到這個問題。
  基于“預測分析”的動態評估
  如果說對棋局盤面的靜態評估好比人類棋手的“感覺”過程,那麼動態評估就好比人類棋手的“推理”過程。在靜態評估中機器得益于人類專家的很多幫助,而動態評估的部分可是機器大顯身手的地方了。
  簡單講,“動態評估”試圖對從當前盤面出發“有可能”出現的大量局面變化所導致的結果進行預判,並綜合分析所有這些可能性,對當前盤面進行一次評估。這也是人類在動態環境中做決策時經常使用的策略,也就是希望通過“看得更遠”來提前發覺潛在的危險或機會。
  經過高度優化的弈棋計算機每秒鐘可以計算數以億計的變化,即使是運行在普通個人電腦上的弈棋程序也經常可以做到每秒計算幾十萬種變化,這種高速運算能力極大地彌補了計算機在靜態評估時的不足。對于像國際象棋和圍棋這種歷史悠久的復雜棋類運動,只基于靜態評估的計算機程序通常連入門級業余棋手都未必下得過,而一旦配備了動態評估能力之後,弈棋計算機卻能達到普通棋手甚至人類世界冠軍都無法達到的水平。
  盤面動態評估可以說是計算機弈棋領域的研究重點所在,幾十年來人工智能研究者和計算機科學研究者提出了許許多多的方法。這里我們簡單介紹一些共通的基本原理,以及圍棋和國際象棋這兩個最受關注的棋類的主流動態評估方法。
  基于一套給定規則,任意給定的棋局盤面會有一個“合法走法”的集合,其中每個走法都會把棋局引向一個新盤面,而這個新盤面又會有自己的另一個合法走法集合,每個走法又對應一個新的盤面。如果假設每個盤面都有
種合法走法,那麼從當前盤面走一步之後一共有b種可能“到達”的盤面,兩步之後有b^2種可能盤面,三步之後有b^3種可能……如此展開下去,從最初的給定盤面經過d步之後可能到達b^d種不同的盤面,它們就是在“未來d步內所有可能的局面變化”。
  我們看到,從給定盤面開始的局勢變化的復雜度是隨考慮的步數呈指數級增長的。對于包括圍棋和國際象棋的絕大多數復雜棋類運動而言,這意味著從原則上
不存在準確
計算盤面的最優結果的有效方法。不過,這對于對局雙方來說未必是個壞消息——雖然我無法計算最優解,對手也同樣無法計算。事實上一個游戲之所以成為游戲,
恰恰就是因為對局雙方都相信對手不具備完美決策的能力,而自己要做的只是比對手 “錯得更少一些”。
  另一方面,對于弈棋計算機的設計者來說,“不可能對局勢變化的所有可能性進行有效計算”意味著想做得比對手更好需要從原理上解決兩個關鍵問題︰
(1)決定一個“篩選策略”,從所有從當前盤面出發有可能導致的變化中選擇一部分作為“我們實際考慮的那些局面變化”;(2)決定一個“匯總策略”,把所
有實際考慮的變化的靜態評估結果綜合起來,對當前盤面的勝率完成評估。無論是國際象棋、中國象棋、圍棋、或者其他如西洋跳棋、黑白棋、五子棋,所有棋類程
序的動態評估方法從根本上都符合由“篩選策略”和“匯總策略”組成的基本框架。它們之間的區別僅在于使用的具體策略不同,以及由此產生的針對實現特定策略
的優化手段的不同。
  下面,我們就來看一下在最具代表性的國際象棋和圍棋中,弈棋計算機分別使用的兩套截然不同的動態評估策略吧。
  “指數級增長”與“EXPTIME-Complete問題” 
  指數級增長可算是大規模計算第一大“攔路虎”了。在一個著名的傳說中,國際象棋的發明者印度人塞薩(Sessa)向他的國王請求賞賜,他說,希望因為發明國際象棋棋盤的第一個格而得到一粒米,因為第二個格得到兩粒米,因為第三格得到四粒米,如此在每後一個格都增加一倍的米量。不識指數級增長威力的國王欣然答允,甚至還有些責怪塞薩要求太少,然而事後才發現整個國庫的米都倒干淨了仍然無法填滿整個棋盤。故事的結局是,國王惱羞之下偷偷派人把塞薩殺掉了。學過等比數列的現代人按一按計算器就知道,國王因為這64個棋盤格子總共要支出2^64-1=^19粒米,這據估計已經超出整個人類歷史上產米量的總和!
  回到局勢變化的復雜度問題上。即使10^19這樣的天文數字也“只不過”是一個從當前盤面出發,每次只考慮2種走法,持續64步之後的可能性空間的大小。對于國際象棋和圍棋這樣的復雜棋類,從初始盤面出發窮盡所有變化的復雜度(也稱窮舉復雜度)更是大得難以想象。信息論創始人克勞德香農在1950年第一個估計出國際象棋的窮舉復雜度大概在10^120種變化左右,具體數字被後人稱為“香農數”。而圍棋的窮舉復雜度又遠遠超出國際象棋,達到了驚人的10^360。作為比較,目前可觀測宇宙中的原子總數據估計“只有”10^75個。 
  有人會問,為了分析當前盤面一定要窮舉所有未來走勢的可能性嗎?有沒有可能存在一個高效的算法可以在避免遍歷呈指數級增長的可能性空間的同時仍然對當前盤面做出準確評估呢?答案是,對于國際象棋和圍棋,我們可以從數學上證明,不僅僅是窮舉復雜度,其局勢變化的計算復雜度也必須隨所考慮的步數呈指數級增長!對于任意一個給定的盤面,我們定義這個盤面的“最優值”為當博弈雙方都下出“完美走法”的情況下導致的最終博弈結果。如果一個盤面的最優值是“黑棋勝”,那就是說在黑棋自己不出錯的情況下白棋無論如何努力都是必敗的。理論計算機科學家先後在1981年和1983年證明國際象棋和圍棋都屬于EXPTIME-Complete類問題,這意味著“任何”能正確計算盤面最優值的方法所花費的時間“必然”隨棋盤大小(亦或棋局的平均步數)呈指數級增長。事實上大部分流行的“雙人零和”棋類的計算復雜度都是指數級的。有一些棋類如西洋跳棋、五子棋,它們的規模足夠小,所以其初始盤面的最優值已經被計算出來了。但是像國際象棋和圍棋這樣的復雜棋類,計算其初始盤面的最優值,以現在的硬件計算能力看來還遙遙無期。
  局面動態評估︰“激進”與“保守”之間的平衡取舍
  主流的國際象棋程序往往采用一種比較“保守”的局勢篩選策略,搭配一種比較“激進”的信息匯總策略。而主流的圍棋程序則正好相反,在局勢篩選方面相當“大膽”,卻對從這些局勢變化收集來的信息的使用相當“謹慎”。這主要是由于目前對這兩種棋類的盤面靜態評估的質量不同導致的。
  對于國際象棋,已經找到了一種在“很多情況”下可以既快速又相對準確地對盤面進行靜態評估的方法——當遇到這類“大致可以進行靜態評估”的盤面時,這個靜態評估方法有相當的可信度,而對于其他情況的盤面卻完全不起作用。由于擁有這樣一個具有“部分可靠性”的靜態評估,國際象棋程序的策略“從概念上”可以理解為是對從當前盤面出發的每一種可能的變化都不停向前展開,直到遇到一個可以大致靜態評估的盤面或者超出了一個預定的“最大展開步數”為止。這樣的“保守”選擇策略使得計算機對于一定階段之內的所有變化都有了大致評估。接下來計算機在“假設”這些評估是正確的前提下,計算按照完美下法哪一種變化是最優的。
  根據硬件計算能力,計算機還會設定一個“最小展開步數”,即使一個變化在展開不到最小步數時就遇到了一個“比較好評估的局面”,系統依然會繼續往前看,而不會就此停止。這是為了最大限度地彌補“對比較好評估的局面進行靜態評估時依然有可能出錯”的缺陷。在開發第一個人類大師級水平的計算機“Belle”的過程中,人們發現弈棋計算機的最小展開步數越大,其棋力越強。也就是說,原則上只要通過不斷增強硬件的計算能力,國際象棋機器就可以通過看得越來越深而下得越來越好。
  1997年的“深藍”計算機在配備了400多塊專門設計的硬件加速卡之後,獲得了每秒鐘展開並評估2億次盤面的恐怖計算能力,歷史上第一次代表機器戰勝了人類國際象棋冠軍。在隨後的十幾年里,按照“摩爾定律”增長的計算機硬件能力變得愈加強大,計算機又先後多次戰勝人類國際象棋冠軍。越來越多的人相信,機器在國際象棋領域早已超越了人類的弈棋能力。
  然而,計算機能夠戰勝人類國際象棋冠軍並不全靠超強的硬件計算能力,軟件算法方面的持續改進同樣必不可少,甚至影響更大。
  比如上面提到,國際象棋系統在“概念上”窮盡了一定步數之內的所有變化。但在真實的弈棋計算機中,一系列優化算法使得系統在不完全展開某些變化的同時也能夠得到和完全展開一樣(或類似)的效果。這樣節省下來的時間可以用于把已知變化“看得更深”,從而極大提高了系統在“概念上”的等效計算能力。
  其中最經典的例子是由人工智能先驅約翰o麥卡錫提出的////剪枝法,它巧妙利用了“國際象棋是雙人零和游戲”的特點,以最優的方式避免所有不必要的變化展開。
  零和游戲
  又稱零和博弈(Zero-Sum
Game),是博弈論中的一個概念,指游戲(博弈)雙方是競爭而不是合作關系,或者說是一種“你死我活”的狀態。例如兩人對弈,一方贏,另一方必然是輸,不存在“雙贏”。贏棋得1分,輸棋減1分,兩人得分之和就總是0,所以稱為零和游戲。
  根據計算機科學家唐納德o克努特(Donald
Knuth)的數學分析,在理想情況下,αβ剪枝法僅需評估所有b^d個變化中的b^(d/2)個,就可以保證得到和評估所有b^d個變化完全一樣的結果。換句話說,我們需要增加
倍硬件計算能力才能使動態評估加深一步,而使用αβ剪枝法則可以使動態評估輕松增加整整一倍的“思考深度”*2!
  αβ剪枝法成型于20世紀60年代,是國際象棋弈棋的諸多優化算法里最經典的一種。如今的國際象棋程序中還使用了大量其他優化方法,使得實際的動態評估過程遠遠比簡單的“枚舉”要高效得多,只是“從概念上”,它們從評估質量上等效(或接近)于一次對未來若干步內所有局勢變化的窮舉展開而已。
  假設A盤面下我方行動,並試圖最大化我方勝率;而B盤面下對手行動,並試圖最小化我方勝率。如果A代表當前盤面,而B代表我方走了某一步之後到達的新盤面。現在假設已知B盤面下對手存在一種走法使得我方勝率至多有30%,同時已知A盤面下我方存在一種走法使得我方勝率至少有40%,那麼我們已經可以確定無需再檢查B盤面下其他未展開的變化了。在層層展開的動態評估過程中這樣的“剪枝”可以反復使用,從而大量減少需要實際評估的變化數量。
  國際象棋的動態評估方法(或其變種)也廣泛應用于大多數其他棋類的對弈系統,其中很多達到或超越了人類冠軍的水平。然而,這套思路卻在圍棋博弈中遭遇了滑鐵盧。截至目前,沒有一個基于國際象棋的動態評估思路的圍棋系統可以超過人類業余入門級水平。很多人把這一失敗歸因于圍棋比國際象棋更大的計算復雜度(這當然看起來是最明顯的原因之一)。
  但是,根據許峰雄博士在2007年發表的那篇名為“Cracking
GO”(破解圍棋)的文章,在擁有接近國際象棋的靜態評估質量的前提下,我們完全可以在軟件和硬件兩方面進行一系列優化,使得國際象棋的動態評估方法在圍棋中也達到類似的思考深度。如果我們假設圍棋大師們的智力並不顯著高于國際象棋大師的話,這樣的思考深度也許會使機器在圍棋上再次戰勝人類。也就是說,對于當今的硬件能力,圍棋的復雜度並不是不可逾越的鴻溝。那麼,到底是什麼原因導致國際象棋的策略無法適用于圍棋呢?
  筆者的觀點是,“窮舉型”
策略////3至今未在圍棋中廣泛應用,更大的障礙恐怕還是缺少一個像國際象棋那樣能夠對于“一大類”盤面進行“大致準確的評估”的方法。前面介紹靜態評估方法的部分已經提到了,目前圍棋盤面的靜態評估方法一般只在棋局前期黑白雙方尚未“短兵相接”時有一定效果。當棋局進入關鍵的中盤廝殺之後,如果仍然使用現有的靜態評估方法,我們就會發現︰在達到硬件計算能力可承受的最大預判步數時,大部分棋局變化都處于不能“大致準確評估”的狀態。基于這些十分不“靠譜”的評估結果去考慮所謂“完美”走法,得到的結果自然也是不大靠譜的。
  正是由于缺少“靠譜”的靜態評估方法,目前所有頂級圍棋程序轉而采取一種比較“謹慎”的信息匯總策略。
  在國際象棋中,如果一個盤面有兩種走法,一個估計勝率30%,另一個估計勝率80%(如圖(a)中盤面B所示),計算機會傾向于相信這些結果都是大概“靠譜”的,因此該盤面自身的勝率應該等于所有走法中的最優結果(我方盤面取最大值,對手盤面取最小值),因此認為盤面B的勝率是30%。這是一種比較“激進”的信息匯總策略︰當發現了30%勝率的走法時,系統會完全丟棄80%勝率的走法所帶來的信息,選擇全部相信30%勝率的走法。
  而在圍棋程序中,計算機認為對每個盤面的直接靜態評估結果都是不可靠的,但是相信“對該盤面下所有走法的全部評估結果”卻整體上仍然對該盤面的勝率具有指向性。現有圍棋程序一般采用對所有評估結果進行加權平均的方式來體現這種指向性,其中“權重”基于對當前評估結果的可信度進行設定。舉例來說。在圖(b)中,假設對盤面B下兩種走法所直接導致的盤面進行靜態評估的結果勝率分別為30%和80%,而盤面C下的兩種走法勝率分別為50%和40%。因為這4個估計值可能都存在偏差,所以我們並不偏信其中任何一個;另一方面,在偏差沒有系統性地倒向“某一類盤面”或“某一類走法”的前提下,我們有理由相信這4個盤面評估結果具有相同的可信度(或“不可信度”),因此應該具有相同的權重。所以在只知道這4個靜態評估結果的情況下,我們認為盤面B的評估勝率是0.5×30%+0.5×80%=55%,盤面C的評估勝率是0.5×50%+0.5×40%=45%。同時,這樣做出的對B和C的判斷自身仍然有可能存在偏差,所以在以盤面B和C為基礎再評估盤面A時也要考慮到這一點,因此A的評估結果同樣是B和C的結果的再次加權平均0.5×45%+0.5×55%=50%。
  我們看到,這樣根據等權重得到的對A的評估結果實際上是綜合了所有當前已知信息之後給出的一個“模稜兩可”的評估。考慮到“已知信息”本質上的低可靠度,這也許就是我們在這種情況下“應該”得到的答案。當然,這樣一個僅僅基于4次靜態評估的結果並不是計算機給出的最終答案。對于一個給定盤面,我們考察的變化越多,獲取的信息量也越大,因此對這個盤面的評估值也傾向于更可靠,從而這個評估值在參與加權平均時也理應獲得更大的權重。換句話說,我們根據對一個盤面“深思熟慮”的程度來量化對其評估結果的“可信度”,認為一個進行大量分析後得到的評估結果在可信度上優于分析較少的評估結果。這就涉及到如何選擇那些需要進一步深思熟慮的變化的問題。
  相同情況下的不同信息匯總策略。(a)為以國際象棋程序為代表的“激進”策略,取最大(小)值為匯總結果;(b)~(d)為以圍棋程序為代表的“保守”策略,取加權平均值為匯總結果。其中(b)對應評估初期等權重下的結果,如果其中30%的靜態評估正確,則算法經過150次蒙特卡洛采樣後會導向(c)所示結果,否則會導向(d)所示結果。
  概念解釋︰
  圍棋盤由19條橫線和19條豎線組成,共有19×19=361個交叉點。此外,也有13×13、9×9的小棋盤。圍棋子分為黑白兩色,對弈雙方各執一種顏色的棋子,輪流將一枚棋子下在交叉點上。終局時,佔領(圍起)的“地盤”(即其中的交叉點個數)多的一方獲勝。
  空白的交叉點稱為“目”,圍到的地盤又稱為“空”。對弈過程中,棋手經常會“數目”,也就是計算雙方目前所圍的“空”的大小,以此判斷形勢優劣。
  對弈雙方的水平差距較大時,常會采用讓子棋的方式,也就是水平較弱的一方先在棋盤的固定位置放上1~9個子(分別稱為讓先、讓二子、讓三子……),然後雙方再輪流落子。
  “指數級增長”與“EXPTIME-Complete問題”
  指數級增長可算是大規模計算第一大“攔路虎”了。在一個著名的傳說中,國際象棋的發明者印度人塞薩(Sessa)向他的國王請求賞賜,他
說,希望因為發明國際象棋棋盤的第一個格而得到一粒米,因為第二個格得到兩粒米,因為第三格得到四粒米,如此在每後一個格都增加一倍的米量。不識指數級增
長威力的國王欣然答允,甚至還有些責怪塞薩要求太少,然而事後才發現整個國庫的米都倒干淨了仍然無法填滿整個棋盤。故事的結局是,國王惱羞之下偷偷派人把
塞薩殺掉了。學過等比數列的現代人按一按計算器就知道,國王因為這64個棋盤格子總共要支出2^64-1=^19粒米,這據估計已經超出整個人類歷史上產米量的總和!
  回到局勢變化的復雜度問題上。即使10^19這樣的天文數字也“只不過”是一個從當前盤面出發,每次只考慮2種走法,持續64步之後的可
能性空間的大小。對于國際象棋和圍棋這樣的復雜棋類,從初始盤面出發窮盡所有變化的復雜度(也稱窮舉復雜度)更是大得難以想象。信息論創始人克勞德香農在
1950年第一個估計出國際象棋的窮舉復雜度大概在10^120種變化左右,具體數字被後人稱為“香農數”。而圍棋的窮舉復雜度又遠遠超出國際象棋,達到
了驚人的10^360。作為比較,目前可觀測宇宙中的原子總數據估計“只有”10^75個。
  有人會問,為了分析當前盤面一定要窮舉所有未來走勢的可能性嗎?有沒有可能存在一個高效的算法可以在避免遍歷呈指數級增長的可能性空間的
同時仍然對當前盤面做出準確評估呢?答案是,對于國際象棋和圍棋,我們可以從數學上證明,不僅僅是窮舉復雜度,其局勢變化的計算復雜度也必須隨所考慮的步
數呈指數級增長!對于任意一個給定的盤面,我們定義這個盤面的“最優值”為當博弈雙方都下出“完美走法”的情況下導致的最終博弈結果。如果一個盤面的最優
值是“黑棋勝”,那就是說在黑棋自己不出錯的情況下白棋無論如何努力都是必敗的。理論計算機科學家先後在1981年和1983年證明國際象棋和圍棋都屬于
EXPTIME-Complete類問題,這意味著“任何”能正確計算盤面最優值的方法所花費的時間“必然”隨棋盤大小(亦或棋局的平均步數)呈指數級增
長。事實上大部分流行的“雙人零和”棋類的計算復雜度都是指數級的。有一些棋類如西洋跳棋、五子棋,它們的規模足夠小,所以其初始盤面的最優值已經被計算
出來了。但是像國際象棋和圍棋這樣的復雜棋類,計算其初始盤面的最優值,以現在的硬件計算能力看來還遙遙無期。
  零和游戲
  又稱零和博弈(Zero-Sum
Game),是博弈論中的一個概念,指游戲(博弈)雙方是競爭而不是合作關系,或者說是一種“你死我活”的狀態。例如兩人對弈,一方贏,另一方必然是輸,不存在“雙贏”。贏棋得1分,輸棋減1分,兩人得分之和就總是0,所以稱為零和游戲。
  蒙特卡洛樹搜索法
  這種選擇很大程度上跟現有圍棋弈棋系統對盤面靜態評估方法的整體舍棄有關。前面提到,由于人們在設計具有一定通用性的圍棋盤面靜態評估函數的問題上長期止步不前,大概在2002年之後人們開始思考采用另一種完全不同的方式對盤面進行快速評估,這就是蒙特卡洛采樣。
  做為一種通用的計算方法,蒙特卡洛采樣法的思想是當我們在求解一個確定但未知的值的時候,“在概念上”巧妙構造一個隨機過程,使得這個隨機過程的某個數字特征依概率收斂于我們要求的值,然後“在實際操作中”通過對該隨機過程進行采樣來對這個值進行統計估計。
  比如說,一種計算圓周率π的蒙特卡洛方法是,在一個二維坐標系中0≦x≦1和0≦y≦1對應的方形區域里隨機選取若干個點,並判斷每個點(x1,y1)是否落在“以原點為圓心半徑為1的單位圓”內(也即判定
  x12+y12是否小于1)。根據中心極限定理,這些隨機點落在單位圓內的比例依大概率快速趨于π/4。所以我們選取的隨機點數量越多,越有可能得到的一個離的真值更接近的估計。
  相同的“蒙特卡洛”思想也可以用于圍棋盤面評估。前面提到了,每個圍棋盤面都有一個“最優值”,對應于對弈雙方都采用完美走法的情況下該盤面的最終結果。對于圍棋已經證明,計算這個最優值的時間至少隨該盤面到終盤之間的步數呈指數級數增長(平均200步,每步平均增長200倍數量的可能盤面)。既然從理論上無法得到最優值,有沒有可能根據蒙特卡洛思想對整個可能性空間進行某種采樣,然後通過統計估值的方法逼近這個最優值呢?人們對這個問題的思考在2006年終于取得了突破性進展,提出了一種稱為蒙特卡洛樹搜索的動態評估方法。
  需要指出的是,現有的蒙特卡洛樹搜索法雖然能保證大量采樣的結果最終收斂到盤面最優值,但為達到“足夠收斂”所需的采樣次數仍然是隨整個可能性空間的規模指數級增長的。但是在圍棋弈棋系統的實踐中,蒙特卡洛樹搜索在比賽時間受限的情況下確實表現出遠遠超過傳統方法的棋力。最近幾年人們受這一觀察的鼓舞,在選擇策略中加入更多和圍棋相關的專家知識,使得基于蒙特卡洛樹搜索的圍棋弈棋系統水平不斷提高。
  *1有些圍棋軟件會在特定條件下觸發“死活棋判斷”或者“劫爭”模式,但這些優化更像是在特殊情況下的一種特殊戰術,而不是作為一種基本思考模式。
  *2這里“思考深度”定義為對每個變化的展開步數。假設一台機器原本一秒鐘可以考察b^d個變化,對應思考深度為d。增加b倍硬件能力使得機器一秒鐘可以考察b×b^d=b^(d+1)個變化,對應思考深度為d+1。使用αβ剪枝法使得機器僅需考察(b^2d)^(1/2)=b^d個變化就達到和考察b^2d個變化一樣的效果,對應的思考深度為2d。
  *3前面已經強調過了,國際象棋使用的策略只是在“效果上”等價于對一定階段內所有變化的窮舉,而並不在實際運算過程中真的窮舉整個可能性空間。
  *4不僅如此,蒙特卡洛樹搜索方法目前已經作為一種通用的動態評估方法廣泛應用于“通用博弈比賽”(這種比賽要求為事先不知道具體規則的棋類游戲設計對弈程序)。
對《電腦是如何下棋的︰蒙特卡洛樹搜索法》表態
對《電腦是如何下棋的︰蒙特卡洛樹搜索法》發表評論
oooooooooo
oooooooooo
o&o&&&o&& ooooooo
oooooooooooooooooooooooooooooo

我要回帖

更多关于 蒙特卡罗算法 的文章

 

随机推荐