📄 解剖大象的眼睛——中国象棋程序设计探索(一):引言.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 + -