?? 解剖大象的眼睛——中國象棋程序設計探索(一):引言.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.elephantbase.net/computer/eleeye_intro.htm -->
<HTML><HEAD><TITLE>解剖大象的眼睛——中國象棋程序設計探索(一):引言</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=解剖大象的眼睛——中國象棋程序設計探索(一):引言_files/background.gif>
<DL>
<DIV align=center>
<CENTER>
<DT><FONT face=隸書 size=6>解剖大象的眼睛</FONT><FONT
size=6><STRONG>——</STRONG></FONT><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">*</FONT> <FONT
face="Times New Roman">2005</FONT>年<FONT
face="Times New Roman">6</FONT>月初稿,<FONT
face="Times New Roman">2005</FONT>年<FONT face="Times New Roman">11</FONT>月修訂
</CENTER></DT></DIV>
<DIV align=center>
<CENTER>
<DT><FONT face="Times New Roman">( * </FONT>聯系地址:復旦大學化學系表面化學實驗室,<FONT
face="Times New Roman">eMail</FONT>:<A
href="mailto:webmaster@elephantbase.net"><FONT
face="Times New Roman">webmaster@elephantbase.net</FONT></A><FONT
face="Times New Roman">)</FONT> </CENTER></DT></DIV>
<DT>
<DT><FONT face=Arial size=5><STRONG>(</STRONG></FONT><FONT face=楷體_GB2312
size=5><STRONG>一</STRONG></FONT><FONT face=Arial size=5><STRONG>)
</STRONG></FONT><FONT face=楷體_GB2312 size=5><STRONG>引言</STRONG></FONT>
<DT>
<DT> <FONT face="Times New Roman">2005</FONT>年<FONT
face="Times New Roman">2</FONT>月我寫出了象棋程序<FONT
face="Times New Roman">ElephantEye</FONT>的第一個版本<FONT
face="Times New Roman">(0.90)</FONT>,本來它只是象棋界面<FONT
face="Times New Roman">ElephantBoard</FONT>的調試引擎。在設計程序的過程中,我嘗試性地加入了很多算法,發現每次改進都能讓程序的棋力有大幅度的提高,因此便對象棋程序的算法產生了濃厚的興趣。到現在我已經陸續對<FONT
face="Times New Roman">ElephantEye</FONT>作了幾十次加工<FONT
face="Times New Roman">(</FONT>目前版本為1<FONT
face="Times New Roman">.05)</FONT>,使得它的棋力接近了頂尖商業軟件的水平,在非商業的象棋程序中,<FONT
face="Times New Roman">ElephantEye</FONT>無疑是最強的一個。
<DT> 我希望能通過公開源代碼的方式,推動中國象棋程序水平的整體發展,然而根據很多網友的反饋意見,發現源代碼中的很多部分并不是那么容易理解的,為此我花了大量的時間為源程序加了注釋。盡管如此,很多思想還是有必要以文字的形式保留下來,因此我才打算以《中國象棋程序設計探索》為題,寫幾篇詳細介紹<FONT
face="Times New Roman">ElephantEye</FONT>算法的連載,希望能讓源代碼充分發揮它的作用。
<DT> 總的來說,對弈程序是個系統工程,它是以下四個系統的有機結合<FONT size=3>:</FONT><FONT
face="Times New Roman" size=3>(1) </FONT><FONT size=3>棋盤結構,</FONT><FONT
face="Times New Roman" size=3>(2) </FONT><FONT size=3>局面評價,</FONT><FONT
face="Times New Roman" size=3>(3) </FONT><FONT size=3>搜索技術,</FONT><FONT
face="Times New Roman" size=3>(4) </FONT><FONT size=3>其他。以</FONT><FONT
face="Times New Roman" size=3>ElephantEye</FONT><FONT
size=3>為例,這四個部分在程序中的比例各占</FONT><FONT face="Times New Roman"
size=3>25%</FONT><FONT
size=3>,也就是說,每個方面都很重要。那么這四個部分應該以什么樣的方式逐步建立呢?另一個公開源代碼的程序</FONT><FONT
face="Times New Roman" size=3>VSCCP(Very Simple Chinese Chess
Program)</FONT><FONT size=3>給出了一個方向,</FONT>這是本很好的對弈程序設計的入門教材。盡管<FONT
face="Times New Roman">VSCCP</FONT>在棋力上還有很大的提升空間,但是它的結構體系是比較完整的,參考下面一組公式,找到有待提升的空間,只要稍作改進就能成為<FONT
face="Times New Roman">ElephantEye</FONT>。
<DD>
<DD>棋盤結構 <FONT face="Times New Roman">= </FONT>局面表示 <FONT
face="Times New Roman">+ </FONT>著法移動 <FONT face="Times New Roman">+
</FONT>著法生成 <FONT face="Times New Roman">+ </FONT>特殊局面判斷
<DD>局面評價 <FONT face="Times New Roman">= </FONT>知識 <FONT
face="Times New Roman">+ </FONT>優化的局面表示
<DD><FONT size=3>搜索技術 </FONT><FONT face="Times New Roman" size=3>=
</FONT><FONT size=3>完全搜索 </FONT><FONT face="Times New Roman" size=3>+
</FONT><FONT size=3>靜態搜索 </FONT><FONT face="Times New Roman" size=3>+
</FONT><FONT size=3>啟發 </FONT><FONT face="Times New Roman" size=3>+
</FONT><FONT size=3>裁剪 </FONT><FONT face="Times New Roman" size=3>+
</FONT><FONT size=3>選擇性延伸 </FONT><FONT face="Times New Roman" size=3>+
</FONT><FONT size=3>置換表 </FONT><FONT face="Times New Roman" size=3>+
</FONT><FONT size=3>殘局庫 </FONT><FONT face="Times New Roman" size=3>+
</FONT><FONT size=3>并行技術</FONT>
<DD>其他 <FONT face="Times New Roman">= </FONT>開局庫 <FONT
face="Times New Roman">+ </FONT>時間控制 <FONT face="Times New Roman">+
</FONT>后臺思考 <FONT face="Times New Roman">+ </FONT>引擎協議 </DD></DL>
<DIR>
<LI>上一篇 <A
href="http://www.elephantbase.net/computer/anatomy.htm">結語——國際象棋程序剖析</A>
<LI>下一篇 <A
href="http://www.elephantbase.net/computer/eleeye_struct.htm">中國象棋程序設計探索<FONT
face="Times New Roman">(</FONT>二<FONT
face="Times New Roman">)</FONT>:棋盤結構和著法生成器</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="解剖大象的眼睛——中國象棋程序設計探索(一):引言_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>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -