Les ordinateurs numériques peuvent-ils comprendre l'infini?

39

En tant qu'être humain, nous pouvons penser l'infini. En principe, si nous avons suffisamment de ressources (temps, etc.), nous pouvons compter une infinité de choses (y compris abstraites, comme des nombres ou réelles).

Par exemple, au moins, nous pouvons prendre en compte des entiers. Nous pouvons penser, principalement, et «comprendre» une infinité de nombres qui s'affichent à l'écran. De nos jours, nous essayons de concevoir une intelligence artificielle capable au moins d'être humain. Cependant, je suis coincé à l'infini. J'essaie de trouver un moyen d'apprendre à un modèle (profond ou non) à comprendre l'infini. Je définis la «compréhension» dans une approche fonctionnelle. Par exemple, si un ordinateur peut différencier 10 nombres ou choses différents, cela signifie qu'il comprend vraiment ces différentes choses d'une manière ou d'une autre. C'est l'approche directe de base de la «compréhension».

Comme je l'ai mentionné précédemment, les humains comprennent l'infini parce qu'ils sont capables, au moins, de compter des nombres infinis, en principe. De ce point de vue, si je veux créer un modèle, le modèle est en fait une fonction dans un sens abstrait, ce modèle doit différencier infiniment de nombres. Étant donné que les ordinateurs sont des machines numériques qui ont une capacité limitée à modéliser une telle fonction infinie, comment puis-je créer un modèle qui différencie une infinité de nombres entiers?

Par exemple, nous pouvons prendre un modèle de vision d'apprentissage en profondeur qui reconnaît les nombres sur la carte. Ce modèle doit attribuer un numéro à chaque carte différente pour différencier chaque entier. Puisqu'il existe des nombres infinis d'entiers, comment le modèle peut-il attribuer un nombre différent à chaque entier, comme un être humain, sur les ordinateurs numériques? S'il ne peut pas différencier les choses infinies, comment comprend-il l'infini?

Si je prends en compte des nombres réels, le problème devient beaucoup plus difficile.

Quel est le point qui me manque? Y a-t-il des ressources qui se concentrent sur le sujet?

verdery
la source
30
La plupart d'entre nous, les humains, ne comprennent pas assez bien l'infini. Y compris moi.
naïf
2
@Amrinder Arora selon une IA forte, nous pouvons supposer que la compréhension ne fait que faire semblant. Par conséquent, le modèle qui peut différencier différents signaux comprend en quelque sorte les signaux ou les notions (ce que vous appelez).
verdery
6
Récemment, j'ai eu une longue discussion avec des gens très intelligents qui ne comprenaient tout simplement pas comment il pouvait y avoir autant d'entiers, d'entiers positifs, voire d'entiers, même d'entiers positifs et de nombres premiers. Donc, je contesterais votre affirmation selon laquelle les humains comprennent l'infini. Veuillez également noter que mathématiquement, il n'y a pas de «infini». Il existe de nombreuses branches des mathématiques, qui peuvent toutes avoir des notions différentes de l'infini, et toute branche des mathématiques peut ne pas avoir, une ou plusieurs notions d'infini. Ensuite, il existe même des infinis "de taille" différents!
Jörg W Mittag
8
Je suis un peu confus, personne n'a souligné que pratiquement chaque ordinateur gère déjà l'infini - en particulier avec IEEE 754
Arrêtez de nuire à Monica
2
@ JörgWMittag est correct. L'infini est un concept défini de différentes manières selon le domaine des mathématiques. IEEE754 définit un ensemble de règles assez cohérent pour gérer les infinis qui sous-tendent la plupart des systèmes arithmétiques réels sur la plupart des ordinateurs. Mais il y a d'autres règles. Une IA peut apprendre de telles règles. Qu'il puisse en inventer de nouveaux et meilleurs est en dehors de mon niveau de rémunération: en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems
Rich

Réponses:

55

Je pense que c'est une idée fausse assez courante sur l'IA et les ordinateurs, en particulier chez les laïcs. Il y a plusieurs choses à déballer ici.

Supposons que l'infini (ou les concepts continus) ait quelque chose de spécial qui les rend particulièrement difficiles pour l'IA. Pour que cela soit vrai, il faut à la fois que les humains puissent comprendre ces concepts tout en restant étrangers aux machines, et qu'il existe d'autres concepts qui ne sont pas comme l'infini que les humains et les machines peuvent comprendre. Ce que je vais montrer dans cette réponse, c'est que vouloir ces deux choses conduit à une contradiction.

La racine de ce malentendu est le problème de ce que signifie comprendre . La compréhension est un terme vague dans la vie quotidienne, et cette nature vague contribue à cette idée fausse.

Si par comprendre, nous voulons dire qu'un ordinateur a l'expérience consciente d'un concept, alors nous sommes rapidement pris au piège de la métaphysique. Il y a un débat de longue haleine et essentiellement ouvert sur la question de savoir si les ordinateurs peuvent «comprendre» quoi que ce soit dans ce sens, et même parfois, si les humains le peuvent! Vous pourriez aussi bien vous demander si un ordinateur peut "comprendre" que 2 + 2 = 4. Par conséquent, s'il y a quelque chose de spécial dans la compréhension de l'infini, cela ne peut pas être lié à la «compréhension» au sens de l'expérience subjective.

Supposons donc que par "comprendre", nous ayons une définition plus précise en tête. Quelque chose qui rendrait un concept comme l'infini plus compliqué pour un ordinateur à "comprendre" qu'un concept comme l'arithmétique. Notre définition plus concrète de la «compréhension» doit se rapporter à une capacité objectivement mesurable ou une capacité liée au concept (sinon, nous sommes de retour au pays de l'expérience subjective). Examinons quelle capacité ou capacité pourrions-nous choisir qui ferait de l'infini un concept spécial, compris par les humains et non par les machines, contrairement à l'arithmétique, par exemple.

On pourrait dire qu'un ordinateur (ou une personne) comprend un concept s'il peut fournir une définition correcte de ce concept. Cependant, si même un être humain comprend l'infini par cette définition, alors il devrait être facile pour eux d'écrire la définition. Une fois la définition écrite, un programme informatique peut la sortir. Maintenant, l'ordinateur "comprend" l'infini aussi. Cette définition ne fonctionne pas pour nos besoins.

On pourrait dire qu'une entité comprend un concept si elle peut l' appliquer correctement. Encore une fois, si même une seule personne comprend comment appliquer correctement le concept de l'infini, il nous suffit d'enregistrer les règles qu'elle utilise pour raisonner sur le concept, et nous pouvons écrire un programme qui reproduit le comportement de ce système de règles. L'infini est en fait très bien caractérisé comme un concept, capturé dans des idées comme Aleph Numbers . Il n'est pas impossible de coder ces systèmes de règles dans un ordinateur, au moins jusqu'au niveau que tout être humain les comprend. Par conséquent, les ordinateurs peuvent "comprendre" l'infini jusqu'au même niveau de compréhension que les humains par cette définition également. Donc, cette définition ne fonctionne pas pour nos besoins.

