【问题标题】:What would be a good general algorithm for approaching integer sequence problems?什么是解决整数序列问题的好通用算法?
【发布时间】:2010-06-04 01:47:16
【问题描述】:

假设输入总是相同的 N 个数字(例如 5)并假设整数实际上具有数学关系(数字“一”、“二”、第 n 个月中的天数等没有长度) .)。输出将是下一个整数和发现的规则,或者是无法检测到规则的消息。 我想有一个一二三顺序的模块,该模块试图通过对相邻数字、一远、二远等数字之间的求和和/或差来查找算术序列规则。寻找模式,然后专注于模块通过以相同的方式乘法和/或除法来处理几何序列,然后,如果有通用方法,则使用一个用于检测递归序列的模块。

谢谢!

【问题讨论】:

  • 尝试在此处检测模式:111314113612314...
  • @Hamish,答案:累积计数序列:方法 A(形容词,名词)-与第一项 1 配对。(序列A055187
  • 我自己检查了这个,印象非常深刻。我想这只是他们填写并执行搜索的巨大数据库。在这件事上抛出完全随机的序列会很有趣。好的国际象棋软件也有大量存储位置的数据库,它至少部分依赖于此。

标签: algorithm math discrete-mathematics


【解决方案1】:

The On-Line Encyclopedia of Integer Sequences 正好解决了这个问题:-)

【讨论】:

  • +1:我确实觉得它只是一个数据库,特别是因为你可以提交一个序列。
  • 我卡在我每周重复使用的彩票号码中,它被难住了。可能是因为我还没有中奖。
  • 哈,他们甚至有丢失的号码。输入 4 8 15 16 23 42
【解决方案2】:

给定任何个数字序列,我们可以得出一个“适合”的公式!

给定 a1, a2, ..., an

您需要做的就是找到一个 n-1 次多项式(使用多项式插值),以便

P(i) = ai

就是这样,你有一个公式。多项式插值可以像求解矩阵方程 Ax = b(其中 A 是 Vandermonde 矩阵)一样简单。

签出:http://en.wikipedia.org/wiki/Polynomial_interpolation

这就是我觉得这些“猜下一个数字”问题有点傻的原因之一(阅读:可悲的智商测试)。不是每个人的想法都一样。

【讨论】:

  • +1:好点。给定一个整数列表,对于“序列中的下一个数字是多少?”没有绝对正确的答案。
  • 但是多项式有n个参数。你也可以说“P(i)=ai for in”。一个更好的问题是“什么公式可以用最少的明显方式产生这个序列,你可以调整它来产生不同的序列?”
  • @Beta:“最不明显”是一个非常主观的术语,对于需要提出公式的计算机来说毫无意义。也许你可以定义它并赋予它更多意义......
猜你喜欢
  • 2018-07-17
  • 2016-03-09
  • 1970-01-01
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多