7.1 - Non déterminisme.

Dimension: px
Commencer à balayer dès la page:

Download "7.1 - Non déterminisme."

Transcription

1 44 Complexité Algorithmique B. Mariou Automne 2016 version du 1 er décembre LA CLASSE NP Parmi les problèmes non (encore) classés (voir paragraphe 1.6 et point 3.14) ), certains partagent des caractéristiques communes : si on ne connaît aucun algorithme efficace pour les résoudre, il semble qu à chaque fois, la (trop) grande quantité de travail vient du grand nombre de possibilités à examiner, chacune des possibiltés étant plutôt simple à traiter. On a donc imaginé des machines capables de traiter en parallèle de très nombreux cas. Cela revient, on va le voir, à renoncer à un des trois aspects de la caractéritisation par Turing de la notion d algorithme : le déterminisme. Les machines non déterministes sont matériellement irréalisables (à l heure actuelle? voir point 7.9), mais leur définition permet des avancées théoriques notables Non déterminisme. Plusieurs définitions équivalentes. 7.1 Définition informelle 1 : divination. La nouvelle instruction deviner, dans un algorithme, consiste à pouvoir faire un choix (entre un nombre fini et borné de possibilités voir point 7.11), et faire un choix pertinent s il en existe un i.e. un choix qui conduit à une solution lorsqu il en existe une. Un algorithme comportant des étapes de divination est appelé non déterministe. 7.2 Exemple. Algorithme avec divination pour le problème de recouvrement d un graphe par des sommets. (Voir l exercice 49 p40.) ENS COUVRANT Entrées : k n entiers et G graphe d ordre n Question : Existe-t-il un ensemble S de k sommets qui soit couvrant i.e. tel que toute arête a une extrémité dans S? Exemples G Pour k=2 couvrants {1; 4}, {2; 3}, {2; 4} non {1; 2}, {1; 3}, {3; 4} G couvrant (k = 3) {1; 3; 5} Et pour k = 2? Essayer toutes les paires (C 2 5 )? (trop grande complexité) Algorithme avec divination Pour i = 1 à k Deviner le sommet s i (qui permettra de compléter {s 1,..., s i } en S couvrant, si un tel S existe). Si {s 1,..., s k } ainsi obtenu est couvrant, écrire oui et fin Sinon, écrire non et fin Pour G 2 et k = 3, la réponse est oui, un sous-ensemble couvrant de trois sommets existe. Et donc l exécution de l algorithme produira trois choix successifs de sommets qui ne conduisent jamais à une impasse. Par exemple, le choix de s 1 = 1 est possible car on pourra ensuite compléter en un ensemble couvrant de trois sommets (par ex. {1; 3; 5}). Mais une fois s 1 = 1 choisi, le choix de s 2 = 4 sera exclu car, avec ces deux sommets, on ne peut pas choisir un troisième sommet et obtenir un ensemble couvrant. Si s 1 = 1 et s 2 = 2 ont été choisis, le seul choix pertinent pour s 3 est le sommet 5. En revanche, pour G 2 et k = 2, aucune paire de sommets ne constitue un ensemble couvrant. Lors de l exécution de l algorithme, les choix se porteront sur n importe quelle paire. Le test final, produira la réponse non. 7.3 Définition informelle 2 : clonage/calculs parallèles. Une machine effectue des calculs parallèles si, lorsqu elle a des situations multiples à explorer, elle est capable de se dupliquer en plusieur clones (en nombre fini et borné voir point 7.11) ; chacun de ces clones examinant alors une de ces situations, et tous les clones travaillant en même temps. Autrement dit la machine se dédouble et mène tous les calculs simultanément.

2 La classe NP version du 1 er décembre Exemple. Algorithme avec calculs parallèles pour le problème du recouvrement d un graphe par des sommets. Machines avec calculs parallèles Pour i = 1 à k Considérer une arête pas encore couverte par les sommets qui ont déjà été choisis et choisir un des sommets de cette arête. Tester si l ensemble de sommets obtenu est couvrant. Exemple d exécution pour l entier k = 2 et le graphe G 3 : arêtes pas couvertes (1, 2) (2; 3) ; (2, 4) ; (3, 4). sommets au choix 1 ; 2 ; 3 ; 4 i = 1 / \ sommet choisi exploré par le clone n o 1 n o 2 n o 3 n o 4 arêtes pas couvertes (2, 3); (2, 4); (3, 4) (3, 4) (1, 2); (2; 4) (1, 2); (2, 3) sommets au choix 2 ; 3 ; 4 3 ; 4 1 ; 2 ; 4 1 ; 2 ; 3 i = 2 / \ / \ / \ / \ sommet choisi exploré par le clone n o 1.1 n o 1.2 n o 1.3 n o 2.1 n o 2.2 n o 3.1 n o 3.2 n o 3.3 n o 4.1 n o 4.2 n o 4.3 ensemble obtenu {1; 2} {1; 3} {1; 4} {2; 3} {2; 4} {1; 3} {2; 3} {3; 4} {1; 4} {2; 4} {3; 4} couvrant? N N N O O N O N N O N La machine répond positivement ssi, au moins sur une des branches, le test obtient la réponse oui, i.e. au moins un des ensembles testés est couvrant. 7.5 Le non déterminisme se caractérise donc par : - la présence de choix dans le processus (divination), - le fait que le calcul n a pas un déroulement unique, linéaire, prévisible (calculs parallèles). 7.6 Théorème. Les deux notions sont équivalentes : 1 avoir le pouvoir (ou l instruction) de divination ; 2 analyser différents cas possibles en parallèle et s arrêter dès que l un d entre eux a été constaté comme étant favorable. Idée de la démonstration. Dans la version 2, on a considéré que la machine se duplique à chaque fois qu elle est face à un choix, et que chacune de ses copies va emprunter un chemin différent (et éventuellement se dupliquer à son tour), que tous ces clones vont travailler en parallèle, et que tout va s arrêter dès que l un d entre d eux aura obtenu une réponse positive. Cela revient à considérer que seul le calcul favorable a été mené par la machine, autrement dit que la machine fait toujours le bon choix (s il y en a un) lorsqu elle est face à une bifurcation (version 1). 7.7 Remarques. Dans le cas d un algorithme déterministe, les instances positives et négatives du problème sont traitées de façon analogue. Ce n est plus le cas ici : une instance est positive s il y a au moins un chemin (i.e. une suite de choix) favorable mais une instance est négative si tous les chemins sont défavorables. Ceci introduit une dissymétrie entre les deux situations. Le non déterminisme permet de tester plusieurs cas simultanément. C est exactement ce qu on voudrait pouvoir faire lorsqu on s interroge sur l existence d un objet, ou d une situation, précis et qu on a de nombreux candidats à examiner. Exemple. Problèmes COMP et PREM n est composé si 2 k n k divise n n est premier si 2 k n k ne divise pas n Il y a un algorithme non déterministe naturel pour résoudre la question n est-il composé?. Il consiste à étudier, en parallèle, la divisibilité de n par tous les candidats possibles. Pour n est-il premier?, c est beaucoup moins naturel. De quoi faut-il tester l existence pour s assurer de la réponse oui? (Voir exercice 65) 7.8 Définition formelle : les machines de Turing non déterministes. Une MdT non déterministe est définie non pas par une fonction de transition mais par une relation de transition, avec des choix multiples : à chaque couple (état, symbole lu) peuvent être