On pourrait dire qu'une entité "comprend" un concept si elle peut logiquement relier ce concept à de nouvelles idées arbitraires. C'est probablement la définition la plus forte, mais nous devons être assez prudents ici: très peu d'humains (proportionnellement) ont une compréhension profonde d'un concept comme l'infini. Encore moins peuvent le relier facilement à de nouveaux concepts arbitraires. De plus, des algorithmes comme le General Problem Solver peuvent, en principe, tirer toutes les conséquences logiques d'un ensemble de faits donné, avec suffisamment de temps. Selon cette définition, les ordinateurs comprennent peut-être mieux l' infini que la plupart des humains, et il n'y a certainement aucune raison de supposer que nos algorithmes existants n'amélioreront pas davantage cette capacité au fil du temps. Cette définition ne semble pas non plus répondre à nos exigences.

Enfin, on pourrait dire qu'une entité "comprend" un concept si elle peut en générer des exemples. Par exemple, je peux générer des exemples de problèmes en arithmétique et leurs solutions. Selon cette définition, je ne "comprends" probablement pas l'infini, parce que je ne peux pas pointer ou créer quelque chose de concret dans le monde réel qui soit définitivement infini. Je ne peux pas, par exemple, écrire une liste infiniment longue de nombres, simplement des formules qui expriment des moyens de créer des listes toujours plus longues en investissant toujours plus d'efforts pour les écrire. Un ordinateur devrait être au moins aussi bon que moi dans ce domaine. Cette définition ne fonctionne pas non plus.

Ce n'est pas une liste exhaustive des définitions possibles de "comprend", mais nous avons couvert "comprend" si je comprends bien. Sous chaque définition de la compréhension, il n'y a rien de spécial à propos de l'infini qui le sépare des autres concepts mathématiques.

