Logique et fondements de l’informatique Université Paris II Michel de Rougemont mdr@lri.fr http://www.lri.fr/~mdr Logique et fondements de l’informatique Sens et dénotation Complexité Applications à la sécurité Alger : 28 mars 2001
Qu’est ce que la logique? Définir le sens d’expressions syntaxiques Raisonnement, preuve, calcul Les applications de la logique: Mathématique, Linguistique, Philosophie Depuis 1950 : Informatique Depuis 2000 : Sécurité informatique Alger : 28 mars 2001
1. Sens et dénotation Aristote (-300 BC) : Tous les hommes sont mortels. Socrate est un homme. Donc Socrate est mortel. Al-Khovarezmi (700) :qu’est ce qu’une fonction calculable? Frege (1870) : L’étoile du matin est l’étoile du soir. Tarski (1930) : Dénotation d’une expression mathématique Alger : 28 mars 2001
Raisonnement et calcul Aristote (-300 BC) : Raisonnement? Al-Khovarezmi (700) : Calcul? Frege (1870) : Raisonnement? Tarski (1930) : Définition? Turing (1930) : Calcul? Gödel (1930) : Limites du raisonnement mathématique? Alger : 28 mars 2001
Langage des mathématiques A la suite de Tarski, Turing, Gödel Thèse de Church (1936) : calculable = récursif = Turing-calculable Conclusion : certaines formules ne sont pas démontrables. D’autres le sont pour différentes notions de preuves. Alger : 28 mars 2001
Calcul et machine de Turing Ordinateur = Machine de Turing Fonction primalité : Primalité(56787661515515167171)=0 mais la preuve est longue!! (Exponentielle dans la longueur de l’entrée :20) 1972 : Cook et Karp formulent la notion de NP-complétude Alger : 28 mars 2001
Sens en informatique Un programme décrit un algorithme Quel est le sens d’un programme? Dim LaFeuille ; Set LaFeuille = Document.ValidForm Do While i <= n { If (T(i)=1) Then total =total +1 End if; i=i+1;Loop;} Dénotation classique Complexité de calcul, Robustesse aux erreurs Alger : 28 mars 2001
Nouvelles interprétations Besoin de logiciels efficaces et surs Complexité de calcul, Robustesse aux erreurs Sécurité informatique Qu’estce qu’un logiciel sur? Vérification de logiciels Alger : 28 mars 2001
2. Calcul : complexité et hasard Calcul en temps polynomial (classe P, 1972) Calcul en temps polynomial avec le hasard (classe BPP, 1980) Primalité est BPP Factorisation n’est pas BPP Alger : 28 mars 2001
Fondements de la sécurité Ce qui est interdit est difficile Fonctions difficiles à calculer Factorisation Isomorphisme de graphes O-connaissance Sécurité « prouvée » mathématiquement Alger : 28 mars 2001
Hasard et algorithme Mikado 1 paquet 2 paquets Alger : 28 mars 2001
Marche aléatoire : espace log n sur un graphe symétrique à n sommets d a e e d b b 00 vers c 01 vers d vers e 11 vers b Au départ du sommet a, 2 tirages Alger : 28 mars 2001
Modèles du hasard Calcul en temps polynomial avec le hasard (classe BPP, 1980) : Machine de Turing probabiliste Primalité est facile Factorisation est difficile Machine quantique Factorisation est facile (Shor, 1996) Modèles biologiques (Adleman 1995) Alger : 28 mars 2001
Isomorphisme de graphes 5 4 4 3 3 5 1 2 1 2 1 2 3 4 5 1 3 2 4 5 Preuve de l’isomorphisme: 13245 Permutation : Alger : 28 mars 2001
Non-Isomorphisme de graphes 5 4 4 3 3 5 1 2 1 2 Aucune Permutation ne maintient un isomorphisme: 1 2 3 4 5 1 3 2 4 5 ne maintient pas (1,4) Preuve du non-isomorphisme: Enumérer n! Permutations (120) Alger : 28 mars 2001
Protocole : non-Isomorphisme de graphes B Bob veut se convaincre qu’Alice sait si G1 et G2 ne sont pas isomorphes avec une preuve courte. G1 et G2 connus de A et B, n=1000 Alger : 28 mars 2001
Protocole : non-Isomorphisme de graphes j=1 h(Gi)=H A B B tire au sort i=1 ou 2 et choisit Gi (ex: G1) B tire au sort une permutation h : (ex: 24153) B calcule h(Gi)=H et l’envoie à A B demande i à Alice Alice envoie j à Bob : Si (i=j) , G1 non iso à G2 Si i = j , G1 iso à G2 k Alger : 28 mars 2001
Preuve Interactive Bob pose des questions à Alice (qui peut mentir) Bob utilise le hasard. Après un temps court (polynomial), Bob Accepte ou rejette. Alger : 28 mars 2001
O-connaissance de l’isomorphisme h’(G1)=H A B i=1 Preuve classique : A transmet h (ex: 13245) Preuve interactive : Alice génère h’ aléatoire, Calcule h’(G1)=H, transmis à Bob: tire i au sort Alice envoie h’’, l’iso. entre H et Gi k Alger : 28 mars 2001
O-connaissance Alice ne compromet pas son secret (h) B Alice ne compromet pas son secret (h) Alice envoie h’’ mais on ne peut pas déduire facilement h à partir de h’’. Alger : 28 mars 2001
O-connaissance d’un secret ? B Secret Bob demande : 6542 B1+B3 > 7 B2-B4 <3 3B1-2B2>9 OUI NON Alice répond : Alger : 28 mars 2001
Applications : sécurité de l’utilisateur B Alice peut donner des informations qui ne peuvent pas être utilisées à son insu. Bob interagit avec une personne qui peut mentir. Alger : 28 mars 2001
Utilisateur rationnel ? B Bob peut-il conclure sur : l’honnêteté d’Alice la rationalité d’Alice ? Alger : 28 mars 2001
Enchères combinatoires Ai sont en compétition pour des sous-ensembles de N objets. Ai a-t-il intérêt à bluffer ? Alger : 28 mars 2001
Modèles statistiques Economie Macroéconomie vs. Microéconomie Physique statistique Chaleur, climat, … Alger : 28 mars 2001
Conclusion Sens et dénotation en Informatique Calcul et hasard Applications du hasard en logique : preuves interactives Applications à la sécurité : O-connaissance Protection de l’utilisateur Alger : 28 mars 2001
Logique et Informatique Diplôme Uni. de CommerceElectronique (Université Paris II) http://dup2.free.fr DEA Paris VII : Fondements logiques de l’informatique http://logique.jussieu.fr Alger : 28 mars 2001