标题:关于商人过河问题的分析
只看楼主
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:0 
工作多年了,b版的数学为啥还保持这么好

Maybe
2014-10-08 15:48
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
得分:0 
从船的角度考虑不知道行不行。编码依然采用二进制,以船来回次数最小为目标函数,强约束,搜索方式采用随机搜索?

梦想拥有一台龙芯3A-4000
2014-10-09 00:06
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
得分:100 
莫非这100分。。。。
2014-10-09 14:05
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
回复 6 楼 邓士林
关注这类问题说明你对算法是感兴趣的。而你的疑问我也很难回答。大部分情况是我们已经知道怎么做,才这么做的。而从一无所知创建一种理论是非常困难的事情。图论的应用范畴非常广的,有兴趣建议你找一本专门的图论教材读一下。一般算法教材里也会有图论相关的讨论,不过内容比较浅。

关于倒水问题印象中之很久以前我在论坛里就讨论过。搜一搜应该不难找到。当然网上其他地方类似的讨论应该也非常多。

本来也想解释一下搜索算法的,可惜没时间了,只是简略地分析了一下问题就码了四千多字,搜索算法要展开讨论恐怕要上万字了。

重剑无锋,大巧不工
2014-10-09 19:45
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
回复 9 楼 pycansi
言简意赅,你也可以写一篇分析

重剑无锋,大巧不工
2014-10-09 19:46
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
回复 12 楼 ditg
我没有理解你的想法。愿意的话,请你进一步解释一下。

重剑无锋,大巧不工
2014-10-09 19:49
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
回复 13 楼 erty1001
是的。就是给你的。虽然你的代码有很多不足,但它们不在我承诺时的要求之内。依言我要送你100分。再接再厉

重剑无锋,大巧不工
2014-10-09 19:51
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
得分:0 
主要是现在解法趋同,尝试着换种思路。
1. 数据变化的稳定性。其实船最小,一共就两个座位五种可能:一商、一仆、一商一仆、两商和两仆,唯一剩下左右岸的商仆上船问题。
2. 数据量的选择。考虑借鉴进化算法里种群的概念,随机产生一批初始值(包括非法解,5修正成可行解),类似走迷宫,想法就是一大批人进去,最后总有先出来的,一旦出来,算法结束。
3. 编码。整数或二进制应该都可以,结果就是左岸商仆从33变成00。
4. 约束处理。只考查商仆数目约束;对相同商仆的来回认为也是可行解,因为它只单纯增加船行次数。
5. 可行解问题。因为商仆数目强约束,所以初值和过程中都会产生非法解,借鉴并改造进化算法里的变异步骤,反正结果能将非法解变成可行解就行。

[ 本帖最后由 ditg 于 2014-10-10 00:13 编辑 ]

梦想拥有一台龙芯3A-4000
2014-10-10 00:06
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
回复 18 楼 ditg
不好意思,回复的晚了。今年事情实在多,再次让我怀念我的学生时代,也希望诸位珍惜时光。

你的想法很好,我觉得值得一试。有没有实际编码呢?

这里采用自然算法的核心在于评估函数的建模。

提供一个我的建议,比如使用基因算法,以路径作为基因个体,路径分两种,一种是可行路径、另一种是不可行路径。

评价可行路径优于不可行路径。

在可行路径中,短路径优于长路径。

在不可行路径中,前端可行部分长者优于短者。

在这个评价体系下进行淘汰、繁殖、交配、变异。也许可以得到正确的结果。

呵呵基因算法我应用的也很少,以前在尝试做股票趋势预测时用过。我想是我的建模有问题,当时的结果并不理想。

用这个问题再实践一下很不错。建议你尝试一下。过两天有时间我也会试一下

重剑无锋,大巧不工
2014-10-12 18:01
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
做版主让我感到最开心的事就是给贴子加色置顶了,呵呵感谢坛友的支持!

同时也感谢静神的加精!

[ 本帖最后由 beyondyf 于 2014-10-12 18:13 编辑 ]

重剑无锋,大巧不工
2014-10-12 18:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-436942-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.102570 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved