1

一些背景

我发现自己在 Facebook 上遇到了一个数学模因(尽量不要笑):

简单的模式问题。

显然,这是一个简单的问题,可以通过首先查看每个数字,就好像它们是二维网格中的元素一样,然后使用减法来查找变化。直觉上,我敢肯定,在这种情况下,每个人都会从假想网格的顶部开始,然后分析问题,首先将行评估为线性集。

只是一个常规的序列。

变化将是两个元素之间的差异。如果只有两个元素,并且您必须预测这两个元素之后会发生什么,那么您最好的猜测是将开始时的数字之间的差异添加到序列中最左边的元素(我假设)。

问题

我难以理解的问题是推理过程——整个过程似乎含糊不清,对我来说太天生了,无法系统化。我是怎么想出答案的?我的大脑是在做特殊的手术吗?如果是这样,操作是什么?不查看每一行和每一列,只选择一个线性集,我如何找到三个数字之间的关系?有没有办法准确猜测每个元素之间的关系是什么?如果没有,是否需要存在最少数量的元素才能充分尝试得出可能的模式?

我知道计算机在以无人监督的方式学习时被迫经历这个过程,而且我知道人工智能领域相对较新且不发达,所以我不期待绝对的答案。如果可以从线性集合的三个元素中找到模式,我更想寻求一种好的方法。也许,通过提出这个问题,我会收集到相当具体的相关搜索查询。

4

2 回答 2

1

关于线性序列,您可以尝试制作预设模式并尝试识别它们。
常见的模式是 arithm./geom。级数,斐波那契,类似a(n) = (n - n1)(n - n2)(您可以在 2、6、12、20 连续中看到)等。因此您可以自己定义一个方程来检查连续是否符合模式。例如,在这种a(n) = (n - n1)(n - n2)情况下,您可以使用前 2 个数字找出 n1 和 n2,然后检查其余数字的有效性。

正如您所看到的,有很多对人类来说似乎很常见的模式,而以编程方式实现它太难了。我不想说这是不可能的,但就您的程序将学习新模式而言,错误率将进一步增加,因为不同的模式很快就会开始适应相同的继承。
在对问题的评论中指出Daniel Fischer,任何连续的数字都可以适应无限数量的规则。通过这种方式,您可以声明任何继任的下一个数字将是 42。
为了描述这一点,让我们以 1、2、3、4、5 连续为例。你可能会认为这是一个算术连续,下一个数字是 6,但我会说它是 P(n) 的结果,其中 P(n) 是拉格朗日多项式的 5 次幂,通过点 {(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 42)}。你永远不会知道哪个答案是正确的。

于 2013-04-29T06:17:49.140 回答
1

基本上,您试图将数字拟合到具有一些变量的所有方程组中,这些变量是无限的并且可能不可数(因此可能不太容易迭代)。虽然我确信已经对您要解决的问题进行了研究,但我会给出我的看法。

虽然很大程度上取决于问题,但我怀疑人脑中有时会发生某种模式识别或匹配。你看5 30 6,你很熟悉5 * 6 = 30,所以你的大脑将这 2 联系起来。或者大脑在尝试联系数字时,会尝试常见的操作,例如加、减、乘或除 2,并检查是否会导致 3。

对于如此小数字的简单问题,您可以(在计算机上)只存储 、 和(可能还有其他)的所有可能性+并进行查找-,或者只是即时计算所有这些可能性。*/

对于更困难的问题,我怀疑大脑只是通过一系列可能的方程式。

对于序列4,5,6,x,您可以尝试以下一些方法:(请注意,我们也在等式中使用数字的位置,所以1with 4, 2with 5, 3with 6

4a + 5b = 5a + 6b, solve for a and b
4^a * 5^b = 5^a * 6^b, solve for a and b
a.b^(1+c)+d = 4, a.b^(2+c)+d = 5, a.b^(3+c)+d = 6, solve for a, b, c and d
You may want to split the above into a few simpler equations:
  b^1 = 4
  b^(1+c) = 4
  a.b^1 = 4
  a.b^1+d = 4
  a.b^(1+c) = 4
  etc.

你会(希望)得到这4a + 5b = 5a + 6b将是这里的选择等式,使用b = 1a = -1

获得所需参数 (ab) 后,您可以将其代入方程以确定下一个值。

研究几何算术系列可能会有所帮助。

不处理序列时,如何选择可能相关的数字?好吧,只需遍历行、列、对角线、相邻值以及任何其他适用或您能想到的东西。

于 2013-04-26T14:17:06.073 回答