Lafacecach´eedesnombres ´ Elise Janvresse, Thierry de la Rue LMRSUniversit´edeRouenCNRS 18 avril 2007
Ilexistedesnombresre´elsdontl’ordinateurCommeiln’yaqu’unequantite´de´nombrable nepeuts’approcherqueparendessous!L’obdeprogrammespossibles,etunequantit´enon jetdecettenoteestd’enpre´senterun,obd´enombrabledenombresre´els,lamajorite´ tenu comme la limite croissante d’une suite prod’entre eux restent inaccessibles par un pro duite par un programme informatique. Nousgramme informatique. montrons qu’aucun programme ne peut pro Notre but est d’expliciter un algorithme duireunesuitede´croissanteconvergeantvers produisantunnombrere´elaccessiblepar cer´eel!Ceseraaussil’occasiond’aborder endessous, mais pas par audessus. Plus lanotiondecalculabilite´,introduiteparles pre´cis´ement,nousallonsconstruireunpro math´ematiciensavantmeˆmequelesordinateurs gramme imprimant une suite croissante qui nesoientinvent´es. converge vers une limite telle qu’aucun pro gramme n’est capable d’imprimer une suite Introductionreine`ersrecttdergeantventeconveorceassi´d. Comment un ordinateur peutil produire un Construction nombrer´eel,commeπb?iensˆurtuepenlI pas donner la valeur exacte en un temps fini Il est facile de lister un par un tous les pro carcellecicomporteuneinfinite´dede´cimales. grammespossibles:celarevienta`listersuccessi Maiscequel’onpeutespe´rer,c’estquel’ordina vement tous les entiers 1, 2, 3, .. .Dans la suite, teur imprime des approximations de plus en plus onnoteraparlemeˆmesymbolenle nombre en pr´ecisesdunombreπedeir,de`sact’itsuneeu tierneaplrmatinforod´equecterpelargoiemm nombresde´cimauxconvergeantversπ. Il existe de´veloppementbinaireden. d’ailleurs de nombreux algorithmes capables de Le programme que nous allons construire le faire. Peuton ainsi produire n’importe quel vafairetourner`atourderoˆletouslespro nombrere´elparordinateur? grammes possibles : il fait d’abord tourner le programme 1 pendant une seconde; il passe alors au programme 2 pendant une seconde, Qu’estce qu’un programme infor puisreprendl’exe´cutionduprogramme1pour matique ? encore 1 seconde; il fait ensuite tourner le Un programme informatique n’est rien programme3, puis retourne au programme 2, d’autrequ’unnombreentier.Eneffet,touteslespuisauprogramme1;ensuiteilde´butelepro instructionstrait´eesparunordinateursonttragramme4,puisrevientauprogramme3,puis duites en langage binaire par des suites finies deau programme 2, puis au programme 1; etc. 0etde1.DonctoutprogrammepeuteˆtrevuEnfait,c’estunpeupluscompliqu´e:sous commeunnombreentiere´critenbase2.Invercertainesconditions,ilarriveraquel’ond´ecide sement,onpeutconsid´erertoutentiercommed’e´liminerde´finitivementcertainsprogrammes. unprogramme:´ecrivonsleenbase2,etdonOnnoterak(n`alaurneuitommeqgoarelrp) nonslasuitede0etde1a`l’ordinateur:s’ilestn(:epate´eme`ik(n))n≥1est une soussuite de capabledel’interpre´tercommeunesuited’ins(1,2,1,3,2,1,4,3,2,1,5, . . .). tructions, tout va bien; sinon convenons que leNotre programme va imprimer une suite crois programmeassoci´enefaitsimplementriendusante(an)n≥0elafux,d:ormedamice´dea0= 0 tout. etan=an−1+xnpour toutn≥1, avec