3 46 Complexité Algorithmique B. Mariou Automne 2016 version du 1 er décembre 2016 associées plusieurs transitions possibles (mais leur nombre est fini et borné voir point 7.11). Pour une entrée donnée, les calculs menés par la MdT constituent un arbre de possibilités (chaque branche finie est un chemin possible vers l état final, mais il peut y avoir des branches infinies i.e. des suites de transitions autorisées qui n aboutissent jamais à l état final). Dans le cas où la MdT est censée résoudre un problème de décision, on considère que la réponse est 1 (oui), si une des branches finies conduit au résultat Fonctionnement d une MdT non déterministe vue comme une vraie machine. Une machine de Turing non déterministe possède un arbre de calculs possibles. Si on veut garder l image d une machine réelle, qui conduit ses calculs pas à pas, on peut considérer que la machine se duplique à chaque fois qu elle a un choix à faire. Ainsi, elle examine toutes les possibilités, simultanément, grâce à des calculs parallèles. Elle s arrête lorsqu un des calculs aboutit à une réponse positive, et, dans ce cas, la réponse globale est oui. La réponse globale est non lorsque tous les calculs qui ne bouclent pas / qui devaient se terminer, ont abouti à une réponse négative. Les MdT non déterministes sont donc réalisations, définies avec rigueur et précision, de la notion informelle et un peu vague de machines qui effectuent des calculs parallèles. Elles restent des machines abstraites, avec les propriétés théoriques/idéales habituelles (comme la mémoire illimitée, permettant de traiter des données arbitrairement grandes). La condition d arrêt et de réponse non est également difficile à mettre en œuvre concrétement (comment savoir à un instant donné, si tous les calculs non terminés sont des calculs qui ne se termineront pas?). C est l idée d un arbre des calculs possibles qui permet d obtenir une illustration de ce que peuvent être des calculs effectués en parallèles. Et les calculs possibles forment une arborescence (par opposition à l unique calcul possible dans le cas déterministe) grâce à la relation de transition qui propose des transitions multiples. Notons enfin que l arbre des différents calculs possibles dépend des données fournies à la MdT à l entrée. Exemple. On peut imaginer une MdT non déterministe qui se contente de se déplacer vers la droite tant qu elle lit des 1 mais qui a des transitions multiples dans certains cas où elle lit 0. Si les données soumises ne comportent que des 1, l arbre des calculs est réduit à un unique calcul (arbre à une seule branche) qui est donc déterminé Exemple. Reconnaître les mots avec un 1 en avant dernière position. L alphabet utilisé est {0; 1}. La machine a 5 états, dont deux états finaux accpetant/rejetant : e i, e 0, e 1, e + f, e f. La table des transitions possibles est la suivante : état symbole lu d 0 1 e i d, D, e i 0, D, e i { 1, D, ei 1, D, e 0, X, e f e 0 0, D, e 1 1, D, e 1, X, e f e 1 0, X, e f 1, X, e f, X, e + f Quand la machine est à l état initial et lit le symbole 1, elle peut effectuer deux transitions. Cette table n est donc pas celle d une "fonction de transtion, mais d une relation de transition. schema : relation de transition sous forme de graphe Déroulement des calculs pour les entrées 110 et 101. La tête de lecture de cette MdT parcourt le ruban vers la droite. À chaque fois qu elle lit le symbole 1, elle entreprend de vérifier si ce symbole est l avant dernier du mot. Pour cela, elle passe à l état e 0. Mais un clone de la machine, lui, reste à l état e i pour être en mesure de repérer les occurrences suivantes du symbole 1. Une remarque importante est que, même dans le cas d une transition multiple (bifurcation), le nombre de transitions possibles est limité par les caractérisitiques de la machine (nombre d états, nombre de symboles de l alphabet) Limitation du nombre de choix / de clones / de transitions.

4 La classe NP version du 1 er décembre Quelle que soit la définition considérée, le nombre de choix (définition 1), de clones (définition 2) ou de transitions simultanées (MdT), est limité par une borne, fixée une fois pour toutes (voir dernière remarque du point précédent). Cela n entrave pas le pouvoir de choix de ces machines car, même avec des possibilités de choix seulement binaire, on peut construire progressivement de multiples objets. Par exemple, avec une MdT d alphabet binaire, si le choix concerne tous les nombres de 1 à k, où k s écrit en base 2 avec n chiffres. Le premier choix concerne le 1er chiffre : un clone de la MdT écrit 0, l autre écrit 1. Chacun de ces deux clones doit ensuite choisir entre 0 et 1, et se duplique donc en deux clones qui écrivent, respectivement, 0 ou 1, à la suite du chiffre déjà écrit. On a alors 4 clones qui ont sur leur ruban, respectivement, 00, ou 01, ou 10 ou 11. Les 4 clones se duplique face au choix du 3 e chiffre. On obtient ainsi 8 clones portant chacun, sur son ruban, une des 8 combinaisons de 0 et de 1 de longueur 3. Puis vient le choix du 4 e chiffre qui conduit à 16 clones, puis du 5 e chiffre, etc. Le processus s arrête après l écriture de n chiffres. On a alors 2 n clones, qui portent sur leurs rubans, toutes les combinaisons possibles de n chiffres choisis dans {0; 1}. Et l intérêt du clonage, même binaire, est qu on a abouti à tous ces clones, en n étapes de calcul. De façon générale, même avec des choix binaires, on parvient à choisir dans une liste d une nombre quelconque d éléments : (x) (x.1) partager la liste en deux (x.2) choisir une moitié (x.3) si cette moitié est réduite à un élément, passer à (x+1) sinon revenir à (x) avec la nouvelle liste Exemples. Tester si un nombre est composé. Un nombre entier a est à examiner. Grâce au processus décrit ci-dessus, le premier travail de la machine consiste à choisir un nombre entre 2 et n en se mutipliant en un nombre d exemplaires suffisant pour que tout entier de 2 à a soit écrit sur le ruban d une des copies. Cette première phase peut se décomposer en n choix binaires successifs, où n est tel que 2 n a i.e. n 1 2 log 2 a. La seconde phase consiste, pour chaque copie à tester la divisibilité de a par le nombre b qu elle a choisi i.e. qui se trouve sur son ruban Temps de calcul Définition. Algorithme non déterministe, résolution de problème. On appellera par la suite non déterministe un algorithme qui peut effectuer des calculs parallèles ou qui a l instruction de divination. Un tel algorithme, N résout un problème de décision D = (I, I + ) si, pour toute instance i I, l algorithme fournit la réponse adéquate pour i, i.e. lorsque i I +, un des calculs de N, aboutit à la réponse oui, et lorsque i / I +, tous les calculs de N qui se terminent donnent la réponse non Définition. Complexité d un algorithme non déterministe. On retrouve la dissymétrie entre positif et négatif : pour chaque instance positive i du problème, t(i) est le temps de calcul du chemin le plus rapide conduisant à la réponse oui pour i, et la complexité de l algorithme est la fonction n max{t(i) i instance positive de taille n} Exemple. Temps de calcul et complexité de la machine de l exemple?? Proposition. Une MdT non déterministe, avec une fonction de complexité c peut toujours être simulée par une MdT déterministe dont la fonction de complexité est majorée par P (c(n))d c(n) (où P est un polynôme, d une constante positive). Idée de la démonstration. La MdT déterministe traite tous les cas, les uns après les autres, plutôt que simultanément et en parallèle.

5 48 Complexité Algorithmique B. Mariou Automne 2016 version du 1 er décembre 2016 Par exemple, si la MdT non déterministe a une complexité linéaire, i.e. c(n) = O(n), elle peut être simulée par une MdT déterministe de complexité O(P (n)d n ) Corollaires. Le saut de complexité déterminisme/non déterminisme ne dépasse donc pas l exponentielle. Pour la calculabilité, le non déterminisme ne modifie absolument rien : tout ce qui est calculable de façon non déterministe l est aussi de façon déterministe Définitions. Temps polynomial non déterministe. Un algorithme non déterministe est polynomial, ou s exécute en temps polynomial (en la taille des données), si sa fonction de complexité est bornée par un polynôme. Un problème est résoluble en temps non déterministe polynomial s il existe un algorithme non déterministe polynomial qui le résout. Ces problèmes constituent la classe qu on nomme N P, la classe des problèmes résolubles en temps non déterministe polynomial. La classe NP peut également être définie à l aide des machines de Turing. Pour k IN, NT IME(n k ) est la classe des problèmes résolubles par une MdT non déterministe dont la fonction de complexité est O(n k ). N pour Non déterministe Et NP = NT IME(n k ). c est une réunion croissante k IN 7.19 Proposition. (Robustesse) Un problème D est résoluble en temps polynomial par une MdT non déterministe (i.e. D est dans un des NT IME(n k )) ssi il est résoluble par un algorithme (au sens large) non déterministe polynomial. Autrement dit, s il existe un algorithme non déterministe polynomial qui résout le problème, alors il existe aussi une MdT non déterministe de complexité polynomiale Théorème. P NP Démonstration. Les MdT déterministes sont des cas particuliers de MdT non déterministes : une fonction de transition est notamment une relation de transition. Simplement, l arbre des calculs possibles pour une MdT déterministe se réduit toujours à une unique branche (quelle que soit l instance placée sur le ruban au départ). Cependant la fonction de complexité n est pas évaluée tout à fait de la même façon dans les deux cas, car seules sont prises en compte les instances positives dans le cas non déterministe. Considérons une MdT déterministe M, résolvant un problème de décision D = (I, I + ), avec une complexité (déterministe) O(n k ). Cela signifie que, pour toute instance i de D (positive ou négative), M fournit la réponse en un nombre de transitions qui est de l ordre de taille(i) k. Si on regarde M comme une machine non déterministe : pour i I +, l unique branche de calculs possibles pour l entrée i (qui conduit à une réponse positive) est explorée par M en un temps qui est donc O(taille(i) k ). En conclusion DT IME(n k ) NT IME(n k ) Remarque. Après ce résultat, la question est de savoir si cette inclusion est stricte (P NP ) ou s il y a égalité (P = NP ). C est une question toujours ouverte, et extrêment ardue. Par exemple, lorsqu on a évoqué le classement problèmes faciles/problèmes difficiles, page 25, on a cité des problèmes pas encore classés, i.e. des problèmes dont on ignore s ils sont dans P. Tous ces problèmes sont dans N P et on peut le constater très facilement, notamment grâce au critère qui va être étudié maintenant Définition de N P via la certification Définition. Un problème de décision est résoluble par certificats (ou par certificats succints) s il existe : pour chaque instance positive i, un certificat C(i) ; un algorithme déterministe A qui sait reconnaître une instance positive i, à l aide du certificat C(i), en temps polynomial en la taille de i.

6 La classe NP version du 1 er décembre Remarques. L algorithme A est à deux entrées et donc, si i est une instance négative, on lui soumet tout de même un couple (i, C). Et donc A n est pas capable de décider si i est positive ou négative sans l aide du certificat C(i). En aucun cas A ne constitue une résolution déterministe polynomiale du problème. Mais c est seulement la taille de i qui est utilisée pour étalonner le temps de calcul de A. Ceci entraîne que la taille des certificats est bornée polynomialement par celle des instances (positives) : il y a un polynôme p tel que, pour tout i I +, taille(c(i)) p(taille(i)). Sinon A ne pourrait pas manipuler les C(i) en temps polynomial en la taille de i Exemple pour le problème COMP. Soit i une instance positive, i.e. un nombre entier naturel composé. Le certificat C(i) peut alors être un diviseur non trivial de i. L algorithme A consiste à vérifier que C(i) 1, C(i) i et C(i) divise i. Ce qui peut être réalisé en temps polynomial en la taille des i Remarque. Le certificat C(i) assure, atteste (certifie!) que la réponse est oui lorsque... la réponse est oui. Le rôle de A est de le vérifier en temps polynomial. Et le rôle du certificat est donc de permettre une vérification rapide en cas de réponse positive Exemples. Pour le problème ENS COUVRANT. Instance i = (n, G, k). Si elle est positive, C(i) = un ensemble couvrant constitué de k sommets. Algorithme A : vérifier que C(i) est de cardinal k et qu il couvre G. Pour le problème PREM. Une instance positive i est un nombre premier. Un certificat C(i) devrait être un objet grâce auquel on pourra vérifier rapidement que i est premier. Donc un objet dont l existence permettrait d affirmer que i est premier. Que doit être C(i)? Avant de savoir que ce problème est résoluble en temps polynomial (déterministe), on savait qu il est résoluble par certificats succints. Ainsi, les certificats pour ce problème existent. Mais ne sont pas évidents à trouver (voir exercice 65) Remarques. Les problèmes qui sont posés en termes d existence d un objet, ou d une situation, sont, encore une fois, ceux pour lesquels la résolution par certificat est adaptée. Puisque le certificat exhibe un objet particulier, qui peut être l objet cherché ou simplement un témoin d une situation particulière. On dit aussi qu un problème résoluble par certificats succints est un problème pour lequel les solutions sont faciles à vérifier : il n est peut-être pas facile de les trouver (notamment à cause de la multitude des possiblités à étudier) mais si on nous en propose une, il est facile de vérifier qu elle est solution. Puisque la vérification, une fois fourni un certificat, est en temps polynomial en la taille de l instance Théorème. nouvelle caractérisation de NP Un problème de décision D est résoluble par certificats succints si et seulement si D NP. Idée de la démonstration. L idée centrale est que le certificat est un guide des meilleurs choix à faire durant le calcul mené par une MdT non déterministe. ( ) Si D NP. On a M MdT non déterministe qui résout D en temps polynomial. À chaque instance positive i de D, on associe C(i), la liste des choix qui conduisent sur une branche acceptante de longueur minimum. Puisque M résout D en temps polynomial, C(i) est de taille polynomiale en la taille de i. De plus, on peut construire, à partir de M, une MdT déterministe qui, à partir de l entrée i, C(i) vérifie que i est une instance positive de D, et ce en temps polynomial en la taille de i. (Cette nouvelle machine se comporte comme M mais lorsque des possibilités multiples de transition se présentent, elle ne suit que celle que lui indique le certificat C(i)).

7 50 Complexité Algorithmique B. Mariou Automne 2016 version du 1 er décembre 2016 ( ) Si D est résoluble par certificats succints, on a (C(i)) i I + des certificats et A un algorithme tels que A vérifie en temps polynomial que i I + avec l aide de C(i). En particulier, la taille des C(i) est polynomiale en la taille des i. La MdT non déterministe résolvant D en temps polynomial que nous cherchons se comporte de la façon suivante. Pour chaque instance i, la machine explore, par choix non déterministes (i.e. exhaustifs et étudiés en parallèle), l univers des certificats i.e. l ensemble des objets de même type que les C(i). Sur chacune des branches, elle applique l algorithme A. Si l instance soumise est positive, alors une, au moins, des branches explorées, celle qui correspond au certificat C(i), fournira une réponse positive en un temps polynomial en la taille de i d après les propriétés de A Exemple. Le problème SAT. Une instance est une formule F, sous forme normale conjonctive. Et on cherche à savoir si F peut être rendue vraie par une affectation de valeurs de vérité sur les variables de F. Un certificat c(f ) pourrait être une telle affectation. En effet, si F est en n variables, n est alors une longueur intuitive de F et l affectation des variables peut être décrite par une liste de n booléens, autrement dit taille(c(f )) = n. Enfin, vérifier que cette affectation satisfait F peut être réalisé en lisant une fois la formule (car elle est sous forme normale conjonctive). Voyons la correspondance entre ce type de certificats et une MdT non déterministe résolvant SAT. Considérons une MdT non déterministe qui étudie, pour chaque variable a, les deux cas v(a) = 1 et v(a) = 0. Elle résout SAT en temps polynomial : elle étudie, en parallèle les 2 n branches d un arbre binaire de profondeur n, ce sont les 2 n affectations possibles des valeurs de vérité aux variables i.e. les 2 n lignes de la table de vérité. La profondeur de l arbre correspond justement aux nombre d étapes nécessaires, donc n. À la fin, s il y a une branche acceptante, c est précisément une affectation des variables satisfaisant F, autrement dit un certificat c(f ). Réciproquement, si on a des certificats de ce type (suite de n booléens) et un algorithme A qui procède en lisant le certificat comme la liste des valeurs prises par les variables et qui vérifie que cela conduit à la valeur vraie pour F ; on peut construire une MdT non déterministe résolvant SAT en temps polynomial. Il suffit de s inspirer de la méthode indiquée dans la démonstration du théorème : la MdT se dédouble, variable après variable, pour étudier en parallèle les valeurs 0 et 1 pour cette variable. Et cette étude consiste simplement à appliquer sur chacune des branches possibles l algorithme A, en l occurrence il s agit de tester, sur chaque branche, si les valeurs choisies permettent de satisfaire F Remarques. D NP : D décidable en temps polynomial (par une MdT) non déterministe. D résoluble par certificats succints : D a des solutions vérifiables en temps polynomial (déterministe). Pour montrer qu un problème est NP, il est, en général, plus aisé d utiliser les certificats que construire une MdT, ou un algorithme, non déterministe. Les problèmes N P présentent, en général, deux niveaux différents de difficulté : - il peut y avoir beaucoup de cas à étudier, (par exemple2 n pour une entrée de taille n) - chacun des cas se résout facilement (polynomialement en la taille des entrées) Exemples. Problème CLIQUE. CLIQUE Entrées : k n entiers naturels, G graphe d ordre n Question : G a-t-il une clique à k éléments? (Une clique est un sous-graphe complet, voir annexe B page 102.) Pour une entrée i = (k, n, G) du problème, un certificat C(i) peut être un sous-graphe complet de taille k i.e. un ensemble de k sommets du graphe reliés deux-à-deux par des arêtes. Dans ce cas, on a taille(c(i)) taille(i), et la vérification nécessite d examiner k(k + 1)/2 paires de sommets. Donc CLIQUE a des solutions vérifiables en temps polynomial, i.e. est résoluble par certificats succints. Donc CLIQUE NP. L argumentation serait un peu plus compliquée si on voulait trouver un algorithme non déterministe résolvant CLIQUE. Notons, enfin, que ce problème est bien du type attendu pour un membre de NP : il y a beaucoup de cas à envisager (Cn k k(k+1) sous-ensembles de k sommets) mais pour chacun d eux le nombre de vérifications est petit ( ). 2 Problème COMP.

8 La classe NP version du 1 er décembre Instance : entier a. Certificat C(a) : un diviseur non trivial de a. La taille de C(a) et la durée de la vérification de C(a) a sont polynomiales en la taille de a. Il y a beaucoup de diviseurs non triviaux potentiels mais chacun est facile à étudier. Problème HAMILTON. Instance : n IN et G graphe non orienté d ordre n. Certificat : un cycle hamiltonien, décrit par une liste ordonnée des n sommets (l ordre de parcours). La taille du certificat et la durée de la vérification, à l aide du certificat (vérifier que la liste est un cycle), sont polynomiales en la taille de l instance. HAMILTON NP. Problème HAMILTON (inversé du problème précédent). Les instances sont les mêmes que pour le problème précédent mais la question est inversée : le graphe est-il sans chemin hamiltonien? Un certificat devrait être un objet dont l existence garantirait qu il n y a pas de chemin hamiltonien dans le graphe. Il n y a pas de candidat naturel pour jouer ce rôle. Ce problème présente beaucoup de cas à tester (toutes les façons d ordonner la liste des sommets), et chacun d eux est facile à étudier. Mais il ne s agit pas de trouver un cas favorable mais de vérifier qu ils le sont tous ( favorable signifie ici cet ordre de parcours des sommets n est pas un cycle ). HAMILTON NP? Problème GRAPHES ISOMORPHES GRAPHES ISOM Entrées : un entier naturel n et deux graphes G et H d ordre n Question : G et H sont-ils isomorphes? Un isomorphisme est une bijection de G sur H qui préserve la relation d adjacence (voir annexe B page 102). Pour une instance i = (n, G, H), un certificat C(i) peut être un isomorphisme de G dans H. Si on fixe une fois pour toute un ordre sur les sommets de G, la description d une bijection de G dans H se résume à une liste ordonnée des sommets de H, et donc taille(c(i)) taille(i). Pour vérifier que la relation d adjacence est préservée, on examine toutes les paires de sommets de G, soit n(n+1) paires. 2 Ce problème a donc des solutions vérifiables en temps polynomial, il est dans NP. Il y a de nombreux cas à considérer (n! bijections de G sur H, n! façons de lister les sommets de H) mais chacun est traité rapidement. En revanche, pour le problème inversé GRAPHES ISOM, il s agit de vérifier qu aucune bijection ne convient. Un certificat serait un objet dont l existence prouverait cela. On n en connaît pas et on ignore si ce problème est dans NP Propriétés de NP Rappel. Pour D problème de décision, D co-np ssi D NP. Exemple. Les problèmes HAMILTON et GRAPHES ISOM sont dans co-np. La classe co-n P est donc celle des problèmes dont l inversé à des solutions facilement vérifiables. Cela signifie qu avec certificats, on a un algorithme polynomial (déterministe) qui identifie les instances négatives. Ainsi, on peut dire que pour un problème D, être dans NP c est avoir des réponses positives facilement vérifiables. Tandis qu être dans co-n P, c est avoir des réponses négatives facilement vérifiables Proposition. P co-np Démonstration. Si D P alors D P donc D NP. (Ou encore : P NP donc co-p co-np, mais co-p = P.) 7.34 Remarques. On a donc : P NP co-np. Autrement dit, lorsqu un problème est facile (résoluble efficacement), ses réponses positives et négatives sont facilement vérifiables.

9 52 Complexité Algorithmique B. Mariou Automne 2016 version du 1 er décembre 2016 Questions ouvertes :? P = N P? Tous les problèmes ayant des solutions positives facilement vérifiables sont-ils faciles?? N P = co-n P? Avoir des solutions positives facilement vérifiables équivaut-il à avoir des solutions négatives facilement vérifiables?? P = NP co-np? Les problèmes avec solutions positives et négatives facilement vérifiables sont-ils tous faciles? Observations faciles : (a) si P = NP alors co-np = co-p = P = NP ; (b) si P NP et NP = co-np alors P NP co-np ; (c) si co-np NP alors co-np NP et NP co-np car co-np NP ssi NP co-np On ne connaît pas, en particulier, la structure de NP modulo P. Si P = NP, c est simple puisque, exceptés les problèmes triviaux, P est constitué d une unique P -classe. Mais il est prouvé que si P NP alors, dans NP, il y a une infinité de P -classes, totalement ordonnée par P (à l exception des problèmes triviaux) Proposition. La classe NP est héréditaire pour P (la réduction polynomiale) i.e. pour tous problèmes de décision D, E, si E NP et D P E alors D NP. Si D est plus facile que E et E est NP alors D est NP. Démonstration. Si f est un réduction polynomiale de D = (I, I + ) à E = (J, J + ), calculée par un algorithme A (déterministe et polynomial) ; et si B est un algorithme non déterministe polynomial qui résout E, alors : Entrée : i I - Appliquer A à i pour obtenir j = f(i) J j est tel que i I + ssi j J + - Appliquer B à j est un algorithmiste non déterministe, polynomial et qui résout D. Remarque. Ceci entraîne que NP est clos pour P, i.e. si E NP et D P E alors D NP. Ou encore : si E NP, toute la P -classe de E est dans NP Proposition. La classe NP est complète pour P i.e. il existe un problème de décision E dans NP tel que pour tout problème de décision D dans NP, on a D P E. Tout problème dans NP se réduit polynomialement à E. Remarques. 1) Cela signifie qu il y a un problème NP qui majore, au sens de P, toute la classe NP. C est un problème de difficulté maximum dans NP. Il peut donc y avoir plusieurs problèmes qui partagent cette propriété. Ils sont nécessairement P -équivalents deux-à-deux. Et cette P -classe majore aussi toutes les classes contenues dans NP. 2) Si P = NP, c est un résultat immédiat. Parce que P est composée de trois P -classes : les problèmes triviaux à réponse toujours positive (classe T + ), les problèmes triviaux à réponse toujours négative (classe T ), et les autres, les problèmes polynomiaux non triviaux (classe P ). Et on a T +/ < P P ( P et P ). Donc n importe quel problème dans P majore toute la classe P. Démonstration. Théorème de Cook-Levin (1970) Le problème SAT majore la classe NP i.e. D NP D P SAT. Démonstration du théorème de Cook-Levin. Idée générale. Le problème D est quelconque dans NP. Il peut avoir n importe quel type d instances et on ignore également

