Algorithmes efficaces : problèmes polynomiaux La classe NP. La complexité. Maria Malek. 28 novembre 2011

Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Calculabilité Cours 3 : Problèmes non-calculables.

Introduction à la théorie des graphes. Solutions des exercices

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Cours de Master Recherche

Optimisation Discrète

Année 2014/ er septembre Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143

Triangle de Pascal dans Z/pZ avec p premier

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Exercices - Polynômes : corrigé. Opérations sur les polynômes

ARBRES BINAIRES DE RECHERCHE

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Chapitre 7. Récurrences

Sujet 4: Programmation stochastique propriétés de fonction de recours

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Continuité d une fonction de plusieurs variables

Quelques tests de primalité

Développements limités. Notion de développement limité

Quelques algorithmes simples dont l analyse n est pas si simple

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Introduction à l étude des Corps Finis

Carl-Louis-Ferdinand von Lindemann ( )

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Définitions. Numéro à préciser. (Durée : )

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Resolution limit in community detection

I. Polynômes de Tchebychev

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

CH.6 Propriétés des langages non contextuels

Master of Science en mathématiques

Continuité et dérivabilité d une fonction

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

6. Les différents types de démonstrations

Chapitre 5 : Flot maximal dans un graphe

Optimisation for Cloud Computing and Big Data

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Programmation Linéaire - Cours 1

Polynômes à plusieurs variables. Résultant

Trouver un vecteur le plus court dans un réseau euclidien

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Jean-Philippe Préaux

Réalisabilité et extraction de programmes

Fondements de l informatique Logique, modèles, et calculs

Mesures gaussiennes et espaces de Fock

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Cours de Probabilités et de Statistique

Amphi 3: Espaces complets - Applications linéaires continues

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

Logique. Plan du chapitre

Limites finies en un point

Entraînement au concours ACM-ICPC

Géométrie des nombres et cryptanalyse de NTRU

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Cryptographie et fonctions à sens unique

Programme de la classe de première année MPSI

d algorithmique D. Beauquier, J. Berstel, Ph. Chrétienne

Extrait du poly de Stage de Grésillon 1, août 2010

Calcul intégral élémentaire en plusieurs variables


Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

Résolution de systèmes linéaires par des méthodes directes

Espérance conditionnelle

Les suites numériques

LE PROBLEME DU PLUS COURT CHEMIN

Cours 1 : La compilation

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Comparaison de fonctions Développements limités. Chapitre 10

Module d Electricité. 2 ème partie : Electrostatique. Fabrice Sincère (version 3.0.1)

Image d un intervalle par une fonction continue

REGLEMENT DE CONSULTATION

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Calculateur quantique: factorisation des entiers

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Initiation à la programmation en Python

Rappels sur les suites - Algorithme

Groupe Eyrolles, 2006, ISBN :

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Algorithmes de recherche d itinéraires en transport multimodal

Quelques Algorithmes simples

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Master of Science en mathématiques

La cryptographie du futur

Réseaux de preuves booléens sous-logarithmiques

Calcul quantique : algèbre et géométrie projective

L exclusion mutuelle distribuée

1 Recherche en table par balayage

Continuité en un point

Une introduction aux codes correcteurs quantiques

Transcription:

28 novembre 2011

Notions générales Les transformations polynomiales -complets

Notions générales en temps des algorithmes : le temps nécessaire à leurs exécutions dépend de : La machine utilisée (systèmes d exploitation, langage, compilateur). Les données auxquelles l algorithme est appliqué Le temps de calcul est influencé par la taille des données traitées. Exemple : Un algorithme de tri par sélection a une fonction de complexité de la forme cn 2, où n est le nombre d entiers à trier.

Les transformations polynomiales Algorithmes efficaces Algorithme efficace A partir de quelle complexité peut-on considérer qu un algorithme est efficace? O(n),O(n 2 ), O(n 3 ), Un algorithme polynomial de complexité O(n 100 ) n est pas efficace. Le plus souvent les algorithmes polynomiaux connus correspondent à un degré inférieur à 5. Définition I : Soit M une machine de Turing déterministe qui s arrête toujours. en temps de est la fonction : T M (n) = max{m x Σ, x = n et l exécution de M sur x comporte m étapes} Cette fonction donne le nombre d étapes maximum pour décider un mot de longueur n.

Les transformations polynomiales Définition II : Une machine de Turing est polynomiale (en temps) s il existe un polynôme p(n) telque la fonction de complexité satisfait : pour tout n >= 0 T M (n) <= p(n) Définition III : est la classe des langages décidés par une machine de Turing polynomiale. Classe des algorithmes efficace. Définition IV : Une fonction est calculable en temps polynomial s il existe une machine de Turing polynomiale qui la calcule.

