28
$\begingroup$

As a human being, we can think infinity. In principle, if we have enough resources (time etc.), we can count infinitely many things (including abstract, like numbers, or real).

For example, at least, we can take into account integers. We can think, principally, and "understand" infinitely many numbers that are displayed on the screen. Nowadays, we are trying to design artificial intelligence which is capable at least human being. However, I am stuck with infinity. I try to find a way how can teach a model (deep or not) to understand infinity. I define "understanding' in a functional approach. For example, If a computer can differentiate 10 different numbers or things, it means that it really understand these different things somehow. This is the basic straight forward approach to "understanding".

As I mentioned before, humans understand infinity because they are capable, at least, counting infinite integers, in principle. From this point of view, if I want to create a model, the model is actually a function in an abstract sense, this model must differentiate infinitely many numbers. Since computers are digital machines which have limited capacity to model such an infinite function, how can I create a model that differentiates infinitely many integers?

For example, we can take a deep learning vision model that recognizes numbers on the card. This model must assign a number to each different card to differentiate each integer. Since there exist infinite numbers of integer, how can the model assign different number to each integer, like a human being, on the digital computers? If it cannot differentiate infinite things, how does it understand infinity?

If I take into account real numbers, the problem becomes much harder.

What is the point that I am missing? Are there any resources that focus on the subject?

$\endgroup$
  • 26
    $\begingroup$ Most of us humans do not understand infinity well enough. Including me. $\endgroup$ – naive Oct 5 at 5:23
  • 2
    $\begingroup$ @Amrinder Arora according to strong AI, we can assume that understanding is just pretending. Therefore, the model that can differentiate different signals somehow understand the signals or notions (what you call it). $\endgroup$ – verdery Oct 5 at 11:56
  • 5
    $\begingroup$ I just recently had a long-ish discussion with some very intelligent people who simply did not understand how there could be equally many integers, positive integers, even integers, even positive integers, and prime numbers. So, I would challenge your statement that humans understand infinity. Also, please note that mathematically, there is no such thing as "infinity". There are many branches of mathematics, which may all have different notions of infinity, and any one branch of mathematics may have no, one, or multiple notions of infinity. Then, there are even different "sized" infinities! $\endgroup$ – Jörg W Mittag Oct 6 at 15:33
  • 8
    $\begingroup$ I'm a little confused nobody has pointed out that basically every computer already handles infinity - specifically with IEEE 754 $\endgroup$ – OrangeDog Oct 6 at 21:20
  • 2
    $\begingroup$ @JörgWMittag is correct. Infinity is a concept that is defined in different ways depending on the field of mathematics. IEEE754 defines a fairly consistent set of rules to handle infinities that underpins most real arithmetic systems on most computers. But there are other rules. An AI can be taught such rules. Whether it can invent new and better ones is outside my pay grade: en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems $\endgroup$ – Rich Oct 7 at 2:04

16 Answers 16

46
$\begingroup$

I think this is a fairly common misconception about AI and computers, especially among laypeople. There are several things to unpack here.

Let's suppose that there's something special about infinity (or about continuous concepts) that makes them especially difficult for AI. For this to be true, it must both be the case that humans can understand these concepts while they remain alien to machines, and that there exist other concepts that are not like infinity that both humans and machines can understand. What I'm going to show in this answer is that wanting both of these things leads to a contradiction.

The root of this misunderstanding is the problem of what it means to understand. Understanding is a vague term in everyday life, and that vague nature contributes to this misconception.

If by understand, we mean that a computer has the conscious experience of a concept, then we quickly become trapped in metaphysics. There is a long running, and essentially open debate about whether computers can "understand" anything in this sense, and even at times, about whether humans can! You might as well ask whether a computer can "understand" that 2+2=4. Therefore, if there's something special about understanding infinity, it cannot be related to "understanding" in the sense of subjective experience.

So, let's suppose that by "understand", we have some more specific definition in mind. Something that would make a concept like infinity more complicated for a computer to "understand" than a concept like arithmetic. Our more concrete definition for "understanding" must relate to some objectively measurable capacity or ability related to the concept (otherwise, we're back in the land of subjective experience). Let's consider what capacity or ability might we pick that would make infinity a special concept, understood by humans and not machines, unlike say, arithmetic.

We might say that a computer (or a person) understands a concept if it can provide a correct definition of that concept. However, if even one human understands infinity by this definition, then it should be easy for them to write down the definition. Once the definition is written down, a computer program can output it. Now the computer "understands" infinity too. This definition doesn't work for our purposes.