10 La classe NP version du 1 er décembre la question qu il pose. Mais on doit trouver une réduction polynomiale de D à SAT. La démonstration s appuie sur l unique information exploitable au sujet de D : son appartenance à NP, plus précisément l existence d une MdT M, non déterministe, qui résout D en temps polynomial. Un instance i de D étant donnée, on va écrire une série de clauses, sur des variables propositionnelles bien choisies. Certaines clauses décrivent le fonctionnement général des MdT. D autres décrivent la table de transition de M. Certaines enfin expriment le fait que l instance i est codée sur le ruban au début du calcul. L ensemble Σ(i) de toutes ces clauses sera satisfaisable ssi il existe un calcul acceptant lorsque M démarre avec le code de i sur son ruban. De plus, l ensemble Σ(i) pourra être obtenu en temps polynomial en la taille de i. L application i Σ(i) sera donc une réduction polynomiale de D à SAT. Détails. Voir l annexe G page Exercices. Non déterminisme. Exercice 58 a) Construisez une MdT non déterministe à alphabet binaire qui accepte les mots d entrée contenant la séquence 101 et rejette les autres. Autrement dit cette machine reconnaît ler langage 1 {m 0 101m 1 m 0, m 1 IF }. b) Si on voulait identifier les mots binaires contenant 1 puis 0 puis 1, mais pas nécessairement consécutivement, i.e. reconnaître le langage {m 0 1m 1 0m 2 1m 3 m 0, m 1, m 2, m 3 IF }, une MdT non déterministe apporte-t-elle beaucoup par rapport à une MdT déterministe? Exercice 59 Mêmes questions mais on s intéresse aux mots contenant la séquence 1001 ou la séquence 0110, a) d abord consécutivement : langage {m m 1 m 0, m 1 IF } {m m 1 m 0, m 1 IF } ; b) puis pas nécessairement : langage {m 0 1m 1 0m 2 0m 3 1m 4 m i IF } {m 0 0m 1 1m 2 1m 3 0m 4 m i IF } Classe NP. Exercice 60 a) Pourquoi une MdT M, déterministe, peut-elle être considérée comme un cas particulier de machine non déterministe? b) Lorsque M résout un problème de décision D = (I, I + ), comment évalue-t-on le temps de calcul de M comme machine déterministe et son temps de calcul comme machine non déterministe? Peut-on les comparer? c) Montrez que P NP. Exercice 61 Lorsqu on dit On ignore si le problème GRAPHES ISOM est dans co-np. Qu est-ce que cela signifie exactement? Exercice 62 Démontrez la première proposition de la section 5.4 sur les propriétés de NP : (hérédité de NP ) si D P E et E NP alors D NP (page 52). Certificats. Exercice 63 Soit D un problème dans la classe P. Montrez que D est résoluble par certificats, mais sans utiliser le fait que cela équivaut à être dans la classe NP. Il s agit donc de décrire les certificats (C(i)) associés aux instances positives et l algorithme A, déterministe et polynomial, qui reconnaît les instances positives à l aide des certificats. Exercice 64 Montrez, grâce aux certificats que les problèmes SOM.PREM (exercice 17), SAT (page 4), k-col (page 4), m-mar (page 5), COMP (page 6, PARTAGE, SAC À DOS, SAC À DOS (page 5), ENS INDEP (page 43), ENS COUVRANT (page 44), CLIQUE (page 50), HAMILTON (page 43),GRAPHES ISOM (page 51) et GRAPHES PLONG (page 62) sont tous dans NP. Exercice 65 Preuves du fait que PREM NP. On sait maintenant que PREM est un problème facile et il est donc, en particulier, dans NP. Mais avant ce résultat récent, pour prouver que PREM est dans NP, une possibilité était de construire une MdT non déterministe résolvant PREM en temps polynomial (voir annexe F page 110). 1. Définition page 17 des notes de cours.

11 54 Complexité Algorithmique B. Mariou Automne 2016 version du 1 er décembre 2016 On pouvait aussi utiliser la certification grâce au théorème suivant, dit test de Lucas : L entier n est premier ssi il existe un entier a tel que a n 1 1 mod n et pour tout diviseur premier p de n 1, a (n 1)/p 1 mod n n.b. L entier a correspond à un élément primitif dans le corps à n éléments. Quel était alors le certificat associé à un nombre premier et quel était l algorithme permettant de reconnaître, en temps polynomial, les nombres premiers à l aide des certificats? Exercice 66 a) Soient D = (I, I + ), E = (J, J + ) deux problèmes de décision tels que : - il existe une réduction polynomiale f de D à E, - il existe des certificats C(j) j J pour les instances de E, et un algorithme B qui reconnaît en temps polynomial déterministe les instances positives de E avec l aide des certificats. Montrez que les C(f(i)) i I sont des certificats pour les instances de D et qu on peut utiliser B pour fabriquer un algorithme A qui reconnaît en temps polynomial déterministe les instances positives de D avec l aide des certificats. b) Montrez qu on a une nouvelle preuve, par les certificats, de l hérédité de la classe NP : si D P E et E NP alors D NP.

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

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

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

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

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

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

Plus en détail

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

Plus en détail

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

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

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

Groupe symétrique. Chapitre II. 1 Définitions et généralités Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations

Plus en détail

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/ Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes

Plus en détail

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3 8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant

Plus en détail

Quelques tests de primalité

Quelques tests de primalité Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

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

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

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

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

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

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques : MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Fibonacci et les paquerettes

Fibonacci et les paquerettes Fibonacci et les paquerettes JOLY Romain & RIVOAL Tanguy Introduction Quand on entend dire que l on peut trouver le nombre d or et la suite de Fibonacci dans les fleurs et les pommes de pin, on est au

Plus en détail

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

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

Introduction à la théorie des graphes. Solutions des exercices CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

Corps des nombres complexes, J Paul Tsasa

Corps des nombres complexes, J Paul Tsasa Corps des nombres complexes, J Paul Tsasa One Pager Février 2013 Vol. 5 Num. 011 Copyright Laréq 2013 http://www.lareq.com Corps des Nombres Complexes Définitions, Règles de Calcul et Théorèmes «Les idiots

Plus en détail

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

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Chapitre VI - Méthodes de factorisation

Chapitre VI - Méthodes de factorisation Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.

Plus en détail

Cours de Probabilités et de Statistique

Cours de Probabilités et de Statistique Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

aux différences est appelé équation aux différences d ordre n en forme normale.

aux différences est appelé équation aux différences d ordre n en forme normale. MODÉLISATION ET SIMULATION EQUATIONS AUX DIFFÉRENCES (I/II) 1. Rappels théoriques : résolution d équations aux différences 1.1. Équations aux différences. Définition. Soit x k = x(k) X l état scalaire

Plus en détail

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes.

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes. Plan Intérêts 1 Intérêts 2 3 4 5 6 7 Retour au menu général Intérêts On place un capital C 0 à intérêts simples de t% par an : chaque année une somme fixe s ajoute au capital ; cette somme est calculée

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur

Plus en détail

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge julien.jorge@univ-nantes.fr Laboratoire d Informatique de Nantes Atlantique,

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

Optimisation Discrète

Optimisation Discrète Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

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

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives. L G L G Prof. Éric J.M.DELHEZ ANALYSE MATHÉMATIQUE ÉALUATION FORMATIE Novembre 211 Ce test vous est proposé pour vous permettre de faire le point sur votre compréhension du cours d Analyse Mathématique.

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Logique. Plan du chapitre

Logique. Plan du chapitre Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels

Plus en détail

Table des matières. Introduction

Table des matières. Introduction Table des matières 1 Formalisation des virus informatiques 2 1.1 Les machines de Turing........................ 2 1.2 Formalisation de Fred Cohen..................... 2 1.2.1 Définition d un virus informatique..............

Plus en détail

Glossaire des nombres

Glossaire des nombres Glossaire des nombres Numérisation et sens du nombre (4-6) Imprimeur de la Reine pour l'ontario, 008 Nombre : Objet mathématique qui représente une valeur numérique. Le chiffre est le symbole utilisé pour

Plus en détail

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Suites numériques 4. 1 Autres recettes pour calculer les limites

Suites numériques 4. 1 Autres recettes pour calculer les limites Suites numériques 4 1 Autres recettes pour calculer les limites La propriété suivante permet de calculer certaines limites comme on verra dans les exemples qui suivent. Propriété 1. Si u n l et fx) est

Plus en détail

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b I Définition d une fonction affine Faire l activité 1 «une nouvelle fonction» 1. définition générale a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Equations cartésiennes d une droite

Equations cartésiennes d une droite Equations cartésiennes d une droite I) Vecteur directeur d une droite : 1) Définition Soit (d) une droite du plan. Un vecteur directeur d une droite (d) est un vecteur non nul la même direction que la

Plus en détail

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

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

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Coefficients binomiaux

Coefficients binomiaux Probabilités L2 Exercices Chapitre 2 Coefficients binomiaux 1 ( ) On appelle chemin une suite de segments de longueur 1, dirigés soit vers le haut, soit vers la droite 1 Dénombrer tous les chemins allant

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

Plus en détail

Chapitre 2 Le problème de l unicité des solutions

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

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

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie Rappels et compléments, première partie : Nombres complexes et applications à la géométrie 1 Définition des nombres complexes On définit sur les couples de réels une loi d addition comme suit : (x; y)

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

Chapitre 6. Fonction réelle d une variable réelle

Chapitre 6. Fonction réelle d une variable réelle Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette

Plus en détail

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES. CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE EQUATIONS DIFFERENTIELLES Le but de ce chapitre est la résolution des deux types de systèmes différentiels linéaires

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Probabilités. C. Charignon. I Cours 3

Probabilités. C. Charignon. I Cours 3 Probabilités C. Charignon Table des matières I Cours 3 1 Dénombrements 3 1.1 Cardinal.................................................. 3 1.1.1 Définition............................................. 3

Plus en détail

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire 2008-2009. Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera.

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire 2008-2009. Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera. Cours Optimisation Partie Optimisation Combinatoire 3ième année ISAE Année scolaire 2008-2009 Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera.fr Septembre 2008 Résumé Ce document couvre

Plus en détail

Le modèle de Black et Scholes

Le modèle de Black et Scholes Le modèle de Black et Scholes Alexandre Popier février 21 1 Introduction : exemple très simple de modèle financier On considère un marché avec une seule action cotée, sur une période donnée T. Dans un

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. DÉVELOPPEMENT 32 A 5 EST LE SEUL GROUPE SIMPLE D ORDRE 60 Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. Démonstration. On considère un groupe G d ordre 60 = 2 2 3 5 et

