当前位置:0101部落 >> 技术文档 >> 游戏图形 >> 浏览文章 【字体:
人工智能 - 五子棋人机对战
作者:孙靖(Jig) 日期:2007年07月12日 阅读次数: 来源:本站原创
 

     }
  }
    }

    同样,当机器落子后也要把落子处记录在 WinListC[].yn[] 中,这样在后面检查连子时,就可以直接查看 WinListC[].yn[0]--WinListC[].yn[4] 来确定是否有连子。

    这里要说明一点,之所以只是在后面简单的提连子加强算法,是为了保持前面的简要与明朗性。只要大家把前面主体的数学模型构造看明白了,那自然而然的就会领悟到前面数学模型的缺陷。这样,在来理解后面的加强算法就很简单了。如果不这样安排,我不确定我是否能把主体数学模型和连子加强算法在一起说明白。
    不过,说实在的我也不知道我的这篇文章是否把构造这样一个五子棋人机对战模型给说清楚,要是在下写的烂那也只好靠各位多看看自己再思索思索吧。

    总结:我问本文的意图并不是单单介绍五子棋人机对战算法,而是想突出从现实到抽象的过程。也不知道实现这个目的了不,要是各位觉得我写的不好,那也只能请大家多多包涵啦。而我只能继续加强自己的写作水平。


    额外的话:本文所谈论的方法,其实已经有个成品。下载地址:http://bbs.bc-cn.net/dispbbs.asp?BoardID=225&ID=82698&star=at#
当然这个作品其实存在缺陷,论坛的朋友也说过。其实他的缺陷就在对连子的判断有问题。由于当时水平有限,没有把获胜表结构化,所以在查找连子是依靠前面提到的方法1,而利用方法2可以简化连子加强算法。我个人认为就本文讨论的对战模型只要再加以改造就是个“无敌”模型。(当然要电脑先手,并且无敌并不是指绝对会赢,只是保证绝对不输)大家有兴趣可以自己尝试再改进此模型做出更具威力的五子棋人机对战模型。
    想想,这个作品是我大2的时候做的,他为我带来了我真正意义上的第一次赚钱250块,当时高兴坏了。记得我是一天赶出来。开始我到处找资料就是没找到,没办法就自己想了这个对战模型,可当时做出来很糟糕,也就是那连子情况考虑不周全结果机器方基本上是乱下,很是苦恼。结果在深夜凌晨3点多找到一篇别人写的文章,我记得那篇文章是基于VB.NET写的。原来他里面所提到的对战模型和我自己想的可以说是一模一样,只是他考虑的比我更周全,得到那篇文章的启发我很快就完成了作品,赶在第二天上午交差。想来那时候真是开心啊~~~我想有类似体验的朋友一定能理解那份无法言语的喜悦,这也是技术带给我们最大的享受。

上一页
本文共 6 页,第  [1]  [2]  [3]  [4]  [5]  [6]  页

相关文章:
  • 暂无相关链接
  •  
     
      ·关于我们 ·访客留言 ·友情链接 ·
    粤ICP备08022036号
    站长:ds1010 站长信箱:0101ds@gmail.com

    0101部落开发 @ www.ds0101.net 2007-2008