Les transformations polynomiales Les transformations polynomiales - 1 Définition V : Soit un langage L 1 Σ 1 et un langage L 2 Σ 2. Une transformation polynomiale de L 1 vers L 2 (on note L 1 L 2 ) est une fonction f : Σ Σ qui satisfait : 1. elle est calculable en temps polynomial. 2. f (x) L 2 ssi x L 1. Soient les deux exemples : 1. Problème de voyageur de commerce (VC) : dans un graphe G=(V,E), V est un ensemble de n villes et d(v i, v j ) est la distance pour aller de v i à v j, déterminer s il existe un parcours fermé inférieur à b : il s agit de trouver une permutation v p1, v p2,.., v pn telle que d(v pi, v pi ) + d(v pn, v p1 ) <= b 1<=i<n 2. Problème de circuit hamiltonien (CH) : dans un graphe G=(X,E), déterminer s il existe un parcours fermé du graphe contenant chaque sommet une et une seule fois. On cherche une permutation x p1, x p2,.., x pn telle que :(x pi, x pi+1 ) E

Les transformations polynomiales Les transformations polynomiales - 2 Il existe une transformation polynomiale du problème du (CH) vers le problème de (VC). 1. S=V 2. d(v i, v j ) = { 1 si (vi, v j ) E 2 si (v i, v j ) E 3. La constante b est égale au nombre de villes, c est à dire b = V Il faut aussi démontrer que cette transformation préserve le caractère positif des instances.

Les transformations polynomiales Lemme 1 : Si L 1 L 2 alors : Si L2 P alors L 1 P. Si L 1 P alors L 2 P. Lemme 2 : Les transformations polynomiales sont transitives : Si L 1 L 2 et L 2 L 3 alors L 1 L 3. Définition VI : Deux langages L 1 et L 2 sont polynomialement équivalents (on note L 1 L 2 ) ssi L 1 L 2 et L 2 L 1.

- exemple!! -complets Le problème de circuit hamiltonien (CH) est un problème NP : Enumérer toutes le permutations possibles (coûte cher) :énumérer toutes les instances d un problème. Vérifier pour une permutation donnée si elle correspond à un circuit hamiltonien (ne côte pas cher) : vérifier si une instance est positive ou non. Pour vérifier qu une permutation donnée est un circuit hamiltonien ou non : On peut construire une machine de Turing it non déterministe qui accepte une instance de CH ssi il existe une permutation définissant un circuit hamiltonien pour l instance en question.

- Théorie!! -complets Définition VII : Le temps de calcul d une machine de Turing non déterministe sur un mot w est donné par : la longueur de la plus courte exécution si le mot est accepté. la valeur 1 (par convention) si le mot n est pas accepté. Définition VIII : Soit M une machine de Turing non déterministe qui s arrête toujours. en temps de est la fonction : T M (n) = max{m x Σ, x = n et l exécution de M sur x comporte m étapes} Définition IX : (non déterministe polynomial) est la classe des langages acceptés par une machine de Turing non déterministe polynomiale.

-complets Le problème CH appartient à la classe NP. L algorithme non déterministe résolvant ce problème est le suivant : 1. L algorithme génère d un façon non déterministe une permutation ; 2. L algorithme vérifie que la permutation générée correspond à un circuit hamiltonien. C est un algorithme non déterministe qui ne teste pas d une façon exhaustive toute les permutations. Il a donc une complexité polynomiale. Théorème I : Soit L un langage NP. Il existe une machine de Turing M déterministe et un polynôme p(n) tel que M décide L et est de complexité bornée par 2 p(n). Tout langage appartenant à NP peut être décidé en temps exponentiel.

-complets Définition X : Une classe d équivalence polynomiale C 1 est inférieure à une classe d équivalence C 2 ( C 1 <= C 2 ) s il existe une transformation polynomiale de tout langage C 1 vers un langage C 2. Lemme 3 : contient la classe P (P NP). Lemme 4 : est une classe d équivalence polynomiale. Lemme 5 : Pour tout L 1 P et pour tout L 2 NP on L 1 L 2. Par conséquence : Pour toute classe d équivalence C NP, nous avons P <= C.

Les problèmes NP-complets -complets Définition XI : un langage L est NP-complet si 1. L NP. 2. Pour tout langage L NP, L L. Théorème II : S il existe un langage NP-complet L décidé par un algorithme polynomial alors tous les langages de NP sont décidables en temps polynomial, c est à dire P=NP. Premier langage NP-complet est celui de la satisfiabilité d une forme normale conjonctive (SAT) : Existe-t-il et une interprétation qui la rend vraie? Théorème de Cook : Le problème SAT est NP-complet.