“十滴水”游戏——求解算法挑战赛:模拟退火,用Javascript跑
时间:2010-10-01 来源:左洸
过节了,大家都出去玩,也没人写文章了,我来发个刺激的:在浏览器里用 Javascript 跑十滴水游戏的求解计算。够刺激吧?进来试试! 前面有人用过启发式搜索、遗传算法等,我尝试了一下模拟退火算法,性能还真是不错。只要你让机器一直跑下去,总能找到全局最优。这里为了节省时间,我设定了一个上限,达到上限后就退出,返回当前得到的最优解,大部分情况下都能得到全局最优解。
一、数据格式: 空位置用 0 代表 最小的水珠用 1 代表 以此类推 最大的水珠用 4 代表 |
声明:为本文为原创文章,作者保留所有权利!欢迎转载,转载请注明作者左洸和出处博客园
按照从左到右,从上倒下的顺序,每六个数字用空格分隔开,例如:
024020 210202 313220 114323 444022 033343
二、水滴数
默认10,可以不设置,设置后可以正确计算剩余水滴数
三、性能
建议在 Chrome 里面跑,不是特别麻烦的局面一般一分钟内都能求解。
因为在浏览器来显示了实时计算信息,所以影响了一些性能,否则速度还可以在提高不少,但是那样的话就会出现浏览器假死的状态,界面不太友好。
一分钟不到的时间不算长,我想大家应该能接受吧。
对不起IE用户:不知道为什么,用 IE 跑会立即出错,可能 IE9 可以跑起来,但是没试过。
数据: | |
水滴数: | |
|
声明:为本文为原创文章,作者保留所有权利!欢迎转载,转载请注明作者左洸和出处博客园
//==================================================