数字计算机可以理解无限吗?


39

作为人类,我们可以思考无限。原则上,如果我们有足够的资源(时间等),我们就可以无数次地计数(包括抽象的,如数字或实数)。

例如,至少,我们可以考虑整数。我们原则上可以认为并“理解”屏幕上显示的许多数字。如今,我们正在尝试设计至少具有人类能力的人工智能。但是,我陷入无限。我试图找到一种方法,可以教一个模型(深度与否)来理解无限。我用功能性方法定义“理解”,例如,如果一台计算机可以区分10个不同的数字或事物,则意味着它确实以某种方式理解了这些不同的事物。这是“理解”的基本简单方法。

正如我之前提到的,人类理解无穷大是因为它们在原理上至少能够计算无穷整数。从这个角度来看,如果我想创建一个模型,那么该模型实际上是一个抽象意义上的函数,则该模型必须区分出无数个数字。由于计算机是数字机器,对这种无穷函数进行建模的能力有限,因此我如何创建可以对无数个整数进行微分的模型?

例如,我们可以采用深度学习视觉模型来识别卡片上的数字。该模型必须为每个不同的卡分配一个数字,以区分每个整数。由于存在无限数量的整数,因此模型如何在数字计算机上为每个整数(如人类)分配不同的数字?如果它无法区分无限事物,那么它如何理解无限?

如果我考虑实数,问题将变得更加棘手。

我想念的是什么?是否有针对该主题的资源?


30
我们大多数人对无限的理解不够充分。包括我。
天真

2
根据强大的AI,@ Amrinder Arora可以假设理解只是假装的。因此,可以区分不同信号的模型以某种方式理解信号或概念(您称之为信号)。
翠绿

6
我最近刚与一些非常有才智的人进行了长时间的讨论,他们根本不理解怎么会有同样多的整数,正整数,甚至整数,甚至正整数和素数。因此,我将挑战您关于人类理解无限的说法。另外,请注意,从数学上讲,没有“无穷大”之类的东西。数学有很多分支,可能都具有不同的无穷大概念,并且任何一个数学分支都可能没有,无一个或多个无穷大概念。然后,甚至还有不同的“大小”无限!
约尔格W¯¯米塔格

8
我有点困惑,没有人指出,基本上每台计算机都已经可以处理无穷大了-特别是在IEEE 754中
停止危害莫妮卡

2
@JörgWMittag是正确的。无限是一个概念,它根据数学领域以不同的方式定义。IEEE754定义了一套相当一致的规则来处理无限性,这是大多数计算机上大多数实际算术系统的基础。但是还有其他规则。可以教AI这样的规则。是否可以发明新的和更好的产品不在我的薪水范围内:en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems
丰富的

Answers:


55

我认为这是对AI和计算机的普遍误解,尤其是对于外行。这里有几件事要解压。

让我们假设无限性(或连续性概念)有一些特殊之处,使它们对于AI来说特别困难。为了做到这一点,必须既是这样的情况,即人类可以理解这些概念,而它们仍然与机器无关,并且还存在其他人类机器都可以理解的不像无穷大的概念。我将在此答案中显示的是,同时需要这两种东西会导致矛盾。

这种误解的根源在于理解意味着什么的问题。理解是日常生活中一个模糊的术语,而模糊的自然加剧了这种误解。

如果通过理解,我们的意思是说计算机具有概念的自觉体验,那么我们很快就会陷入形而上学的陷阱。关于计算机是否可以这种意义上的“理解”任何东西,甚至有时人们是否可以理解,存在着长期的,基本上是公开的争论。您不妨问一问计算机是否可以“理解” 2 + 2 = 4。因此,如果对理解无限性有一些特别的东西,那么就主观体验而言,它就不能与“理解”相关。

因此,让我们假设通过“了解”,我们想到了一些更具体的定义。对于计算机来说,使“无限”之类的概念比算术之类的概念更为复杂。我们对“理解”的更具体定义必须与一些可客观测量的能力或与该概念相关的能力有关(否则,我们回到了主观经验的领域)。让我们考虑一下,我们会选择什么样的能力或能力使无穷大成为一个特殊的概念,而不是算术,是人类而不是机器所理解的。

我们可以说一台计算机(或一个人)可以理解一个概念,只要它可以为该概念提供正确的定义。但是,即使是一个人都可以通过此定义理解无限,那么他们应该很容易写下定义。写下定义后,计算机程序即可输出它。现在,计算机也“了解”无限。此定义不适用于我们的目的。

我们可以说,如果一个实体可以正确地应用一个概念,它就会理解。同样,即使一个人也了解如何正确应用无限概念,他们只需要记录他们用来推理该概念的规则,就可以编写一个程序来重现此规则系统的行为。实际上,“无穷大”已很好地描述为一个概念,并被Aleph Numbers之类的想法所捕获。在计算机中对这些规则系统进行编码(至少达到任何人都能理解的水平)都是不切实际的。因此,通过此定义,计算机也可以“理解”无限,达到与人类相同的理解水平。因此,此定义不适用于我们的目的。

