Informatique Théorique - Lri.fr
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Polytech Paris Sud - ET4 Année 2018-2019
Informatique Théorique
Joël Gay
Introduction
L'objet principal du cours sera la théorie des automates. Un automate ni, ou machine
à états ni est un modèle restreint d'un ordinateur. L'automate ni partage avec un vrai
ordinateur le fait qu'il a une unité centrale de capacité nie et xée. Il reçoit en entrée
une chaîne de caractère, qui lui est donné sur une bande de lecture. Il ne renvoie aucune
sortie, si ce n'est l'information que l'entrée est (ou non) acceptable. En d'autres termes
c'est un outil de reconnaissance de langage. Ce qui rend un automate très éloigné d'un
vrai ordinateur est l'absence complète de mémoire en dehors de son processeur central
xé.
On peut se demander si un modèle aussi simple vaut le coup de s'y intéresser. Qu'est-
ce qu'un ordinateur sans mémoire ? En fait il serait plus exact qu'un automate a une
mémoire avec une capacité xée dès l'usine, qui ne peut plus être augmentée par la
suite (c'est son nombre d'états). Leur théorie reste élégante, et leur compréhension nous
permettra de mieux apprécier combien l'ajout d'une mémoire auxiliaire ajoute une réelle
puissance de calcul.
Les automates sont utiles en pratique pour la compilation qui est le cours suivant
celui-ci. La compilation concerne le problème suivant : étant donné un programme écrit
dans un certain langage (généralement haut niveau comme C + +, Python...) comment
en faire un programme exécutable et donc compréhensible par l'ordinateur. La première
étape s'appelle l'analyse lexicale . Elle consiste essentiellement à découper le programme
en petit bouts identiables (par exemple begin ou +), qui seront ensuite mis ensemble
pour faire sens dans l'analyse syntaxique.
La seconde et la troisième partie sont là pour donner des connaissances dans diérents
domaines de l'informatique. Ainsi nous parlerons des problèmes de logique, notamment
an d'expliquer le problème SAT très utilisé de nos jours dans les SAT-solveurs et ayant
de nombreuses applications. La troisième partie a pour but de comprendre, à travers
l'introduction des machines de Turing, la théorie de la complexité et ce qui rend le
problème SAT aussi spécial : il est NP-complet !
1Polytech Paris Sud - ET4 Informatique théorique
D'un point de vue plus pratique, certaines sections seront écrites comme cela, ce qui
signie que l'on ne les aborde pas en cours car ce sont des bons compléments mais non
nécessaires pour le cours en lui-même.
Table des matières
I Automates 4
1 Langages 4
1.1 Alphabets et mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Opérations rationnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Langages et expressions rationnelles . . . . . . . . . . . . . . . . . . . . . 4
2 Automates 4
2.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Propriétés des automates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Automates asynchrones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Déterminisation 5
4 Manipulation d'automates 5
5 Théorème de kleene 5
5.1 Preuve du théorème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2 Algorithme de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6 Minimisation 5
6.1 Résiduels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.2 Congruence de Nérode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.3 Algorithme de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7 Langages rationnels et non rationnels 5
8 Bilan des algorithmes 5
II Logique propositionnelle 6
1 Vocabulaire et formalisme 6
1.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Sémantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Problème SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Année 2018 - 2019 Page 2/14Polytech Paris Sud - ET4 Informatique théorique
2 Méthode de résolution 7
2.1 Syntaxe et sémantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Raisonnement par équivalence . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Formes normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Algorithme de Davis-Putnam . . . . . . . . . . . . . . . . . . . . . . . . . 8
III Calculabilité 9
1 Problèmes et codage 9
2 Machines de Turing 9
2.1 Dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Variantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Décidabilité 10
3.1 Langages récursivement énumérables . . . . . . . . . . . . . . . . . . . . . 10
3.2 Langages décidables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Complexité 11
4.1 dénition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Classes de complexité en temps . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3 Problème P = NP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.4 NP-complétude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Index 13
Année 2018 - 2019 Page 3/14Polytech Paris Sud - ET4 Informatique théorique
Première partie
Automates
1 Langages
1.1 Alphabets et mots
Alphabet , mot , langage , concaténation , préxe , suxe , facteur
1.2 Opérations rationnelles
union , produit , étoile de Kleene
1.3 Langages et expressions rationnelles
Langage rationnel , Expression rationnelle
2 Automates
2.1 Dénition
Automate , Chemin , étiquette , Chemin acceptant , mot accepté , langage de l'automate
a a, b b b
b a
b
start 1 2 3 start 1 2
a a
Figure 2.1 Deux exemples d'automate.
2.2 Propriétés des automates
Etat accessible , co-accessible , Automates équivalents , Automate déterministe , Auto-
mate complet
2.3 Automates asynchrones
ε-transitions , Automate asynchrone
Année 2018 - 2019 Page 4/14Polytech Paris Sud - ET4 Informatique théorique
3 Déterminisation
Algo de déterminisation cas synchrone et asynchrone, questions de croissance expo-
nentielle.
4 Manipulation d'automates
Création de l'automate de l'union, la concaténation, l'étoile, le langage complémen-
taire et l'intersection. Algorithme pour supprimer les ε-transitions.
5 Théorème de kleene
5.1 Preuve du théorème
Théorème de Kleene
5.2 Algorithme de Gauss
Lemme d'Arden
6 Minimisation
6.1 Résiduels
Résiduel , proposition sur le calcul de résiduel, Automate minimal . Remarque : Théo-
rème de Myhill-Nérode
6.2 Congruence de Nérode
Congruence de Nérode , lien congruence de Nérode et automate minimal.
6.3 Algorithme de Moore
Algorithme de Moore et exemple.
7 Langages rationnels et non rationnels
Lemme de pompage , lemme de l'étoile ou lemme d'itération .
8 Bilan des algorithmes
Voici un petit bilan de tous les algorithmes sur les automates que l'on a vus :
Année 2018 - 2019 Page 5/14Polytech Paris Sud - ET4 Informatique théorique
Lecture Concaténation
Complétion Etoile
Déterminisation Intersection
Union Suppression ε-transitions
Automate Moore
Equation (Arden)
Elimination d'états
Construction explicite
Automate minimal
Expression rationnelle Résidus
=Langage rationnel
Figure 8.1 Algorithmes sur les automates.
Deuxième partie
Logique propositionnelle
L'objectif de cette section, certes courte, est double : introduire des notions de logique,
ce qui a des liens avec les bases de données et les méthodes formelles en génie logiciel d'une
part. D'autre part pouvoir comprendre le problème SAT, qui est un problème NP-complet
très important. Cette partie doit beaucoup à [3] et [5].
1 Vocabulaire et formalisme
1.1 Syntaxe
Lettres propositionnelles , formule de la logique propositionnelle
Année 2018 - 2019 Page 6/14Polytech Paris Sud - ET4 Informatique théorique
1.2 Sémantique
Valuation , Interprétation , interprétation qui satisfait ou qui falsie , formule satisfai-
sable , formule contradictoire (antilogie ), formule valide (tautologie )), conséquence logique
, formules équivalentes
Équivalences classiques :
(Associativité) (A ∨ B) ∨ C ≡ A ∨ (B ∨ C)
(A ∧ B) ∧ C ≡ A ∧ (B ∧ C)
(Commutativité) A∨B ≡ B∨A
A∧B ≡ B∧A
(Idempotence) A∨A ≡ A
A∧A ≡ A
(Lois de De Morgan) ¬(A ∨ B) ≡ ¬A ∧ ¬B
¬(A ∧ B) ≡ ¬A ∨ ¬B
(Distributivité) A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C)
A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C)
(Double négation) ¬¬A ≡ A
(Dénissabilité de →) A→B ≡ ¬A ∨ B
1.3 Problème SAT
Le problème SAT est le problème consistant, étant donné une formule, à déterminer
s'il existe une interprétation des variables propositionnelles qui rend la formule vraie.
Quoique simple à formuler, sa complexité est a priorité de l'ordre de 2n , et on montre
qu'il s'agit d'un problème NP-complet
Ce problème SAT a aussi de nombreuses applications notamment en satisfaction de
contraintes, planication classique, model checking, diagnostic, cryptographie (fonction
de hachage) et jusqu'au congurateur d'un PC ou de son système d'exploitation : on se
ramène à des formules propositionnelles et on utilise un solveur SAT.
2 Méthode de résolution
2.1 Syntaxe et sémantique
solution au niveau de la sémantique ou de la syntaxe, table de vérité .
2.2 Raisonnement par équivalence
Principe et exemple
2.3 Formes normales
Littéral , forme normale conjonctive ., clause . On peut toujours mettre sous forme
normale conjonctive.
Année 2018 - 2019 Page 7/14Polytech Paris Sud - ET4 Informatique théorique
2.4 Résolution
Résolvante , preuve par résolution , réfutation . Preuve par résolution est saine, et com-
plète pour la réfutation.
C`ϕ =⇒ C |= ϕ
=⇒
=⇒
C ∪ C(¬ϕ) ` ⇐⇒ C ∪ C(¬ϕ) |= F.
2.5 Algorithme de Davis-Putnam
Présentation de l'algorithme.
Année 2018 - 2019 Page 8/14Polytech Paris Sud - ET4 Informatique théorique
Troisième partie
Calculabilité
Cette partie du cours s'inspire fortement du livre d'Olivier Carton [1].
1 Problèmes et codage
Problème de décision , instances , codage
2 Machines de Turing
2.1 Dénition
Le modèle de la machine de Turing , introduit en 1936 par Alan Turing, est une
abstraction d'un ordinateur. Une telle machine se compose d'une partie de contrôle et
d'une bande innie sur laquelle se trouvent écrits des symboles. La première partie est,
à l'instar des automates, constituée d'un nombre ni d'états possibles et de transitions
évoluant en fonction de la lecture. À la diérence d'un automate, la machine de Turing
peut également écrire sur la bande. Le contact entre la partie de contrôle et la bande se
fait au moyen d'une tête appelée tête de lecture (formellement de lecture et d'écriture,
mais on utilisera toujours cette simplication d'appellation).
Contrôle
a b B b a a A a b B b a a # ##
Figure 2.1 Modèle d'une machine de Turing.
La partie de contrôle de la machine de Turing est analogue au microprocesseur de
l'ordinateur. Le nombre de congurations est ni, à l'instar des microprocesseurs dont
la taille des registres est xe et le nombre déterminé. La bande représente la mémoire
de l'ordinateur (mémoire centrale et mémoires externes). La tête de lecture est le bus
qui relie le microprocesseur à la mémoire. Contrairement à un ordinateur la machine de
Turing a une mémoire innie. Autre diérence : un ordinateur peut accéder à la mémoire
de manière directe, tandis que la tête de lecture d'une machine de Turing ne se déplace
que d'une case à la fois.
Pour voir des modèles en lego (avec des explications), voici deux liens :
• https://www.youtube.com/watch?v=FTSAiF9AHN4
• https://videotheque.cnrs.fr/index.php?urlaction=doc&id_doc=3001
Année 2018 - 2019 Page 9/14Polytech Paris Sud - ET4 Informatique théorique
X, X, →
a, a, →
1
X, X, → a, #, → b, X, ←
#, #, → X, X, ←
start 0 3 a, a, ←
b, b, ←
#, #, → b, #, → a, X, ←
2
4
X, X, →
b, b, →
Figure 2.2 Un premier exemple de machine de Turing.
Machine de Turing , alphabet d'entrée , symbole blanc , alphabet de bande ,
Conguration , étape de calcul , calcul , mot et langage accepté , équivalence de machines
de Turing, blocage .
2.2 Variantes
Machine de Turing à bande bi-innie , machine de Turing à plusieurs bandes , , ma-
chine de Turing déterministe
3 Décidabilité
3.1 Langages récursivement énumérables
Langage récursivement énumérable , énumérateur
3.2 Langages décidables
Lors d'un calcul d'une machine de Turing il peut arriver trois choses : la machine
s'arrête dans un état acceptant, la machine se bloque dans un état non acceptant, ou
le calcul continue à l'inni. Cela correspond à l'incertitude de savoir si on arrête un
programme ou pas : va-t'il donner le résultat ou n'en donnera-t'il jamais ?
Langage décidable , problème de l'arrêt, problème de l'acceptation, machine univer-
selle.
Année 2018 - 2019 Page 10/14Polytech Paris Sud - ET4 Informatique théorique
NEXPTIME co-NEXPTIME
EXPTIME
NP co-NP
P
Figure 4.1 Inclusions des classes de complexité
4 Complexité
Lorsqu'il existe des algorithmes pour résoudre un problème, ceux-ci peuvent dans la
pratique être inutilisables car ils requièrent trop de temps ou trop de mémoire. C'est
la notion de complexité en temps ou en espace. On ne considère bien sûr ici que des
problèmes décidables, et on considère que toutes les machines de Turing considérées
s'arrêtent sur toutes leurs entrées. Cette section s'inspire du Chapitre 4 de [1].
4.1 dénition
Temps , espace , complexité en temps, complexité en espace
4.2 Classes de complexité en temps
Les constantes ne sont pas importantes, complexité et variantes sur les machines,
classes de complexité en temps.
4.3 Problème P = NP
Savoir si l'inclusion P ⊆ NP est stricte on non est un des problèmes majeurs de
l'informatique théorique et même des mathématiques. En 2000 l'insistut Clay pour les
mathématiques a oert un million de dollars pour la résolution de sept problèmes, dont
celui-ci.
Cycle eulérien et hamiltonien, classe NP, véricateur .
Année 2018 - 2019 Page 11/14Polytech Paris Sud - ET4 Informatique théorique
4.4 NP -complétude
Réduction polynomiale , NP-dicile , NP-complet . , exemple : SAT.
Références
[1] Olivier Carton. Langages formels - calculabilité et complexité. Editions Vuibert,
2018.
[2] Rachid Guerraoui. Décidabilité et indécidabilité : Problème de l'arrêt. url : https:
//www.youtube.com/watch?v=PsTcL7KlGBg.
[3] Delia Kesner. Le calcul propositionnel. url : https://www.irif.fr/~kesner/
enseignement/licence/math-info/Propositionnel.pdf.
[4] Harry R. Lewis et Christos H. Papadimitriou. Elements of the theory of compu-
tation.
[5] Dominique Pastre. Logique et principe de résolution. url : http://www.normalesup.
org/~pastre/logique.pdf.
Année 2018 - 2019 Page 12/14Index
Symbols F
ε-transition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 facteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
forme normale conjonctive . . . . . . . . . . . . . . . 7
A
formule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
alphabet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 équivalente . . . . . . . . . . . . . . . . . . . . . . . . . . 7
d'entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 contradictoire . . . . . . . . . . . . . . . . . . . . . . . 7
de bande . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 satisfaisable . . . . . . . . . . . . . . . . . . . . . . . . . 7
antilogie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 valide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Arden
lemme d' . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 I
automate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
équivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
accessible . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 satisfait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
asynchrone . . . . . . . . . . . . . . . . . . . . . . . . . . 4
co-accessible . . . . . . . . . . . . . . . . . . . . . . . . 4 K
complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Kleene
déterministe. . . . . . . . . . . . . . . . . . . . . . . . .4 étoile de . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 théorème de . . . . . . . . . . . . . . . . . . . . . . . . 5
L
B
blocage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 langage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
décidable . . . . . . . . . . . . . . . . . . . . . . . . . . 10
C récursivement énumérable . . . . . . . . . . 10
calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 rationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
chemin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 lettre
acceptant . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 propositionnelle . . . . . . . . . . . . . . . . . . . . . 6
clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 littéral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 logique propositionnelle . . . . . . . . . . . . . . . . . 6
concaténation . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 M
conséquence logique . . . . . . . . . . . . . . . . . . . . . 7 machine de Turing . . . . . . . . . . . . . . . . . . . . . 10
équivalente. . . . . . . . . . . . . . . . . . . . . . . . .10
E à plusieurs bandes . . . . . . . . . . . . . . . . . 10
énumérateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 bande bi-innie . . . . . . . . . . . . . . . . . . . . 10
espace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 déterministe . . . . . . . . . . . . . . . . . . . . . . . 10
étape de calcul . . . . . . . . . . . . . . . . . . . . . . . . . 10 Moore
état algorithme de . . . . . . . . . . . . . . . . . . . . . . . 5
accessible . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 mot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
co-accessible . . . . . . . . . . . . . . . . . . . . . . . . 4 Myhill-Nérode
étiquette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 théorème de . . . . . . . . . . . . . . . . . . . . . . . . . 5
étoile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
lemme de l' . . . . . . . . . . . . . . . . . . . . . . . . . 5 N
expression rationnelle. . . . . . . . . . . . . . . . . . . .4 Nérode
13Polytech Paris Sud - ET4 Informatique théorique
congruence de . . . . . . . . . . . . . . . . . . . . . . . 5
NP-complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
NP-dicile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
P
préxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
problème de décision . . . . . . . . . . . . . . . . . . . . 9
R
réduction polynomiale . . . . . . . . . . . . . . . . . . 12
réfutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
résiduel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
résolution
preuve par . . . . . . . . . . . . . . . . . . . . . . . . . . 8
résolvante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
S
suxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
symbole blanc . . . . . . . . . . . . . . . . . . . . . . . . . . 10
T
table de vérité . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
tautologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
V
véricateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
valuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Année 2018 - 2019 Page 14/14Vous pouvez aussi lire