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 ! 1
Polytech 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/14
Polytech 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/14
Polytech 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/14
Polytech 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/14
Polytech 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/14
Polytech 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/14
Polytech 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/14
Polytech 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/14
Polytech 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/14
Polytech 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/14
Polytech 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/14
Index 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 13
Polytech 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/14
Vous pouvez aussi lire