We might say that an entity understands a concept if it can apply the concept correctly. Again, if even the one person understands how to apply the concept of infinity correctly, they we need only record the rules they are using to reason about the concept, and we can write a program that reproduces the behavior of this system of rules. Infinity is actually very well characterized as a concept, captured in ideas like Aleph Numbers. It is not impractical to encode these systems of rules in a computer, at least up to the level that any human understands them. Therefore, computers can "understand" infinity up to the same level of understanding as humans by this definition as well. So this definition doesn't work for our purposes.

We might say that an entity "understands" a concept if it can logically relate that concept to arbitrary new ideas. This is probably the strongest definition, but we would need to be pretty careful here: very few humans (proportionately) have a deep understanding of a concept like infinity. Even fewer can readily relate it to arbitrary new concepts. Further, algorithms like the General Problem Solver can, in principal, derive any logical consequences from a given body of facts, given enough time. Perhaps under this definition computers understand infinity better than most humans, and there is certainly no reason to suppose that our existing algorithms will not further improve this capability over time. This definition does not seem to meet our requirements either.

Finally, we might say that an entity "understands" a concept if it can generate examples of it. For example, I can generate examples of problems in arithmetic, and their solutions. Under this definition, I probably do not "understand" infinity, because I cannot actually point to or create any concrete thing in the real world that is definitely infinite. I cannot, for instance, actually write down an infinitely long list of numbers, merely formulas which express ways to create ever longer lists by investing ever more effort in writing them out. A computer ought to be at least as good as me at this. This definition also does not work.

This is not an exhaustive list of possible definitions of "understands", but we have covered "understands" as I understand it pretty well. Under every definition of understanding, there isn't anything special about infinity that separates it from other mathematical concepts.

So the upshot is that, either you decide a computer doesn't "understand" anything at all, or there's no particularly good reason to suppose that infinity is harder to understand than other logical concepts. If you disagree, you need to provide a concrete definition of "understanding" that does separate understanding of infinity from other concepts.

Infinity has a sort of semi-mystical status among the lay public, but it's really just like any other mathematical system of rules: if we can write down the rules by which infinity operates, a computer can do them as well as a human can (or better).

$\endgroup$
  • 5
    $\begingroup$ @verdery What I'm trying to get at in my answer is that there is not a conflict between infinite and finite sets. A computer can count all elements of an infinite set, in exactly the same sense that a human can (in principle). If a human being can assign a different number to each element of a set, then it is because they can write a function describing that relationship. As soon as they can express a relationship formally enough to write it as a function, we can program a compute to do the same. $\endgroup$ – John Doucette Oct 5 at 20:59
  • 8
    $\begingroup$ @verdery I believe I understand what you are asking. I think the root of your problem is that you have made an attribution error with the statement "humans understand infinity". "Understand" is not bound here. In my answer, I am trying to demonstrate that no matter which definition of "understand" you adopt, there's not anything particularly special about infinite concepts, or continuous concepts, as opposed to discrete ones. Either computers "understand" items from both categories of concept, or from neither. $\endgroup$ – John Doucette Oct 5 at 23:05
  • 4
    $\begingroup$ @nbro I agree. I think The issue is that, without proposing a definition of "understanding", it's not clear whey there is anything special about infinity that makes "understanding" it different from understanding other concepts. The point of my answer is not to suggest that the specific definitions I propose are correct, but to show that any specific definition where "humans understand infinity, and computers do not" applies equally well to "humans understand x, and computers do not", for every x. This means we should reject the premise that there is something special about infinity. $\endgroup$ – John Doucette Oct 6 at 1:55
  • 5
    $\begingroup$ @nbro I don't see how it's relevant. If you can't expand $i$, and a computer can't expand $i$, and you can calculate things about $i$, and a computer can calculate things about $i$, how can your concerns about irrational numbers be relevant to the question at hand? The machine has exactly the same set of abilities as you do. $\endgroup$ – John Doucette Oct 7 at 15:27
  • 4
    $\begingroup$ @nbro If you can't explain your beliefs except by assumption, then you've reduced the problem to a matter of your own personal faith, and we're done here. $\endgroup$ – jakebeal Oct 7 at 15:48
16
$\begingroup$

I think your premise is flawed.

You seem to assume that to "understand"(*) infinities requires infinite processing capacity, and imply that humans have just that, since you present them as the opposite to limited, finite computers.

But humans also have finite processing capacity. We are beings built of a finite number of elementary particles, forming a finite number of atoms, forming a finite number of nerve cells. If we can, in one way or another, "understand" infinities, then surely finite computers can also be built that can.

