scratch/content/html/en/blog/2010-07-09-Indecidabilities.md

96 lines
3.9 KiB
Markdown
Raw Normal View History

2010-07-09 15:26:00 +00:00
-----
isHidden: false
menupriority: 1
kind: article
created_at: 2010-07-09T10:04:31+02:00
2010-07-12 09:04:33 +00:00
title: Undecidabilities
2010-07-09 15:26:00 +00:00
author_name: Yann Esposito
author_uri: yannesposito.com
tags:
2010-07-12 09:04:33 +00:00
- mathematics
2010-07-09 15:26:00 +00:00
- science
- philosophy
- indecidability
-----
2010-07-12 09:04:33 +00:00
2010-07-09 15:26:00 +00:00
begindiv(intro)
2010-07-12 09:04:33 +00:00
<%= tldr %> The word undecidability can have different meaning.
I give here some each science related.
2010-07-09 15:26:00 +00:00
- _Undecidability_: due to measure errors
- _Hope_: small measure error implies small calculus error.
2010-07-12 09:04:33 +00:00
- _But_: Undecidability with big error from small measure error
2010-07-09 15:26:00 +00:00
- _Hope_: error remain controllable given a final mesure error, retrive the maximal measure error authorized
2010-07-12 09:04:33 +00:00
- Also false hope: Undecidability width _discontinuities_
- _Hope_: Undecidability is due to error, but without any measure error, all is decidable
- Yet another false hope: Undecidability without any measure error
Is the situation so bad we cannot truly believe anything?
A theorem in learning theory (in my thesis) prove that under some reasonable conditions, we could learn many true things.
But at no moment we can be absolutely sure this is _the_ truth.
But as far as I can see, we cannot do better than that.
2010-07-09 15:26:00 +00:00
enddiv
2010-07-12 09:04:33 +00:00
# The Undecidabilities
2010-07-09 15:26:00 +00:00
## Indécidabilité dues aux erreurs de mesures
expérience monde mathématique et théorème de pythagore.
Utilisation des fractions rationnelles pour retrouver la formule exacte.
Problème, on sait qu'on converge mais on ne sait pas quand.
## Indécidabilité avec erreurs croissantes
Problème des 3 corps. Une petite erreur de départ va provoquer de grandes erreurs à l'arrivée.
Mais pour une erreur à l'arrivée donnée on peut trouver l'erreur de depart minimale. Exemple: Si on veut une precision à 10m dans 3 mois, il faut une précision des mesures de 1m aujourd'hui.
## Indécidabilité avec erreurs discontinues
Fractales et Mandelbrot.
Position à 1cm près sur une cote de Bretagne.
Si une erreur très faible de mesure, impossible de savoir si on est dans l'eau ou pas.
2010-07-12 09:04:33 +00:00
On peut même imaginer une structure ou *tous* les points sont au bord de celle-ci, on ne peut donc pas se permettre d'erreur. (Imaginer R\Q)
2010-07-09 15:26:00 +00:00
## Indécidabilité sans erreur
2010-07-12 09:04:33 +00:00
Jusqu'ici, on a vu que toutes les activité humaines font faces à des problèmes indécidables.
Mais jusqu'ici, cette indécidabilité était due aux *erreurs*.
Mais on pourrait espérer que ça se fasse sans erreur.
Et bien non.
Même dans un monde mathématique complètement contrôlé.
On peut créer un objet pour lequel on ne pourra pas décider à l'avance ce qu'il fait.
2010-07-09 15:26:00 +00:00
Théorème d'indécidabilité du problème de l'arrêt. La preuve est suffisamment simple pour rentrer dans ce post, donc je me fais un petit plaisir en la donnant.
> Supposons qu'il existe un programme qui puisse dire si un autre programme s'arrête. Plus précisément :
>
2010-07-12 09:04:33 +00:00
> Hypothèse: Il existe `P` tel que:
2010-07-09 15:26:00 +00:00
>
2010-07-12 09:04:33 +00:00
> * `P(x,y)` réponde "s'arrête" en un temps fini si et seulement si `x(y)` s'arrête effectivement en temps fini et
> * `P(x,y)` réponde "ne s'arrête pas" en un temps fini dans le cas contraire.
2010-07-09 15:26:00 +00:00
>
> Remarque: Tout code de programme est une chaîne de caractère qui peut être utilisée aussi comme entrée d'un autre programme.
Ainsi écrire `P(x,x)` est autorisé.
>
> Soit le programme Q que j'écris comme suit :
> <pre class="twilight">
> Q(x) :
> si P(x,x)="s'arrête" alors je fais une boucle infinie.
> si P(x,x)="ne s'arrête pas" alors je m'arrête.
> </pre>
>
> Maintenant que répond `P(Q,Q)'?
2010-07-12 09:04:33 +00:00
>
> * si `P(Q,Q)' répond "s'arrête" ça implique que `P(Q,Q)'="ne s'arrête pas"
> * si `P(Q,Q)' répond "ne s'arrête pas" ça implique que `P(Q,Q)'="s'arrête"
2010-07-09 15:26:00 +00:00
>
> Il y a donc une contradiction que le seul moyen de régler est par la non existence du programme P.
Cette indécidabilité est vraiment la plus gênant de toute. Elle signifie que l'on peut créer un objet duquel on ne peut absolument pas prédire le comportement quelque soit mes possibilité de contrôler cet objet.
2010-07-12 09:04:33 +00:00
newcorps
# What best can we do?