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 peutonrésoudre avec unalgorithme?
que peutonré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.
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 luimê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 ponse pour chaque instance.
Lalgorithme 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:NS.
Exemple: SiSestl'ensemble Z={...,3,2,1,0,1,2,3,...}.
C'est unensemble dénombrable caron peut prendre
f:NZcomme suit:
sil'entiernatureliestpair, alors f(i)=i/2
sil'entiernatureliestimpair, alors f(i)=(i1)/ 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 cidessous:
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
àlaided’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 NN 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 NN 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),...
...
Onfinitmaintenantlafonctionentiè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’avonsnous appris?
Lensemble de tous les programmes (quel que soit lelangage)
estdénombrable.
L’incalculable sur la diagonale
Lensemble 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,celuici
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àluimê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)luimê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éavecluimêmecommevaleur
initialex.
Démonstrationparl'absurde:
Etape1
SupposonsqueQ(x)existe.Celaveutdireque:
Q(x)estexécutéavecxreprésentantleprogrammeP(x)
Q(x)déterminesiP(x),initialiséavecluimêmecommevaleurdex,s'arrêteoupas
Q(x)renvoieseulementdeuxvaleurspossibles:
1pour"OUIP(x)peuts'arrêterquandilestinitialiséavecluimême"
0pour"NONP(x)nepeutPASs'arrêterquandilestinitialiséavecluimê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
QuesepassetilquandcenouveauprogrammeR(x)s'exécutelorsqu'ilestinitialisé
avecluimê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)unprogrammecontientilunmorceaudecodeinutile?(Th.deRice)
2)deuxprogrammescalculentilslamêmechose?(Th.deRice)
3)uneconfigurationdujeudelaviedeConwayfinitellepardisparaitre
oupersistetelletoujours?
4)peutonpaverleplansansrecouvrementniespacevideavecun
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.michaelhogg.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 linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !