401 lines
No EOL
17 KiB
HTML
401 lines
No EOL
17 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
|
|
|
|
<meta name="keywords" content="mathematics, science, philosophy, indecidability">
|
|
|
|
<link rel="shortcut icon" type="image/x-icon" href="/Scratch/img/favicon.ico" />
|
|
<link rel="stylesheet" type="text/css" href="/Scratch/assets/css/main.css" />
|
|
<link rel="stylesheet" type="text/css" href="/Scratch/css/twilight.css" />
|
|
<link rel="stylesheet" type="text/css" href="/Scratch/css/idc.css" />
|
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://feeds.feedburner.com/yannespositocomen"/>
|
|
|
|
<link rel="alternate" lang="fr" xml:lang="fr" title="Indécidabilités (partie 1)" type="text/html" hreflang="fr" href="/Scratch/fr/blog/2010-07-09-Indecidabilities/" />
|
|
<link rel="alternate" lang="en" xml:lang="en" title="Undecidabilities (part 1)" type="text/html" hreflang="en" href="/Scratch/en/blog/2010-07-09-Indecidabilities/" />
|
|
<script type="text/javascript" src="/Scratch/js/jquery-1.3.1.min.js"></script>
|
|
<script type="text/javascript" src="/Scratch/js/jquery.cookie.js"></script>
|
|
<script type="text/javascript" src="/Scratch/js/index.js"></script>
|
|
|
|
<!-- [if lt IE9 ]>
|
|
<script type="text/javascript" src="http://stan-js.googlecode.com/hg/version/0.1/stan.min.js"></script>
|
|
<![endif]-->
|
|
<title>Undecidabilities (part 1)</title>
|
|
</head>
|
|
<body lang="en">
|
|
<script type="text/javascript">// <![CDATA[
|
|
document.write('<div id="blackpage"><img src="/Scratch/img/loading.gif" alt="loading..."/></div>');
|
|
// ]]>
|
|
</script>
|
|
|
|
<div id="content">
|
|
|
|
<div id="choix">
|
|
<div class="return"><a href="#entete">↓ Menu ↓</a></div>
|
|
<div id="choixlang">
|
|
<a href="/Scratch/fr/blog/2010-07-09-Indecidabilities/" onclick="setLanguage('fr')">en Français</a>
|
|
</div>
|
|
</div>
|
|
<img src="/Scratch/img/presentation.png" alt="Presentation drawing"/>
|
|
<div id="titre">
|
|
<h1>
|
|
Undecidabilities (part 1)
|
|
</h1>
|
|
|
|
</div>
|
|
|
|
<div class="flush"></div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="flush"></div>
|
|
<div id="afterheader">
|
|
<div class="corps">
|
|
|
|
<div class="intro">
|
|
|
|
|
|
<p><span class="sc"><abbr title="Too long; don't read">tl;dr</abbr>: </span> I pretend to create a world to give examples of different meanings behind the word <em>undecidability</em>:</p>
|
|
|
|
<ul>
|
|
<li>Undecidability due to measure errors, </li>
|
|
<li>Big errors resulting from small initial measure error,</li>
|
|
<li>Fractal undecidability ;</li>
|
|
<li>Logic Undecidability.</li>
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="corps">
|
|
|
|
|
|
<h1 class="first" id="the-undecidabilities">The Undecidabilities</h1>
|
|
|
|
|
|
<div class="intro">
|
|
|
|
|
|
<p>If a demiurge made our world, he certainly had a great sense of humor.
|
|
After this read, you should be convinced.
|
|
I’ll pretend to be him.
|
|
I’ll create a simplified world.
|
|
A world that obey to simple mathematical rules.
|
|
And I’ll tell you about one of the curse on this world: the <em>undecidability</em>.
|
|
The inability to know if we had find the <em>truth</em>.
|
|
The inability to predict many things that should be natural.
|
|
Here begin the story.</p>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<p><img alt="no name" class="left" src="/Scratch/img/blog/2010-07-09-Indecidabilities/genesis.png" /></p>
|
|
|
|
<p>In the beginning there was only void.
|
|
Then a blog post beginning to be written.
|
|
I breath profoundly to feel the weight of the act I will accomplish.
|
|
A last tense moment and… I <em>create</em> the <em>Universe</em>.
|
|
An incredible <em>Universe</em> which will exists only the time of this read.
|
|
I’m the <em>demiurge</em> of this universe and you are its observer.</p>
|
|
|
|
<p>I construct this world using only simples rules.
|
|
I decide that <em>real</em> rules of this world will be the one we believe are <em>true</em> for our world.
|
|
Note the difference.
|
|
For their world, everything we <em>believe</em> today is <em>true</em> for them.
|
|
Their world is then probably <em>simpler</em> than our.
|
|
Particularly, we can describe this world with axioms and mathematic rules.
|
|
It is not so sure for our Universe.
|
|
But we’ll talk about that later.</p>
|
|
|
|
<p>Lets the work begin.
|
|
I create an <em>Earth</em>.
|
|
I populate it with intelligent people, the <em>Ys</em>.
|
|
Of course they are curious.
|
|
In particular they try to understand their world.
|
|
They believe that if they know the rules of their world they will be able to predict the consequences of most of their acts.
|
|
They are so naive.
|
|
If only they knew.
|
|
But I’m here to help them.</p>
|
|
|
|
<p>I am a God who likes jokes.
|
|
The first joke I make to Ys is to make their sense imperfect.
|
|
Furthermore it is not possible to make perfect precise measure in my world.
|
|
I let Ys ameliorate their technology but there is a theoretical limit to the best precision they can reach.</p>
|
|
|
|
<p>I’d like to precise that these people believe their world is flat.
|
|
Some believe it is possible to find the rules of their Universe.
|
|
Now, let the game begins.</p>
|
|
|
|
<p>Lets start easily, <em>errors can cause undecidability</em>.</p>
|
|
|
|
<h2 id="undecidability-due-to-measure-errors">Undecidability due to measure errors</h2>
|
|
|
|
<p>Here is what one of them think:</p>
|
|
|
|
<blockquote>
|
|
<p>All triangle I observe seems to share the same property.
|
|
Each time I sum up their angles I obtain π radiants (180°).
|
|
It is certainly a rule of my Universe.
|
|
But how to be certain all triangle in my Universe share this property?</p>
|
|
</blockquote>
|
|
|
|
<p><img alt="no name" class="left" src="/Scratch/img/blog/2010-07-09-Indecidabilities/triangle_3_angles.png" /></p>
|
|
|
|
<p>Some began to formalize the problem.
|
|
They end by writing a mathematical proof.
|
|
Marvelous!
|
|
The proof seems correct, but, a problem remains.
|
|
The proof is based on rules and axioms.
|
|
How to be certain these rules and axioms are right in their world?
|
|
They will try to measure again and again the sum of the angles of triangles.
|
|
The measure will never fail.
|
|
But they’ll never be certain the rules and axioms are right.
|
|
Because then only way to verify all axioms depends of observation.
|
|
And as a facetious god, I forbid perfect measure in observation.</p>
|
|
|
|
<p>Of course, they prey, they call me to help.
|
|
And as any respectful god, I don’t answer.
|
|
Ah ah ah! I’ve always loved to make these kind of thing.
|
|
Let’s act as if I don’t exists.
|
|
What a good joke!</p>
|
|
|
|
<p>They feel sad. But they have some hope:</p>
|
|
|
|
<p><em>Hope</em></p>
|
|
|
|
<blockquote>
|
|
<p>If we make small measure error, we will make small predictive error.</p>
|
|
</blockquote>
|
|
|
|
<h2 id="growing-errors-undecidability">Growing errors Undecidability</h2>
|
|
|
|
<p><img alt="no name" class="left" src="/Scratch/img/blog/2010-07-09-Indecidabilities/3_corps.png" /></p>
|
|
|
|
<p>Unfortunately, the three bodies problem will crush this <em>hope</em>.
|
|
Using Newton’s Universal Law of gravitation with two bodies, we can predict with precision what will be their position and speed in the future.
|
|
Until there all seems OK.
|
|
But now, add another body.
|
|
All errors will grow.
|
|
Errors will grow at a point that any prediction will be unusable.</p>
|
|
|
|
<p>Even with this bad news there is the <em>hope</em> to <em>control</em> the error.</p>
|
|
<blockquote>
|
|
<p>May we should know the maximal measure error we can handle to predict something.
|
|
And we should at least determine what we can predict and what we cannot.</p>
|
|
</blockquote>
|
|
|
|
<p>Once again, this should not terminate has they hope.</p>
|
|
|
|
<h2 id="fractal-undecidability">Fractal Undecidability</h2>
|
|
|
|
<p>Consider the following question:</p>
|
|
|
|
<p><img alt="no name" class="left" src="/Scratch/img/blog/2010-07-09-Indecidabilities/mandelbrot.png" /></p>
|
|
|
|
<p>Consider some GPS coordinates on a point around the cost of the “Bretagne” in France.
|
|
The coordinates are 3 feet precise.
|
|
Is the point in the water or on Earth?</p>
|
|
|
|
<p>For some coordinates it is not possible to know.
|
|
Even if we are authorize to move a bit to dodge the borders.
|
|
Because there are some zone in which all point could be a “border” for any size of the zone.</p>
|
|
|
|
<p>We can even imagine some mathematical structure where <em>all</em> points are at the border<sup id="fnref:2"><a href="#fn:2" rel="footnote">1</a></sup>. </p>
|
|
|
|
<h2 id="logical-undecidability">Logical Undecidability</h2>
|
|
|
|
<p><img alt="no name" class="left" src="/Scratch/img/blog/2010-07-09-Indecidabilities/stackOverflow.png" /></p>
|
|
|
|
<p>Until there all problem were undecidable because of measure <em>errors</em>.
|
|
May be in a controlled world without any <em>error</em> we should be able to predict anything.<br />
|
|
I’m sorry to say no.
|
|
Even in a self-contained mathematical world it can be possible to create object with an unpredictable behaviour.</p>
|
|
|
|
<p>It is the <em>halting problem</em>.</p>
|
|
|
|
<p>Theorem: It is undecidable given a description of a program, whether the program finishes running or will run forever.
|
|
The idea of the proof is simple enough to be part of this article.
|
|
And this is with pleasure I give you one here.</p>
|
|
|
|
<blockquote>
|
|
<p>Suppose a program able to decide if any program halt exists.
|
|
More precisely:</p>
|
|
|
|
<p>Hypothesis: there exists a program <code>P</code> such that:</p>
|
|
|
|
<ul>
|
|
<li><code>P(x,y)</code> return “stop” in a finite amount of time if <code>x(y)</code><sup id="fnref:1"><a href="#fn:1" rel="footnote">2</a></sup> will stop running.</li>
|
|
<li><code>P(x,y)</code> return “loop” in a finite amount of time if <code>x(y)</code> will never stop running.</li>
|
|
</ul>
|
|
|
|
<p>Remark: Any program can be represented as a string. Therefore, a program can be used as the input of another program.
|
|
It is authorized to write <code>P(x,x)</code>.</p>
|
|
|
|
<p>Let <code>Q</code> be the following program using the return value of <code>P</code>.</p>
|
|
<pre class="twilight">
|
|
Q(x) :
|
|
if P(x,x)="stop" then I enter in an infinite loop
|
|
if P(x,x)="loop" then I stop
|
|
</pre>
|
|
|
|
<p>Now, what is the value of <code>P(Q,Q)</code>?</p>
|
|
|
|
<ul>
|
|
<li>if <code>P(Q,Q)</code> returns “stop” that imply by construction of <code>Q</code> that <code>P(Q,Q)</code> returns “loop”.</li>
|
|
<li>if <code>P(Q,Q)</code> returns “loop” that means by construction of <code>Q</code> that <code>P(Q,Q)</code> return “stop”.</li>
|
|
</ul>
|
|
|
|
<p>Therefore there is a contradiction the only way to handle is by the non existence of the program <code>P</code>.</p>
|
|
</blockquote>
|
|
|
|
<p>I am the demiurge of this imaginary world.
|
|
And I cannot know the future of this world.
|
|
Therefore, creative power isn’t equivalent to omnipotence.</p>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="corps">
|
|
|
|
|
|
<p>After all this, it becomes difficult to know what we can believe.
|
|
But it would be another error to throw away all our knowledge.
|
|
In a future next part, I’ll explain what we can hope and what attitude we should have once we’ve realized most of truth are unaccessible.</p>
|
|
<hr/><div class="footnotes">
|
|
<ol>
|
|
<li id="fn:2">
|
|
<p>The set R\Q has this property.<a href="#fnref:2" rev="footnote">↩</a></p>
|
|
</li>
|
|
<li id="fn:1">
|
|
<p>Meaning <code>x</code> taking <code>y</code> as input.<a href="#fnref:1" rev="footnote">↩</a></p>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="choixrss">
|
|
<a id="rss" href="http://feeds.feedburner.com/yannespositocomen">
|
|
Subscribe
|
|
</a>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
$('#comment').hide();
|
|
$('#clickcomment').click(showComments);
|
|
});
|
|
function showComments() {
|
|
$('#comment').show();
|
|
$('#clickcomment').fadeOut();
|
|
}
|
|
document.write('<div id="clickcomment">Comments</div>');
|
|
</script>
|
|
<div class="flush"></div>
|
|
<div class="corps" id="comment">
|
|
<h2 class="first">comments</h2>
|
|
<noscript>
|
|
Vous devez activer javascript pour commenter.
|
|
</noscript>
|
|
|
|
<script type="text/javascript">
|
|
var idcomments_acct = 'a307f0044511ff1b5cfca573fc0a52e7';
|
|
var idcomments_post_id = '/Scratch/en/blog/2010-07-09-Indecidabilities/';
|
|
var idcomments_post_url = 'http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/';
|
|
</script>
|
|
<span id="IDCommentsPostTitle" style="display:none"></span>
|
|
<script type='text/javascript' src='/Scratch/js/genericCommentWrapperV2.js'></script>
|
|
|
|
</div>
|
|
|
|
<div id="entete" class="corps_spaced">
|
|
<div id="liens">
|
|
<ul><li><a href="/Scratch/en/">Homepage</a></li>
|
|
<li><a href="/Scratch/en/blog/">Blog</a></li>
|
|
<li><a href="/Scratch/en/softwares/">Softwares</a></li>
|
|
<li><a href="/Scratch/en/about/">About</a></li></ul>
|
|
</div>
|
|
<div class="flush"></div>
|
|
<hr/>
|
|
<div id="next_before_articles">
|
|
<div id="previous_articles">
|
|
previous entries
|
|
|
|
<div class="previous_article">
|
|
<a href="/Scratch/en/blog/2010-07-31-New-style-after-holidays/"><span class="nicer">«</span> New style after holidays</a>
|
|
</div>
|
|
|
|
|
|
<div class="previous_article">
|
|
<a href="/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/"><span class="nicer">«</span> Do not use CSS gradient with Chrome</a>
|
|
</div>
|
|
|
|
|
|
<div class="previous_article">
|
|
<a href="/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/"><span class="nicer">«</span> Cappuccino vs jQuery</a>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div id="next_articles">
|
|
next entries
|
|
|
|
<div class="next_article">
|
|
<a href="/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/">Now hosted by heroku <span class="nicer">»</span></a>
|
|
</div>
|
|
|
|
|
|
<div class="next_article">
|
|
<a href="/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/">send mail from command line with attached file <span class="nicer">»</span></a>
|
|
</div>
|
|
|
|
|
|
<div class="next_article">
|
|
<a href="/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/">base64 and sha1 on iPhone <span class="nicer">»</span></a>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="flush"></div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div id="bottom">
|
|
<div>
|
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Copyright ©, Yann Esposito</a>
|
|
</div>
|
|
<div id="lastmod">
|
|
Created: 08/11/2010
|
|
Modified: 08/17/2010
|
|
</div>
|
|
<div>
|
|
Entirely done with
|
|
<a href="http://www.vim.org">Vim</a>
|
|
and
|
|
<a href="http://nanoc.stoneship.org">nanoc</a>
|
|
</div>
|
|
<div>
|
|
<a href="/Scratch/en/validation/">Validation</a>
|
|
<a href="http://validator.w3.org/check?uri=referer"> [xhtml] </a>
|
|
.
|
|
<a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3"> [css] </a>
|
|
.
|
|
<a href="http://validator.w3.org/feed/check.cgi?url=http%3A//yannesposito.com/Scratch/en/blog/feed/feed.xml">[rss]</a>
|
|
</div>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
</body>
|
|
</html> |