Le résultat est donc que, soit vous décidez qu'un ordinateur ne "comprend" rien du tout, soit il n'y a aucune raison particulièrement bonne de supposer que l'infini est plus difficile à comprendre que d'autres concepts logiques. Si vous n'êtes pas d' accord, vous devez fournir une définition concrète de la « compréhension » qui ne compréhension séparée de l' infini d'autres concepts, et qui ne dépendent pas des expériences subjectives (sauf si vous voulez demander votre point de vue métaphysique particulier sont universellement correcte, mais c'est un argument difficile à faire).

L'infini a une sorte de statut semi-mystique parmi le public profane, mais c'est vraiment comme n'importe quel autre système mathématique de règles: si nous pouvons écrire les règles par lesquelles l'infini fonctionne, un ordinateur peut les faire aussi bien qu'un humain peut ( ou mieux).

John Doucette
la source
5
@verdery Ce que j'essaie de comprendre dans ma réponse, c'est qu'il n'y a pas de conflit entre les ensembles infinis et finis. Un ordinateur peut compter tous les éléments d'un ensemble infini, exactement dans le même sens qu'un humain peut (en principe). Si un être humain peut attribuer un numéro différent à chaque élément d'un ensemble, c'est parce qu'il peut écrire une fonction décrivant cette relation. Dès qu'ils peuvent exprimer une relation suffisamment formellement pour l'écrire en tant que fonction, nous pouvons programmer un calcul pour faire de même.
John Doucette
8
@verdery Je crois que je comprends ce que vous demandez. Je pense que la racine de votre problème est que vous avez fait une erreur d'attribution avec la déclaration "les humains comprennent l'infini". "Comprendre" n'est pas lié ici. Dans ma réponse, j'essaie de démontrer que, quelle que soit la définition de «comprendre» que vous adoptez, il n'y a rien de particulièrement spécial dans les concepts infinis ou continus, par opposition aux concepts discrets. Soit les ordinateurs "comprennent" les éléments des deux catégories de concept, soit aucun.
John Doucette
4
@nbro je suis d'accord. Je pense que le problème est que, sans proposer une définition de la "compréhension", il n'est pas clair de savoir si l'infini a quelque chose de spécial qui rend la "compréhension" différente de la compréhension d'autres concepts. Le but de ma réponse n'est pas de suggérer que les définitions spécifiques que je propose sont correctes , mais de montrer que toute définition spécifique où "les humains comprennent l'infini et les ordinateurs ne le font pas" s'applique également à "les humains comprennent le x et les ordinateurs ne le font pas" , pour chaque x. Cela signifie que nous devons rejeter la prémisse qu'il y a quelque chose de spécial dans l'infini.
John Doucette
5
@nbro Je ne vois pas en quoi c'est pertinent. Si vous ne pouvez pas développer , et qu'un ordinateur ne peut pas développer i , et que vous pouvez calculer des choses à propos de i , et qu'un ordinateur peut calculer des choses à propos de i , comment vos préoccupations concernant les nombres irrationnels peuvent-elles être pertinentes pour la question posée? La machine a exactement le même ensemble de capacités que vous. iiii
John Doucette
4
@nbro Si vous ne pouvez expliquer vos croyances que par hypothèse, alors vous avez réduit le problème à une question de votre propre foi, et nous avons terminé ici.
jakebeal
18

Je pense que votre prémisse est défectueuse.

Vous semblez supposer que «comprendre» (*) les infinis nécessite une capacité de traitement infinie, et impliquez que les humains ont exactement cela, puisque vous les présentez comme l'opposé des ordinateurs limités et finis.

Mais les humains ont également une capacité de traitement limitée. Nous sommes des êtres construits d'un nombre fini de particules élémentaires, formant un nombre fini d'atomes, formant un nombre fini de cellules nerveuses. Si nous pouvons, d'une manière ou d'une autre, «comprendre» les infinis, alors des ordinateurs finis peuvent également être construits.

(* J'ai utilisé "comprendre" entre guillemets, parce que je ne veux pas entrer par exemple dans la définition de la sensibilité, etc. Je ne pense pas non plus que cela soit important en ce qui concerne cette question.)

En tant qu'être humain, nous pouvons penser l'infini. En principe, si nous avons suffisamment de ressources (temps, etc.), nous pouvons compter une infinité de choses (y compris abstraites, comme des nombres ou réelles).

Ici, vous le dites à haute voix. "Avec suffisamment de ressources." La même chose ne s'appliquerait-elle pas aux ordinateurs?

Alors que les humains peuvent , par exemple, utiliser les infinis lors du calcul des limites, etc. et peuvent penser à l'idée de quelque chose qui devient arbitrairement plus grand, nous ne pouvons le faire que dans l'abstrait, pas dans le sens de pouvoir traiter des nombres arbitrairement grands. Les mêmes règles que nous utilisons pour les mathématiques pourraient également être enseignées à un ordinateur.

ilkkachu
la source
1
Par «ressources limitées», je veux dire que nous avons une durée de vie limitée. Je peux clarifier ma revendication en utilisant un tel exemple: un humain peut identifier / reconnaître / définir un nombre plus grand qu'un nombre qui est stocké en utilisant la capacité de stockage des ordinateurs sur la terre.
verdery
3
@verdery A subtilement: vous déclarez qu'il y a un nombre que vous pouvez reconnaître qui est extrêmement énorme. Mais vous supposez qu'il est stocké en dehors de votre esprit et que vous pouvez logiquement vérifier qu'il s'agit d'un numéro valide. Vous dites alors que l'ordinateur ne peut pas stocker ce numéro. Mais aucun humain ne peut se souvenir d'un nombre aussi large de la galaxie mais nous pourrions passer d'un bout à l'autre en nous assurant qu'il est valide. Un ordinateur peut aussi le faire. Vous dites «injustement» que l'ordinateur doit stocker le numéro, même si vous disposez d'un stockage externe. Autrement dit, votre expérience de pensée est injuste pour la machine.
respectueux
7
@verdery c'est précisément mon point. Un humain peut vérifier algorithmiquement le nombre. Il existe donc un algorithme pour qu'une machine exécute exactement le même processus. À condition que la machine dispose des ressources illimitées que vous vous êtes allouées, elle pourrait également suivre les règles de dénomination du numéro et afficher son nom. Vous avez mentionné la puissance de l'abstraction en tant que processus, alors pourquoi un processeur informatique à haute vitesse ne pourrait-il pas faire de même? Autrement dit, quelle est la limitation fondamentale de la machine?
respectueux
3
@verdery Non, si l'ordinateur est équipé des ressources illimitées que vous avez théoriquement revendiquées, il pourrait simplement étendre sa mémoire. Une partie du programme consisterait à allouer plus de mémoire en cas de besoin. C'est comme dire que les humains sont limités parce que nous manquerions de papier pour écrire ce nombre. Nous parlons de limites théoriques et non de limites strictes. Si une machine dispose de ressources illimitées, il n'y a pas de numéro qu'elle ne pourrait pas nommer. Je pose donc à nouveau la question: quelle est la limitation fondamentale théorique de la machine?
respectueux
5
@verdery voici mon point: une machine avec une mémoire illimitée équivaut à une machine de Turing avec une bande de longueur illimitée. Aucun grand nombre ne peut être stocké sur la bande. Aussi, tant que la machine théorique dont nous parlons est réductible à cette machine de Turing, il n'y a rien à prouver. Autrement dit, vous devez montrer officiellement qu'il existe un nombre fini qui ne peut pas être stocké sur la bande non bornée. C'est impossible car cela contredit la définition de la bande.
respectueux
12

TL; DR : Les subtilités de l'infini se manifestent dans la notion de non-limite. La illimité est définissable de façon définitive. Les «choses infinies» sont vraiment des choses avec des natures illimitées. L'infini est mieux compris non pas comme une chose mais comme un concept. Les humains possèdent théoriquement des capacités illimitées et non des capacités infinies (par exemple, compter avec n'importe quel nombre arbitraire, par opposition à "compter jusqu'à l'infini"). Une machine peut être conçue pour reconnaître les limites.

De nouveau dans le terrier du lapin

La façon de procéder? Commençons par les «limites».

Limites

Nos cerveaux ne sont pas infinis (de peur que vous ne croyiez à certaines métaphysiques). Donc, nous ne "pensons pas l'infini". Ainsi, ce que nous prétendons être l'infini est mieux compris comme un concept mental fini contre lequel nous pouvons «comparer» d'autres concepts.

De plus, nous ne pouvons pas "compter des nombres infinis". Il y a ici un subtil qu'il est très important de souligner:

Notre concept de quantité / nombre est illimité . Autrement dit, pour toute valeur finie, nous avons une manière finie / concrète ou produisant une autre valeur qui est strictement plus grande / plus petite. Autrement dit, à condition que le temps fini , nous ne pouvions compter que des quantités finies .

On ne peut pas vous «donner un temps infini» pour «compter tous les nombres», cela impliquerait une «finition» qui contredit directement la notion d'infini. À moins que vous ne croyiez que les humains ont des propriétés métaphysiques qui leur permettent d'incarner "systématiquement" un paradoxe. De plus, comment répondriez-vous: Quel est le dernier chiffre que vous avez compté? Sans «dernier numéro», il n'y a jamais de «fin» et donc jamais de «fin» à votre comptage. C'est-à-dire que vous ne pouvez jamais "avoir assez" de temps / ressources pour "compter jusqu'à l'infini".

Je pense que vous voulez dire que nous pouvons comprendre la notion de bijection entre des ensembles infinis. Mais cette notion est une construction logique (c'est-à-dire que c'est une façon finie de se débattre ce que nous comprenons comme infini).

Cependant, ce que nous faisons vraiment, c'est: Dans nos limites, nous parlons de nos limites et, chaque fois que nous en avons besoin, nous pouvons élargir nos limites (d'un montant fini). Et nous pouvons même parler de la nature de l' élargissement de nos limites. Ainsi:

Illimité

Un processus / chose / idée / objet est considéré comme illimité si, étant donné une certaine mesure de sa quantité / volume / existence, nous pouvons de manière finie produire une "extension" de cet objet qui a une mesure que nous jugeons "plus grande" (ou "plus petite" dans le cas des infinitésimaux) que la mesure précédente et que ce processus d'extension peut être appliqué à l'objet naissant (ie le processus est récursif).

Cas canonique numéro un: les nombres naturels

De plus, notre notion de l'infini empêche tout "at-ness" ou "on-ness" à l'infini. C'est-à-dire que l'on "n'arrive" jamais à l'infini et qu'on "n'a" jamais l'infini. Au contraire, on procède sans limites.

Ainsi comment conceptualisons-nous l'infini?

Infini

Il semble que «l'infini» en tant que mot soit mal interprété comme signifiant qu'il existe une chose qui existe appelée «infini» par opposition à un concept appelé «infini». Écrasons les atomes avec le mot:

Infini: sans limite ou sans fin dans l'espace, l'étendue ou la taille; impossible de mesurer ou de calculer.

in-: un préfixe d'origine latine, correspondant à l'anglais un-, ayant une force négative ou privative, librement utilisé comme formateur anglais, en particulier d'adjectifs et de leurs dérivés et de noms (inattention; indéfendable; peu coûteux; inorganique; invariable). ( source )

Fini: avoir des limites ou des bornes.

Donc, l'infinité est vraiment une non-finité qui n'a pas de limites ou de limites . Mais nous pouvons être plus précis ici parce que nous pouvons tous convenir que les nombres naturels sont infinis mais tout nombre naturel donné est fini. Alors qu'est-ce qui donne? Simple: les nombres naturels satisfont notre critère de non-limite et nous disons donc "les nombres naturels sont infinis".

Autrement dit, "l'infini" est un concept. Un objet / chose / idée est réputé infini s'il possède une propriété / facette qui n'est pas bornée. Comme précédemment, nous avons vu que l'infini est définissable de façon définitive.

Ainsi, si l'agent dont vous parlez a été suffisamment bien programmé pour repérer le motif dans les nombres sur les cartes et que les nombres proviennent tous du même ensemble, cela pourrait déduire la nature illimitée de la séquence et donc définir l'ensemble de tous les nombres comme infini - uniquement parce que l'ensemble n'a pas de limite supérieure . C'est-à-dire que la progression des nombres naturels est illimitée et donc définitivement infinie.

Ainsi, pour moi, l'infini est mieux compris comme un concept général pour identifier quand les processus / choses / idées / objets possèdent une nature illimitée. Autrement dit, l'infini n'est pas indépendant de l'infini. Essayez de définir l'infini sans le comparer aux choses finies ou aux limites de ces choses finies.

Conclusion

Il semble possible qu'une machine puisse être programmée pour représenter et détecter des cas de non-limite ou quand elle pourrait être admissible pour supposer une non-limite.

respectueux
la source
2
Je pense que vous devriez clarifier la déclaration: "Les humains possèdent des propriétés illimitées et non des propriétés infinies".
nbro
@nbro Bonne critique, je vois le manque de clarté de la déclaration originale. J'ai mis à jour pour mieux saisir le sens voulu.
respectueux
9

Dans Haskell, vous pouvez taper:

print [1..]

et il imprimera la séquence infinie de nombres, en commençant par:

[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,

Il le fera jusqu'à ce que votre console manque de mémoire.

Essayons quelque chose de plus intéressant.

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

Et voici le début de la sortie:

[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

Ces exemples montrent un calcul infini. En fait, vous pouvez conserver des structures de données infinies dans Haskell, car Haskell a la notion de non-rigueur - vous pouvez effectuer des calculs sur des entités qui n'ont pas encore été entièrement calculées. En d'autres termes, vous n'avez pas à calculer entièrement une entité infinie pour manipuler cette entité dans Haskell.

Reductio ad absurdum.

noɥʇʎԀʎzɐɹƆ
la source
2
6
@nbro manipulation de symboles d'un symbole qui représente l'infini et qui a des propriétés et des implications appropriées qui sont appropriées à ce concept est à mon humble avis la définition de "comprendre l'infini".
Peteris
1
@Peteris Votre définition de la compréhension est similaire à celle fournie par John Doucette. Voir l'argument de la salle chinoise. Je prétends que vous ne pouvez pas écrire un programme capable d'appliquer le concept de l'infini à tous les cas.
nbro
1
@nbro "Je prétends que vous ne pouvez pas écrire un programme capable d'appliquer le concept de l'infini à tous les cas." En effet, c'est une conclusion intuitive du problème d'arrêt - vous pouvez fabriquer n'importe quelle machine qui peut résoudre n'importe quel problème, y compris le problème d'arrêt des machines de Turing - appelez cela une machine "Super-Turing". Mais, sur cette machine, vous pourriez inventer un problème que cette machine "Super-Turing" ne pourrait pas résoudre - dire si oui ou non un programme Super-Turing s'arrêterait - et vous auriez besoin d'une "Machine Super-Turing" pour résoudre ça. Etc. C'est comme le théorème d'incomplétude de Godel, pas de langage
noɥʇʎԀʎzɐɹƆ
peut exprimer tout ce que l'univers a à offrir.
noɥʇʎԀʎzɥʇʎԀʎ
8

Je crois que l'on peut dire que les humains comprennent l'infini depuis au moins Georg Cantor parce que nous pouvons reconnaître différents types d'infinis (principalement dénombrables vs indénombrables) via le concept de cardinalité .

Plus précisément, un ensemble est infiniment dénombrable s'il peut être mappé au nombres naturels , c'est-à-dire qu'il existe une correspondance 1 à 1 entre les éléments d'ensembles infiniment dénombrables. L'ensemble de tous les réels est indénombrable, tout comme l'ensemble de toutes les combinaisons de nombres naturels, car il y aura toujours plus de combinaisons que de nombres naturels où n> 2, résultant en un ensemble avec une plus grande cardinalité. (Les premières preuves formelles de l'indénombrabilité se trouvent dans Cantor et font l'objet de Philosophy of Math .)

La compréhension de l'infini implique la logique par opposition à l'arithmétique parce que nous ne pouvons pas exprimer, par exemple, toutes les décimales d'un nombre transcendantal , seulement utiliser des approximations. La logique est une capacité fondamentale de ce que nous considérons comme des ordinateurs.

  • π

"Never end" est une définition de l'infini, avec l'ensemble des nombres naturels comme exemple (il y a un plus petit nombre, 1, mais pas le plus grand nombre.)

Intractabilité contre Infinity

En dehors du cas particulier des boucles infinies, je dois me demander si une IA est plus orientée sur l' intractabilité informatique que sur l'infini.

On dit qu'un problème est insoluble s'il n'y a pas assez de temps et d'espace pour le représenter complètement, et cela peut être étendu à de nombreux nombres réels.

π peut être compris comme infini car il provient de / produit un cercle, mais je ne suis pas sûr que ce soit le cas avec tous les nombres réels avec un nombre de décimales insolubles.

L'IA supposerait-elle qu'un tel nombre était infini ou simplement insoluble? Ce dernier cas est concret par opposition à abstrait - il peut terminer le calcul ou non.

Cela conduit au problème d'arrêt .

  • La preuve de Turing qu'un algorithme général pour résoudre le problème d'arrêt pour toutes les paires d'entrée de programme possibles ne peut pas exister pourrait être considérée comme une indication qu'un algorithme basé sur le modèle de calcul de Turing-Church ne peut pas avoir une compréhension parfaite de l'infini.

Si un modèle de calcul alternatif se présentait qui pourrait résoudre le problème d'arrêt, on pourrait soutenir qu'un algorithme pourrait avoir une compréhension parfaite, ou au moins démontrer une compréhension comparable à celle des humains.

DukeZhou
la source
1
L'insolvabilité de certains problèmes ou l'incalculabilité de certaines fonctions est la preuve que tous les concepts ne sont pas également "compréhensibles" ou compréhensibles, étant donné que la seule façon dont une machine peut comprendre (quelle que soit votre définition de la compréhension) est le calcul. Donc, à mon avis, la réponse acceptée est au moins trompeuse. Il réduit le problème de la compréhension de l'infini à la manipulation de symboles et affirme que la difficulté de manipuler des symboles ne dépend pas des symboles eux-mêmes (ou de la signification des concepts abstraits associés).
nbro
1
Cette réponse reconnaît au moins les différentes difficultés de certains problèmes.
nbro
1
@nbro Je pense que je suis un peu dans les mauvaises herbes avec cette réponse (j'espère que ce n'est pas d'une manière trop trompeuse) mais je voulais aborder des aspects de la question qui n'ont pas été traités dans les réponses précédentes. Ma pensée est que, parce que la question peut être considérée comme ambiguë, il existe plusieurs façons de la résoudre.
DukeZhou
1
Vous mentionnez plusieurs sujets connexes qui sont pertinents pour la question, à mon avis. 1. différents types d'infinis (infiniment dénombrables vs indénombrables), 2. la définition d'ensembles infiniment dénombrables, 3. les nombres réels sont indénombrables (et la célèbre preuve de cette affirmation est l'argument diagonal de Cantor ), 4. les implications de cette déclaration à la philosophie des mathématiques, 5. intraitabilité vs infini, 6. la définition générale du profane de l'infini "sans fin", 7. le problème de l'arrêt et, implicitement, l'insolvabilité de certains problèmes ou l'incalculabilité de certaines fonctions.
nbro
1
Cependant, même s'ils sont liés, ce sont de nombreux concepts à comprendre ou à se connecter logiquement. Il y a aussi quelques phrases dans votre réponse qui ne sont pas très claires. Par exemple, 1. "La compréhension de l'infini implique la logique par opposition à l'arithmétique parce que nous ne pouvons pas exprimer, par exemple, toutes les décimales d'un nombre transcendantal, seulement utiliser des approximations." ou 2. "Il y a une question de savoir si un cercle ne peut être qu'approximé, et un argument fort qu'un cercle parfait peut être représenté.".
nbro
7

(Il y a un résumé en bas pour ceux qui sont trop paresseux ou pressés par le temps pour lire le tout.)

Malheureusement, pour répondre à cette question, je vais principalement déconstruire les différents locaux.

Comme je l'ai mentionné précédemment, les humains comprennent l'infini parce qu'ils sont capables, au moins, de compter des nombres infinis, en principe.

Je ne suis pas d'accord avec la prémisse selon laquelle les humains pourraient réellement compter à l'infini. Pour ce faire, ledit humain aurait besoin d'une quantité infinie de temps, d'une quantité infinie de mémoire (comme une machine de Turing) et, surtout, d'une quantité infinie de patience - d'après mon expérience, la plupart des humains s'ennuient avant même de compter jusqu'à 1000.

Une partie du problème avec cette prémisse est que l'infini n'est en fait pas un nombre, c'est un concept qui exprime une quantité illimitée de «choses». Ces «choses» peuvent être n'importe quoi: entiers, secondes, lolcats, le point important est le fait que ces choses ne sont pas finies.

Voir cette question SE pertinente pour plus de détails: /math/260876/what-exactly-is-infinity

Autrement dit: si je vous demandais "quel nombre vient avant l'infini?" Quelle serait ta réponse? Ce surhumain hypothétique devrait compter jusqu'à ce nombre avant de pouvoir compter l'infini. Et ils auraient besoin de connaître le nombre avant cela en premier, et celui avant cela, et celui avant cela ...

Espérons que cela démontre pourquoi l'humain ne pourrait pas réellement compter jusqu'à l'infini - parce que l'infini n'existe pas à la fin de la ligne numérique, c'est le concept qui explique que la ligne numérique n'a pas de fin. Ni l'homme ni la machine ne peuvent réellement compter, même avec un temps infini et une mémoire infinie.

Par exemple, si un ordinateur peut différencier 10 nombres ou choses différents, cela signifie qu'il comprend vraiment ces différentes choses.

Être capable de «différencier» 10 choses différentes n'implique pas la compréhension de ces 10 choses.

La pièce chinoise de John Searle est une expérience de pensée bien connue qui remet en question l'idée de ce que signifie «comprendre» . expérience de la :

Imaginez un anglophone natif qui ne connaît pas de chinois enfermé dans une pièce remplie de boîtes de symboles chinois (une base de données) avec un livre d'instructions pour manipuler les symboles (le programme). Imaginez que des personnes à l'extérieur de la pièce envoient d'autres symboles chinois qui, à l'insu de la personne dans la pièce, sont des questions en chinois (l'entrée). Et imaginez qu'en suivant les instructions du programme, l'homme dans la pièce puisse distribuer des symboles chinois qui sont des réponses correctes aux questions (la sortie). Le programme permet à la personne dans la pièce de passer le test de Turing pour comprendre le chinois, mais il ne comprend pas un mot de chinois.

Le point de l'argument est le suivant: si l'homme dans la pièce ne comprend pas le chinois sur la base de la mise en œuvre du programme approprié pour comprendre le chinois, alors aucun autre ordinateur numérique ne fonctionne uniquement sur cette base car aucun ordinateur, en tant qu'ordinateur, n'a rien l'homme n'a pas.

La chose à retenir de cette expérience est que la capacité de traiter des symboles n'implique pas que l'on comprenne réellement ces symboles. De nombreux ordinateurs traitent chaque jour des langues naturelles sous forme de texte (caractères codés sous forme d'entiers, généralement dans un codage basé sur unicode comme UTF-8), mais ils ne comprennent pas nécessairement ces langues. D'une manière plus simple En effet, tous les ordinateurs sont capables d'ajouter deux nombres ensemble, mais ils ne comprennent pas nécessairement ce qu'ils font.

En d'autres termes, même dans le `` modèle de vision de l'apprentissage en profondeur '', l'ordinateur ne comprend sans doute pas les nombres (ou les `` symboles '') qu'il est affiché, c'est simplement la capacité de l'algorithme à simuler l'intelligence qui lui permet d'être classé comme intelligence artificielle .

Par exemple, nous pouvons prendre un modèle de vision d'apprentissage en profondeur qui reconnaît les nombres sur la carte. Ce modèle doit attribuer un numéro à chaque carte différente pour différencier chaque entier. Puisqu'il existe des nombres infinis d'entiers, comment le modèle peut-il attribuer un nombre différent à chaque entier, comme un être humain, sur les ordinateurs numériques? S'il ne peut pas différencier les choses infinies, comment comprend-il l'infini?

Si vous deviez effectuer le même test de carte sur un humain et augmenter continuellement le nombre de cartes utilisées, un humain ne serait finalement pas en mesure de les suivre toutes en raison du manque de mémoire. Un ordinateur connaîtrait le même problème, mais pourrait théoriquement surpasser l'humain.

Alors maintenant, je vous le demande, un humain peut-il vraiment différencier des choses infinies? Personnellement, je soupçonne que la réponse est non, car tous les humains ont une mémoire limitée, et pourtant je suis d'accord que les humains peuvent très probablement comprendre l'infini dans une certaine mesure (certains peuvent le faire mieux que d'autres).

En tant que tel, je pense que la question "S'il ne peut pas différencier les choses infinies, comment comprend-il l'infini?" a une prémisse erronée - être capable de différencier des choses infinies n'est pas une condition préalable pour comprendre le concept de l'infini.


Sommaire:

Essentiellement, votre question dépend de ce que signifie «comprendre» quelque chose.

Les ordinateurs peuvent certainement représenter infini, la spécification en virgule flottante IEEE définit à la fois l'infini positif et négatif, et tous les processeurs modernes sont capables de traiter des virgules flottantes (que ce soit au niveau matériel ou logiciel).

Si les IA sont jamais capables de réellement comprendre les choses, alors théoriquement, elles pourraient comprendre le concept de l'infini, mais nous sommes loin d'être en mesure de le prouver définitivement dans les deux cas, et nous devions parvenir à un consensus sur ce que signifie «comprendre» quelque chose en premier.

Pharap
la source
4

Je crois fermement que les ordinateurs numériques ne peuvent pas comprendre des concepts tels que l'infini, les nombres réels ou, en général, les concepts continus , de la même manière que les Flatlanders ne comprennent pas le monde tridimensionnel. Jetez également un œil au livre Hyperspace: A Scientific Odyssey Through Parallel Universes, Time Warps, and the 10th Dimension (1994), de Michio Kaku, qui aborde ces sujets plus en détail. Bien sûr, dans cette réponse, le concept de compréhension n'est pas défini de manière rigoureuse, mais uniquement intuitivement.

nbro
la source
7
Je pense que ce n'est pas une bonne argumentation, même si je l'ai vu souvent. Les humains ne peuvent pas représenter exactement un nombre irrationnel: nous pouvons soit créer un nouveau symbole pour l'un, comme `` e '' (que les ordinateurs peuvent et font ensuite raisonner numériquement), soit nous pouvons calculer un nombre fini de chiffres (et en fait, les ordinateurs faire cela beaucoup mieux que nous). Il n'est pas clair pour moi dans quel sens nous comprenons ces concepts dans un sens "continu".
John Doucette
6
Mon point est que les humains ne comprennent pas les concepts infinis d'une manière qui nécessite des ressources infinies. Il n'y a rien dans le concept de l'infini qui nécessite des ressources infinies pour raisonner. L'application du concept peut nécessiter des ressources infinies, mais les humains n'en ont pas non plus.
John Doucette
3
Vous pouvez bien sûr dire que les ordinateurs ne comprennent pas π, Et ils ne comprennent pas2+2. Mon point est qu'il n'est pas clair pour moi pourquoi vous pensez qu'il y a quelque chose de spécialπou les réels en tant que concept, qui est distinct de2+2.
John Doucette
2
D'accord. C'est ce que je pensais au début. Ma question est pourquoi , parce que de mon point de vue, tous les outils que les humains utilisent pour représenter de tels objets sont discrets.
John Doucette
2
Je pense donc que nous approchons de la question centrale. Nous sommes tous les deux d'accord: ni les humains ni les ordinateurs ne peuvent calculer des choses non discrètes. Donc, la question est, quand quelqu'un dit "les humains comprennent les choses continues, mais pas les ordinateurs", que signifient-ils? Vous pouvez faire l'argument de la salle chinoise, mais cela fonctionne, peu importe ce que vous choisissez . Ce n'est pas quelque chose de spécial à propos de l'infini, auquel cas la question d'OP pourrait tout aussi bien être "Pourquoi les ordinateurs ne comprennent-ils pas le nombre 2?". Dans votre réponse, il semble que vous pensiez que les humains n'ont pas certaines capacités. Qu'Est-ce que c'est?
John Doucette
4

La prémisse suppose alors que les humains "comprennent" l'infini. Est-ce que nous?

Je pense que vous auriez besoin de me dire quel critère vous utiliseriez, si vous vouliez savoir si je "comprenais" l'infini, d'abord.

Dans le PO, l'idée est donnée que je pourrais "prouver" que je "comprends" l'infini, car "En principe, si nous avons suffisamment de ressources (temps, etc.), nous pouvons compter une infinité de choses (y compris abstraites, comme des nombres, ou réal)."

Eh bien, ce n'est tout simplement pas vrai. Pire, si c'était vrai (ce qui n'est pas le cas), ce serait également vrai pour un ordinateur. Voici pourquoi:

  1. Oui, vous pouvez en principe compter des entiers et voir que le comptage ne se termine jamais.
  2. Mais même si vous aviez suffisamment de ressources, vous ne pourriez jamais "compter infiniment de choses". Il y en aurait toujours plus. Voilà ce que signifie "infini".
  3. Pire encore, il existe plusieurs ordres ("cardinalités") de l'infini. La plupart d'entre eux, vous ne pouvez pas compter, même avec un temps infini, et peut-être même pas avec une infinité d'autres ressources. Ils sont en fait innombrables. Ils ne peuvent littéralement pas être mappés à une ligne numérique ou à l'ensemble d'entiers. Vous ne pouvez pas les commander de telle manière qu'ils puissent être comptés, même en principe.
  4. Pire encore, comment faites-vous ce peu où vous décidez "en principe" de ce que je peux faire, quand je ne peux clairement jamais le faire, ou même la plus petite partie? Cette étape semble assomptive à un profane, ne voyant pas vraiment les problèmes à le faire avec rigueur. Ce n'est peut-être pas anodin.
  5. Enfin, supposons que c'était votre test réel, comme dans l'OP. Donc, si je pouvais "en principe avec suffisamment de ressources (temps, etc.) compter infiniment de choses", il vous suffirait de décider que j'ai "compris" l'infini (quoi que cela signifie). Il en va de même pour un ordinateur disposant de ressources suffisantes (RAM, temps, algorithme). Ainsi, le test lui-même serait trivialement satisfait par un ordinateur si vous donniez à l'ordinateur les mêmes critères.

Je pense que peut-être une logique plus réaliste est que ce que cette question montre réellement, c'est que la plupart (probablement tous?) Les humains ne comprennent pas l' infini. Donc, comprendre l'infini n'est probablement pas un bon choix de test / exigence pour l'IA.

Si vous en doutez, demandez-vous. Honnêtement, vraiment et sérieusement, "comprenez-vous" cent mille milliards d'années (la vie possible d'une étoile naine rouge)? Par exemple, pouvez-vous vraiment comprendre à quoi cela ressemble, vivre cent mille milliards d'années, ou est-ce juste un 1 avec beaucoup de zéros? Et une femtoseconde? Ou un intervalle de temps d'environ 10 ^ -42 secondes? Pouvez-vous vraiment «comprendre» cela? Une échelle de temps par rapport à laquelle, l'un de vos battements de cœur, se compare comme l'un de vos battements de cœur se compare à un milliard de milliards de fois la vie actuelle de cet univers? Pouvez-vous vraiment "comprendre l'infini", vous-même? Cela vaut la peine de penser à ......

Stilez
la source
Si nous supposons que nous ne pouvons pas comprendre l'infini, cela ne signifie pas qu'il n'existe pas. Il y a des exemples en physique que nous ne pouvons pas comprendre mais ils existent. Par exemple, la dualité de la lumière et la limite de vitesse de la lumière, la relativité dans la nature, etc. Dans ce cas, nous avons des représentations de ces notions dans notre esprit. La même situation peut être valable pour l'infini.
verdery
Oh le concept existe, mais comment prouvez-vous que vous "comprenez vraiment le concept"? Voir mes questions à la fin. C'est ce que je voudrais savoir, pour tester si * vous * vous-même (ou quelqu'un) vraiment "compris le concept". Ce ne serait peut-être pas le test que vous choisiriez, mais je pense que si je testais la «compréhension» plutôt que la définition du dictionnaire ou la capacité à utiliser le concept, ce serait mon test. Et chaque dernier être humain sur la planète (moi y compris), échouerait.
Stilez
J'ai une question à vous poser. Si vous n'avez pas de représentation en tête, comment pourriez-vous écrire le nombre: 10 ^ -42?
verdery
1
«Avoir une représentation» ne signifie pas «avoir une quelconque compréhension» pour moi. Pensez au mot de Heinlein "grogner". C'est "comprendre" dans mon livre. Tout le reste consiste à réciter une définition de dictionnaire ou à manipuler un symbole. La douleur n'est pas le concept de la douleur, l'amour n'est pas le concept de l'amour et l'infini n'est pas seulement le concept et le symbole de l'infini. Je ne pense pas que les humains grugent l'infini, cependant, et si vous n'allez pas demander la preuve d'une véritable "compréhension", n'importe quel ordinateur peut réciter une définition ou manipuler les symboles, tout en échouant à vraiment les "obtenir", comme n'importe quel humain pouvait.
Stilez
Si vous lisez attentivement ma première question dans cet article, mon approche est fonctionnaliste. Je ne parle pas de "grok".
verdery
3

En ajoutant quelques règles pour l'infini dans l'arithmétique (comme l'infini moins un grand nombre fini est l'infini, etc.), l'ordinateur numérique peut sembler comprendre la notion d'infini.

Alternativement, l'ordinateur peut simplement remplacer le nombre n par sa valeur d' étoile logarithmique . Ensuite, il peut différencier les nombres à une échelle différente et apprendre que tout nombre avec une valeur d'étoile logarithmique> 10 est pratiquement équivalent à l'infini.

Amrinder Arora
la source
1
Représenter seulement l'infini ou l'ensemble fini qui inclut l'infini ne nous suffit pas à croire que le modèle comprenne l'infini. Malheureusement, votre réponse est totalement inutile de mon point de vue.
verdery
@verdery Très vrai. Je pense que ma réponse est probablement un point de départ. D'où le marqueur wiki communautaire. J'aime bien la réponse de John Ducette.
Amrinder Arora
3

Je pense que le concept qui manque jusqu'à présent dans la discussion est la représentation symbolique. Nous les humains représentons et comprenons nombreux concepts symboliquement. Le concept d'Infinity en est un excellent exemple. Pi en est un autre, avec quelques autres nombres irrationnels bien connus. Il y en a beaucoup, beaucoup d'autres.

En l'état, nous pouvons facilement représenter et présenter ces valeurs et concepts, à la fois à d'autres humains et à des ordinateurs, à l'aide de symboles. Les ordinateurs et les humains peuvent manipuler et raisonner avec ces symboles. Par exemple, les ordinateurs effectuent des preuves mathématiques depuis quelques décennies maintenant. De même, des programmes commerciaux et / ou open source sont disponibles qui peuvent manipuler symboliquement des équations pour résoudre des problèmes du monde réel.

Ainsi, comme l'a raisonné @JohnDoucette, il n'y a rien de spécial à propos d'Infinity par rapport à de nombreux autres concepts en mathématiques et en arithmétique. Lorsque nous frappons ce mur de briques figuratif, nous définissons simplement un symbole qui représente "cela" et nous allons de l'avant.

Notez que le concept de l'infini a de nombreuses utilisations pratiques. Chaque fois que vous avez un rapport et que le dénominateur "passe à" zéro, la valeur de l'expression "approche" de l'infini. Ce n'est pas vraiment une chose rare. Ainsi, bien que votre personne moyenne dans la rue ne soit pas au courant de ces idées, de nombreux scientifiques, ingénieurs, mathématiciens et programmeurs le sont. Il est assez courant que les logiciels traitent Infinity symboliquement depuis au moins deux décennies. Par exemple Mathematica: http://mathworld.wolfram.com/Infinity.html

Charlie Reitzel
la source
3

Une machine de Turing est le principal modèle mathématique de calcul des ordinateurs numériques modernes. Une machine de Turing est définie comme un objet qui manipule des symboles, selon certaines règles (qui représentent le programme que la machine de Turing exécute), sur une bande infinie qui est subdivisée en cellules discrètes. Par conséquent, une machine de Turing est un système de manipulation de symboles qui, étant donné une certaine entrée, produit une certaine sortie ou ne s'arrête pas .

Si vous supposez que la compréhension équivaut à la manipulation de symboles , alors une machine de Turing est capable de comprendre de nombreux concepts, même si la difficulté de comprendre chacun de ces concepts est variable, en ce qui concerne le temps et l'espace. (La branche de l'informatique théorique (TCS) qui étudie la difficulté de certains problèmes de calcul est appelée théorie de la complexité du calcul . La branche de TCS qui étudie la calculabilité de certains problèmes est appelée théorie de la calculabilité ).

To understand the concept of infinity, a Turing machine needs to manipulate the symbol infinity correctly in all possible cases. A Turing machine cannot represent all real numbers because the set of real numbers is uncountable. Without loss of generality, suppose that the real number r (for example, Chaitin's constant) cannot be represented (or computed) by a Turing machine, then r can never be manipulated by a Turing machine. Consequently, there are cases in mathematics where a Turing machine cannot apply the concept of infinity. For example, a Turing machine cannot understand limxxr=.

This proves that a Turing machine cannot manipulate the concept of infinity in all possible cases, because a Turing machine can never experience certain real numbers. However, a Turing machine may be able to manipulate the concept of infinity in many cases (that involve countable sets), so a Turing machine may have a partial understanding of the concept of infinity, provided that understanding is equivalent to symbol manipulation.

nbro
la source
1
The first two paragraphs are fine. However, I strongly disagree with the remaining ones. Sure, a Turing machine can understand the limit you write, since the limit is nothing else than a string adhering to an inductive (countable) grammar. Crucially, you don't need to able to compute a number to be able to deal with it axiomatically. This is what humans do all the time. Humans are not able to compute r, either, but they can reason about it. Reasoning does not require computation.
ComFreek
@ComFreek I agree with you that a TM can manipulate this limit without knowing the exact value of r. However, in practice, a TM cannot even assume the existence of r because it cannot be computed. So, this limit will never be encountered by any TM, so no TM will ever be able to solve this limit. In other words, a TM only assumes the existence of computable numbers, so when a TM manipulates that limit symbolically, r is assumed to be computable.
nbro
Sure a TM can encounter it - the same way we humans did it. And it can also solve that limit - the same way we humans did it. It's not hard to see that you can formalize everything required into a theorem prover to prove that limit. That formalization is a binary string as such and can thus of course be found by a TM as well.
ComFreek
@ComFreek You didn't get my point at all. Any TM can only assume the existence of computable numbers, so any symbolic manipulation is assumed to involve computable numbers. If you say that a TM can solve this limit, you're just giving an interpretation of this, because you are an external observer of the TM.
nbro
1
No, a TM can surely reason with abstract representations. Just have a look at formalization of mathematical theorems in any theorem prover (Coq, Isabelle etc.). These theorem provers are TMs as they are programs. This will immediately disprove what you're trying to say.
ComFreek
2

Computers don't understand "infinity" or even "zero", just like a screwdriver does not understand screws. It is a tool made for processing binary signals.

In fact, a computer's equivalent in wetware is not a person but a brain. Brains don't think, persons do. The brain is just the platform persons are implemented with. It's a somewhat common mistake to conflate the two since their connection tends to be rather inseparable.

If you wanted to assign understanding, you'd at least have to move to actual programs instead of computers. Programs may or may not have representations for zero or infinity, and may or may not be able to do skillful manipulations of either. Most symbolic math programs fare mostly better here than someone required to work with math as part of their job.


la source
2

John Doucette's answer covers my thoughts on this pretty well, but I thought a concrete example might be interesting. I work on a symbolic AI called Cyc, which represents concepts as a web of logical predicates. We often like to brag that Cyc "understands" things because it can elucidate logical relationships between them. It knows, for example, that people don't like paying their taxes, because paying taxes involves losing money and people are generally averse to that. In reality, I think most philosophers would agree that this is an incomplete "understanding" of the world at best. Cyc might know all of the rules that describe people, taxes, and displeasure, but it has no real experience of any of them.

In the case of infinity, though, what more is there to understand? I would argue that as a mathematical concept, infinity has no reality beyond its logical description. If you can correctly apply every rule that describes infinity, you've grokked infinity. If there's anything that an AI like Cyc can't represent, maybe it's the emotional reaction that such concepts tend to evoke for us. Because we live actual lives, we can relate abstract concepts like infinity to concrete ones like mortality. Maybe it's that emotional contextualization that makes it seem like there's something more to "get" about the concept.

Iago
la source
1

I would think that a computer couldn’t understand infinity primarily because the systems and parts of a system, that are driving the computer are finite themselves.

lockheed silverman
la source
1

The "concept" of infinity is 1 thing to understand. I can represent it with 1 symbol (∞).

As I mentioned before, humans understand infinity because they are capable, at least, counting infinite integers, in principle.

By this definition humans do not understand infinity. Humans are not capable of counting infinite integers. They will die (run out of compute resources / power) at some time. It would probably be easier in fact to get a computer to count towards infinity than it would be to get a human to do so.

Pace
la source
Of course, we do not understand infinity because we are able to count to infinity in practice. However, in theory, would we be able to count to infinity, given infinite resources?. Furthermore, of course, the symbol is just a symbol that has a meaning in mathematics, but this meaning could have been given to another symbol or, in other words, we could have denoted the concept of infinity by another symbol. So, your arguments are quite superfluous, in my opinion.
nbro
Given infinite resources both humans or computers could count to infinity. The symbol ∞ is a placeholder for the "concept" of infinity. Most humans know very little about this concept. They know it is bigger than any other number. They don't have any rules for multiplication or addition of the concept but they "feel" 2 *∞ is bigger than 1 * ∞, etc. Some mathematicians have different definitions of the concept or even multiple concepts of infinity depending on the context of the field.
Pace
1

Just food for thought: how about if we try to program infinity not in theoretical, but in practical terms? Thus, if we deem something that a computer cannot calculate, given its resources as infinity, it would fulfill the purpose. Programmatically, it can be implemented as follows: if the input is less than available memory it's not infinity. Subsequently, infinity can be defined as something that returns out-of-memory error on an evaluation attempt.

postoronnim
la source
1

Its arguable if we humans understand infinity. We just create new concept to enplace old mathematics when we meet this problem. In division by infinity machine can understand it the same way as we:

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

If human thinks of infinity - imagines just huge number in his/her current context. So key to writing algorithm is just finding a scale that AI is currently working with. And BTW this problem must ve been solved years ago. People designing float/double must ve been conscious what they were doing. Moving exponenta sign is linear operation in double.

Gen0me
la source
1

Well -- just to touch on the question of people and infinity -- my father has been a mathematician for 60 years. Throughout this time, he's been the kind of geek who prefers to talk and think about his subject over pretty much anything else. He loves infinity and taught me about it from a young age. I was first introduced to the calculus in 5th grade (not that it made much of an impression). He loves to teach, and at the drop of a hat, he'll launch into a lecture about any kind of math. Just ask.

In fact, I would say that there are few things he is more familiar with than infinity...my mother's face, perhaps? I wouldn't count on it. If a human can understand anything, my father understands infinity.

NessBird
la source
1

Humans certainly don't understand infinity. Currently computers cannot understand things that humans cannot because computers are programmed by humans. In a dystopian future that may not be the case.

Here are some thoughts about infinity. The set of natural numbers is infinate. It has also been proved that the set of prime numbers, which is a subset of the natural numbers, is also infinate. So we have an infinate set within an infinate set. It gets worse, between any 2 real numbers there is an infinate number of real numbers. Have a look at the link to Hilbert's paradox of the Grand Hotel to see how confusing infinity can get - https://en.wikipedia.org/wiki/Hilbert%27s_paradox_of_the_Grand_Hotel

Paul McCarthy
la source
0

I think the property humans have which computers do not, is some sort of parallel process that runs alongside every other thing they are thinking and tries to assign an importance weighting evaluation to everything you are doing. If you ask a computer to run the program : A = 1; DO UNTIL(A<0) a=a+1; END;

The computer will. If you ask a human, another process interjects with "I'm bored now... this is taking ages... I'm going to start a new parallel process to examine the problem, project where the answer lies and look for a faster route to the answer ... Then we discover that we are stuck in an infinite loop that will never be "solved".. and interject with an interrupt that flags the issue, kills the boring process and goes to get a cup of tea :-) Sorry if that is unhelpful.

Andy Evans
la source
The question is not "Can AI understand infinity" but "in what way is infinity useful to an AI ? so how do we represent it for that purpose ?" - as a human, you have a huge number of "subsumption processess" that are bound to your survival in your environment. One of those systems manages your resource and flags up when an undertaking is demanding or large (possibly tending to infinity) so you are bound to a real concept of what infinity could mean for you. What does it need to mean to AI ? Time resource ? number of nodes assigned ? How important/acurate is the answer ?
Andy Evans