(* I used "understand" in quotes, because I don't want to go into e.g. the definition of sentience etc. I also don't think it matters in regarding this question.)

As a human being, we can think infinity. In principle, if we have enough resources (time etc.), we can count infinitely many things (including abstract, like numbers, or real).

Here, you actually say it out loud. "With enough resources." Would the same not apply to computers?

While humans can, e.g. use infinities when calculating limits etc. and can think of the idea of something getting arbitrarily larger, we can only do it in the abstract, not in the sense being able to process arbitrarily large numbers. The same rules we use for mathematics could also be taught to a computer.

$\endgroup$
  • 1
    $\begingroup$ From "limited resources" I mean that we have limited life of time. I may clarify my claim using such an example: a human can identify/recognize/define a bigger number than a number that is stored by using storage capacity of computers on the earth. $\endgroup$ – verdery Oct 6 at 16:48
  • 3
    $\begingroup$ @verdery A subtly: You are stating that there is some number you can recognize that is extremely huge. But you are assuming it is stored outside your mind and that you could logically verify that it is a valid number. You are then saying the computer can't store this number. But no human can remember a number as wide the galaxy but we could proceed from one end to the other making sure it is valid. A computer can do this too. You are "unfairly" saying that the computer must store the number even though you are allowed external storage. That is, your thought experiment is unfair to the machine. $\endgroup$ – respectful Oct 6 at 17:31
  • 7
    $\begingroup$ @verdery this is precisely my point. A human can algorithmically verify the number. Thus an algorithm exists for a machine to enact the exact same process. Provided the machine has the unlimited resources you've allocated for yourself it too could follow the naming rules of the number and output its name. You've mentioned the power of abstraction as a process so why couldn't a high speed computer processor do the same? That is, what is the fundamental limitation of the machine? $\endgroup$ – respectful Oct 6 at 17:43
  • 3
    $\begingroup$ @verdery No, if the computer is equipped with the unlimited resources that you have theoretically claimed for yourself it could just expand its memory. Part of the program would be to allocate more memory when needed. This is like saying humans are limited because we would run out of paper to write down said number. We are speaking about theoretical limits not about hard limits. If a machine is allowed unbounded resources there is no number it could not name. So I ask again: What is the theoretic fundamental limitation of the machine? $\endgroup$ – respectful Oct 6 at 18:10
  • 5
    $\begingroup$ @verdery here is my point: a machine with with unbounded memory is equivalent to a Turing machine with a tape of unbounded length. There is no large number that cannot be stored on the tape. So as long as the theoretical machine of which we speak is reducible to this Turing machine, there is nothing to prove. That is, you must formally show that there exists a finite number that cannot be stored on the unbounded tape. This is impossible for it contradicts the definition of the tape. $\endgroup$ – respectful Oct 6 at 18:40
10
$\begingroup$

TL;DR: The subtleties of infinity are made apparent in the notion of unboundedness. Unboundedness is finitely definable. "Infinite things" are really things with unbounded natures. Infinity is best understood not as a thing but as a concept. Humans theoretically possess unbounded abilities not infinite abilities (eg to count to any arbitrary number as opposed to "counting to infinity"). A machine can be made to recognize unboundedness.

Down the rabbit hole again

How to proceed? Let's start with "limits."

Limitations

Our brains are not infinite (lest you believe in some metaphysics). So, we do not "think infinity". Thus, what we purport as infinity is best understood as some finite mental concept against which we can "compare" other concepts.

Additionally, we cannot "count infinite integers." There is a subtly here that is very important to point out:

Our concept of quantity/number is unbounded. That is, for any any finite value we have a finite/concrete way or producing another value which is strictly larger/smaller. That is, Provided finite time we could only count finite amounts.

You cannot be "given infinite time" to "count all the numbers" this would imply a "finishing" which directly contradicts the notion of infinity. Unless you believe humans have metaphysical properties which allow them to "consistently" embody a paradox. Additionally how would you answer: What was the last number you counted? With no "last number" there is never a "finish" and hence never an "end" to your counting. That is you can never "have enough" time/resources to "count to infinity."

