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