我们可以说一个实体“理解”一个概念,只要它可以在逻辑上将该概念与任意新思想联系起来。这可能是最严格的定义,但是我们在这里需要非常小心:很少有人(成比例地)对无限等概念有深刻的理解。甚至更少的人可以很容易地将其与任意新概念相关联。此外,原则上,诸如通用问题求解器之类的算法,只要有足够的时间,就可以从给定的事实集合中得出任何逻辑结果。在这种定义下,也许计算机比大多数人了解无限,并且没有理由认为我们现有的算法不会随着时间的推移进一步提高这种能力。这个定义似乎也不符合我们的要求。

最后,我们可以说一个实体“理解”一个概念,如果它可以生成一个实例。例如,我可以生成算术问题及其解决方案的示例。在这个定义下,我可能不会“理解”无限,因为我实际上无法指向或创建任何在现实世界中绝对是无限的具体事物。例如,我实际上不能写下无限长的数字列表,而只能是公式,这些公式表示通过投入更多的精力来写出更长的列表的方式。在这方面,计算机至少应该和我一样好。此定义也不起作用。

这不是“理解”的可能定义的详尽列表,但是据我所知,我们已经涵盖了“理解”。在对理解的每种定义下,关于无限的任何特殊之处都无法将其与其他数学概念区分开。

因此,结果是,要么您确定计算机根本不“了解”任何东西,要么没有特别好的理由认为无限性比其他逻辑概念更难理解。如果您不同意,你需要提供“理解”的具体定义,确实从其他概念无限的独立理解,不依赖于主观经验(除非你想要求你的特殊的形而上学的观点是普遍正确的,但是,这一个参数进行)。

Infinity在普通大众中具有某种半神秘的状态,但实际上就像其他任何数学规则系统一样:如果我们可以写下无限操作所依据的规则,则计算机可以像人类一样完成它们(或更好)。


5
@verdery我想要得到的答案是无限集与有限集之间没有冲突。一台计算机可以计算出无限集合中的所有元素,其意义与人类可以完全一样(原则上)。如果人类可以给集合的每个元素分配不同的数字,那是因为他们可以编写描述该关系的函数。一旦他们可以正式表达一种关系以将其编写为函数,我们就可以对计算进行编程以实现同样的功能。
John Doucette

8
@verdery我相信我了解您的要求。我认为您问题的根源是您在陈述“人类理解无穷大”时出现了归属错误。“理解”在此不限。在我的回答中,我试图证明,无论采用哪种“理解”定义,与离散概念相比,无穷概念或连续概念都没有什么特别之处。要么计算机“理解”这两种概念的项目,要么都不“理解”这两种概念的项目。
John Doucette

4
@nbro,我同意。我认为问题在于,在没有提出“理解”的定义的情况下,不清楚乳清中有什么特别之处使“理解”与理解其他概念有所不同。我的回答不是要说明我提出的特定定义是正确的,而是要表明“人类理解无穷大而计算机不理解”的任何特定定义同样适用于“人类理解x而计算机不理解” ,每x。这意味着我们应该拒绝无穷大有特殊之处的前提。
约翰·杜塞特

5
@nbro我不知道它的意义。如果您无法扩展,而计算机也无法扩展,并且您可以计算有关东西,并且计算机可以计算有关东西,那么您对无理数的担忧又如何与眼前的问题相关?机器具有与您完全相同的功能集。iiii
约翰·杜塞特

4
@nbro如果您仅凭假设无法解释自己的信念,那么您已将问题简化为个人信念,我们已在此处完成。
jakebeal

18

我认为您的前提有缺陷。

您似乎假设“理解”(*)无限需要无限的处理能力,这意味着人类具有这种能力,因为您将它们表示为有限的有限计算机的对立面。

但是人类具有有限的处理能力。我们是由有限数量的基本粒子,有限数量的原子和有限数量的神经细胞组成的生物。如果我们能够以一种或另一种方式“理解”无限性,那么肯定也可以构建有限的计算机。

(*我在引号中使用了“理解”,因为我不想进入感性等的定义。对于这个问题,我也不认为这很重要。)

作为人类,我们可以思考无限。原则上,如果我们有足够的资源(时间等),我们就可以无数次地计数(包括抽象的,如数字或实数)。

在这里,您实际上会大声说出来。“有足够的资源。” 难道这不适用于计算机吗?

虽然人类可以(例如)在计算极限时使用无穷大等,并且可以想到任意增大的想法,但我们只能抽象地做,而从某种意义上讲,它不能处理任意大的数字。我们用于数学的相同规则也可以在计算机上教授。


1
所谓“有限的资源”,是指我们的时间有限。我可以用这样一个例子来阐明我的主张:人类可以识别/识别/定义一个比使用地球上计算机的存储容量存储的数字更大的数字。
翠绿

3
@verdery A巧妙:您要说的是,您可以识别出一些数字,这是非常巨大的。但是您假设它存储在您的脑海中,并且您可以从逻辑上验证其为有效数字。然后,您说计算机无法存储该号码。但是没有人会记住一个像银河系一样宽的数字,但是我们可以从一端到另一端确保它是有效的。计算机也可以做到这一点。您“不公平地”说,即使允许外部存储,计算机也必须存储该号码。也就是说,您的思想实验对机器不公平。
尊敬的