I think what you mean is we can fathom the notion of bijection between infinite sets. But this notion is a logical construction (ie it's a finite way of wrangling what we understand to be infinite).

However, what we are really doing is: Within our bounds we are talking about our bounds and, when ever we need to, we can expand our bounds (by a finite amount). And we can even talk about the nature of expanding our bounds. Thus:

Unboundedness

A process/thing/idea/object is deemed unbounded if given some measure of its quantity/volume/existence we can in a finite way produce an "extension" of that object which has a measure we deem "larger" (or "smaller" in the case of infinitesimals) than the previous measure and that this extension process can be applied to the nascent object (ie the process is recursive).

Canonical case number one: The Natural Numbers

Additionally, our notion of infinity prevents any "at-ness" or "upon-ness" unto infinity. That is, one never "arrives" at infinity nor does one ever "have" infinity. Rather, one proceeds unboundedly.

Thus how do we conceptualize infinity?

Infinity

It seems that "infinity" as a word is misconstrued to mean that there is a thing that exists called "infinity" as opposed to a concept called "infinity". Let's smash atoms with the word:

Infinite: limitless or endless in space, extent, or size; impossible to measure or calculate.

in- :a prefix of Latin origin, corresponding to English un-, having a negative or privative force, freely used as an English formative, especially of adjectives and their derivatives and of nouns (inattention; indefensible; inexpensive; inorganic; invariable). (source)

Finite: having limits or bounds.

So in-finity is really un-finity which is not having limits or bounds. But we can be more precise here because we can all agree the natural numbers are infinite but any given natural number is finite. So what gives? Simple: the natural numbers satisfy our unboundedness criterium and thus we say "the natural numbers are infinite."

That is, "infinity" is a concept. An object/thing/idea is deemed infinite if it possess a property/facet that is unbounded. As before we saw that unboundedness is finitely definable.

Thus, if the agent you speak of was programmed well enough to spot the pattern in the numbers on the cards and that the numbers are all coming from the same set it could deduce the unbounded nature of the sequence and hence define the set of all numbers as infinite - purely because the set has no upper bound. That is, the progression of the natural numbers is unbounded and hence definably infinite.

Thus, to me, infinity is best understood as a general concept for identifying when processes/things/ideas/objects posses an unbounded nature. That is, infinity is not independent of unboundedness. Try defining infinity without comparing it to finite things or the bounds of those finite things.

Conclusion

It seems feasible that a machine could be programmed to represent and detect instances of unboundedness or when it might be admissible to assume unboundedness.

$\endgroup$
  • 2
    $\begingroup$ I think you should clarify the statement: "Humans possess unbounded properties not infinite properties". $\endgroup$ – nbro Oct 8 at 1:44
  • $\begingroup$ @nbro Good critique, I see the unclarity of the original statement. I have updated to capture better the intended meaning. $\endgroup$ – respectful Oct 8 at 20:09
7
$\begingroup$

I believe humans can be said to understand infinity since at least Georg Cantor because we can recognize different types of infinites (chiefly countable vs. uncountable) via the concept of cardinality.

Specifically, a set is countably infinite if it can be mapped to the natural numbers, which is to say there is a 1-to-1 correspondence between the elements of countably infinite sets. The set of all reals is uncountable, as is the set of all combinations of natural numbers, because there will always be more combinations than natural numbers, resulting in a set with a greater cardinality. (The first formal proofs for uncountability can be found in Cantor, and is subject of Philosophy of Math.)

Understanding of infinity involves logic as opposed to arithmetic because we can't express, for instance, all of the decimals of a transcendental number, only use approximations. Logic is a fundamental capability of what we think of as computers.

  • An analytic process (AI) that can recognize a function that produces an infinite loop, such as using $\pi$ to draw a circle, might be said to understand infinity...

"Never ending" is a definition of infinity, with the set of natural numbers as an example (there is a least number, 1, but no greatest number.)

Intractability vs. Infinity

Outside of the special case of infinite loops, I have to wonder if an AI is more oriented on computational intractability as opposed to infinity.

A problem is said to be intractable if there is not enough time and space to completely represent it, and this can be extended to many real numbers.

$\pi$ may be understood to be infinite because it arises from/produces a circle, but I'm not sure this is the case with all real numbers with an intractable number of decimals.

Would the AI assume such a number were infinite or merely intractable? The latter case is concrete as opposed to abstract--either it can finish the computation or not.

This leads to the halting problem.

  • Turing's proof that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist could be taken as an indication that an algorithm based on the Turing-Church model of computation cannot have a perfect understanding of infinity.

If an alternate computational model arose that could solve the halting problem, it might be argued that an algorithm could have a perfect understanding, or at least demonstrate an understanding comparable to humans.

$\endgroup$
  • 1
    $\begingroup$ The unsolvability of certain problems or the uncomputability of certain functions is the proof that not all concepts are equally "understandable" or understandable at all, given that the only way a machine can understand (no matter your definition of understanding) is through computation. So, in my opinion, the accepted answer is at least misleading. It reduces the problem of understanding infinity to symbol manipulation and claims that the difficulty of manipulating symbols does not depend on the symbols themselves (or the meaning of the associated abstract concepts). $\endgroup$ – nbro Oct 8 at 1:58
  • 1
    $\begingroup$ This answer at least recognizes the different difficulties of certain problems. $\endgroup$ – nbro Oct 8 at 2:03
  • 1
    $\begingroup$ @nbro I figure I'm out in the weeds a little with this answer (hopefully not in a way that is overly misleading) but I did want to address aspects of the question that weren't treated in previous answers. My thought is, because the question can be taken as ambiguous, there are multiple ways to address it. $\endgroup$ – DukeZhou Oct 8 at 18:29
  • 1
    $\begingroup$ You mention several related topics that are relevant to the question, in my opinion. 1. different types of infinities (countably infinite vs. uncountable), 2. the definition of countably infinite sets, 3. the real numbers are uncountable (and the famous proof of this statement is Cantor's diagonal argument), 4. the implications of this statement to the philosophy of math, 5. intractability vs infinity, 6. the general layman's definition of infinity "never-ending", 7. the halting problem and, implicitly, unsolvability of certain problems or uncomputability of certain functions. $\endgroup$ – nbro Oct 8 at 18:38
  • 1
    $\begingroup$ However, even though related, these are a lot of concepts to understand or logically connect. There are also a few sentences in your answer that are not very clear. For example, 1. "Understanding of infinity involves logic as opposed to arithmetic because we can't express, for instance, all of the decimals of a transcendental number, only use approximations." or 2. "There is a question as to whether a circle can only be approximated, and a strong argument that a perfect circle can be represented.". $\endgroup$ – nbro Oct 8 at 18:42
6
$\begingroup$

In Haskell, you can type:

print [1..]

and it will print out the infinite sequence of numbers, starting with:

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

It will do this until your console runs out of memory.

Let's try something more interesting.

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

And here's the start of the output:

[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

These examples show infinite computation. In fact, you can keep infinite data structures in Haskell, because Haskell has the notion of non-strictness-- you can do computation on entities that haven't been fully computed yet. In other words, you don't have to fully compute an infinite entity to manipulate that entity in Haskell.

Reductio ad absurdum.

$\endgroup$
  • 2
    $\begingroup$ Your argument is no different than symbol manipulation where you have $\infty$ that represents infinity. $\endgroup$ – nbro Oct 7 at 0:19
  • 6
    $\begingroup$ @nbro symbol manipulation of a symbol that represents infinity and which has appropriate properties and implications that are appropriate to that concept is IMHO the definition of "understanding infinity". $\endgroup$ – Peteris Oct 7 at 9:00
  • 1
    $\begingroup$ @Peteris Your definition of understanding is similar to one provided by John Doucette. See the Chinese room argument. I claim that you cannot write a program that is able to apply the concept of infinity to all cases. $\endgroup$ – nbro Oct 7 at 12:14
  • 1
    $\begingroup$ @nbro "I claim that you cannot write a program that is able to apply the concept of infinity to all cases. " Indeed, this is an intuitive conclusion of the halting problem-- you can make any machine that can solve any problem, including the halting problem for turing machines-- call this a "Super-Turing" machine. But, on that machine, you could invent a problem that this "Super-Turing" machine could not solve-- say whether or not a Super-Turing program will halt-- and you would need a "Super-super-turing machine" to solve that. And so on. It is like Godel's Incompleteness theorem, no language $\endgroup$ – noɥʇʎԀʎzɐɹƆ Oct 7 at 15:12
  • $\begingroup$ may express everything the universe has to offer. $\endgroup$ – noɥʇʎԀʎzɐɹƆ Oct 7 at 15:12
6
$\begingroup$

(There's a summary at the bottom for those who are too lazy or pressed for time to read the whole thing.)

Unfortunately to answer this question I will mainly be deconstructing the various premises.

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

I disagree with the premise that humans would actually be able to count to infinity. To do so, said human would need an infinite amount of time, an infinite amount of memory (like a Turing machine) and most importantly an infinite amount of patience - in my experience most humans get bored before they even count to 1,000.

Part of the problem with this premise is that infinity is actually not a number, it's a concept that expresses an unlimited amount of 'things'. Said 'things' can be anything: integers, seconds, lolcats, the important point is the fact that those things are not finite.

See this relevant SE question for more details: https://math.stackexchange.com/questions/260876/what-exactly-is-infinity

To put it another way: if I asked you "what number comes before infinity?" what would your answer be? This hypothetical super-human would have to count to that number before they could count infinity. And they'd need to know the number before that first, and the one before that, and the one before that...

Hopefully this demonstrates why the human would not be able to actually count to infinity - because infinity does not exist at the end of the number line, it is the concept that explains the number line has no end. Neither man nor machine can actually count up to it, even with infinite time and infinite memory.

For example, If a computer can differentiate 10 different numbers or things, it means that it really understand these different things somehow.

Being able to 'differentiate' between 10 different things doesn't imply the understanding of those 10 things.

A well-known thought experiment that questions the idea of what it means to 'understand' is John Searle's Chinese Room experiment:

Imagine a native English speaker who knows no Chinese locked in a room full of boxes of Chinese symbols (a data base) together with a book of instructions for manipulating the symbols (the program). Imagine that people outside the room send in other Chinese symbols which, unknown to the person in the room, are questions in Chinese (the input). And imagine that by following the instructions in the program the man in the room is able to pass out Chinese symbols which are correct answers to the questions (the output). The program enables the person in the room to pass the Turing Test for understanding Chinese but he does not understand a word of Chinese.

The point of the argument is this: if the man in the room does not understand Chinese on the basis of implementing the appropriate program for understanding Chinese then neither does any other digital computer solely on that basis because no computer, qua computer, has anything the man does not have.

The thing to take away from this experiment is that the ability to process symbols does not imply that one actually understands those symbols. Many computers process natural languages every day in the form of text (characters encoded as integers, typically in a unicode-based encoding like UTF-8), but they do not neccessarily understand those languages. On a simpler Effectively all computers are able to add two numbers together, but they do no necessarily understand what they are doing.

In other words, even in the 'deep learning vision model' the computer arguably does not understand the numbers (or 'symbols') it is being shown, it is merely the algorithm's ability to simulate intelligence that allows it to be classed as artificial intelligence.

For example, we can take a deep learning vision model that recognizes numbers on the card. This model must assign a number to each different card to differentiate each integer. Since there exist infinite numbers of integer, how can the model assign different number to each integer, like a human being, on the digital computers? If it cannot differentiate infinite things, how does it understand infinity?

If you were to perform the same card test on a human, and continually increased the number of cards used, eventually a human wouldn't be able to keep track of them all due to lack of memory. A computer would experience the same problem, but could theoretically outperform the human.

So now I ask you, can a human really differentiate infinite things? Personally I suspect the answer is no, because all humans have limited memory, and yet I would agree that humans most likely can understand infinity to some degree (some can do so better than others).

As such, I think the question "If it cannot differentiate infinite things, how does it understand infinity?" has a flawed premise - being able to differentiate infinite things is not a prerequisite for understanding the concept of infinity.


Summary:

Essentially your question hinges on what it means to 'understand' something.

Computers can certainly represent infinity, the IEEE floating point specification defines both positive and negative infinity, and all modern processors are capable of processing floating points (either in hardware or through software).

If AIs are ever capable of actually understanding things then theoretically they might be able to understand the concept of infinity, but we're a long way off being able to definitively prove this either way, and we'd have to come to a consensus about what it means to 'understand' something first.

$\endgroup$
3
$\begingroup$

I strongly believe that digital computers cannot understand concepts such as infinity, real numbers or, in general, continuous concepts, in a similar way that Flatlanders do not understand the 3-dimensional world. Have also a look at the book Hyperspace: A Scientific Odyssey Through Parallel Universes, Time Warps, and the 10th Dimension (1994), by Michio Kaku, that discusses these topics more in detail. Of course, in this answer, the concept of understanding is not rigorously defined, but only intuitively.

$\endgroup$
  • 7
    $\begingroup$ I think this is not a good line of argument, although I have seen it made often. Humans cannot exactly represent any irrational number: we can either create a new symbol for one, like 'e' (which computers can and do then digitally reason about), or we can work out a finite number of digits (and in fact, computers do this far better than us). It is not clear to me in what sense we understand these concepts in a "continuous" sense. $\endgroup$ – John Doucette Oct 5 at 19:52
  • 6
    $\begingroup$ My point is that humans actually do not understand infinite concepts in a way that requires infinite resources. There's nothing about the concept of infinity that requires infinite resources to reason about. Applying the concept might require infinite resources, but humans don't have those either. $\endgroup$ – John Doucette Oct 5 at 21:36
  • 3
    $\begingroup$ You can of course say that computers don't understand $\pi$, and they don't understand $2+2$. My point is that it's unclear to me why you think there's something special about $\pi$ or the reals as a concept, that is distinct from $2+2$. $\endgroup$ – John Doucette Oct 5 at 21:44
  • 2
    $\begingroup$ Okay. That's what I thought at first. My question is why, because from my perspective, all the tools that humans use to represent such objects are discrete. $\endgroup$ – John Doucette Oct 5 at 22:48
  • 2
    $\begingroup$ So I think we're getting close to the core issue. We both agree: neither humans nor computers can compute non-discrete things. So the question is, when someone says "humans understand continuous things, but computers do not", what do they mean? You can make the Chinese room argument, but that works no matter what you pick. It's not something special about infinity, in which case OP's question could just as easily be "Why don't computers understand the number 2?". In your answer, it looks like you think humans have some capability machines do not. What is it? $\endgroup$ – John Doucette Oct 5 at 23:13
2
$\begingroup$

By adding some rules for infinity in arithmetic (such as infinity minus a large finite number is infinity, etc.), the digital computer can appear to understand the notion of infinity.

Alternatively, the computer can simply replace the number n with its log-star value. Then, it can differentiate the numbers at a different scale, and can learn that any number with log-star value > 10 is practically equivalent to infinity.

$\endgroup$
  • 1
    $\begingroup$ Representing only infinity or finite set which includes infinity does not enough us to believe that the model understand infinity. Unfortunately, your response is totally useless from my perspective. $\endgroup$ – verdery Oct 5 at 20:55
  • $\begingroup$ @verdery Very true. I believe that my response is probably a starting point. Hence the community wiki marker. I quite like John Ducette's answer. $\endgroup$ – Amrinder Arora Oct 6 at 0:31
2
$\begingroup$

Then premise assumes that humans "understand" infinity. Do we?

I think you'd need to tell me what criterion you would use, if you wanted to know whether I "understand" infinity, first.

In the OP, the idea is given that I could "prove" I "understand" infinity, because "In principle, if we have enough resources (time etc.), we can count infinitely many things (including abstract, like numbers, or real)."

Well, that's simply not true. Worse, if it were true (which it isnt), then it would be equally true for a computer. Here's why:

  1. Yes, you can in principle count integers, and see that counting never ends.
  2. But even if you had enough resources, you could never "count infinitely many things". There would always be more. That's what "infinite" means.
  3. Worse, there are multiple orders ("cardinalities") of infinity. Most of them, you can't count, even with infinite time, and perhaps not even with infinite other resources. They are actually uncountable. They literally cannot be mapped to a number line, or to the set of integers. You cannot order them in such a way that they can be counted, even in principle.
  4. Even worse, how do you do that bit where you decide "in principle" what I can do, when I clearly can't ever do it, or even the tiniest part of it? That step feels layman-style assumptive, not actually seeing the issues in doing it rigorously. It may not be trivial.
  5. Last, suppose this was your actual test, like in the OP. So if I could "in principle with enough resources (time etc) count infinitely many things", it would be enough for you to decide I "understood" infinity (whatever that means). Then so could a computer with sufficient resources (RAM, time, algorithm). So the test itself would be satisfied trivially by a computer if you gave the computer the same criteria.

I think maybe a more realistic line of logic is that what this question actually shows, is that most (probably all?) humans actually do not understand infinity. So understanding infinity is probably not a good choice of test/requirement for AI.

If you doubt this, ask yourself. Do you honestly, truly, and seriously, "understand" a hundred trillion years (the possible life of a red dwarf star)? Like, can you really comprehend what its like, experiencing a hundred trillion years, or is it just a 1 with lots of zeros? What about a femtosecond? Or a time interval of about 10^-42 seconds? Can you truly "understand" that? A timescale compared to which, one of your heartbeats, compares like one of your heartbeats compares to a billion billion times the present life of this universe? Can you really "understand infinity", yourself? Worth thinking about......

$\endgroup$
  • $\begingroup$ If we assume that we cannot understand infinity, It does not mean that it does not exist. There are examples in the physics that we cannot understand but they are exist. For example, duality of light and speed limit of light, relativity in the nature, etc. In that case, we have representations of those notions in our mind. The same situation may valid for infinity. $\endgroup$ – verdery Oct 7 at 20:53
  • $\begingroup$ Oh the concept exists, but how do you prove you really "understand the concept"? See my questions at the end. That's what I'd want to know, to test if * you * yourself (or anyone) truly "understood the concept". It might not be the test you'd choose, but I think if I were testing "understanding"rather than dictionary definition or ability to use the concept, that would be my test. And every last human being on the planet (myself included), would fail it. $\endgroup$ – Stilez Oct 7 at 20:57
  • $\begingroup$ I have a question for you, If you do not have a representation in your mind how could you write the number: 10^-42 ? $\endgroup$ – verdery Oct 7 at 21:10
  • 1
    $\begingroup$ "Having a representation" doesn't mean "having any understanding" to me. Think of Heinlein's word " to grok". That's "understanding" in my book. Anything else is pretty much just reciting a dictionary definition, or manipulating a symbol. Pain isn't the concept of pain, love isn't the concept of love, and infinity isn't just the concept and symbol of infinity. I don't think humans grok infinity, though, and if you aren't going to ask for proof of real "understanding", any computer can recite a definition or manipulate the symbols, while failing to really "get them", same as any human could. $\endgroup$ – Stilez Oct 7 at 21:54
  • $\begingroup$ If you read my first question in this post carefully, my approach is functionalist. I do not discuss "grok". $\endgroup$ – verdery Oct 7 at 21:56
2
$\begingroup$

A Turing machine is the main mathematical model of computation of modern digital computers. A Turing machine is defined as an object that manipulates symbols, according to certain rules (which represent the program that the Turing machine executes), on an infinite tape that is subdivided into discrete cells. Therefore, a Turing machine is a symbol manipulation system, which, given a certain input, produces a certain output or does not halt.

If you assume that understanding is equivalent to symbol manipulation, then a Turing machine is capable of understanding many concepts, even though the difficulty of understanding each of these concepts is variable, with respect to time and space. (The branch of theoretical computer science (TCS) that studies the difficulty of certain computational problems is called computational complexity theory. The branch of TCS that studies the computability of certain problems is called computability theory).

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 $\mathbb{r}$ (for example, Chaitin's constant) cannot be represented (or computed) by a Turing machine, then $\mathbb{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 $\lim_{x \to \infty} \frac{x}{\mathbb{r}} = \infty$.

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.

$\endgroup$
  • $\begingroup$ 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. $\endgroup$ – ComFreek Oct 9 at 16:14
  • $\begingroup$ @ComFreek I agree with you that a TM can manipulate this limit without knowing the exact value of $\mathbb{r}$. However, in practice, a TM cannot even assume the existence of $\mathbb{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, $\mathbb{r}$ is assumed to be computable. $\endgroup$ – nbro Oct 9 at 16:19
  • $\begingroup$ 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. $\endgroup$ – ComFreek Oct 9 at 16:23
  • $\begingroup$ @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. $\endgroup$ – nbro Oct 9 at 16:24
  • $\begingroup$ 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. $\endgroup$ – ComFreek Oct 9 at 16:40
1
$\begingroup$

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.

$\endgroup$
1
$\begingroup$

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.

$\endgroup$
1
$\begingroup$

Computers might not be able to reach infinity at all: < https://www.nature.com/articles/35023282 >, never mind actually understand it.

Computation and computers do have implications for "hard limits of systems."

(https://en.wikipedia.org/wiki/Limits_of_computation)

$\endgroup$
0
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ 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 $\infty$ 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. $\endgroup$ – nbro Oct 8 at 2:13
  • $\begingroup$ 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. $\endgroup$ – Pace Oct 8 at 2:32
0
$\begingroup$

I think the concept that is missing in the discussion, so far, is symbolic representation. We humans represent and understand many concepts symbolically. The concept of Infinity is a great example of this. Pi is another, along with some other well-known irrational numbers. There are many, many others.

As it is, we can easily represent and present these values and concepts, both to other humans and to computers, using symbols. Both computers and humans, can manipulate and reason with these symbols. For example, computers have been performing mathematical proofs for a few decades now. Likewise, commercial and/or open source programs are available that can manipulate equations symbolically to solve real world problems.

So, as @JohnDoucette has reasoned, there isn't anything that special about Infinity vs many other concepts in math and arithmetic. When we hit that representational brick wall, we just define a symbol that represents "that" and move forward.

Note, the concept of infinity has many practical uses. Any time you have a ratio and the denominator "goes to" zero, the value of the expression "approaches" infinity. This isn't a rare thing, really. So, while your average person on the street isn't conversant with these ideas, lots and lots of scientists, engineers, mathematicians and programmers are. It's common enough that software has been dealing with Infinity symbolically for a couple decades, now, at least. E.g. Mathematica: http://mathworld.wolfram.com/Infinity.html

$\endgroup$
0
$\begingroup$

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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.