无心人 发表于 2008-6-23 11:05:42

或者,是否能确定每个n的和前值重复的首尾部分

从而确定首尾状态,而节约大量时间

但要证明能得到最优解

=======================
一个可以看到的事实是:每次首尾重复的序列都随n增大而增大

mathe 发表于 2008-6-23 11:08:07

双向搜索应该可以节省一些时间,但是空间上感觉很难节省.
不过对于n更加大的情况,我更加倾向于去设计一个可以找到次优解的算法,比如可以用人工智能中A*算法之类的

mathe 发表于 2008-6-23 11:10:21

原帖由 无心人 于 2008-6-23 11:05 发表 http://bbs.emath.ac.cn/images/common/back.gif
或者,是否能确定每个n的和前值重复的首尾部分

从而确定首尾状态,而节约大量时间

但要证明能得到最优解

=======================
一个可以看到的事实是:每次首尾重复的序列都随n ...
关于这个现象,如果我们局限于找次优解,可以很好利用这个特性.
但是如果找最有解,除非能够证明这个现象总是成立的,不然不能使用

无心人 发表于 2008-6-23 11:10:38

:)

是有点高
不过你如果确定不会超越1G,总内存需求(包括虚拟别超过1.5G)
运行时间不要超过8个小时

关闭X,运行一晚上还是可以接受的
但连续运行多天
估计这天气,机器受不了

:lol 可惜服务器是2003系统
无法拿出900以上内存

我用的关闭X后950M还是可以的

无心人 发表于 2008-6-23 11:11:48

可以证明对小序列成立

但估计等证明了
n=20都算出来了

无心人 发表于 2008-6-23 11:14:25

人工智能算法
如何确定当前状态最好?

大数字靠右的多?
但可能为了更好
也许部分步骤,大数字会后移

所以要看3步到7步

或者能证明只要3步以内?

mathe 发表于 2008-6-23 11:16:34

呵呵,那还是用我的机器好. 2G内存,200G硬盘空间.
只是我的机器现在还在运行那个"数字操作题",使用了大量硬盘空间,现在不想继续运行繁杂的任务(主要对硬盘访问压力不能太大)

无心人 发表于 2008-6-23 11:23:09

:)

那你写个次优化解程序
利用首尾序列减少搜索

咱看14-20的结果如何?
我想至少有90%可能距离优化解
不超过10%

无心人 发表于 2008-6-23 11:24:44

我们多少年没买新服务器了
没理由,也没机会

下次一定要3个4的服务器
最好是双8加4的

mathe 发表于 2008-6-23 11:32:43

原帖由 无心人 于 2008-6-23 11:23 发表 http://bbs.emath.ac.cn/images/common/back.gif
:)

那你写个次优化解程序
利用首尾序列减少搜索

咱看14-20的结果如何?
我想至少有90%可能距离优化解
不超过10%
通常次优解的代码更加难写,这个比较花时间的,现在我暂时没有兴趣,所以想看看是否有其他人还有兴趣
页: 1 2 3 [4] 5 6
查看完整版本: 四柱汉诺塔升级版