7
@verdery这正是我的观点。人们可以通过算法验证该数字。因此,存在一种用于机器执行完全相同的过程的算法。如果机器具有您为自己分配的无限资源,它也可以遵循数字的命名规则并输出其名称。您已经提到抽象是一个过程的力量,那么为什么高速计算机处理器不能做到这一点呢?也就是说,机器的基本限制是什么?
恭喜

3
@verdery不,如果计算机配备了您从理论上声称自己拥有的无限资源,则它可能只是扩大内存。该程序的一部分将是在需要时分配更多的内存。这就像说人类有限,因为我们会用光纸来写下这个数字。我们说的是理论极限,而不是硬极限。如果允许计算机使用无限制资源,则没有无法命名的数字。因此,我再次问:机器的理论基本限制是什么?
恭喜

5
@verdery是我的观点:具有无限内存的机器等同于具有无限长度磁带的图灵机。磁带上没有大量不能存储的数字。因此,只要我们所说的理论机器可简化为该图灵机,就没有什么可证明的。即,您必须正式表明存在有限数量的不能存储在无边界磁带上的数量。这是不可能的,因为它与磁带的定义相矛盾。
恭喜

12

TL; DR:无限性的概念使无限的微妙性显而易见。无限是可以定义的。“无限的事物”实际上是具有无限自然的事物。最好不要将无限理解为事物,而应将其理解为概念。从理论上说,人类拥有无限的能力而不是无限的能力(例如,数到任意数字而不是“无穷大”)。可以制造一台机器来识别无限。

再次下兔子洞

如何进行?让我们从“极限”开始。

局限性

我们的大脑不是无限的(除非您相信某些形而上学)。因此,我们不“思考无限”。因此,我们的主旨是无穷最好的一些理解有限的精神理念行为,我们可以“比较”等概念。

此外,我们不能“计数无限整数”。有一种微妙这里是非常重要的一点:

我们对数量/数量的概念是无限的。也就是说,对于任何有限值,我们都采用有限/具体的方式或产生另一个严格大于或小于该值的值。也就是说,在有限的时间内,我们只能计算有限的数量。

您不能“被赋予无限时间”来“计算所有数字”,这意味着“完成”,这直接与无穷的概念相矛盾。除非您认为人类具有形而上的特性,否则它们“一致”地体现了一个悖论。另外,您将如何回答:您最后一次计算的数字是多少?没有“最后的数字”,就永远不会有“完成”,因此也就不会有“终点”。那就是您永远无法“拥有足够的”时间/资源来“计数到无穷大”。

我认为您的意思是我们可以理解无限集之间的双射概念。但这是一种逻辑构造(即,这是一种将我们理解为无限的有限方式)。

但是,我们真正要做的是:在界限内讨论界限,并且在需要时可以扩展界限(有限的数量)。我们甚至可以谈论的性质扩大我们的边界。从而:

无界

如果流程/事物/想法/对象的数量/体积/存在有某种程度的度量,那么我们可以以有限的方式产生该对象的“扩展”,而该度量具有我们认为“较大”(或“较小”)的度量,则认为该过程/事物/思想/对象是无限制的(在无穷小情况下),并且该扩展过程可以应用于新生对象(即过程是递归的)。

规范案例一:自然数

另外,我们的无穷大概念可以防止任何“原形”或“随形”变为无穷大。也就是说,一个永远不会“到达”无限,也永远不会“拥有”无限。而是,一个人无限地前进。

因此,我们如何概念化无穷大?

无限

似乎“无穷大”这个词被误解为是说,存在一个被称为“无穷大” 的事物,而不是被称为“无穷大” 的概念。让我们用以下单词粉碎原子:

无限:空间,范围或大小无穷无尽;无法测量或计算。

in-:拉丁文起源的前缀,与英语un-对应,具有反作用或剥夺作用,可以自由地用作英语的构成词,尤其是形容词及其派生词和名词(注意力不集中;牢不可破;廉价;无机;不变)。(来源

有限的:有界限或界限的。

因此,无穷实际上是没有界限或界限的非无限。但是我们在这里可以更加精确,因为我们都可以同意自然数是无限的,但是任何给定的自然数都是有限的。那有什么呢?很简单:自然数满足我们的无界严格的标准,因此,我们说“自然数是无限的。”

也就是说,“无穷大”是一个概念。如果对象/事物/想法具有不受限制的属性/构面,则将其视为无限。如前所述,我们可以无限地定义无界。

因此,如果您所说的座席编程得足够好,可以在卡片上的数字中发现图案,并且这些数字都来自同一集合,则可以推断出该序列的无限性质,因此可以定义所有数字的集合表示无穷大-纯粹是因为集合没有上限。也就是说,自然数的阶跃是无限的,因此可以无限地定义。

因此,对我来说,无穷是最好的一般概念,用于识别过程/事物/想法/对象何时具有无限制的性质。也就是说,无限不是独立于无限的。尝试定义无穷大而不将其与有限事物或那些有限事物的界限进行比较。

结论

可以对一台机器进行编程以表示和检测无界实例,或者在可以接受时假定无界实例似乎是可行的。


2
我认为您应该澄清这样的说法:“人类拥有无限的属性而不是无限的属性”。
nbro

@nbro很好的批评,我看到原始声明的含糊之处。我已进行更新以更好地捕获预期的含义。
恭喜

8

在Haskell中,您可以输入:

print [1..]

它将打印出无限的数字序列,从以下开始:

[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,

它将执行此操作,直到您的控制台内存不足为止。

让我们尝试一些更有趣的东西。

double x = x * 2
print (map double [1..])

这是输出的开始:

[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392

这些示例显示了无限的计算。实际上,您可以在Haskell中保留无限的数据结构,因为Haskell具有非严格的概念-您可以对尚未完全计算的实体进行计算。换句话说,您不必完全计算一个无限实体即可在Haskell中操作该实体。

还原荒谬。


2
参数与符号运算无异,其中表示无穷大。
nbro

6
对代表无穷大并且具有适合该概念的适当性质和含义的符号的@nbro符号操纵是恕我直言,“理解无穷大”的定义。
Peteris

1
@Peteris您对理解的定义类似于John Doucette提供的定义。请参阅中文房间参数。我声称您不能编写能够将无穷大概念应用于所有情况的程序。
nbro

1
@nbro“我声称您不能编写一个能够将无穷大的概念应用于所有情况的程序。”确实,这是暂停问题的直观结论,您可以制造任何可以解决任何问题的机器,包括图灵机的停顿问题-称其为“超级图灵”机。但是,在那台机器上,您可能会发现一个问题,这台“超级图灵”机器无法解决-说说超级图灵程序是否会停止-而您将需要一台“超级超级图灵机”解决这个问题。等等。这就像哥德尔不完备定理,没有语言
noɥʇʎԀʎzɐɹƆ

可以表达宇宙必须提供的一切。
noɥʇʎԀʎzɐɹƆ

8

我相信人类至少可以说是从Georg Cantor以来就理解无限,因为我们可以通过基数的概念来识别不同类型的无限(主要是可数与不可数)。

具体来说,如果一个集合可以映射到自然数,则该集合是无穷大的,也就是说,在无数个无穷集合的元素之间存在1对1的对应关系。所有实数的集合都是不可数的,自然数的所有组合的集合也是不可数的,因为在n> 2的情况下,总会有比自然数更多的组合,从而导致基数更大的集合。 (有关不可数性的第一份正式证明可以在坎托找到,并且是数学哲学的主题。)

对无穷大的理解涉及的是逻辑而不是算术,因为例如,我们不能表达超越数的所有小数,只能使用近似值。逻辑是我们认为的计算机的基本功能。

  • 可以说可以识别产生无限循环的函数(例如使用绘制圆)的分析过程(AI)可以理解无限... π

“永无止境”是对无穷大的定义,以自然数集为例(有最小数,1但无最大数)。

顽固性与无限性

除了无限循环的特殊情况外,我还想知道AI是否比无穷大更注重计算的可计算性

如果没有足够的时间和空间来完整地表示问题,那么这个问题就很难解决,并且可以扩展为许多实数。

π可以理解为无穷大,因为它是由一个圆产生/产生一个圆,但是我不确定所有带小数点的实数都属于这种情况。

人工智能会假设这样的数字是无限的还是很难处理的吗?与抽象相反,后一种情况是具体的-它是否可以完成计算。

这导致停顿问题

  • Turing的证明不能解决所有可能的程序输入对的暂停问题的通用算法可以作为一种指示,表明基于Turing-Church计算模型的算法不能完全理解无穷大。

如果出现了可以解决停顿问题的替代计算模型,则可能会争辩说,一种算法可能具有完美的理解,或者至少证明了与人类相当的理解。


1
某些问题或某些功能uncomputability的不可解是证明,并非所有的概念同样在所有的“理解”或理解的,因为,只有这样,一台机器能理解(不管你理解的定义)是通过计算。因此,我认为,可接受的答案至少具有误导性。它减少了理解符号操纵的无限性的问题,并声称操纵符号的难度不取决于符号本身(或关联的抽象概念的含义)。
nbro

1
这个答案至少认识到某些问题的不同困难。
nbro

1
@nbro我认为我对这个答案有点不满意(希望不会以过度误导的方式),但我确实想解决先前答案中未解决的问题。我的想法是,因为这个问题可以被认为是模棱两可的,所以有多种解决方法。
周公克

1
我认为,您提到了与该问题相关的几个相关主题。1.不同类型的无限性(无穷无穷与不可数); 2.无限无穷集的定义; 3.实数不可数(此声明的著名证明是Cantor的对角论证); 4.此含义陈述数学哲学,5.难于性与无穷大,6.一般外行人对无穷大的定义是“永无止境”,7.停顿问题,以及某些问题的不可解决性或某些函数的不可计算性。
nbro

1
但是,尽管相关,但这些还是很多需要理解或逻辑联系的概念。您的答案中还有几句话不太清楚。例如,1.“对无穷大的理解涉及逻辑而不是算术,因为例如,我们不能表达超越数的所有小数,只能使用近似值。” 或2.“关于一个圆是否只能近似,还有一个强有力的论据可以表示一个完美的圆存在疑问。”。
nbro

7

(对于那些懒惰或迫于时间阅读整本书的人,底部有一个摘要。)

不幸的是,要回答这个问题,我将主要对各种前提进行解构。

正如我之前提到的,人类理解无穷大是因为它们在原理上至少能够计算无穷整数。

我不同意人类实际上能够计数到无限的前提。要做到这一点,说人类将需要无限的时间,无限的内存(例如图灵机),最重要的是无限的耐心-以我的经验,大多数人类在数到1000之前就感到无聊。

这个前提的部分问题是无限实际上不是一个数字,它是一个表示无限量“事物”的概念。所说的“事物”可以是任何东西:整数,秒,lolcats,重点是这些事物不是有限的事实。

有关更多详细信息,请参见此相关的SE问题:https : //math.stackexchange.com/questions/260876/what-exactly-is-infinity

换句话说:如果我问你“无穷大前有多少?” 你的答案是什么?这个假设的超人必须数到那个数目,才能算无穷大。他们需要先知道那个数字,然后那个数字,然后那个数字...

希望这证明了人类为什么无法真正计数到无穷大的原因-因为无穷无穷不存在于数字行的末尾,这是解释数字无穷无尽的概念。即使拥有无限的时间和无限的内存,人和机器都无法真正依靠它。

例如,如果一台计算机可以区分10个不同的数字或事物,则意味着它确实以某种方式真正理解了这些不同的事物。

能够“区分”十种不同的事物并不意味着对这十种事物的理解。

约翰·塞尔(John Searle)的中文室实验是一个著名的思想实验,对“理解”意味着什么提出了质疑:

想象一下一个说英语的母语人士,他不知道有什么中文被锁在装满中文符号框(数据库)的房间里,还有一本说明符号的程序(程序)。想象一下,会议室外的人还会发送其他中文符号,这些符号对于会议室中的人来说是未知的,是中文(输入)的问题。想象一下,按照程序中的指令,房间里的人能够发出中文符号,这些符号是对问题(输出)的正确答案。该程序使房间中的人能够通过图灵测试以了解中文,但他不懂中文。

论据的重点是:如果房间里的人在执行适当的汉语程序的基础上不懂汉语,那么任何其他数字计算机也不会仅以此为基础,因为没有计算机,即计算机,具有男人没有。

从该实验中脱颖而出的是,处理符号的能力并不意味着人们真正理解了这些符号。许多计算机每天都以文本形式处理自然语言(字符编码为整数,通常使用UTF-8之类的基于unicode的编码),但是它们并不一定理解这些语言。简单地说,实际上所有计算机都可以将两个数字加在一起,但是不一定理解它们在做什么。

换句话说,即使在“深度学习视觉模型”中,计算机也可能无法理解所显示的数字(或“符号”),仅算法的模拟智能能力便可以将其归类为人工智能。 。

例如,我们可以采用深度学习视觉模型来识别卡片上的数字。该模型必须为每个不同的卡分配一个数字,以区分每个整数。由于存在无限数量的整数,因此模型如何在数字计算机上为每个整数(如人类)分配不同的数字?如果它无法区分无限事物,那么它如何理解无限?

如果您要对一个人执行相同的卡测试,并不断增加所使用的卡的数量,那么最终由于内存不足,一个人将无法跟踪所有这些卡。一台计算机可能会遇到同样的问题,但从理论上讲,它的性能可能优于人类。

所以现在我问你,人类真的可以区分无限的事物吗?我个人认为答案是否定的,因为所有人类的记忆力有限,但我同意人类最有可能在某种程度上理解无限(有些人比其他人做得更好)。

因此,我认为这样一个问题:“如果不能区分无限事物,它将如何理解无限?” 有一个有缺陷的前提-能够区分无限事物并不是理解无限概念的先决条件。


摘要:

本质上,您的问题取决于“理解”某事物的含义。

计算机当然可以表示无穷大,IEEE浮点规范定义了正无穷大和负无穷大,并且所有现代处理器都能够处理浮点(无论是通过硬件还是通过软件)。

如果AI能够真正理解事物,那么从理论上讲它们就可以理解无穷大的概念,但是要确定地证明这两种方法还有很长的路要走,我们必须就首先“理解”某事物意味着什么。


4

我坚信数字计算机无法理解无穷大,实数或一般来说是连续的概念,就像Flatlanders无法理解三维世界一样。也可以看一看Michio Kaku 所著的《超空间:穿越平行宇宙的科学漫游》,《时间扭曲》和《第十维度》(1994年),该书更详细地讨论了这些主题。当然,在这个答案中,理解的概念不是严格定义的,而是直观地定义的。


7
我认为这不是一个很好的论点,尽管我经常看到它。人类无法精确地表示任何非理性数字:我们可以为一个数字创建一个新符号,例如“ e”(计算机可以并且可以用数字方式推理),或者可以计算出有限个数字(实际上是计算机)比我们做得更好)。我不清楚我们从什么意义上以“连续”的意义来理解这些概念。
John Doucette

6
我的观点是,人类实际上并不以需要无限资源的方式来理解无限概念。关于无限的概念没有什么需要无限的资源来进行推理的。应用该概念可能需要无限的资源,但是人类也没有。
John Doucette

3
π2+2π2+2

2
好的。那是我最初的想法。我的问题是为什么,因为从我的角度来看,人类用来表示此类对象的所有工具都是离散的。
约翰·杜塞特

2
所以我认为我们已经接近核心问题。我们俩都同意:人类和计算机都无法计算非离散的事物。所以问题是,当有人说“人类能理解连续的事物,而计算机却不能理解”时,它们是什么意思?您可以提出中国房间的论点,但是无论您选择哪种方法都可以。关于无穷大没有什么特别的,在这种情况下,OP的问题很容易是“为什么计算机不理解数字2?”。在您的回答中,您似乎认为人类拥有某些能力机器没有。它是什么?
John Doucette

4

然后前提假设人类“了解”无限。我们要不要?

如果您想首先了解我是否“理解”无穷大,我认为您需要告诉我将使用什么标准。

在OP中,给出的想法是我可以“证明”我“理解”无穷大,因为“原则上,如果我们有足够的资源(时间等),我们可以计算出无数的事物(包括抽象的事物,例如数字,或者真实)。”

好吧,那根本不是真的。更糟糕的是,如果这是真的(不是),那么对于计算机也同样如此。原因如下:

  1. 是的,原则上您可以对整数进行计数,并且可以看到计数永远不会结束。
  2. 但是,即使您有足够的资源,也永远无法“无数次地计数”。总会有更多。这就是“无限”的意思。
  3. 更糟糕的是,存在无穷多个阶(“基数”)。大多数情况下,即使有无限的时间,也可能没有无限的其他资源,您甚至无法计数。它们实际上是不可数的。从字面上看,它们不能映射到数字行或整数集。即使在原则上,也不能以可以计数的方式订购它们。
  4. 更糟糕的是,当我明显无法做到甚至是最细微的事情时,如何在“原则上”决定我可以做什么的地方做些什么?该步骤感觉是外行式的假设,实际上并未严格执行此操作时会看到问题。这可能不是小事。
  5. 最后,假设这是您的实际测试,例如在OP中。因此,如果我可以“原则上用足够的资源(时间等)来无限地数很多事情”,那么您就足以决定“理解”无限(无论什么意思)。那么一台具有足够资源(RAM,时间,算法)的计算机也可以。因此,如果您给计算机设定相同的条件,则计算机可以轻松满足测试本身的要求。

我想,也许逻辑的更现实行的是,究竟是什么这个问题表明,是大多数(可能呢?)其实人做明白无穷大。因此,了解无限可能不是 AI的测试/要求的好选择。

如果您对此表示怀疑,请问问自己。您是否诚实,真实且认真地“理解”了一百万亿年(红色矮星的可能寿命)?就像,您真的可以理解它经历了100万亿年吗,还是仅仅是一个带有多个零的1?飞秒呢?或大约10 ^ -42秒的时间间隔?你能真正“理解”那个吗?与您的心跳之一相比,一个时间尺度与您的心跳之一相比,与该宇宙当前生命的十亿倍相比较?您自己真的可以 “理解无限”吗?值得思考……


如果我们假设我们无法理解无限,那并不意味着它不存在。物理学中有一些我们无法理解的例子,但它们确实存在。例如,光的二重性和光的速度极限,自然界的相对性等。在这种情况下,我们在脑海中有了这些概念的表示。相同的情况可能对无穷大有效。
翠绿

哦,这个概念存在,但是如何证明自己真正“理解了这个概念”呢?最后查看我的问题。这就是我想知道的,以测试*您*您自己(或任何人)是否真正“理解了这个概念”。这可能不是您选择的测试,但是我认为,如果我不是在字典定义或使用该概念的能力,而是在测试“理解” ,那将是我的测试。而地球上的每个最后的人类(包括我自己)都会失败。
Stilez

我有一个问题要问,如果您在脑海中没有代表权,该怎么写:10 ^ -42?
翠绿

1
对我而言,“具有代表性”并不意味着“具有任何理解”。想一想海因莱因的“咕to”一词。那是我书中的“理解”。几乎所有其他内容都只是背诵字典定义或操纵符号。痛苦不是痛苦的概念,爱不是爱的概念,无穷不仅是无穷的概念和象征。我认为人类不会无穷无尽,如果您不要求提供真实的“理解”证据,那么任何计算机都可以背诵定义或操纵符号,而不能真正“获得它们”,就像任何人都可以。
斯蒂尔

如果您仔细阅读本文中的第一个问题,那么我的方法是实用主义者。我不讨论“古怪”。
翠绿

3

通过在算术中添加一些无穷大规则(例如,无穷大的有限数等于无穷大等),数字计算机似乎可以理解无穷大的概念。

或者,计算机可以简单地用对数号代替数字n 。然后,它可以以不同的比例区分数字,并且可以知道对数星值> 10的任何数字实际上都等于无穷大。


1
仅表示无穷大或包含无穷大的有限集不足以使我们相信模型可以理解无穷大。不幸的是,从我的角度来看,您的回应完全没有用。
翠绿

@verdery非常正确。我相信我的回应可能是一个起点。因此,社区维基标记。我非常喜欢John Ducette的回答。
Amrinder Arora

3

我认为到目前为止,讨论中所缺少的概念是符号表示。我们人类象征性地代表和理解了许多概念。无穷大的概念就是一个很好的例子。Pi是另一个,以及其他一些众所周知的无理数。还有很多很多。

实际上,我们可以使用符号轻松地将这些价值和概念呈现给其他人和计算机。计算机和人类都可以使用这些符号进行操作和推理。例如,计算机几十年来一直在进行数学证明。同样,可以使用商业和/或开源程序来象征性地处理方程式,以解决现实世界中的问题。

因此,正如@JohnDoucette推理的那样,Infinity与数学和算术中的许多其他概念没有什么特别的。当我们碰到代表性砖墙时,我们只需定义一个代表“那个”的符号并向前移动。

注意,无限的概念有许多实际用途。每当您有一个比率并且分母“变为”零时,表达式“ approaches”的值将变为无穷大。的确,这并非罕见。因此,尽管您在大街上的普通人并不熟悉这些想法,但很多科学家,工程师,数学家和程序员却对此不屑一顾。至少现在几十年来,软件已经象征性地与Infinity打交道已经足够了。例如Mathematica:http//mathworld.wolfram.com/Infinity.html


3

一个图灵机是现代数字计算机计算的主要数学模型。图灵机被定义为一个对象,该对象根据特定规则(代表图灵机执行的程序)在无限大的磁带上细分为离散的单元格。因此,图灵机是一种符号操纵系统,在给定一定的输入的情况下,它会产生一定的输出或不停止

如果您认为理解等同于符号操作,则图灵机能够理解许多概念,即使理解每个概念的难度在时间和空间方面都是可变的。(研究某些计算问题的难度的理论计算机科学(TCS)分支称为计算复杂性理论。研究某些问题的可计算性的TCS分支称为可计算性理论)。

rrlimxxr=

这证明了图灵机无法在所有可能的情况下操纵无穷大的概念,因为图灵机永远不会经历某些实数。但是,图灵机在许多情况下(涉及可数集合)可能能够操纵无穷大的概念,因此,只要理解等同于符号操纵,图灵机就可以对无穷大的概念有部分理解。


1
前两段很好。但是,我非常不同意其余的。当然,图灵机可以理解您编写的限制,因为该限制只不过是坚持归纳(可数)语法的字符串而已。至关重要的是,您不需要能够计算数字就能公理地处理它。这是人类一直在做的事情。人类也无法计算,但是他们可以对此进行推理。推理并没有要求计算。r
ComFreek

@ComFreek我同意您的观点,即TM可以在不知道确切值的情况下操纵此限制。但是,实际上,TM甚至不能假设的存在,因为它无法计算。因此,任何TM都不会遇到此限制,因此任何TM都无法解决此限制。换句话说,TM仅假定存在可计算的数字,因此当TM象征性地操作该限制时,被假定为可计算的。[R [Rrrr
nbro

确保TM可以遇到它-人类就像这样做一样。它也可以解决这个限制-与人类一样。不难看出,您可以将所需的一切形式化为一个定理证明者,以证明该极限。形式化本身就是一个二进制字符串,因此当然也可以由TM找到。
ComFreek

@ComFreek你一点都不明白我的意思。任何TM只能假设存在可计算数字,因此任何符号操作都被假定为涉及可计算数字。如果您说TM可以解决此限制,那么您只是在对此进行解释,因为您是TM的外部观察者。
nbro

1
不,TM一定可以使用抽象表示进行推理。只需看看任何定理证明者(Coq,Isabelle等)中数学定理的形式化即可。这些定理证明者是TM,因为它们是程序。这将立即证明您要说的话。
ComFreek

2

电脑不懂“无穷大”甚至“零”,就像螺丝刀不懂螺丝一样。它是用于处理二进制信号的工具。

实际上,等效于湿件的计算机不是人而是大脑。大脑不认为,人认为。大脑只是人们实现的平台。混淆两者是一个常见的错误,因为它们之间的联系往往密不可分。

如果您想分配理解,则至少必须移至实际程序而不是计算机。程序可能具有或可能不具有零或无穷大的表示形式,并且可能或可能无法对二者之一进行熟练的操纵。大多数符号数学程序在这里的表现都比从事数学工作的人要好。


2

John Doucette的回答很好地涵盖了我的想法,但是我认为一个具体的例子可能会很有趣。我使用名为Cyc的符号AI进行工作,该AI将概念表示为逻辑谓词网络。我们经常喜欢吹嘘Cyc“了解”事物,因为它可以阐明事物之间的逻辑关系。例如,它知道人们不喜欢缴税,因为缴税涉及赔钱,而人们通常对此表示反对。实际上,我认为大多数哲学家都会同意这充其量只是对世界的一个不完整的“理解”。Cyc可能知道描述人,税和不满的所有规则,但其中没有任何实际经验。

但是,在无穷大的情况下,还需要了解什么?我认为无穷大是一个数学概念,除了其逻辑描述之外,没有其他现实。如果您可以正确应用描述无穷大的所有规则,那么您就已经无穷无尽了。如果像Cyc这样的AI无法代表任何事物,也许是这种概念对我们产生了情感上的反应。因为我们生活在现实生活中,所以我们可以将无限之类的抽象概念与死亡率之类的具体概念联系起来。也许正是由于情感上的语境化,使人们对这个概念似乎有了更多的“了解”。




1

无限的“概念”是要理解的一件事。我可以用1个符号(∞)表示。

正如我之前提到的,人类理解无穷大是因为它们在原理上至少能够计算无穷整数。

根据这个定义,人类不了解无限。人类无法计算无穷整数。它们将在某个时间死亡(耗尽计算资源/能力)。实际上,让计算机算作无穷大要比让人类做无穷大要容易得多。



给定无限的资源,人类或计算机都可以算作无限。符号∞是无穷大“概念”的占位符。大多数人对此概念知之甚少。他们知道它比任何其他数字都要大。他们没有关于概念相乘或相加的任何规则,但是它们“感觉” 2 *∞大于1 *∞,等等。某些数学家根据不同的上下文对概念有不同的定义,甚至有多个无穷大概念。场。
佩斯

1

值得深思:如果不尝试从理论上而是从实践上编程无穷大,那该怎么办?因此,如果我们认为计算机无法计算的某些事物(在其资源为无穷大的情况下),那么计算机便可以实现目标。以编程方式,它可以按以下方式实现:如果输入小于可用内存,则它不是无限的。随后,可以将无穷大定义为在评估尝试中返回内存不足错误的内容。


1

如果我们人类了解无限,这是有争议的。当我们遇到这个问题时,我们只是创造新的概念来替代旧的数学。在按无穷大的机器划分时,可以像我们一样理解它:

double* xd = new double;
*xd =...;
if (*xd/y<0.00...1){
int* xi = new int;
*xi = (double) (*xd);
delete xd;

如果人类想到无穷大-在他/她当前的背景下想象出无数个数字。因此,编写算法的关键只是找到AI当前正在使用的规模。顺便说一句,这个问题必须在几年前解决。设计float / double的人必须意识到自己在做什么。移动指数符号是双线性操作。


1

好吧-刚刚谈到人与无穷大的问题-我父亲已经成为数学家已有60年了。在整个这段时间里,他一直是那种怪胎,喜欢谈论和思考他的主题,而不是其他任何东西。他热爱无限,并从小就教我有关无限的知识。我是在五年级时第一次被引入微积分的(并不是因为它给人留下了深刻的印象)。他喜欢教书,一顶帽子,他就会参加有关任何数学的讲座。只是问问。

实际上,我想说的是,他对事物的无限了解比无穷大……也许是我母亲的脸?我不会指望它。如果一个人能理解任何东西,我父亲就会理解无限。


1

人类当然不了解无限。当前,计算机无法理解人类无法理解的事物,因为计算机是由人类编程的。在反乌托邦的未来可能并非如此。

这是关于无限的一些想法。这组自然数是无限的。还已经证明,作为自然数的子集的素数集也是不定的。因此我们在无穷集内有一个无穷集。更糟的是,在任意两个实数之间都存在无限个实数。看一下通往大酒店的希尔伯特悖论的链接,看看无限混乱如何变得令人困惑-https: //en.wikipedia.org/wiki/Hilbert%27s_paradox_of_the_Grand_Hotel


0

我认为人类所拥有的财产是计算机所没有的,它是某种并行过程,与他们正在思考的其他事物同时运行,并试图为您所做的一切分配重要性加权评估。如果您要求计算机运行该程序,则A = 1;直到(A <0)a = a + 1; 结束;

电脑会。如果您问一个人,另一个过程会插入“我现在很无聊...这已经花了很长时间...我将开始一个新的并行过程来检查问题,确定答案在哪里并寻找一个更快地找到答案的途径 ...然后,我们发现自己陷入了一个永远不会被“解决”的无限循环中..并插入了一个标记该问题的中断,杀死了无聊的过程并去喝杯茶:-)对不起,如果没有帮助。


问题不是“ AI可以理解无限吗”,而是“无限对AI有什么作用?那么我们如何为此目的表示它?” -作为人类,您有大量的“包容过程”与您在环境中的生存息息相关。这些系统中的一个管理您的资源,并在一项任务要求很高或规模较大(可能趋向于无限)时进行标记,因此您必须了解无限性对您意味着什么的真实概念。它对AI意味着什么?时间资源?分配的节点数?答案有多重要/准确?
Andy Evans
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.