随笔分类 -  Java

N皇后问题java实现
摘要:N皇后问题是一个典型的约束求解问题,利用递归机制,可以很快的得到结果。 N皇后问题的描述:在一个n*n的棋盘上,摆放n个皇后,要求每个皇后所在行、列、以及两个对角线上不能出现其他的皇后,否则这些皇后之间将会相互攻击。如下图所示。 利用递归机制,可以很容易的求解n皇后问题。针对八皇后,总共有92种解。下面将给出N-皇后问题的一般求解代码,在这里代码是使用java编码的。 总共设计了三个类,一个是皇后类(Queen),一个棋盘类(Board),一个是求解主程序类(NQueens)。具体代码如下: 1: import java.util.ArrayList; 2: import java.... 阅读全文

posted @ 2012-10-05 20:18 Alex Yu 阅读(5558) 评论(0) 推荐(0)

遗传算法Java实现以及TSP问题遗传算法求解
摘要:在以前的文章(简单遗传算法MATLAB实现)中已经介绍过,遗传算法是一种基于达尔文生物进化论的启发式算法,它的核心思想就是优胜劣汰,适应性好的个体将在生存竞争中获得更大的生存机会,而适应差的将更有可能在竞争中失败,从而遭到淘汰。1. 生物进化 图1用了一个非常形象的实例,来表现进化机制对生物繁衍的作用。图1 眼睛的进化(摘自http://blog.csdn.net/zzwu/article/details/561588) 可以设想,曾有一个时期动物就根本没有眼睛。那时,动物在它们的环境中航行完全是靠嗅觉和触觉来躲避掠食它们的动物。他们也相当擅长于这样做,因为他们靠这样已经历了成千上万个世代.. 阅读全文

posted @ 2012-10-02 12:35 Alex Yu 阅读(22481) 评论(4) 推荐(1)

蚁群算法java实现以及TSP问题蚁群算法求解
摘要:1. 蚁群算法简介 蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。蚁群算法最早是由意大利学者Colorni A., Dorigo M. 等于19... 阅读全文

posted @ 2012-09-26 18:14 Alex Yu 阅读(50261) 评论(11) 推荐(11)

导航