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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 高級搜索方法——靜態(tài)搜索.htm

?? 象棋程序設(shè)計(jì)全資料集(介紹編寫象棋程序的方法思路)
?? HTM
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0059)http://www.elephantbase.net/computer/advanced_quiescent.htm -->
<HTML><HEAD><TITLE>高級搜索方法——靜態(tài)搜索</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb_2312-80">
<META content="MSHTML 6.00.3790.536" name=GENERATOR></HEAD>
<BODY background=高級搜索方法——靜態(tài)搜索_files/background.gif>
<DL>
  <DIV align=center>
  <CENTER>
  <DT>《對弈程序基本技術(shù)》專題 </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT>  </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT><FONT face=隸書 size=6>靜態(tài)搜索</FONT> </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT>  </CENTER></DT></DIV>
  <DIV align=center>
  <CENTER>
  <DT><FONT face="Times New Roman">Bruce Moreland (</FONT><A 
  href="mailto:brucemo@seanet.com"><FONT 
  face="Times New Roman">brucemo@seanet.com</FONT></A><FONT 
  face="Times New Roman">) / </FONT>文 </CENTER></DT></DIV>
  <DT>  
  <DT>  國際象棋中會有很多強(qiáng)制的應(yīng)對。如果有人用馬吃掉你的象,那么你最好吃還他的馬。 
  <DT>  <FONT 
  face="Times New Roman">Alpha-Beta</FONT>搜索不是特別針對這種情況的。你把深度參數(shù)傳遞給函數(shù),當(dāng)深度到達(dá)零就做完了,即使一方的后被捉。 

  <DT>  一個應(yīng)對的方法稱為“靜態(tài)搜索”<FONT face="Times New Roman">(Quiescent 
  Search)</FONT>。當(dāng)<FONT 
  face="Times New Roman">Alpha-Beta</FONT>用盡深度后,通過調(diào)用靜態(tài)搜索來代替調(diào)用“<FONT 
  face="Times New Roman">Evaluate()</FONT>”。這個函數(shù)也對局面作評價,只是避免了在明顯有對策的情況下看錯局勢。 
  <DT>  簡而言之,靜態(tài)搜索就是應(yīng)對可能的動態(tài)局面的搜索。 
  <DT>  典型的靜態(tài)搜索只搜索吃子著法。這會引發(fā)一個問題,因?yàn)樵趪H象棋中吃子通常不是強(qiáng)制的。如果局勢很平靜,而且你面對的吃子只有<FONT 
  face="Times New Roman">QxP(</FONT>后吃兵,導(dǎo)致丟后<FONT 
  face="Times New Roman">)</FONT>,你不會強(qiáng)迫后去吃兵的,所以靜態(tài)搜索不應(yīng)該強(qiáng)迫吃子。 
  <DT>  因此,走子一方可以選擇是吃子還是不吃子。這就好比打撲克牌時可以只用手中的牌而不去抓牌<FONT 
  color=#0000ff>【譯注:術(shù)語“</FONT><FONT face="Times New Roman" 
  color=#0000ff>Standing Pat</FONT><FONT color=#0000ff>”】</FONT>。 
  <DT>  代碼如下: 
  <DD>  
  <DD>int Quies(int alpha, int beta) { 
  <DD> val = Evaluate(); 
  <DD> if (val &gt;= beta) { 
  <DD>  return beta; 
  <DD> } 
  <DD> if (val &gt; alpha) { 
  <DD>  alpha = val; 
  <DD> } 
  <DD> GenerateGoodCaptures(); 
  <DD> while (CapturesLeft()) { 
  <DD>  MakeNextCapture(); 
  <DD>  val = -Quies(-beta, -alpha); 
  <DD>  UnmakeMove(); 
  <DD>  if (val &gt;= beta) { 
  <DD>   return beta; 
  <DD>  } 
  <DD>  if (val &gt; alpha) { 
  <DD>   alpha = val; 
  <DD>  } 
  <DD> } 
  <DD> return alpha; 
  <DD>} 
  <DD>  
  <DT><FONT size=3>  這看上去和“</FONT><A 
  href="http://www.elephantbase.net/computer/search_alphabeta.htm" 
  target=_blank><FONT face="Times New Roman" size=3>Alpha-Beta</FONT></A><FONT 
  size=3>”非常相似,但是區(qū)別是很明顯的。這個函數(shù)調(diào)用靜態(tài)評價,如果評價好得足以截?cái)喽恍枰噲D吃子時,就馬上截?cái)?lt;/FONT><FONT 
  face="Times New Roman" size=3>(</FONT><FONT size=3>返回</FONT><FONT 
  face="Times New Roman" size=3>Beta)</FONT><FONT 
  size=3>。如果評價不足以產(chǎn)生截?cái)啵潜?lt;/FONT><FONT face="Times New Roman" 
  size=3>Alpha</FONT><FONT size=3>好,那么就更新</FONT><FONT face="Times New Roman" 
  size=3>Alpha</FONT><FONT size=3>來反映靜態(tài)評價。</FONT> 
  <DT>  然后嘗試吃子著法,如果其中任何一個產(chǎn)生截?cái)啵阉骶椭兄埂?赡芩鼈儧]有一個是好的,這也沒問題。 
  <DT>  這個函數(shù)有幾個可能的結(jié)果:可能評價函數(shù)會返回足夠高的數(shù)值,使得函數(shù)通過<FONT 
  face="Times New Roman">Beta</FONT>截?cái)囫R上返回;也可能某個吃子產(chǎn)生<FONT 
  face="Times New Roman">Beta</FONT>截?cái)啵豢赡莒o態(tài)評價比較壞,而任何吃子著法也不會更好;或者可能任何吃子都不好,但是靜態(tài)評價只比<FONT 
  face="Times New Roman">Alpha</FONT>高一點(diǎn)點(diǎn)。 
  <DT>  注意這里靜態(tài)搜索中沒有傳遞“深度”這個參數(shù)。正因?yàn)槿绱耍绻业胶玫某宰樱蛘哂幸幌盗羞B續(xù)的強(qiáng)制性吃子的著法,那么搜索可能會非常深。 
  <DT>  我的示范程序不檢測將軍,因此它不能找到殺棋。先詢問要走的一方是否被將軍,這是可以嘗試的做法。如果被將軍了,就不能用“<FONT 
  face="Times New Roman">Evaluate()</FONT>”來嘗試截?cái)啵鴳?yīng)該以一層的深度調(diào)用<FONT 
  face="Times New Roman">Alpha-Beta</FONT>。例如: 
  <DD>  
  <DD>int Quies(int alpha, int beta) { 
  <DD> if (InCheck()) { 
  <DD>  return AlphaBeta(1, alpha, beta); 
  <DD> } 
  <DD> val = Evaluate(); 
  <DD> if (val &gt;= beta) { 
  <DD>  return beta; 
  <DD> } 
  <DD> if (val &gt; alpha) { 
  <DD>  alpha = val; 
  <DD> } 
  <DD> GenerateGoodCaptures(); 
  <DD> while (CapturesLeft()) { 
  <DD>  MakeNextCapture(); 
  <DD>  val = -Quies(-beta, -alpha); 
  <DD>  UnmakeMove(); 
  <DD>  if (val &gt;= beta) { 
  <DD>   return beta; 
  <DD>  } 
  <DD>  if (val &gt; alpha) { 
  <DD>   alpha = val; 
  <DD>  } 
  <DD> } 
  <DD> return alpha; 
  <DD>} 
  <DT>  
  <DT>  這個版本會找到帶有連續(xù)吃子的殺棋。至于用哪個版本,取決于個人喜好和測試結(jié)果。 
  <DT>  “好的”吃子的界定也是仁者見仁智者見智的。如果你允許任何吃子,并且以任何原始的順序來搜索,那么你會降低搜索效率,并且導(dǎo)致靜態(tài)搜索的膨脹,從而大幅度降低搜索深度,并使程序崩潰。 

  <DT>  有一些簡單的做法可以避免靜態(tài)搜索的膨脹。 
  <DT>  
  <DT><A name=MVVLVA></A><FONT face=Arial size=5><STRONG>MVV/LVA</STRONG></FONT> 

  <DT>  
  <DT>  <FONT face="Times New Roman">MVV/LVA </FONT>意思是“最有價值的受害者<FONT 
  face="Times New Roman">/</FONT>最沒價值的攻擊者”<FONT face="Times New Roman">(Most 
  Valuable Victim/Least Valuable 
  Attacker)</FONT>。這是一個應(yīng)用上非常簡單的著法排序技巧,從而最先搜索最好的吃子著法。這個技術(shù)假設(shè)最好的吃子是吃到最大的子。如果不止一個棋子能吃到最大的子,那么假設(shè)用最小的子去吃是最好的。 

  <DT>  這就意味者<FONT face="Times New Roman">PxQ(</FONT>兵吃后<FONT 
  face="Times New Roman">)</FONT>首先考慮<FONT 
  face="Times New Roman">(</FONT>假設(shè)王的將軍另外處理<FONT 
  face="Times New Roman">)</FONT>。接下來是<FONT 
  face="Times New Roman">NxQ</FONT>或<FONT 
  face="Times New Roman">BxQ</FONT>,然后是<FONT 
  face="Times New Roman">RxQ</FONT>、<FONT 
  face="Times New Roman">QxQ</FONT>、<FONT 
  face="Times New Roman">KxQ</FONT>。接下來是<FONT 
  face="Times New Roman">PxR</FONT>、<FONT 
  face="Times New Roman">B/NxR</FONT>、<FONT 
  face="Times New Roman">RxR</FONT>、<FONT 
  face="Times New Roman">QxR</FONT>、<FONT face="Times New Roman">KxR</FONT>,等等。 
  <DT>  這個工作總比不做要好,但是很明顯有很嚴(yán)重的問題。即使車被保護(hù)著,<FONT 
  face="Times New Roman">RxR</FONT>仍舊排在<FONT 
  face="Times New Roman">PxB</FONT>的前面。 
  <DT>  <FONT face="Times New Roman">MVV/LVA 
  </FONT>可以解決靜態(tài)搜索膨脹的問題,但是它仍然留給你比較龐大的靜態(tài)搜索樹。 
  <DT>  <FONT face="Times New Roman">MVV/LVA 
  </FONT>的優(yōu)勢在于它實(shí)現(xiàn)起來非常方便,而且可以達(dá)到很高的<FONT face="Times New Roman">NPS</FONT>值<FONT 
  face="Times New Roman">(</FONT>每秒搜索的結(jié)點(diǎn)數(shù)<FONT 
  face="Times New Roman">)</FONT>。它的缺點(diǎn)是搜索效率低——你花大量的時間來評估吃虧的吃子,所以你的搜索不會很深。 
  <DT>  
  <DT><A name=SEE></A><FONT face=Arial size=5><STRONG>SEE</STRONG></FONT> 
  <DT>  
  <DT>  <FONT face="Times New Roman">SEE </FONT>意思是“靜態(tài)交換評價”<FONT 
  face="Times New Roman">(Static Exchange Evaluation)</FONT>。它比 <FONT 
  face="Times New Roman">MVV/LVA </FONT>更復(fù)雜,但是著法排序更準(zhǔn)確,從而很多吃子都不必考慮。 
  <DT>  在 <FONT face="Times New Roman">MVV/LVA </FONT>中你無法去掉<FONT 
  face="Times New Roman">QxP</FONT>的著法,因?yàn)楹芸赡鼙菦]保護(hù)的,這就意味著<FONT 
  face="Times New Roman">QxP</FONT>是好的著法。當(dāng)然,如果兵是保護(hù)的,我不相信你還能在搜索這步時有什么好的發(fā)現(xiàn)。用了 
  <FONT face="Times New Roman">SEE </FONT>后,如果<FONT 
  face="Times New Roman">QxP</FONT>是吃虧的著法,你就可以把它挑出來,然后在吃子的順序里把它排在最后,或簡單地把它裁剪掉。 
  <DT>  現(xiàn)在我還沒有 <FONT face="Times New Roman">SEE 
  </FONT>的示范代碼,你可以設(shè)計(jì)一個處理吃子的過程,然后根據(jù)它看上去能得到的價值進(jìn)行排序。<FONT 
  color=#0000ff>【當(dāng)考慮吃子著法時,需要考慮能吃到的該子的所有攻擊子,也要保護(hù)該子的所有防守子,因此處理吃子的過程是相當(dāng)復(fù)雜的。】</FONT> 

  <DT>  <FONT face="Times New Roman">SEE 
  </FONT>能讓你非常有效地裁剪掉壞的著法,很多重要的吃子不會被錯誤地裁剪,并且能改進(jìn)著法的順序。你能做的另一件事是,如果著法看起來還不算充分好,那么你可以裁剪掉這些好的著法。如果你領(lǐng)先一個車,那么得一個兵的吃子或許不值得在靜態(tài)搜索中嘗試。 

  <DT>  我很懷疑用 <FONT face="Times New Roman">SEE </FONT>的程序能比相同的但用了 <FONT 
  face="Times New Roman">MVV/LVA </FONT>的程序強(qiáng)。問題在于代碼的編寫上,需要很好地設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),才能讓 <FONT 
  face="Times New Roman">SEE </FONT>變得有效。 
  <DT>  
  <DT><FONT face=楷體_GB2312 size=5><STRONG>靜態(tài)搜索不是完美的</STRONG></FONT> 
  <DT>  
  <DT>  靜態(tài)搜索極有可能會犯錯誤。這是一個不幸的現(xiàn)實(shí),但是它更多地在搜索看上去非常愚蠢<FONT 
  face="Times New Roman">(</FONT>例如一層的搜索,它根本不會是非常好的<FONT 
  face="Times New Roman">)</FONT>的情況下會犯錯誤,因此這不是一個嚴(yán)重的問題。 
  <DT>  如果可能用更準(zhǔn)確的靜態(tài)搜索而不降低速度,那么我肯定這個程序會比以前更強(qiáng)。但是我們必須明白的是,你在耗費(fèi)時間的前提下試圖讓靜態(tài)搜索更準(zhǔn)確,需要找到平衡點(diǎn)。如果為了讓靜態(tài)搜索更聰明,你花費(fèi)了幾層完全搜索的時間,那么這就不值得讓它更聰明了。 

  <DT>  
  <DT>  原文:<A href="http://www.seanet.com/~brucemo/topics/quiescent.htm" 
  target=_blank><FONT 
  face="Times New Roman">http://www.seanet.com/~brucemo/topics/quiescent.htm</FONT></A> 

  <DT>  譯者:黃晨 <FONT face="Times New Roman">(</FONT><A 
  href="mailto:webmaster@elephantbase.net"><FONT 
  face="Times New Roman">webmaster@elephantbase.net</FONT></A><FONT 
  face="Times New Roman">)</FONT> 
  <DT>  類型:全譯加譯注 </DT></DL>
