无心人
发表于 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%
通常次优解的代码更加难写,这个比较花时间的,现在我暂时没有兴趣,所以想看看是否有其他人还有兴趣