ICCModule1Leçon3– ThéorieduCalcul
Information, Calcul et Communication
Théorie du Calcul (3)
Bernard Moret
les modifications de R. Boulic sont basées sur:
"Computer Science, an overview" de G. Brookshear, Pearson
Cours de J-P Delahaye, Univ. de Lille
Cours de M. Betrema, Univ. de Bordeaux
ICCModule1Leçon3– ThéorieduCalcul
Objectif du cours d’aujourd’hui
Etudier
les deuxgrandesquestions de la théorie ducalcul:
◮que peut‐onrésoudre avec unalgorithme?
◮que peut‐onrésoudre efficacementavec unalgorithme?
etles connexionsavec
◮lesmathématiques,
◮l’information,
◮lacommunication.
Objectifs et Plan 3 / 34
ICCModule1Leçon3– ThéorieduCalcul
Plan du cours d’aujourd’hui
◮Données+ Question = Problème
◮L’ i n fin i etl’énumération.
◮L’incalculable surla diagonale.
◮Problèmesdedécision
◮AutoréférenceetProblèmedel'arrêt
‐‐
◮Prendre lamesure des problèmes.
◮Calculerla réponse.
◮Vérifier lasolution.
◮Conclusions
Objectifs et Plan 4 / 34
ICCModule1Leçon3– ThéorieduCalcul
Des données et une question
Enleçons1et2nousavonsvudesalgorithmes pour la recherche,letri, et
leschemins les plus courts.
Cesalgorithmes marchent quellesque soient lesdonnées.
Chaque algorithme résout chaque foisla même question.
Faire tournerl’algorithme surune entrée nousdonne
la réponse àune instance duproblème
Faire tournerunalgorithme n’estpas lasolution duproblème:
la solution, c’estl’algorithme lui‐même
Données + Question = Problème 5 / 34
ICCModule1Leçon3– ThéorieduCalcul
Problèmes et problèmes intéressants
Definitions:
Unproblème secompose d’une question etd’unensembled’instances.
Une solution pour unproblème estunalgorithme qui répond
correctementàlaquestion pour chaque instance possible.
Observation:
Si l’ensemble d’instances estfini,ilesttoujours possible de résoudre leproblème
enbâtissant une table de correspondances,laplus simpledes
structuresde données, qui stockela réponse pour chaque instance.
L’algorithme de solution consulte cette table etimprimela solutiontrouvée.
il n’y a pas de calcul!
Conclusion:
Seulsles problèmes avec desensembles infinis d’instances demandent du
travail: ce sont les seuls quinous intéressentdanslecoursd'aujourd'hui.
Données + Question = Problème 6 / 34
ICCModule1Leçon3– ThéorieduCalcul
Apprendre à compter
Noussavonsbiensûrtous compter:1,2,3,4,5,...
Mais comment compter unensemble infini ?
Outil: Lesentiers positifs, N = {1,2,3,...}définissent lecomptage.
Definition: unensemble Sestdénombrable
si etseulement sitoutélémentdeSpeutêtrenumérotéparunentier,
c'estàdirequ'ilexisteunesurjection f:N→S.
Exemple: SiSestl'ensemble Z={...,−3,−2,−1,0,1,2,3,...}.
C'est unensemble dénombrable caron peut prendre
f:N→Zcomme suit:
sil'entiernatureliestpair, alors f(i)=i/2
sil'entiernatureliestimpair, alors f(i)=−(i−1)/ 2
L’infini et l’énumération 7 / 34
Lenumérotage estlesuivant (entiernaturel en bleu, f(i)enrouge):
1, 2, 3, 4, 5, 6, 7, . . .
0,1,‐1,2,‐2,3,‐3,...
ICCModule1Leçon3– ThéorieduCalcul
Les paires d’entiers positifs sont dénombrables
Sûrementpas!Après tout, il y aunnombre infini de paires quiont toutes le
même premierélément!
Etpourtant. . . Ecrivons lespaires sur untableaucomme ci‐dessous:
Nous pouvons énumérer lespaires sur la basede leur somme cartoute
valeurdesommeestobtenueàpartird'unnombrefinidepaires.
Donc nous commençons par (1,1), puis (1,2)et(2,1), puis (1,3), (2,2)et
(3,1), puis (1,4), (2,3), (3,2)et(4,1), etc.
Chaque paire reçoit sonnuméro unique—cetensembleestdénombrable.
L’infini et l’énumération 8 / 38
1,11,21,31,41,5...
2,12,22,32,42,5...
3,13,23,33,43,5...
4,14,24,34,44,5...
5,15,25,35,45,5...
ICCModule1Leçon3– ThéorieduCalcul
Les programmes sont dénombrables
Unprogramme estsimplement untexte (delongueurfinie)écrit
àl’aided’un alphabetchoisi. Ilestfaciled’énumérer(numéroter)
tous lestextes possibles dansunordre lexicographique:
◮Commençonsparénumérerlestextes d’unseulcaractère:
1:a,2:b,3:c,...,26:z
◮Continuonsavec lestextes de deuxcaractères:
27:aa,28:ab,29:ac,...,52:az,53:ba,54:bb,...,
677:za,678:zb,679:zc,...,702:zz
◮Maintenant passonsauxtextes de trois caractères:
703:aaa,704:aab,705:aac,...,18’278:zzz,
etainsi de suite.
Mêmeavec le bonchoix d’alphabet, certaindes textes énumérés ne sont pas
desprogrammes, mais touslesprogrammes sont énumérés.
L’infini et l’énumération 9 / 34
ICCModule1Leçon3– ThéorieduCalcul
Les fonctions N→N ne sont pas dénombrables
Soitl’ensemble des fonctions entières d’une variable entière n,
c'estàdirequiproduisentunevaleurentière f(n) pourtoutentiern.
Pouressayerdedénombrercesfonctions,onvalesrangersous
formed'untableau(infini)avecunefonctionparligne.
Chaquecolonne jindiquelavaleurdelafonctionpourl'entierj
Exemple:lafonctionfiapparaitsurlalignei
fi(0),fi(1),fi(2),...,fi(j),...
L’incalculable sur la diagonale 10 / 34
ICCModule1Leçon3– ThéorieduCalcul
Les fonctions N→N ne sont pas dénombrables
012j
0f0(0),f0(1),f0(2),...,f0(j),...
1f1(0),f1(1),f1(2),...,f1(j),...
2f2(0),f2(1),f2(2),...,f2(j),...
3f3(0),f3(1),f3(2),...,f3(j),...
...
Ondéfinitmaintenantlafonctionentière(n)=fn(n)+1
(n) estconstruiteenprenantlestermesdeladiagonaledutableau
etenajoutant1
Conséquence:aucunelignedutableaunepeutreprésenter(n)
carsontermediagonalneseraitpascorrect
‐>lesfonctionsnesontpasdénombrables
L’incalculable sur la diagonale 11 / 34
ICCModule1Leçon3– ThéorieduCalcul
Pas assez de programmes!
Qu’avons‐nous appris?
L’ensemble de tous les programmes (quel que soit lelangage)
estdénombrable.
L’incalculable sur la diagonale
L’ensemble des fonctions entièresd’une variable
entière n’estpasdénombrable.
Donc il existe beaucoupplus de fonctions
entières que deprogrammes.
Donc ilexisteunnombreinfinidefonctionsquine
sont pascalculablesparunprogramme!
(Il n’y asimplement pas assezde programmes possibles.)
12 / 34
ICCModule1Leçon3– ThéorieduCalcul
Pas assez de programmes! (2)
Toutprogrammepossèdeunelongueurfinie
L’incalculable sur la diagonale 13 / 34
Unefonctionentièreproduitunevaleurpour
unnombreinfinid'entiers
Exprimerlafonctionsousformed'unetable
demanderaitunelongueurinfiniedetable,
cequin'estpaspermispourunprogramme
Onnepeutpasexprimertouslesproblèmes
sousformealgébrique.
Parexemple,lesfonctionsaléatoires dontlesvaleurs
successivessontimprévisibles nepeuventpasêtre
produitesparunprogrammedontlalongueurestfinie
fi(0),fi(1),fi(2),...,fi(j),......
012...j......
fi(0),fi(1),fi(2),...,fi(j),......
fi(n)=a.n+b
ICCModule1Leçon3– ThéorieduCalcul
Problème de décision et décidabilité
Définition: unproblèmededécision prendlaformed'unequestion
àlaquelleonpeutseulementrépondreparOUIouparNON
décidabilité
Leproblèmeestdécidablesil'onpeutapporterl'uneoul'autre
réponseàl'aided'unalgorithmeopérantenunnombrefini
d'étapes.
Leproblèmeestindécidables'ilestimpossiblederépondre à
l'aided'unalgorithme.
14 / 34
ICCModule1Leçon3– ThéorieduCalcul
exemple de problème décidable
décidabilité
Soient n et m deux entiers donnés >1. m est il multiple de n?
Onsaitque:"8estmultiplede2"estVRAI
"16estmultiplede3"estFAUX
Deuxinstancesduproblèmesnesuffisentpaspourdéterminersile
problèmeestdécidableoupas.Ilfautlemontrerpourtoutmetn.
L'algorithmesuivantpermetderépondrepourtoutmetn:
- faire la division entière de mpar npour obtenir le reste r
- Si le reste rest nul répondre VRAI
- Sinon répondre FAUX
ceproblèmeestdécidable
15 / 34
ICCModule1Leçon3– ThéorieduCalcul
exemple de problème indécidable: le problème de l'arrêt
décidabilité
Definition: déterminer si un programme donné P(x), initialisé
avec une valeur de x (appartenant à N), parvient à s'arrêter
ou non.
Exempletrivial:soitleprogrammeP(x)
Tant que x > 0
incrémenter x
Sileprogrammeestexécutéavecunevaleurinitialenullepourx,celui‐ci
setermineimmédiatement
Siparcontreilestinitialiséavecxstrictementpositif,ilbouclesansfin.
16 / 34
ICCModule1Leçon3– ThéorieduCalcul
Outil de démonstration: l'autoréférence
Lesphrasesautoréférentespeuventêtreparadoxales:
"cettephraseestunmensonge"
Ellenepeutetreclasséenivraie,nifausse
(~paradoxed'Epiménide,~2500BP)
autoréférence et paradoxe
[source:PhilippeGeluck]
Ilyaautoréférence lorsqu'unsigneseréfèreàlui‐même.
Laphrase"cettephrasecomptecinqmots" estautoréférente.
17 / 34
ICCModule1Leçon3– ThéorieduCalcul
Outil de démonstration: l'autoréférence (2)
L'autoréférenceestutiliséedansladémonstrationdel'indécidabilité duproblèmede
l'arrêt d'unprogrammeP(x)enposantqu'ons'intéresseseulementaucontextesuivant:
lavaleurdexestunentierquireprésenteleprogrammeP(x)lui‐même.
Exempletrivial:soitleprogrammeP(x)
Tant que x > 0
incrémenter x
Parconstruction(vueendébutdecours)lavaleurentièredexreprésentantle
programmeP(x)eststrictementsupérieureà0,cequiconduitleprogrammeàboucler
sansfin.
autoréférence et paradoxe 18 / 34
ICCModule1Leçon3– ThéorieduCalcul
Indécidabilité du problème de l'arrêt (1)
Nousallonsmontrerqu'ilnepeutpasexister d'algorithmegénéralQ(x) qui,
implémentésousformed’unprogrammeQ(x),puissedéterminersin'importequel
programmeP(x)s'arrêteoupaslorsqu'ilestexécutéaveclui‐mêmecommevaleur
initialex.
Démonstrationparl'absurde:
Etape1
SupposonsqueQ(x)existe.Celaveutdireque:
‐Q(x)estexécutéavecxreprésentantleprogrammeP(x)
‐Q(x)déterminesiP(x),initialiséaveclui‐mêmecommevaleurdex,s'arrêteoupas
‐Q(x)renvoieseulementdeuxvaleurspossibles:
1pour"OUIP(x)peuts'arrêterquandilestinitialiséaveclui‐même"
0pour"NONP(x)nepeutPASs'arrêterquandilestinitialiséaveclui‐même"
le problème de l'arrêt 19 / 34
ICCModule1Leçon3– ThéorieduCalcul
Indécidabilité du problème de l'arrêt (2)
Etape2
ConstruisonsunnouveauprogrammeR(x)quicontientQ(x)etquiutiliselavaleur
renvoyéeparQ(x),notéey:
y← Q(x)
Tant que y > 0
incrémenter y
le problème de l'arrêt
Etape3
Quesepasse‐t‐ilquandcenouveauprogrammeR(x)s'exécutelorsqu'ilestinitialisé
aveclui‐même ?
‐supposonsqueR(x)setermine,doncQ(x)renvoielavaleur1cequiproduitune
bouclesansfinsurlavariabley,doncR(x)nepeutPASseterminer [contradiction]
‐supposonsqueR(x)neseterminepas,doncQ(x)renvoielavaleur0cequifait
immédiatementquitterlabouclesury,doncR(x)setermine [contradiction].
Conclusion:l'existencedeQestimpossible
R(x)
20 / 34
ICCModule1Leçon3– ThéorieduCalcul
Autres problèmes indécidables
le problème de l'arrêt
1)unprogrammecontient‐ilunmorceaudecodeinutile?(Th.deRice)
2)deuxprogrammescalculent‐ilslamêmechose?(Th.deRice)
3)uneconfigurationdujeudelaviedeConwayfinit‐ellepardisparaitre
oupersiste‐t‐elletoujours?
4)peut‐onpaverleplansansrecouvrementniespacevideavecun
ensembledeformesgéométriques?
Quandunproblèmeestindécidable,onSAITqu'onnepeutpas
déterminerderéponseàlaquestionposée<=>ilestinutiledeperdre
dutempssurcetteformulationd'unproblèmeoudecroirequelqu'un
quivoudraitnousvendreunesolutionàceproblème...
Celaestbeaucoupplusfortquededirequ'onnesaitpaslerésoudre
(simpleaveud'ignorance<=>quelqu'und'autrepourraitréussir)
http://www.michael‐hogg.co.uk/game_of_life.php
MauritsCornelisEscherutilisédans:
http://xavier.hubaut.info/coursmath/doc/pavages.htm
21 / 34
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!