<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=178.0.89.106</id>
		<title>explain xkcd - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=178.0.89.106"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/178.0.89.106"/>
		<updated>2026-05-25T21:52:49Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=1266:_Halting_Problem&amp;diff=49191</id>
		<title>1266: Halting Problem</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=1266:_Halting_Problem&amp;diff=49191"/>
				<updated>2013-09-18T20:52:28Z</updated>
		
		<summary type="html">&lt;p&gt;178.0.89.106: Fixed: &amp;quot;Program halts with these parameters&amp;quot; and &amp;quot;Program halts with all parameters&amp;quot; are, in fact, not equivalent.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 1266&lt;br /&gt;
| date      = September 18, 2013&lt;br /&gt;
| title     = Halting Problem&lt;br /&gt;
| image     = halting_problem.png&lt;br /&gt;
| titletext = I found a counterexample to the claim that all things must someday die, but I don't know how to show it to anyone.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
In 1936 {{w|Alan Turing}} proved that it's not possible to decide whether an arbitrary program will eventually halt, or run forever. This was later called the {{w|Halting problem}} by {{w|Martin Davis}}. The official definition of the problem is to write a program (actually, a {{w|Turing Machine}}) that accepts as parameters a program and its parameters. That program needs to decide, in finite time, whether that program will ever halt running these parameters.&lt;br /&gt;
&lt;br /&gt;
The halting problem is a cornerstone problem in computer science. It is used mainly as a way to prove a given task is impossible, by showing that solving that task will allow one to solve the halting problem.&lt;br /&gt;
&lt;br /&gt;
[[Randall]], however, is providing a simpler solution. He implements his own code for the question ''&amp;quot;Does it halt?&amp;quot;'' which always returns &amp;quot;true&amp;quot;, and directs us to think about the bigger picture.&lt;br /&gt;
&lt;br /&gt;
From a '''physical''' perspective, according to our current understanding of physics, this is right. Given enough time, any program will halt. This is due to factors external to the actual program. Sooner or later, electricity will give out, or the memory containing the program will get corrupted by cosmic rays, or corrosion will eat away the silicon in the CPU, or the {{w|second law of thermodynamics}} will lead to the {{w|Heat death of the universe}}. Nothing lasts forever, and this includes a running program.&lt;br /&gt;
&lt;br /&gt;
From a '''mathematical''' point of view, this is not true: a Turing machine will never have a hardware failure because it's not a real machine.  It's a theoretical construct, and it's '''defined''' to not have any hardware. Similarly, 1/3 + 1/3 + 1/3 = 1 no matter what any real hardware you are computing it on claims.&lt;br /&gt;
&lt;br /&gt;
From a '''practical''' point of view, there are of course times that a programmer would want to return &amp;quot;false&amp;quot;, since some programs can be mathematically shown to run forever (or at least to run longer than the application is willing to wait).&lt;br /&gt;
&lt;br /&gt;
The title text further relates to this issue by claiming to have found a case where something need not die, but Randall does not know how to actually show it to anyone, because just the fact everyone will die sooner than this thing it doesn't prove it will not die. The wording of the title text might also be a reference to {{w|Fermat's Last Theorem}}.&lt;br /&gt;
&lt;br /&gt;
It should be noted that Randall's solution, barring its unsoundness, solves more than the halting problem in the form it is usually stated. The halting problem requires two parameters (a program and its parameters), while Randall's function only accepts one (the program). The question of whether a program halts for every input can be shown to be even harder to solve than the halting problem, meaning that even if a Turing machine had an additional instruction allowing it to check whether a program halts with given parameters, it still could not always confirm that a given program that halts for all parameters does so.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
 '''Define''' DoesItHalt(program):&lt;br /&gt;
 {&lt;br /&gt;
  '''return''' true;&lt;br /&gt;
 }&lt;br /&gt;
:The big picture solution to the halting problem.&lt;br /&gt;
&lt;br /&gt;
==Trivia==&lt;br /&gt;
*A similar useless computer program can be found here: [[221: Random Number]].&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
[[Category:Computers‏‎]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>178.0.89.106</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:1266:_Halting_Problem&amp;diff=49190</id>
		<title>Talk:1266: Halting Problem</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:1266:_Halting_Problem&amp;diff=49190"/>
				<updated>2013-09-18T20:51:35Z</updated>
		
		<summary type="html">&lt;p&gt;178.0.89.106: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I wrote an explanation for the body of the comics, but I believe there are aspects of the title I'm still missing, so I left the incomplete tag in place. [[User:Shachar|Shachar]] ([[User talk:Shachar|talk]]) 07:52, 18 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Isn't google already running applications designed to continue running even if some of nodes they run on have a fatal hardware failure? Also, even if the claim would be true in &amp;quot;practical&amp;quot; sense, it would not solve the problem, because as you said, the stopping would be because of reasons external to the actual program. In other words, program running on turing machine will never stop by hardware failure, because turing machine BY DEFINITION doesn't have any. -- [[User:Hkmaly|Hkmaly]] ([[User talk:Hkmaly|talk]]) 08:57, 18 September 2013 (UTC)&lt;br /&gt;
:Remembered this is wiki and added it to the actual explanation :-) -- [[User:Hkmaly|Hkmaly]] ([[User talk:Hkmaly|talk]]) 09:10, 18 September 2013 (UTC)&lt;br /&gt;
:Several systems are running with redundant nodes.  They will not run forever.  They are in for example extremely unlikely to outlive the sun. [[Special:Contributions/85.19.71.131|85.19.71.131]] 11:29, 18 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;For all practical purposes, this is the correct solution&amp;quot;&lt;br /&gt;
:No, it's not. A very practical purpose would be &amp;quot;have my OS kill processes that won't stop&amp;quot;. Other one would be &amp;quot;reject installing apps that contain algorithms that don't halt&amp;quot;. If the OS assumes &amp;quot;every app will eventually halt&amp;quot; it would kill every process and reject every app. [[User:Osias|Osias]] ([[User talk:Osias|talk]]) 12:15, 18 September 2013 (UTC)&lt;br /&gt;
::Changing the paragraph to say &amp;quot;a physical perspective&amp;quot; instead of &amp;quot;all practical purposes&amp;quot; was a good solution. [[User:Osias|Osias]] ([[User talk:Osias|talk]]) 14:16, 18 September 2013 (UTC)&lt;br /&gt;
::It would, in fact, kill/reject none since it would find no nonhalters.[[Special:Contributions/178.0.89.106|178.0.89.106]] 20:51, 18 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google &amp;quot;halting problem&amp;quot; and do a little reeding so you are in the same mindset as Randall. This is a famous computer science problem. You aren't talking about the same thing in comments above. ''&amp;amp;mdash; [[User:Tbc|tbc]] ([[User talk:Tbc|talk]]) 12:30, 18 September 2013 (UTC)''&lt;br /&gt;
&lt;br /&gt;
What is the joke here? What does &amp;quot;big picture&amp;quot; mean? [[Special:Contributions/62.209.198.2|62.209.198.2]] 16:33, 18 September 2013 (UTC)&lt;br /&gt;
:I believe it's related to the quote &amp;quot; In the long run we are all dead.&amp;quot; by John Maynard Keynes. [[User:Osias|Osias]] ([[User talk:Osias|talk]]) 18:46, 18 September 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
Same kind of humor as in http://www.explainxkcd.com/wiki/index.php?title=221 [[Special:Contributions/176.67.13.14|176.67.13.14]] 18:47, 18 September 2013 (UTC)&lt;/div&gt;</summary>
		<author><name>178.0.89.106</name></author>	</entry>

	</feed>