这个开放难题的解决方案是否正确?

时间:2013-11-14 06:08:22

标签: performance algorithm towers-of-hanoi

我相信我已经解决了复杂性理论中的一个开放性问题,但我想确保它是正确的。

我有问题的问题是:“随着塔楼数量的增加,解决河内之塔的难度有多少?”

显而易见的是,如果“磁盘”的数量保持有限,那么运行时间渐近接近O(n),其中n是“磁盘”的数量。这明显优于原始O(2^n)

我发现运行时间是O(2^n^(1/k)),其中n是磁盘数,k是挂钩数和取幂数(^ } operator是正确的关联。虽然这是由于一种奇怪的现象,其中存在离散点,其中运行时间线性增加然后改变斜率。总而言之,运行时间摊销 O(2^n^(1/k))

如果您对此感到好奇并希望自己阅读证明,我会建立一个网站,您可以找到它over here。 (如果该链接无法访问,请尝试github。虽然您需要访问必要的工具来构建它。

因为我知道有人会问我''为什么我不把它交给我的教授?'或者其他类似的东西。答案是,我没有任何大学/学院,我还在上高中。

非常感谢任何帮助,谢谢你。

注意:此问题已在数据溢出over here上重新发布

注意:当对论文进行推荐的格式编辑时,将会发布一个新问题的另一个赏金,当我在内容上寻找评论时,这个问题将被发布而不是易读性

7 个答案:

答案 0 :(得分:6)

我确实试着对文章进行深入研究,发现它与@sth一样令人困惑和难以阅读。我有学术背景所以习惯阅读(通常写得很差)论文,但发现这篇文章非常难以理解。

我不想让你感到沮丧,但是如果你想要吸引任何重要的观众,你应该让某人经历并帮助你重新写一遍。

每天都会出现着名的突出猜想的证明或反例(看看http://arxiv.org,我打赌P vs. NP本周至少已经解决了一次),并且如果全部三个,那么通常会失去信誉。有以下几点:

  • 作者已经建立并且在正确和谨慎方面享有良好的声誉,
  • 这篇论文显然有一个重要的,新的想法,而不是显然神秘地从无动机的象征性操纵中提取证据(如果有可能的话,那些从事过这个问题的聪明,经验丰富的人之一,或计算机,会可能已经找到了这样的解决方案),
  • 该文件清楚地解释了找到解决方案的障碍,以及这个新想法如何克服它。
  • 如果论文写得很好会有所帮助,但是满足上述要求的写得不好的论文仍会得到一些关注。

可能超过99%的声称解决着名的开放性问题的方法是错误的,并且那些未通过60秒嗅觉测试的论文通常会被那些真正有能力评估它们的人扔掉。

很抱歉,您不符合上述条件。这并不意味着您的证明是错误的,但它确实意味着能够评估它的人将不愿意花费必要的时间,特别是因为该论文难以阅读。不要紧,实际上并不清楚你声称已经证明了什么。

一些具体的抱怨:

  • 我没有看到任何实际算法的描述。如果您声称已经实现了一定的时间复杂度改进,那么您应该包含一个实现它的算法,或者解释为什么您的证明不能适应建设性。
  • 您无法清楚地描述人们尝试解决问题的方法,以及您的方法与他们的方法类似或不同。
  • 您没有说明解决此问题的重要新想法。证明似乎没有使用基本算术之外的任何东西。对不起,我喜欢脚踏实地的具体数学,但我保证每个曾经解决过这个问题的人都有一个坚实的算术命令,如果没有其他工具来获得一个4页的解决方案那么可能有人会有现在就找到了。
  • 我曾希望在您附加的Python文件中找到一种算法实现,以实现您声称的时间复杂度(更不用说我不清楚声明是什么)。然而,令我沮丧的是,脚本显然只运行了你在论文中提供的封闭表达式的计算。

我希望有些人会来你的“防守”(尽管这不是攻击,而是诚实的建议),因为你是一个高中生,对于一个高中生来说这是“惊人的”。现在已经有两个帖子已经具有这种精神,而且作者似乎都不知道你声称要证明什么。

我建议您尽可能地清理纸张并将其张贴在Math或CS StackExchange上(编辑:显然Math StackExchange禁止发布“解决方案”以解决问题,可能是为了解决问题我在上面描述的原因!),会有更多的观众,他们可以仔细查看并仔细评估。我建议你也寻找关于同一主题的其他文章(肯定有数十个,如果不是数百个),查看这些文章的作者,挑选一个相对较年轻的人(一个完整的教授将更难说服与你互动) ,并将他亲自发送给他,看看他的想法。我会避免强调你在高中,根据我的经验,大多数学者都不会留下深刻的印象,并且会更愿意把你写下来,因为这可能浪费时间。

@mrip也有一些很好的参考和建议。祝你好运。

编辑:为了好玩,以下是去年夏天P和NP的两个声称的解决方案,以及一篇探讨P与NP的人类学方面的文章:

编辑以保存记录http://arxiv.org/abs/1112.0631上链接的文章是一篇声称与您(可能)相同的文章,所以它是一个很好的第一个看起来和第一个联系人。

答案 1 :(得分:1)

我没有深入研究它,但有些事情让我感到困惑:

  • 在(1)中有一个变量 g 和相关变量 g b ,但没有解释这些变量应该是什么
  • 是否需要证明(1)的内容?例如,在最后一种情况下,有一个 2 b ,似乎没有前面的文字解释过。我认为应该在某处解释/证明这一点的正确性。
  • 以下(1)的“证明k = 2”似乎不是证明(1),而是从中得到更多的东西。目前尚不清楚这个证据到底要证明什么,你应该在它之前添加一个引理/定理,说明将要证明什么。
  • 同样地,“一般证明”也没有说明它试图证明什么。

答案 2 :(得分:1)

对于一名高中生来说,这是一项伟大的工作。保持。我没有完全阅读你的文章,但这里有一些一般性评论。

由于此问题有两个参数,因此在使用渐近big-O表示法时,需要谨慎指定您的意思。例如,如果n保持有界,则O(n)与O(1)相同,因为此时n只是一个常数。此外,如果中间挂钩的数量大于磁盘的数量,那么在2n步骤中解决问题非常容易,因为您可以将每个磁盘移动到其自己的中间挂钩。

如果要导出一个对n和k的任意值都有效的边界,那么你的公式应该包括n和k。否则,您应该指定挂钩数量和绑定有效的磁盘数量之间的关系。

我建议检查你的结果,并与互联网上有关河内问题的多个挂钩塔的一些可用论文进行比较。例如,对于常数k,本文得出形式2 ^的下界(C_k n ^(1 /(k-2))其中n是盘数,k是桩数,C_k是a取决于k的常数,给定现有的算法上界,表明问题的复杂度为2 ^Θ(n ^(1 /(k-2))。

http://www.cs.rutgers.edu/~szegedy/PUBLICATIONS/tower1.pdf

这是另一篇论文,它考虑了钉子数量随盘数增加的情况。

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.36.7500&rep=rep1&type=pdf

如果你再多搜索一下,你可能会发现更多关于这个问题的知识和未知事项。就记录而言,我建议您在继续进行校对之前在顶部清楚地说明您的主要结果。

答案 3 :(得分:0)

对于高中生来说,这是一个非常高的水平。你应该把它作为简历发送到谷歌或其他东西工作。即使使用TeX也令人印象深刻。

我认为问题在于你没有考虑到第三条规则,因为大磁盘不能用更小的磁盘。

摘自本网站:http://www.cut-the-knot.org/recurrence/hanoi.shtml

  

上面的递归解决方案涉及从中移动两次(N-1)个磁盘   一个钉到另一个,并在其间再做一个动作。然后呢   跟着那个

     

TN≤TN-1 + 1 + TN-1 = 2TN-1 + 1

对这个问题的传统解释是明确的,并指出我们不能简单地将塔重建在另一个挂钩上,并且正确地重建另一个挂钩。主要是因为它违反了在小型磁盘之上没有大磁盘的规则。

基本上解决它的最快方法是将每个磁盘移动至少两次。

不幸的是,加法的交换不会对磁盘​​集强制执行任何排序限制,因此大磁盘可以在一个小磁盘上运行。

话虽这么说我只是一名软件工程师,自从我完成了数学或数学学习已经有几年了。所以你应该得到第二个意见。

您已经在网站上进行了设置,保护您的论文受版权保护,也许可以通过电子邮件向计算机科学教授发送指向您网站的链接。

此外,如果您不了解计算机科学这一领域,您可能会感兴趣:http://en.wikipedia.org/wiki/List_of_unsolved_problems_in_computer_science

不要因为我在这里所说的任何事情而感到沮丧,你在我上高中时的光年前,我相信你会去学术界。发送链接到您周围的网站,寻求反馈并不断寻找方法来提高您对数学的理解。

另外,请查看topcoder.com - 那里有一个algorist部分也可能会让您感兴趣。他们的论坛也可能提供更好的反馈。

答案 4 :(得分:0)

请注意,有一种迭代方式可以解决河内之塔。如果你还没有这样做,你可能想检查一下是否可以说服它产生相同的结果。

答案 5 :(得分:0)

编辑:没关系所有这些:

这里出了点问题,我无法理解你在想什么,所以我会继续阅读。基本上,我的定性是在Mk(n)的第二个等式中,你的递归解只考虑了Mk-1(其他一些n)。

这可能是因为你没有建议具体的排序,只有运行时(Mk(n))。理想情况下,您可以指定一些排序,然后根据函数将一些排序映射到运行时进行争论。在线之间读取,你的“排序”总是将光盘移动到A,将n - i光盘移动到B,将光盘从A移动到B.这正是原始问题的解决方案(M2(n) )。然而你要求更快的运行时间?

考虑案例M3(3)的明显解决方案。一个人简单地将光盘传播出去,在5个动作中解决。您的“扩展总和”最佳地提供了7个移动解决方案。我认为这不是你逻辑中的错误,但它是你博览会中最明显的错误。请详细说明你的意思是Mk(n)= Mk-1(i)+ 2Mk(n-i)。据我所知,这意味着你先解决Mk(n),首先是移动i盘,然后是n - i dsics,然后再转盘(递归地 - 这当然是合法的)。问题是以这种方式扩展当然不代表任何合法的解决方案。很明显,这是正是你头脑中的顺序。你头脑中的顺序涉及递归中的一系列decrasing k值。

看看M4(4)看看差异。您使用Mk-1展示的扩展为M2(n)提供了类似的解决方案。现在考虑您想要编写的解决方案,将它们分散开来。在前两张光盘移动后,下一张光盘的位置较少。具体来说,他们的动作是M2(2)问题的一个例子。仔细阅读。的 2 即可。不是k-1 = 3.

答案 6 :(得分:-1)

I problem in question is: ``How many moves does it take to solve the Towers of Hanoi puzzle as the number of towers increases?''

What I've found is that if the number of ''disks'' is kept bounded, then then running time asymptotically approaches O(n) where n is the number of ''disks''. This is significantly better than the original O(2^n).

这并不奇怪。如果磁盘数量受n限制,那么一旦有n个开放式挂钩,2n移动就会有一个简单的解决方案。

开放性问题大概是关于磁盘数量不受限制的时候。对于给定数量的挂钩,当您增加磁盘数n时,解决方案大小会发生什么变化。这种情况(据我们所知)会以2^n呈指数增长,而不是n的线性函数。