- 最后登录
- 2021-9-8
- 在线时间
- 2120 小时
- 阅读权限
- 40
- 注册时间
- 2009-3-21
- 积分
- 1206
- 帖子
- 1153
- 精华
- 0
- UID
- 82168
- 性别
- 保密
- 兴趣爱好
- 破解
理论
其它
- 积分
- 1206
- 帖子
- 1153
- 精华
- 0
- UID
- 82168
- 性别
- 保密
- 居住地
- 其他
- 兴趣爱好
- 破解
理论
其它
|
yiban168 发表于 2017-8-6 14:26
楼上的观点我不认同。
首先,我发的这道题要大家解答,而不是要程序 或机器解答。
其次,这道题即 ...
你举的栗子并没有看到"优化"的可能性,毕竟你并没说明到底还有什么别的线索.
即便你举了一个确实有优化余地的栗子,和我的说法还是没有矛盾,因为那样的话和原题在我看来就未必有可比性.
至于原题,如果你要在纯粹的穷举上进行"优化",可以吖,看我的程序呗.
看得出里头是一堆for和if没啥规律的交织在一起对吧.这就是剪枝.这就是优化.效果拔群.
如果仅仅是一堆for后边跟着一堆if那么同样程序可以说会有2^40的复杂度,根本不是现在秒出答案的效果.
这就是有用的优化,并且对于这题而言已经足够了.
然而必须注意到,这步调整是手动的.
如果稍微改下题,比如某条线改成2个,某个方形改成4个,初态某个棋子换下位置,那么就得重新调整.
换个栗子,假如原题穷举时手动决定先试哪里(换句话说就是启发式搜索),那么题目更改时同样要重新考虑.
如果仅仅给出这种调整后的做法那么其实根本没价值,价值应该在于如何进行这种调整.
换句话说,如何对酱紫的指数级的搜索算法加入各种剪枝启发等.
在我看来,就这个题酱紫的,我一句"dlx算法"就已经绰绰有余了.
也有人先分析题,将“0000——9999”优化到6个数,再一个一个试(这就是穷举?!)这才是我追求的解法。 你当然可以这样做,但我只能说对于这种题而言,这种每看到一个题就分析一次,我把原题改一个数你就得重新分析,恰恰是我认为没价值的.
当然,我不是说一般地这么分析问题没价值,而是说对这个题这种题而言这种做法并没有值得一提的意义.
不然我直接用dlx给出的尝试顺序写成手动尝试的格式,你就能接受了?
但我们应该向人+机靠近,而不是纯粹的靠程序 或机器。 所以你觉得我的程序不是人写的?
人+机可以,但人负责什么机负责什么应该懂得判断,该人做的事情别硬退给机,该机做的事情人也别乱抢.
我不反对你的初衷.我承认你的初衷是好的.我只能说对于你的初衷而言,这个题/这种题并不是一个适当的栗子.
这道看上去简单的题,有没有简单的、通俗易懂的解法?比如初中知识…… 所以说这种问法并没有什么意义.我说穷举你知道我的意思对吧.如果不懂我也可以直接说"先试试这里有棋子会怎样然后再试试这里没有棋子会怎样"之类的,说白了就是把"穷举"说成大白话.
这样的做法简单吗?当然简单.有高深知识吗?当然没有.通俗易懂吗?表述得好的话那当然就通俗易懂了.
但,你觉得有意义吗?我反正觉得这不是你想要的.
首先,我发的这道题要大家解答,而不是要程序 或机器解答。 不是随便问个什么问题随便给些限制都还能得到答案的.如果你的问题和你的限制本身就不搭,那么你就不能怪人没有给出符合你愿望的答案. |
|