Plus en détail

FctsAffines.nb 1. Mathématiques, 1-ère année Edition 2007-2008. Fonctions affines

FctsAffines.nb 1. Mathématiques, 1-ère année Edition 2007-2008. Fonctions affines FctsAffines.nb 1 Mathématiques, 1-ère année Edition 2007-2008 Fonctions affines Supports de cours de mathématiques de degré secondaire II, lien hpertete vers la page mère http://www.deleze.name/marcel/sec2/inde.html

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

1 Première section: La construction générale

1 Première section: La construction générale AMALGAMATIONS DE CLASSES DE SOUS-GROUPES D UN GROUPE ABÉLIEN. SOUS-GROUPES ESSENTIEL-PURS. Călugăreanu Grigore comunicare prezentată la Conferinţa de grupuri abeliene şi module de la Padova, iunie 1994

Plus en détail

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

Comparaison de fonctions Développements limités. Chapitre 10 PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?

Plus en détail

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

1 Définition et premières propriétés des congruences

1 Définition et premières propriétés des congruences Université Paris 13, Institut Galilée Département de Mathématiques Licence 2ème année Informatique 2013-2014 Cours de Mathématiques pour l Informatique Des nombres aux structures Sylviane R. Schwer Leçon

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

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

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

Exercices de dénombrement

Exercices de dénombrement Exercices de dénombrement Exercice En turbo Pascal, un entier relatif (type integer) est codé sur 6 bits. Cela signifie que l'on réserve 6 cases mémoires contenant des "0" ou des "" pour écrire un entier.

Plus en détail

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

Données Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr

Données Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr Données Réparties Thibault BERNARD thibault.bernard@univ-reims.fr Sommaire Introduction Gestion de la concurrence Reprise après panne Gestion des données dupliquées Sommaire Introduction Gestion de la

Plus en détail

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal La demande Du consommateur Contrainte budgétaire Préférences Choix optimal Plan du cours Préambule : Rationalité du consommateur I II III IV V La contrainte budgétaire Les préférences Le choix optimal

Plus en détail

Théorème du point fixe - Théorème de l inversion locale

Théorème du point fixe - Théorème de l inversion locale Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion

Plus en détail