<DIR>
<LI>上一篇 <A 
href="http://www.elephantbase.net/computer/advanced_intro2.htm">高級搜索方法——簡介<FONT 
face="Times New Roman">(</FONT>二<FONT face="Times New Roman">)</FONT></A> 
<LI>下一篇 <A 
href="http://www.elephantbase.net/computer/advanced_nullmove.htm">高級搜索方法——空著裁剪</A> 

<LI>返 回 <A href="http://www.elephantbase.net/computer.htm">象棋百科全書——電腦象棋</A> 
</LI></DIR>
<DIV align=center>
<CENTER>
<TABLE border=0>
  <TBODY>
  <TR>
    <TD>
      <P align=center><A href="http://www.elephantbase.net/" target=_blank><IMG 
      height=31 src="高級搜索方法——靜態(tài)搜索_files/elephantbase.gif" width=88 
      border=0></A></P></TD></TR>
  <TR>
    <TD><A href="http://www.elephantbase.net/" target=_blank><FONT face=Arial 
      size=2><STRONG>www.elephantbase.net</STRONG></FONT></A></TD></TR></TBODY></TABLE></CENTER></DIV></BODY></HTML>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区爱爱| 91偷拍与自偷拍精品| 3d动漫精品啪啪一区二区竹菊| 亚洲高清免费视频| 欧美久久一二区| 久久精品国产亚洲5555| 久久久综合九色合综国产精品| 国产精品亚洲成人| 亚洲少妇中出一区| 欧美人与z0zoxxxx视频| 激情亚洲综合在线| 中文字幕一区二区三区av| 欧美亚洲国产怡红院影院| 亚洲一区在线免费观看| 欧美肥妇bbw| 黄页视频在线91| 亚洲欧洲三级电影| 欧美另类久久久品| 国产一区二区久久| 亚洲自拍偷拍av| 精品国产乱码久久久久久闺蜜| 国产成人亚洲综合a∨婷婷| 亚洲精品视频观看| 日韩视频不卡中文| av电影在线观看一区| 丝袜诱惑亚洲看片| 中文字幕 久热精品 视频在线 | 成人黄色国产精品网站大全在线免费观看 | 久久99久久久久| 国产校园另类小说区| 91久久久免费一区二区| 蜜桃av噜噜一区二区三区小说| 日本一二三不卡| 欧美美女bb生活片| 成人app网站| 美女视频黄频大全不卡视频在线播放| 欧美激情综合网| 91精品国产综合久久香蕉的特点| 国产69精品久久久久毛片| 午夜国产精品一区| 亚洲欧美一区二区三区国产精品 | 色婷婷综合中文久久一本| 精品一区二区影视| 亚洲在线视频网站| 国产精品久久久久精k8| jlzzjlzz国产精品久久| 中文在线资源观看网站视频免费不卡| 久久精品国产99国产精品| 亚洲欧美aⅴ...| 久久久电影一区二区三区| 欧美日韩在线观看一区二区| 大胆亚洲人体视频| 美美哒免费高清在线观看视频一区二区 | 性欧美疯狂xxxxbbbb| 中文文精品字幕一区二区| 日韩欧美国产wwwww| 欧美丝袜自拍制服另类| 99riav一区二区三区| 国产精品亚洲一区二区三区在线 | 色婷婷av一区| 成人av在线播放网址| 精品一区二区日韩| 日本成人在线电影网| 亚洲第一二三四区| 夜夜操天天操亚洲| 亚洲欧洲三级电影| 国产精品热久久久久夜色精品三区| 精品国内二区三区| 精品国产乱码久久久久久浪潮 | 激情五月播播久久久精品| 日本少妇一区二区| 日韩成人精品在线观看| 天天射综合影视| 亚洲va中文字幕| 午夜婷婷国产麻豆精品| 亚洲国产va精品久久久不卡综合| 亚洲综合网站在线观看| 亚洲综合一区二区| 亚洲午夜视频在线观看| 亚洲精品成人悠悠色影视| 一区二区欧美精品| 亚洲va中文字幕| 免费高清在线一区| 免费成人在线网站| 久久se精品一区精品二区| 国产一区二区三区黄视频 | 日韩精品一区二区三区视频播放| 日韩一区二区中文字幕| 日韩一区二区三| 久久色视频免费观看| 欧美国产国产综合| 亚洲色图都市小说| 亚洲成人午夜影院| 美国毛片一区二区| 国产一区二区免费在线| av在线综合网| 欧美日韩一区久久| 欧美成人午夜电影| 国产欧美日韩在线| 中文字幕制服丝袜成人av| 亚洲综合小说图片| 久久国产精品99精品国产| 国产成人免费网站| 91久久精品日日躁夜夜躁欧美| 欧美色欧美亚洲另类二区| 日韩视频在线一区二区| 欧美韩国日本一区| 亚洲综合无码一区二区| 麻豆精品一区二区三区| 成人国产精品免费网站| 欧美色视频在线| 久久久精品一品道一区| 亚洲影视在线观看| 另类调教123区| 91网站在线播放| 日韩欧美美女一区二区三区| 国产精品欧美一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 91精品91久久久中77777| 欧美久久婷婷综合色| 久久久精品综合| 偷拍自拍另类欧美| 福利一区二区在线观看| 欧美精品乱码久久久久久按摩| 国产视频一区二区在线观看| 亚洲综合在线电影| 国产成人亚洲综合a∨婷婷| 欧美日韩一区二区三区免费看| 久久精品无码一区二区三区| 一区二区久久久| 国产精品一二三在| 欧美久久一区二区| 亚洲男人的天堂在线观看| 精一区二区三区| 欧美日韩成人一区| 国产精品久久久久久久久免费桃花| 日本不卡视频在线| 欧美综合视频在线观看| 亚洲国产精品高清| 精品一区二区三区在线观看| 在线免费观看视频一区| 中文无字幕一区二区三区| 蓝色福利精品导航| 欧美老人xxxx18| 亚洲精品亚洲人成人网在线播放| 国产成人啪免费观看软件| 日韩免费福利电影在线观看| 亚洲五码中文字幕| 色婷婷精品久久二区二区蜜臂av| 日本一区二区三区在线不卡| 久久se精品一区精品二区| 欧美一区二区三区在线看| 亚洲国产欧美一区二区三区丁香婷| 成人激情黄色小说| 国产欧美一区二区三区沐欲| 国产在线视频一区二区三区| 欧美二区三区的天堂| 亚洲高清免费视频| 欧美午夜精品免费| 亚洲男人电影天堂| 色哟哟精品一区| 亚洲宅男天堂在线观看无病毒| 99re成人精品视频| 亚洲精品中文在线观看| 99re这里只有精品视频首页| 最新热久久免费视频| 99亚偷拍自图区亚洲| 日本va欧美va精品| 欧美一区中文字幕| 日韩成人免费电影| 日韩三级.com| 精品在线一区二区三区| 精品久久久久久久久久久院品网 | 亚洲国产精品传媒在线观看| 丰满白嫩尤物一区二区| 中文字幕成人网| 91美女在线看| 亚洲成人一二三| 欧美一级片在线| 国产在线精品一区二区不卡了| 久久青草国产手机看片福利盒子 | 久久99久久久欧美国产| 久久麻豆一区二区| 高清不卡一区二区在线| 中文字幕一区av| 欧美日韩国产另类一区| 美国欧美日韩国产在线播放| 精品国产人成亚洲区| 成人精品视频.| 亚洲国产裸拍裸体视频在线观看乱了| 欧美丝袜丝交足nylons图片| 蜜臀久久久久久久| 国产日韩欧美高清| 一本久久综合亚洲鲁鲁五月天| 亚洲bt欧美bt精品| 久久一日本道色综合| 91日韩一区二区三区| 男女男精品视频| 国产日产欧产精品推荐色| 91丨九色丨黑人外教|