亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 其他策略——殘局庫.htm

?? 象棋程序設計全資料集(介紹編寫象棋程序的方法思路)
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0051)http://www.elephantbase.net/computer/other_egtb.htm -->
<HTML><HEAD><TITLE>其他策略——殘局庫</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb_2312-80">
<META content="MSHTML 6.00.3790.2759" name=GENERATOR></HEAD>
<BODY background=其他策略——殘局庫_files/background.gif>
<DL>
  <DIV align=center>
  <CENTER>
  <DT>《對弈程序基本技術》專題 </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT>  </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT><FONT face=隸書 size=6>殘局庫</FONT> </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT>  </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT><FONT face="Times New Roman">Martin Fierz */ </FONT>文 </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT><FONT face="Times New Roman">* </FONT>瑞士<FONT 
  face="Times New Roman">Windisch</FONT>應用科學學院<FONT 
  face="Times New Roman">(Aargau</FONT>學院<FONT face="Times New Roman">)</FONT> 
  </CENTER></DT></DIV>
  <DT>  
  <DT><FONT face=楷體_GB2312 size=5><STRONG>簡介</STRONG></FONT> 
  <DT>  
  <DT>  殘局庫在很多棋類游戲中扮演著非常重要的角色,例如九人<FONT 
  face="Times New Roman">Morris</FONT>,<FONT 
  face="Times New Roman">Awari</FONT>和西洋跳棋<FONT 
  face="Times New Roman">(Checkers)(</FONT>其中九人<FONT 
  face="Times New Roman">Morris</FONT>已經完全可解了,這要歸功于殘局庫的使用<FONT 
  face="Times New Roman">)</FONT>。在其他棋類中,殘局庫就不那么重要了<FONT 
  face="Times New Roman">(</FONT>例如國際象棋<FONT 
  face="Times New Roman">)</FONT>,而某些棋類制作殘局庫是不現實的<FONT 
  face="Times New Roman">(</FONT>如連四子棋、黑白棋和圍棋<FONT 
  face="Times New Roman">)</FONT>。你是否已經發現這些棋類的差異了?通常只有在盤面上棋子數量很少的情況下,殘局庫才能實現。適用殘局庫有個確切的棋子數量的界限,它取決于棋類的復雜性。有些棋類隨著對局的進行,棋子數量是減少的,那么殘局庫就是可行的;而有些棋類的棋子數量是增加的或者不變的,那么殘局庫就是無法計算的<FONT 
  face="Times New Roman">(</FONT>除非棋類異常簡單<FONT 
  face="Times New Roman">)</FONT>,無論如何殘局庫取決于具體的棋類。例如在國際象棋中,有多達<FONT 
  face="Times New Roman">6</FONT>子的殘局庫<FONT 
  face="Times New Roman">(</FONT>王車兵對王車兵等<FONT 
  face="Times New Roman">)</FONT>,而這種殘局<FONT 
  face="Times New Roman">(</FONT>包括其他不超過<FONT 
  face="Times New Roman">6</FONT>子的殘局<FONT 
  face="Times New Roman">)</FONT>在實戰中不是經常出現的,因此殘局庫對棋力的影響并不是很大。而在<FONT 
  face="Times New Roman">(</FONT>盎格魯<FONT 
  face="Times New Roman">-</FONT>薩克森式的<FONT 
  face="Times New Roman">)</FONT>西洋跳棋里,有多達<FONT 
  face="Times New Roman">8</FONT>子的殘局庫,而<FONT 
  face="Times New Roman">10</FONT>子的殘局庫也已經在計算了,這就意味著在有吃必吃的規則下,很多棋局會很快走到有殘局庫的局面中,因此殘局庫使得西洋跳棋的棋力有了很大的提高。要讓某種棋類完全可解,通常總是要借助于殘局庫的——從起始局面開始向前搜索,結合殘局庫,就能解出這盤棋。<FONT 
  face="Times New Roman">Gasser</FONT>用這種辦法解決了九人<FONT 
  face="Times New Roman">Morris</FONT>,而<FONT 
  face="Times New Roman">Chinook(</FONT>最著名的西洋跳棋程序<FONT 
  face="Times New Roman">)</FONT>的小組正在用這個方法解西洋棋。 
  <DT>  
  <DT><FONT face=楷體_GB2312 size=5><STRONG>殘局庫的不同類型</STRONG></FONT> 
  <DT>  
  <DT>  殘局庫有不同的類型,而它們都可以知道殘局庫中某個特定的局面是贏棋、是輸棋還是和棋。如果這就是殘局庫包含的所有信息,就稱為“勝負和”<FONT 
  face="Times New Roman">(WLD)</FONT>殘局庫;如果知道多少步以后棋局會結束,就稱為“殺棋步數”<FONT 
  face="Times New Roman">(DTM</FONT>,<FONT 
  face="Times New Roman">Distance-to-Mate)</FONT>殘局庫;如果只知道多少步以后會轉換為另一種類型的局面,就稱為“轉換步數”<FONT 
  face="Times New Roman">(DTC</FONT>,<FONT 
  face="Times New Roman">Distance-to-Conversion)</FONT>殘局庫。<FONT 
  face="Times New Roman">WLD</FONT>殘局庫有個問題,即便程序處于勝利局面,也未必能贏下棋局。盡管殘局庫知道某個局面已經是勝利局面,并且知道走哪步能繼續保持勝利局面,但是保持勝利局面的著法可能會距離殺棋更遠,而程序又不知道該選擇哪步保持勝利局面的著法。<FONT 
  color=#0000ff>【譯注:更具體的說明請參閱《</FONT><A 
  href="http://www.elephantbase.net/computer/other_winning.htm" 
  target=_blank><FONT color=#0000ff size=3>勝利局面中的強制過程</FONT></A><FONT 
  color=#0000ff>》一文。】</FONT><FONT 
  face="Times New Roman">DTM</FONT>殘局庫顯然在這個方面做得比較好,因為你只要選擇<FONT 
  face="Times New Roman">DTM(</FONT>轉換步數<FONT 
  face="Times New Roman">)</FONT>最少的那個保持勝利局面的著法。<FONT 
  face="Times New Roman">DTC</FONT>殘局庫也能夠在勝利局面下走出取得勝利的著法,但程序走的步數可能會比必要的步數多。至今還有人使用<FONT 
  face="Times New Roman">WLD</FONT>殘局庫,你可能很懷疑。原因很簡單,儲存勝負和的信息只需要很小的空間,如果殘局庫比計算機的存儲器大得多<FONT 
  face="Times New Roman">(</FONT>通常如此<FONT 
  face="Times New Roman">)</FONT>,那么殘局庫有很多部分可以放入存儲器。從磁盤上讀取殘局庫不是一個好的選擇,因為磁盤跟存儲器比起來慢得多。 

  <DT>  
  <DT><FONT face=楷體_GB2312 size=5><STRONG>殘局庫的生成</STRONG></FONT> 
  <DT>  
  <DT>  殘局庫的生成是一個相對比較簡單的過程,盡管有很多細節,但這不影響生成過程的理解。殘局庫生成的基本算法稱為“后退式分析”<FONT 
  face="Times New Roman">(Retrograde Analysis)</FONT>,它是由<FONT 
  face="Times New Roman">Ken Thompson</FONT>發明的<FONT 
  face="Times New Roman">(</FONT>至少是首先使用的<FONT 
  face="Times New Roman">)</FONT>。以下就是整個過程: 
  <DT>  以我們要生成“王車對王”的殘局為例,你要從“索引函數”<FONT face="Times New Roman">(Index 
  Function)</FONT>開始,每個可能的王車對王局面都有一個數字。索引函數必須能倒過來映射到以數字<FONT 
  face="Times New Roman"><EM>x</EM></FONT>為代表的局面。理想情況下,索引函數會把所有<FONT 
  face="Times New Roman"><EM>N</EM></FONT>個合理的王車對王局面映射為<FONT 
  face="Times New Roman">0, 1, ..., <EM>N</EM> </FONT><FONT 
  face=Symbol>-</FONT><FONT face="Times New Roman"> 
  1</FONT>。如果是這種情況,我們稱之為“無間隙”<FONT 
  face="Times New Roman">(Gapless)</FONT>的索引。一般情況下,索引函數把所有合理局面編號為<FONT 
  face="Times New Roman">0, 1, ..., <EM>M</EM> </FONT><FONT 
  face=Symbol>-</FONT><FONT face="Times New Roman"> 1</FONT>,而<FONT 
  face="Times New Roman"><EM>M</EM> &gt; <EM>N</EM></FONT>,我們稱其為“有間隙”<FONT 
  face="Times New Roman">(Gapped)</FONT>的索引。有間隙的索引往往更簡單,因為構造一個有間隙的索引函數要比無間隙的索引函數簡單得多。后退式分析需要的存儲器跟索引號的最大值成正比,因此如果構造了一個<FONT 
  face="Times New Roman"><EM>M</EM></FONT>比<FONT 
  face="Times New Roman"><EM>N</EM></FONT>大得多的索引函數,那么你會浪費很多存儲器。 
  <DT>  一旦有了索引函數,后退式分析算法就只要做以下幾件事: 
  <DT>  
  <DT>  <FONT face="Times New Roman">(1) </FONT>初始化:生成兩個長度都為<FONT 
  face="Times New Roman">N</FONT>的數組,分別存放結果<FONT 
  face="Times New Roman">(WIN/LOSS/DRAW</FONT>,代表勝負和<FONT 
  face="Times New Roman">)</FONT>和<FONT 
  face="Times New Roman">DTC</FONT>。把所有的結果都設成<FONT 
  face="Times New Roman">UNKNOWN(</FONT>代表未知<FONT 
  face="Times New Roman">)</FONT>,所有的<FONT 
  face="Times New Roman">DTC</FONT>計數器都設成<FONT 
  face="Times New Roman">0</FONT>。你會發現,你需要<FONT 
  face="Times New Roman">4</FONT>個數來表示結果,因此數組的數據類型是<FONT 
  face="Times New Roman">4</FONT>個值的數<FONT face="Times New Roman">(</FONT>即<FONT 
  face="Times New Roman">2</FONT>位<FONT 
  face="Times New Roman">)</FONT>。當然,還有些根本不存在的局面,你需要自行處理。 
  <DT>  <FONT face="Times New Roman">(2) 
  </FONT>殺棋遍歷:逐一檢查每個局面是否是殺棋局面,如果是的,就把這個局面的結果設成<FONT 
  face="Times New Roman">LOSS</FONT>,表示即將走的一方輸了。如果棋類允許“逼和”的存在,也必須作逼和的檢查,并賦值為<FONT 
  face="Times New Roman">DRAW</FONT>。把每個<FONT 
  face="Times New Roman">UNKNOWN</FONT>局面的<FONT 
  face="Times New Roman">DTC</FONT>計數器加<FONT face="Times New Roman">1</FONT>。 
  <DT>  <FONT face="Times New Roman">(3) </FONT>對每個<FONT 
  face="Times New Roman">UNKNOWN</FONT>的局面,生成所有后續局面并看它們都有哪些結果。只要其中有一個后續局面是<FONT 
  face="Times New Roman">LOSS</FONT>,就把這個局面設成<FONT 
  face="Times New Roman">WIN</FONT>。如果所有后續局面都是<FONT 
  face="Times New Roman">WIN</FONT>,就把這個局面設成<FONT 
  face="Times New Roman">LOSS</FONT>。如果你遍歷了所有局面但沒有一個局面能設<FONT 
  face="Times New Roman">WIN</FONT>或<FONT 
  face="Times New Roman">LOSS</FONT>的,就跳到第<FONT 
  face="Times New Roman">5</FONT>步。 
  <DT>  <FONT face="Times New Roman">(4) </FONT>把每個<FONT 
  face="Times New Roman">UNKNOWN</FONT>局面的<FONT 
  face="Times New Roman">DTC</FONT>計數器加<FONT 
  face="Times New Roman">1</FONT>,并回到第<FONT face="Times New Roman">3</FONT>步。 
  <DT>  <FONT face="Times New Roman">(5) </FONT>把每個<FONT 
  face="Times New Roman">UNKNOWN</FONT>局面設成<FONT 
  face="Times New Roman">DRAW</FONT>,算法就結束了。 
  <DT>  
  <DT>  這個算法顯然是確保完成的。在第<FONT 
  face="Times New Roman">3</FONT>步里當吃子發生時,你就要讀取少一個子的殘局庫。很明顯,沒有王車對王的殘局庫,你無法獨立地生成王車對王馬的殘局庫。如果你只要生成<FONT 
  face="Times New Roman">WLD</FONT>殘局庫,就可以不要<FONT 
  face="Times New Roman">DTC</FONT>計數器。如果你需要生成<FONT 
  face="Times New Roman">DTM</FONT>殘局庫,你就需要在局面轉換時傳遞<FONT 
  face="Times New Roman">DTM</FONT>值。以上算法有很多優化方案,但是我不想展開討論,最基本的算法已經非常簡單明了了,為什么再舍棄它呢? 

  <DT>  明白了整個算法后,你就知道為什么叫做“后退式”了——該算法總是從已知局面<FONT 
  face="Times New Roman">(</FONT>殺棋或能轉換為低級別的殘局庫局面<FONT 
  face="Times New Roman">)</FONT>向后找,按照上述算法的第<FONT 
  face="Times New Roman">3</FONT>和第<FONT 
  face="Times New Roman">4</FONT>步,每次遍歷就后退半步。我們拿一個局面舉例說明,白王在<FONT 
  face="Times New Roman">g3</FONT>,黑王在<FONT 
  face="Times New Roman">h1</FONT>,白車在<FONT 
  face="Times New Roman">a2</FONT>,黑先走<FONT color=#0000ff>【</FONT><FONT 
  face="Times New Roman" color=#0000ff>8/8/8/8/8/6K1/R7/7k b - - 0 1</FONT><FONT 
  color=#0000ff>】</FONT>。在遍歷殺棋局面時,按照上述算法找到白王在<FONT 
  face="Times New Roman">g3</FONT>,白車在<FONT 
  face="Times New Roman">a1</FONT>,黑王在<FONT 
  face="Times New Roman">g1</FONT>,黑先走<FONT color=#0000ff>【</FONT><FONT 
  face="Times New Roman" color=#0000ff>8/8/8/8/8/6K1/8/R5k1 b - - 0 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频欧美区| 北岛玲一区二区三区四区| 蜜桃一区二区三区在线观看| 久久精品久久99精品久久| 国产成人精品影视| 日本高清不卡一区| 日韩一区二区免费高清| www.色综合.com| 成人午夜视频福利| 制服丝袜中文字幕亚洲| 欧美国产精品一区| 午夜精品久久久久久久久久| 精品一区二区免费看| 91老师片黄在线观看| 日韩一区二区三区四区五区六区| www久久久久| 一区在线中文字幕| 国内精品在线播放| 欧美女孩性生活视频| 中文在线资源观看网站视频免费不卡| 一区二区三区**美女毛片| 美女视频免费一区| 日本高清不卡在线观看| 久久综合五月天婷婷伊人| 亚洲一区二区在线免费看| 成人深夜在线观看| 久久综合色一综合色88| 日日夜夜免费精品| 欧美亚洲免费在线一区| 国产日韩欧美电影| 韩国欧美一区二区| 日韩免费高清视频| 天堂在线亚洲视频| 日本韩国视频一区二区| 国产精品三级在线观看| 激情亚洲综合在线| 91麻豆精品国产91久久久使用方法| 亚洲视频在线一区| eeuss鲁片一区二区三区| 欧美精品一区二区三区四区 | 亚洲欧洲国产专区| 国产精品2024| 久久一夜天堂av一区二区三区 | 91婷婷韩国欧美一区二区| 精品福利一区二区三区 | 中文字幕一区二区三区四区 | 亚洲综合成人网| 色婷婷久久一区二区三区麻豆| 国产喂奶挤奶一区二区三区| 国内一区二区视频| 久久女同精品一区二区| 国产一区二区在线看| 精品久久久久久久人人人人传媒| 亚洲成人一区二区| 在线观看免费视频综合| 一区二区三区视频在线观看| 色噜噜偷拍精品综合在线| 亚洲精品中文字幕在线观看| 一本到三区不卡视频| 一区二区三区影院| 欧美日韩免费不卡视频一区二区三区| 亚洲三级在线播放| 欧洲一区在线观看| 五月婷婷综合激情| 亚洲精品一区二区三区蜜桃下载 | 国产一区二区免费在线| 欧美一区2区视频在线观看| 蜜臀av国产精品久久久久| 精品女同一区二区| 国产乱码精品一区二区三| 欧美激情中文不卡| 在线视频综合导航| 久久99精品视频| 国产精品热久久久久夜色精品三区| 国产成人精品三级| 一区二区不卡在线视频 午夜欧美不卡在| 国产伦精品一区二区三区在线观看| 久久先锋资源网| 91日韩精品一区| 强制捆绑调教一区二区| 欧美国产日韩在线观看| 在线观看免费一区| 精品一二三四区| 亚洲欧美电影一区二区| 日韩免费在线观看| 99久久精品国产麻豆演员表| 亚洲成人资源在线| 欧美韩国日本不卡| 欧洲一区二区三区免费视频| 久久精品国产**网站演员| 亚洲欧洲日产国产综合网| 国产v日产∨综合v精品视频| 国产精品久久久久毛片软件| 欧美视频中文字幕| 国产麻豆91精品| 亚洲va韩国va欧美va| 国产人成一区二区三区影院| 欧美视频一区二区三区| 国产久卡久卡久卡久卡视频精品| 亚洲视频小说图片| 欧美成人官网二区| 欧美日韩精品欧美日韩精品一综合| 国产精品88888| 天天综合色天天| 亚洲精品视频免费看| 精品sm在线观看| 欧美日韩亚洲综合一区二区三区| 久久99久久精品| 欧美伊人精品成人久久综合97| 亚洲日本护士毛茸茸| 欧美精品高清视频| 99re这里只有精品首页| 国产一区二区在线观看视频| 亚洲一区二区四区蜜桃| 欧美精品一区二区三区蜜桃| 欧美高清视频在线高清观看mv色露露十八 | 风间由美中文字幕在线看视频国产欧美| 久久久美女毛片| 日韩欧美一二三| 欧美一区二区在线播放| 在线观看日韩av先锋影音电影院| 成人免费三级在线| 国产精品一二三在| 久久精品国产999大香线蕉| 日韩—二三区免费观看av| 亚洲黄一区二区三区| 欧美一级午夜免费电影| 欧美理论片在线| 欧美亚洲自拍偷拍| 97se亚洲国产综合自在线观| 国产在线国偷精品免费看| 免费美女久久99| 美女被吸乳得到大胸91| 免费在线观看一区二区三区| 日韩影视精彩在线| 日韩和的一区二区| 青青草国产精品97视觉盛宴| 亚洲www啪成人一区二区麻豆| 亚洲女人的天堂| 欧美成人a∨高清免费观看| 91麻豆精品国产91久久久| 在线电影欧美成精品| 欧美一级二级在线观看| 欧美人xxxx| 日韩精品一区二区三区视频播放 | 亚洲chinese男男1069| 亚洲成av人综合在线观看| 亚洲一区在线播放| 性做久久久久久久免费看| 青青草成人在线观看| 国产精品123区| gogogo免费视频观看亚洲一| 99精品在线观看视频| 国产一区三区三区| 国产福利一区在线| 91香蕉视频mp4| 欧美日本免费一区二区三区| 精品1区2区3区| 日韩欧美色电影| 国产精品污www在线观看| 亚洲精选在线视频| 久久精品国产精品亚洲综合| 麻豆国产欧美一区二区三区| 国内外成人在线视频| 亚洲激情五月婷婷| 青娱乐精品在线视频| 国产麻豆91精品| 一本久道中文字幕精品亚洲嫩| 色8久久精品久久久久久蜜| 精品国精品自拍自在线| 亚洲色图欧美在线| 男男gaygay亚洲| 91在线观看地址| 日韩一区二区精品在线观看| 亚洲天天做日日做天天谢日日欢 | 高清在线成人网| 日韩一区二区影院| 亚洲欧美激情插| 国产精品资源站在线| 欧美日韩一区三区四区| 亚洲欧美日韩国产成人精品影院| 日韩高清一区在线| 91色porny| 国产欧美一区二区在线| 亚洲777理论| 欧美日韩视频专区在线播放| 亚洲国产精品ⅴa在线观看| 日韩成人免费在线| 一本久久精品一区二区| 欧美xxxxx裸体时装秀| 蜜乳av一区二区| 欧美日韩一区二区三区在线| 国产精品拍天天在线| 久久se精品一区精品二区| 欧美人妖巨大在线| 一区二区三区欧美亚洲| 丰满少妇久久久久久久| 欧美成人精品1314www| 亚洲第四色夜色| 宅男噜噜噜66一区二区66|