Représentation et approximation de fonctions booléennes : Application à la génération de requêtes

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

Download "Représentation et approximation de fonctions booléennes : Application à la génération de requêtes"

Transcription

1 INSTITUT DE RECHERCHE EN INFORMATIQUE DE NANTES Représentation et approximation de fonctions booléennes : Application à la génération de requêtes LEBLET Jimmy encadré par QUAFAFOU Mohamed Institut de Recherche en Informatique de Nantes 2, rue de la Houssinière B.P F NANTES CEDEX 3 RAPPORT DE STAGE DE DEA Mars 2004 IRIN, Faculté des Sciences & Techniques de Nantes 2, rue de la Houssinière B.P F NANTES CEDEX 3

2 LEBLET Jimmy (encadré par QUAFAFOU Mohamed) Représentation et approximation de fonctions booléennes : Application à la génération de requêtes c Mars 2004 par LEBLET Jimmy rapport.tex Représentation et approximation de fonctions booléennes : Application à la génération de requêtes 8/3/ :41

3 Représentation et approximation de fonctions booléennes : Application à la génération de requêtes LEBLET Jimmy (encadré par QUAFAFOU Mohamed)

4

5 Introduction L algèbre de Boole et le binaire sont au coeur de l informatique. Ces domaines ont été étudiés bien avant la naissance des premiers ordinateurs, mais l apparition de l informatique a permis un regain d intérêt pour ce domaine. L informatique a, par la suite donné naissance à une mine d information et de connaissances : Internet et le Web. On a donc un contraste entre l émergence récente de l Internet et la relative vieillesse de l algèbre de Boole. Dans ce mémoire, on réalise une symbiose entre les deux. En effet, on va se servir des formules booléennes, objets connus depuis de nombreuses années, afin d extraire des informations du Web. Dans ce but, on étudie dans le chapitre 1 une nouvelle représentation des fonctions booléennes. Celle-ci a été introduite en 1992 par Bryant. Cette représentation permet de transformer les fonctions booléennes (ou fonctions logiques) en graphe (ROBDD). A partir de ces graphes, on peut alors réaliser une approximation de cette fonction, c est un moyen simple et rapide de réaliser une approximation d une fonction booléenne. Cette méthode sera mise à contribution dans le chapitre 3. Dans ce chapitre, on décrit un algorithme et une méthode de génération de nouvelles requêtes à partir d un fichier contenant des requêtes déjà soumises. Ceci permet de générer de manière automatique des requêtes nouvelles qui peuvent améliorer la recherche réalisée au travers des précédentes requêtes. Dans le chapitre 4, on relie cette méthode à un programme de création automatique de corpus dans une langue minoritaire : CorpusBuiler. Il permet de récupérer sur le Web des documents dans une langue cible peu répandue. On essaiera d améliorer ce programme au moyen de la méthode décrite dans le chapitre 3. Ceci permet de valider la méthode proposée pour la génération automatique de requête au moyen des ROBDD. 3

6 Chapitre 1 Etude d une représentation particulière des fonctions booléennes : les ROBDD Le coeur de l informatique est basé sur le binaire et donc sur l algèbre de Boole. L étude des fonctions booléennes s est ainsi très développée depuis l origine de l informatique. De nombreuses recherches ont donc été réalisées sur le sujet. L étude des fonctions booléennes est un domaine vaste et difficile ; historiquement, l un des premiers problèmes qui a été démontré comme étant NP-Complet est un problème de satisfiabilité des fonctions booléennes. Cette difficulté provient du fait que ces fonctions sont simples mais en grand nombre : si l on a n variables, il existe alors 2 n fonctions booléennes différentes sur ces variables. Il faut alors pouvoir représenter de manières différentes toutes ces fonctions, tout en sachant que deux fonctions booléennes peuvent différer très peu l une de l autre. Le moyen de représenter ces fonctions influe donc grandement sur l efficacité avec laquelle on peut les utiliser par la suite. Nous allons introduire ici une représentation récente (voir [Bryant, 1992]) des fonctions booléennes. Cette représentation est avantageuse comparativement à d autres. De plus, ce système permet plus facilement de réaliser une approximation des fonctions booléennes, et ainsi on peut appliquer des opérateurs d approximation sur l espace des fonctions booléennes, ce qui permet de nombreuses applications, notamment en datamining et extraction de connaissances. Nous allons appliquer ceci à une étude de requêtes d utilisateurs à un moteur de recherche. On récupère une liste de requêtes soumises à un moteur de recherche (par un générateur automatique, un utilisateur ou un groupe d utilisateurs). Il s agit d étudier ces requêtes pour en générer de nouvelles. 1.1 Représentation des fonctions booléennes Les fonctions booléennes étant étudiées depuis de nombreuses années et dans différents domaines, il existe donc de nombreuses manières différentes de les représenter.nous rappelerons les notions fondamentales sur les fonctions booléennes. Ensuite, nous verrons différentes représentations existantes avec leurs avantages et inconvénients respectifs. Enfin, nous introduirons les ROBDD, qui est un nouveau moyen de les représenter Algèbre de Boole On note B l ensemble des valeurs de vérité, c est à dire l ensemble {0,1} où 0 représente la valeur faux et 1 la valeur vraie. Munis des opérateurs logiques et ( ), ou ( ) et non ( ), B devient une algèbre 4

7 5 de Boole. Pour un n donné, on peut définir une fonction f de B n B. On note l ensemble L(B n, B), l ensemble {f : B n B}. Cet ensemble, toujours muni des mêmes opérateurs que B, est aussi une algèbre de Boole. Définition 1 (Fonctions booléennes). L algèbre des fonctions booléennes, pour un n fixé est l ensemble L(B n, B) = {f : B n B} muni des opérateurs, et. Un élément de cette algèbre est une fonction booléenne à n variables à valeur dans B. Remarque. Voici quelques remarques concernant les fonctions booléennes et l algèbre qui leur est associée. On a L(B n, B) = 2 n. Ceci est le nombre de fonctions booléennes à n variables. Ce nombre est exponentiel par rapport au nombre de variables : si l on ajoute une variable, le nombre de fonctions booléennes est multiplié par deux! Si l on a f : B n B, on notera en général f comme f(x 1,,x n ), i.e. on notera x i la i-ème variable f. On peut définir des fonctions de B n B m, avec m 1. Pour étudier ce type de fonctions, on étudiera les restrictions sur chaque coordonnée, i.e., on verra g : B n B m comme : g(x 1,,x n ) = (g 1 (x 1,,x n ),,g m (x 1,,x n )) avec g i : B n B. On étudiera alors les g i indépendamment les unes des autres. La composition de fonctions booléennes est définie de manière triviale. Si l on a f 1 : B n B m, f 2 : B m B k, on a alors f = f 2 f 1 : B n B k, qui sera la fonction composée de f 1 et f 2. Définition 2 (Restriction de fonctions booléennes). Soit f une fonction booléenne à n variables (n 1). On peut alors plonger f dans L(B n 1, B). Pour cela, on choisit une variable x i avec i {1,,n}, et une valeur c pour cette variable (i.e. c B). On note alors, f xi =c, la fonction booléenne de B n 1 B qui est la restriction de f à x i = c Quelques représentations des fonctions booléennes Pour pouvoir travailler sur les fonctions booléennes, il faut pouvoir les représenter. Il en existe différentes représentations. Elles peuvent être très différentes les une des autres ou très proches. Chacune possède des inconvénients d utilisations et des avantages. Celles que nous allons voir sont celles le plus souvent utilisées. Formules booléennes Ceci est la représentation la plus souvent utilisée. Elle est aussi la plus connue et la plus répandue. Définition 3 (Formule booléenne de B n ). Une formule booléenne est un terme construit par induction sur les constantes booléennes 0 et 1, sur les variables x i de B n et les connecteurs logiques et ( ), ou ( ) et non ( ). La définition exacte de l ensemble des formules booléennes est : l ensemble des formules booléennes de B n est le plus petit ensemble de formules F B n tel que : 0,1 sont des formules. Les variables de B n sont des formules. Si g et f sont des formules, alors f g, f g et f sont des formules de B n. Exemple. Si l on note X = {x,y,z} l ensemble des variables deb 3, alors f = (x (y z)) ( y (x z)) est une formule booléenne de B 3.

8 6 Quel est l intérêt des formules booléennes? Les formules booléennes sont intéressantes pour plusieurs raisons. En effet, elles permettent facilement de pouvoir travailler avec les fonctions booléennes. Les formules booléennes sont des formules logiques, on peut donc aisément raisonner dessus. Leur grande expressivité leur permet d être comprise rapidement et par tout le monde. De plus, n importe quelle fonction booléenne f de B n peut être représentée par une formule booléenne. Réciproquement, chaque formule booléenne représente bien une fonction booléenne. Ainsi, l espace des formules booléennes décrit bien l espace des fonctions booléennes. Il se pose alors une question : Quelle est la différence entre les formules booléennes et les fonctions booléennes? On fait souvent l amalgame entre formules booléennes et fonctions booléennes. Or les formules booléennes sont justes un moyen de représenter les fonctions booléennes. De plus, il existe une grande différence entre formules et fonctions booléennes : Théorème. Soit f une fonction booléenne, alors f peut être représentée sous forme de formules booléennes. De même, chaque formule booléenne représente bien une fonction booléenne. Mais il n y a pas bijection entre formules booléennes et fonctions booléennes. En effet, deux formules booléennes différentes peuvent représenter la même fonction booléennes. Il n y a pas unicité de la représentation d une fonction booléenne par une formule booléenne, par contre deux formules booléennes égales représentent bien la même fonction booléenne. Ainsi, il n existe pas de bijection entre les deux espaces mais une surjection des formules booléennes sur les fonctions booléennes. Exemple. Voici f et g deux formules booléennes différentes : f = (a (b c)) ( a (b c)) et g = (a b) (a b c) ( a b c). Il est encore facile de voir que ces deux formules représentent la même fonction booléenne. Mais imaginons que l on ait 50 variables et non 3, alors le problème devient beaucoup plus difficile. Voici pourquoi les gens ne doivent pas identifier formules booléennes et fonctions booléennes. De nombreux problèmes apparaissent lorsqu on travaille avec les formules booléennes, car il faut pouvoir savoir si deux formules booléennes différentes sont bien égales comme fonctions booléennes. Or trouver (ou non) cette égalité est un problème très difficile. Tables de vérité Une fonction booléenne f est une application de B n vers B. Le moyen le plus simple de représenter cette fonction est tout simplement de faire la liste des valeurs possibles des variables booléennes et d indiquer la valeur de la fonction pour chaque assignement. Ceci peut être représenté dans une table où on liste toutes les entrées possibles (soit 2 n possibilités). En correspondance avec ces entrées, on indique l image de la fonction pour les valeurs des variables. Exemple. Voici une formule booléenne f d une fonction booléenne : f = (a b) ( b c). La table de vérité associée est :

9 7 a b c f L intérêt des tables de vérité est qu une fonction booléenne possède une unique représentation sous la forme de table de vérité. Par contre, elle utilise un tableau à 2 n entrées et est peu lisible. L ensemble des tables de vérité est en bijection avec l ensemble des fonctions booléennes, ceci explique l unicité de la représentation mais explique aussi sa difficulté d utilisation. Diagramme de Karnaugh Les diagrammes de Karnaugh sont semblables aux tables de vérité. La seule différence est que les variables booléennes sont représentées dans un tableau à deux dimensions au lieu d une seule pour les tables de vérité. Exemple. Pour la même formule booléenne que dans l exemple précédent (f = (a b) ( b c)), le diagramme de Karnaugh est : Formules booléennes sous forme cnf a ā b b c c c On a vu qu une fonction booléenne possède plusieurs représentations en formules booléennes. Pour essayer de palier à ce problème, on introduit une autre forme de formules booléennes : les formules en forme conjonctive normale (cnf). Définition 4 (Forme normale conjonctive). Une formule booléenne f sur X est dite en forme conjonctive normale si elle est de la forme : f = m i=1 f i avec f i = n i j=1 x ij et chaque x ij X X où X représente l ensemble des négations des variables de X. Le problème est qu une formule booléenne a encore plusieurs représentations en forme cnf : Exemple. La formule booléenne f = (a b) (a c) (a b c) représente la même fonction booléenne que g = (a b) (a c). Par contre, cela permet une normalisation des formules booléennes. On utilise parfois les formes k-cnf où 2 k N : on contraint f i tel que f i k (dans la définition, cela donne n i k). On utilise aussi les formes exact-k-cnf : f i = k. On peut représenter n importe quelle fonction booléenne sous la forme d une cnf (cnf, k-cnf ou exact-k-cnf selon notre choix).

10 8 Formules booléennes sous forme dnf Bien sûr, il existe la même chose pour les formules en formes normales disjonctives (dnf, k-dnf et exact-k-dnf) : Définition 5 (Forme normale disjonctive). Une formule booléenne f est dite en forme normale disjonctive si elle est de la forme : f = m i=1 f i avec f i = n i j=1 x ij et chaque x ij X X. Il est aisé de passer formellement d une forme à l autre : il suffit de développer les termes dans les parenthèses. Par contre, en calcul, la complexité est assez élevée Différents problèmes liés aux fonctions booléennes Voyons les principaux (et les plus connus) problèmes et opérations liés aux fonctions booléennes. Ces problèmes dépendent souvent de la représentation choisie pour la fonction booléenne. Application d un opérateur logique Soit f et g deux fonctions booléennes représentées par F et G. Soit un opérateur logique binaire (,,,...). Le problème est : Quelle est la représentation H de la fonction h telle que h = f g? Exemple. Si l on pose H = f g avec f = a b et g = a b, alors H = b ou H = (a b) ( a b). Cet exemple est simple, mais la question est plus difficile pour certaines représentations des fonctions booléennes. Il est plus difficile de réaliser cette opération si les fonctions sont représentées sous la forme de table de vérité ou sous la forme conjonctive normale. Le ou de deux formes conjonctives normales n est pas une forme conjonctive normale, il faut donc le transformer en forme cnf, ce qui demande du travail supplémentaire. Evaluation Soit f une fonction booléenne sur X et a un assignement d un sous-ensemble de variables de X. Le problème d évaluation est : Quelle est la fonction F telle que F = f(a)? Exemple. Soit f = (x y) ((z x) (y z)). On pose a = {x = 1,y = 1,z = 0} et b = {x = 0}. On a alors : F = f(a) = 1 et G = f(b) = y (z (y z)). L évaluation sert à déterminer la valeur de la fonction booléenne pour un assignement de toutes les variables de X. Elle permet aussi de réaliser des restrictions sur la fonction booléenne. Par exemple dans le cas où b = {x = 0}, on obtient la fonction G qui est la fonction f restreinte à x = 0 :G = f x=0. On peut ainsi à partir d une fonction f : B n B, obtenir une fonction g : B k B avec k < n. Satisfiabilité Soit f une fonction booléenne sur X avec X = n. On a vu que f : B n B. On a donc Im(f) B. L étude de la satisfiabilité de f est l étude de l ensemble Im(f) : Définition 6 (Fonction satisfiable). Une fonction booléenne est satisfiable si 1 Im(f) On obtient ainsi trois problèmes distincts et connexes :

11 9 Satisfiabilité Le problème est : La fonction f est elle satisfiable? Ceci revient à dire si la fonction f est ou non équivalente à la fonction booléenne constante 0. En effet, si une fonction booléenne n est pas satisfiable, alors Im(f) = {0} donc f = 0. Satisfy-1 Soit f une fonction booléenne. Soit S f l ensemble S f = {a B n f(a) = 1}. S f est l ensemble des assignements qui rendent f vraie. Si la fonction f n est pas satisfiable, alors S f est vide, sinon cet ensemble contient au moins un élément. Le problème Satisfy-1 est : Pour une fonction booléenne f, déterminer un a S f (s il en existe un). Satisfy-all Le problème satisfy-all est le problème plus général : Pour une fonction booléenne f, déterminer S f. Les problèmes de satisfiabilité sont des problèmes très difficiles, notamment le problème de satisfiabilité est NP-Complet pour des formules dans la forme exact-3-cnf. Ce problème est appelé problème exact-3-sat. Tautologie On a vu dans les problèmes précédents que dire qu une fonction booléenne f n est pas satisfiable, revient à dire que la fonction f est identiquement la fonction 0. On peut se poser le problème réciproque pour tester si la fonction f est identiquement égal à la fonction constante 1 : Définition 7 (Tautologie). Une fonction booléenne f est une tautologie si et seulement si la fonction booléenne f est la fonction identiquement égale à 1. Egalité Le problème de tautologie est : La fonction f est-elle une tautologie? On a vu que le nombre de fonctions booléennes distinctes est important. De plus, une fonction booléenne peut avoir plusieurs représentations différentes pour un système de représentation particulier. Il devient donc intéressant de savoir : Étant données deux représentations F et G de deux fonctions booléennes f et g, déterminer si f = g. Ce problème peut paraître simple, mais deux fonctions booléennes ayant des représentations complètement différentes peuvent être égales. Ce problème n a pas lieu d être si, dans un système de représentation particulier, chaque fonction booléenne f a une unique représentation F dans ce système : pour vérifier l égalité, il suffit de vérifier l égalité des représentations (problème beaucoup plus simple en général). Exemple. Voici deux formules booléennes f et g : f = (a b c) ( a b) ( b c) ( c a) g = ((a b) (b a) b (c a) (c b)) (( b c) ( b a) (c a)) Ces deux formules sont égales et représentent donc la même fonction mais il faut faire un effort pour le voir. Bien sûr, une des deux représentations est plus simple que l autre.

12 10 Dépendance par rapport à une variable Soit f une fonction booléenne sur X et x une variable (x X). Le problème est : La fonction f dépend-elle de x? Ceci revient à déterminer si f x=0 = f x=1 = f. 1.2 Binary Decision Diagram et ROBDD BDD et OBDD BDD Nous allons voir ici une représentation des fonctions booléennes : les Binary Decision Diagram (BDD). Cette représentation est la base des ROBDD. Les BDD découlent de la décomposition de Shanon : Théorème (Décomposition de Shanon). Soit f une fonction booléenne sur X = {x 1,,x n }, alors f : B n B peut s écrire : f(x 1,,x i,,x n ) = (x i f xi =1) ( x i f xi =0) pour tout i Définition 8 (Co-facteur). Soit f une fonction booléenne, on appelle i-ème co-facteurs de f les fonctions booléennes : f xi =0 et f xi =1 On associe souvent la décomposition de Shanon à la structure Si... Alors... Sinon. En effet, la décomposition de Shanon, pour la même fonction f, nous donne la structure : si x i alors f xi =1 sinon f xi =0 fin si De même, elle peut être représentée par un arbre : la racine représente la variable x i, les deux fils représentent les i-ème co-facteurs de f. Grâce à la décomposition de Shanon, on peut représenter n importe quelle fonction booléenne f sous la forme d un graphe : on appelle cette représentation un BDD (Binary Decision Diagram). Définition 9 (BDD). Soit f une fonction booléenne sur X. Un BDD de f est un graphe raciné défini par : Si X =, la feuille 1 ou 0 selon la valeur de f Sinon, un sous arbre binaire défini par : la racine est une variable x X un des fils (indexé par 0) est un BDD du co-facteur f x=0 défini sur X \ {x} l autre fils (indexé par 1) est un BDD du co-facteur f x=1 défini sur X \ {x} Pour chaque noeud interne α, on peut définir l index de α par la variable que représente ce noeud. Le problème des BDD est que la représentation n est pas unique : sur l un des fils, on peut avoir x j comme index et x k (avec k j) sur l autre fils. De plus, si la fonction f est une tautologie, alors le BDD de f ne sera pas forcément égal au graphe constitué uniquement de la feuille 1.

13 11 Exemple. Soit f la fonction booléenne définie sur X = {a, b, c} par la formule booléenne : f(a,b,c) = (a b c) (b c) ( a b) Si l on réalise la décomposition de Shanon par rapport à a, on obtient : f(a,b,c) = (a ((b c) (b c))) ( a ((b c) b)) Pour f a=1 = (b c) (b c), on réalise la décomposition suivante : f a=1 = (b (c c)) ( b 0). Pour f a=0 = (b c) b), on peut réaliser une autre décomposition : f a=0 = (c b) ( c b). On peut continuer ainsi jusqu aux feuilles. Cela nous donne donc : ( ( f a=1 = a b ( (c 1) ( c 1) )) ( b ( (c 0) ( c 0) ))) f a=0 = ( c ( (b 1) ( b 0) )) ( c ( (b 1) ( b 0) ))) a 1 0 b c c c b b FIG. 1.1 BDD de f(a,b,c) = (a ((b c) (b c))) ( a ((b c) b)) sous forme d arbre On peut, pour un gain d espace et plus de clarté, mettre une unique feuille 1 et une unique feuille 0. Cela donne un graphe non cyclique et non plus un arbre. On ne fera plus de distinction entre le BDD d une fonction sous forme d arbre ou sous forme de graphe. On peut penser que cette représentation est plus simple et plus expressive que les autres, mais cela n est pas le cas. En effet, il existe encore beaucoup de paramètres qui permettent des ambiguïtés dans les graphes. On ne peut pas voir dans le cas présent, que la fonction représentée ici ( f(a,b,c) = (a ((b c) (b c)) ( a ((b c) b))) est en fait la fonction f(a,b,c) = b.

14 12 a 1 0 b c c b b c FIG. 1.2 BDD de f = (a ((b c) (b c)) ) ( a ((b c) b)) avec uniquement 2 feuilles OBDD Nous avons vu que le BDD d une fonction n est pas unique. A ceci deux raisons : il peut y avoir des variables différentes sur chaque fils d un noeud et la représentation d une fonction booléenne n est pas sous une forme canonique. Nous allons commencer par résoudre le premier problème en ordonnant les variables. Définition 10. Soit f une fonction booléenne définie sur X, on peut alors définir un ordre sur les variables de X. On note cet ordre. L ordre sur X peut aussi se définir comme un ordre sur l ensemble I des indices de X. On notera indifféremment ces deux ordres. Exemple. Soit X = {a,b,c}, un ordre possible est : a c b où b est la variable la plus grande. Soit X = {x 1,x 2,x 3,x 4 }, un ordre possible est : Pour X = n, il existe n! ordres possibles. A partir de cette notion d ordre on peut définir un OBDD : Ordonned Binary Decision Diagram. Définition 11 (OBDD). Soit f une fonction booléenne sur X ordonné. Un OBDD de f est un BDD de f respectant l ordre défini sur X : Si l on note x la variable d un noeud α du BDD, et x g, (x d ) la variable du fils gauche (respectivement droite) de α, alors on doit avoir x g x et x d x. Ceci permet que les noeuds respectent l ordre défini sur les variables : le long d un chemin de la racine à une feuille, l ordre des variables rencontrées doit respecter l ordre défini sur X. Exemple. Si l on reprend l exemple de la fonction : f(a,b,c) = (a b c) (b c) ( a b), avec l ordre c b a, on obtient le OBDD suivant : Si l on transforme l arbre en OBDD, on obtient la figure 1.4

15 13 a b b c c c c FIG. 1.3 arbre binaire ordonné de f(a,b,c) = (a ((b c) (b c))) ( a ((b c) b)) a b b c c c c 0 1 FIG. 1.4 OBDD de f(a,b,c) = (a ((b c) (b c))) ( a ((b c) b)) On peut remarquer sur cet OBDD qu il y a des noeuds qui ne sont pas utiles. En effet, les deux fils d un même noeud (les noeuds étiquetés par la variable c) sont confondus ou représentent le même sous-arbre. On peut alors simplifier le OBDD, ce qui donne la figure 1.5. On voit dans ce graphe que f ne dépend pas de c mais que cet OBDD représente exactement la fonction f(a,b,c) = b. Pourtant, la fonction f = b n est pas seulement représentée par ces graphe, il existe le graphe où la racine est la variable b et le fils 0 est la feuille 0 et le fils 1 est la feuille 1. Or ici, on voit apparaître la variable a, il faudrait pouvoir l éliminer par simplification Reduced Ordonned Binary Decision Diagram : ROBDD Nous allons voir comment à partir des OBDD, nous pouvons obtenir une représentation canonique pour une fonction booléenne quelconque. On a vu que les OBDD peuvent être simplifiés, mais on peut davantage les réduire : on utilise pour cela l isomorphisme des sous-graphes. Cette réduction est due à

16 14 a b b 0 1 FIG. 1.5 OBDD de f simplifié [Bryant, 1992]. Définition 12 (ROBDD). Un ROBDD est un OBDD qui ne contient aucun noeud α tel que les deux fils soient égaux et aucune paire de noeuds distincts α et ω tels que les sous-graphes racinés en α et ω soient isomorphes. On dit que l OBDD est réduit s il est sous la forme d un ROBDD. Voici un théorème très important concernant les ROBDD : Théorème (Unicité des ROBDD). Soit f une fonction booléenne f définie sur X muni d un ordre, alors il existe un unique ROBDD H qui représente f. De plus, chaque sous graphe de H est sous forme réduite. Ce théorème nous permet d avoir l unicité du ROBDD d une fonction. Il existe un algorithme qui permet, à partir d un OBDD de f, de construire le ROBDD représentant f (voir [Bryant, 1992]). On trouve également dans cet article une démonstration du théorème. Le coût pour passer d un graphe G (représentant un OBDD de f) au ROBDD de f est de l ordre de O( G log G ) où G est le nombre de noeuds du graphe G. On peut même descendre en O( G ) ). Exemple. Pour f = (a ((b c) (b c))) ( a ((b c) b)), le ROBDD associé est : b 0 1 FIG. 1.6 ROBDD de f = (a ((b c) (b c))) ( a ((b c) b)) On retrouve exactement la fonction f = b. Le nombre de noeuds est descendu de 7 noeuds (OBDD non simplifié) à 1 noeud. Il découle de cette définition des ROBDD l unicité de la représentation d une fonction booléenne par les ROBDD. Voyons maintenant d autres intérêts des ROBDD.

17 Discussions sur les ROBDD Éléments de complexité des ROBDD Essayons de voir comment l on peut résoudre les problèmes concernant les fonctions booléennes grâce aux ROBDD. Soit f une fonction booléenne sur X ( X = n) et F le ROBDD la représentant. On note F la taille du graphe de F. On suppose ici que le graphe F a été déjà construit, intéressons nous à la résolution de certains problèmes : Tautologie f est-elle une tautologie? Coût : O(1) Il suffit de regarder si la racine de F est la feuille 1 ou non. Il est évident que cela a le même coût pour le problème de satisfiabilité. Satisfy 1 Un élément de S f. Coût : O(n) Il suffit de partir de la feuille 1 et de remonter un chemin jusqu à la racine. La complexité est en O(n), car la hauteur maximale du graphe est le nombre de variables de X. Une autre possibilité est de partir de la racine puis de choisir un fils qui n est pas la feuille 0. On réitère ainsi jusqu à arriver à la feuille 1. On y arrivera forcément car si un noeud v est différent de la feuille 0 et 1, les feuilles 0 et 1 doivent obligatoirement appartenir aux sous-graphes racinés en v. Satisfy all Tous les éléments de S f. Coût : O(n. S f ) Il suffit de réitérer autant de fois que nécessaire le Satisfy-1. Satisfy count S f. Coût : O( F ) Il faut parcourir entièrement le graphe pour pouvoir compter la multiplicité de chaque noeud. Le résultat cherché est la multiplicité de la feuille 1. Application d un opérateur logique f 1 f 2 Coût de l ordre de O( F 1. F 2 ) Il faut faire l opération logique puis réduire le graphe ainsi obtenu car il ne l est pas. Il existe un algorithme pour la fonction APPLY dans [Bryant, 1992]. Égalité de deux fonctions f 1 et f 2 Coût de l ordre de : O( F 1 ) Il faut tester l égalité de deux graphes car il y a unicité du ROBDD. La complexité des opérations sur les ROBDD est très peu élevée et donc il peut paraître intéressant de les utiliser. Mais il ne faut pas se fier à ces apparences. En effet, toutes les complexités sont en fonction de la taille du graphe du ROBDD. Or cette taille peut être exponentielle par rapport à la fonction booléenne et on se retrouve à nouveau avec des complexités plus élevées. Le problème majeur des ROBDD se trouve donc dans la taille du graphe.

18 Problème NP-Complet Nous avons vu précédemment que la taille du graphe dépend grandement de l ordre des variables. Il est donc intéressant d étudier le problème suivant : Étant donné une fonction booléenne f sur X, déterminer l ordre σ sur X qui minimise la taille du ROBDD représentant f Malheureusement, il a été démontré que ce problème est NP-Complet. (voir [Nikolskaïa, 2000]) Considérons le multiplicateur à n-bits. Soit a 1,,a n et b 1,,b n les entrées (sous forme binaire) du multiplicateur. Le circuit possède 2n sorties correspondant à l encodage binaire de a.b. Chaque sortie peut être vue comme une fonction booléenne dépendant des entrées. Dans [Bryant, 1992], il a été montré qu au moins une des fonctions de sortie requiert un ROBDD ayant au moins 2 n 8 noeuds. On voit ainsi que même le meilleur ordre pour une fonction booléenne f est exponentielle en fonction du nombre de variables la définissant Lien entre données et fonctions booléennes Caractérisation d objets par leurs attributs On s intéresse à k objets pouvant avoir n attributs. Chaque objet peut être caractérisé par l absence ou la présence des attributs. On peut ainsi avoir une représentation binaire des objets : en effet, pour chaque attribut possible de l objet, on définit une variable booléenne indiquant l absence ou la présence de cet attribut. La description de l objet revient ainsi à déterminer les valeurs des variables booléennes. Voici un exemple de 5 objets pouvant avoir 6 attributs. L objet O 3 a seulement les attributs x 4 et x 6. Objets x 1 x 2 x 3 x 4 x 5 x 6 O O O O O Pour chaque paire i,j d objets, on peut définir un ensemble d attributs pour lesquels ces objets diffèrent. Définition 13 ( (i, j)). On note (i, j) l ensemble des variables booléennes telles que les valeurs de ces variables différent pour l objet i et l objet j. On obtient ainsi pour les objets O 1 et O 2 : (1,2) = {x 1,x 2,x 4,x 6 }. A partir de cet ensemble, on peut définir une fonction booléenne qui réalise la disjonction de toutes les variables formant (i, j). On note f i,j cette fonction booléenne. Cette fonction est vraie si et seulement si au moins l une des variables pour lesquelles les objets diffèrent est vraie. Cette fonction permet ainsi de savoir si les deux objets sont différents pour certains attributs. On a donc f 1,2 = x 1 x 2 x 4 x 6. Il est évident que f i,j = f j,i. A partir de toutes les fonctions f i,j, on peut construire leur conjonction : F = k i,j=1 j<i f i,j

19 17 Dans notre exemple, on obtient ainsi la fonction suivante : F = (x 1 x 2 x 4 x 6 ) (x1 ) (x2 x 3 x 4 x 6 ) (x3 ) (x2 x 4 x 6 ) (x1 x 3 ) (x1 x 2 x 3 x 4 x 6 ) (x1 x 2 x 3 x 4 x 6 ) (x1 x 3 ) (x2 x 4 x 6 ) Cette fonction permet de caractériser l ensemble des objets et les relations entre eux : si tous les objets sont identiques, alors la fonction F est la fonction 0. De plus, si un attribut i est identique chez tous les objets, on a alors F qui ne dépend pas de la variable x i. On peut ainsi caractériser l information se trouvant dans les objets en étudiant cette fonction. Etude de la fonction booléenne obtenue On s intéresse à la fonction F obtenue à partir de la caractérisation des objets : il s agit de représenter en ROBDD. La fonction F est décrite sous forme normale conjonctive. On peut s intéresser aux tailles des clauses de F. Or cette taille, pour une clause f i,j, est exactement (i,j). On peut ainsi caractériser la taille des clauses en fonction de la table. Si l on veut appliquer l heuristique HMA (définie en 1.5), il faut que la taille possible des clauses soit un intervalle réduit et peu élevé (par exemple [2,4]). Or, pour que ce soit le cas, il faut que les données soient creuses, c est-à-dire que les objets diffèrent très peu les uns des autres. Il est possible d avoir d autres types de données : les données pleines. Dans ce cas, contrairement aux données creuses, les attributs des objets diffèrent beaucoup les uns des autres. On se retrouve avec des tailles de clauses appartenant à un intervalle réduit et élevé (par exemple [35, 40] pour une cinquantaine d attributs). Sur ce type de données, on peut appliquer une heuristique adaptée à ce type de problème. Enfin, on peut avoir des données de type mixte : les objets peuvent différer grandement les uns des autres ou être relativement proches. On obtient ainsi un intervalle grand (du type [2,35]). Pour ce type de donnée, il est difficile d appliquer une heuristique efficace car le domaine d application est trop vaste. Nous venons de lier le choix de l heuristique à appliquer aux types des données en entrées et non plus au type de la fonction booléenne. A partir du ROBDD ainsi obtenu, on peut extraire les ensembles minimaux de la fonction F. Définition 14 (Ensemble minimal d une fonction). Soit f une fonction booléenne définie sur X. Soit A un sous-ensemble de X tel que f restreinte à A = 1 soit une tautologie. On dit que A est un ensemble minimal s il n existe pas d ensemble B A et tel que f restreinte à B = 1 soit aussi une tautologie. Une fois les ensembles minimaux de F découverts, on peut alors réécrire F comme la disjonction des fonctions caractéristiques des ensembles minimaux de F. On a ainsi obtenu une réécriture de F sous forme disjonctive. A partir de cette forme, on peut caractériser la fonction et recueillir des informations sur les objets dont on est partis.

20 Taille du ROBDD et ordre des variables Influence de l ordre des variables : un exemple Nous venons de voir que l ordre influait grandement sur la taille des ROBDD. Exemple. Soit f la fonction booléenne décrit par le ROBDD de la figure 1.7. Ce ROBDD représente une fonction booléenne f défini sur X = {x 0,,x 9 }. On remarque que l ordre est l ordre induit par l ensemble des indices I = {0,, 9}. La formule dnf de f est composée de 25 clauses conjonctives ayant de 2 à 6 variables dans chaque clause. Si l on change l ordre, par celuici : On obtient un graphe avec seulement 23 noeuds au lieu des 40 de l autre ordre. Le gain est de 42,5%. On perd presque la moitié des noeuds en changeant simplement l ordre des variables Techniques pour réduire la taille d un ROBDD Il existe toute une discussion sur les ordres et les tailles des graphes (voir [Nikolskaïa, 2000]). Malheureusement, le nombre de fonction booléenne où l on peut nettement réduire la taille du graphe est exponentiellement petit par rapport aux nombres de fonctions booléennes. Par contre, on connaît des familles de fonctions où l on sait pouvoir réduire considérablement la taille (fonctions symétriques,...). Dans ces cas, on sait qu il existe un ordre qui minimise grandement la taille du graphe. Pour trouver cet ordre optimal, on ne teste pas tous les ordres possibles (n! ordres possibles), il a été développé différentes techniques pour améliorer l ordre. Elles se divisent en deux familles distinctes. Réarrangement d ordre dynamique Cette famille part du principe que le ROBDD a déjà été construit, et donc qu il existe déjà un ordre sur celui-ci. On essaye d améliorer dynamiquement cet ordre en le modifiant légèrement pour réduire la taille. Pour modifier l ordre d un ROBDD déjà construit, on utilise une opération de base : le swap de variables adjacentes. Définition 15 ( Swap de variables adjacentes dans un ordre). Soient x i et x i+1 deux variables adjacentes dans l ordre (par exemple, x i x i+1 ). Le swap de x i et x i+1 est l opération qui consiste à inverser les positions dans l ordre de x i et x i+1 : ce qui donne x i+1 x i. Le swap de variables induit un swap des noeuds au niveau du ROBDD : tous les noeuds qui étaient aux niveaux des deux variables changent de niveau. Il existe un théorème : Théorème (Coût d un swap de variables dans un ROBDD). Le swap de la variable x i et x i+1 dans un ROBDD peut être réalisé en un coût de l ordre de O( L i + L i+1 ) où L i (resp. L i+1 ) est le nombre de noeuds indexés par la variable x i (resp. x i+1 ). On peut, à partir de cette définition, réaliser l échange de n importe quelle paire de variables dans le ROBDD. Ceci revient à permuter les niveaux des noeuds. On utilise généralement une autre technique : la Window permutation. Sur l ensemble des variables de X = n, on choisit la taille m d une fenêtre. On fait se déplacer cette fenêtre sur l ensemble ordonné X. Pour chaque position de la fenêtre, on réalise toutes les permutations possibles des variables incluses dans la fenêtre. Une fois toutes les permutations réalisées, on garde

21 FIG. 1.7 ROBDD de f : G = 40 l ordre ayant minimisé la taille. On réitère cette permutation pour chaque position de la fenêtre, on réalise ainsi (n m + 1).m! permutations au lieu des n! ordres possibles. Cette technique dépend grandement de la taille de la fenêtre. En général, une taille de 3-4 est utilisée. Elle assure pas d avoir l ordre optimal mais elle permet de s en approcher pour un coût faible.

22 FIG. 1.8 ROBDD de f avec un autre ordre : G = 23 Autres méthodes Il existe d autres méthodes que celles décrites précédemment. Tout d abord, les ROBDD sont beaucoup utilisés dans le domaine des circuits logiques. On représente ainsi les fonctions booléennes utilisées dans des circuits logiques (multiplexeurs,...). Pour déterminer l ordre, on utilise d autres heuristiques

23 21 qui se basent sur la topologie du circuit étudié. Ces heuristiques ont de bons résultats en général. Malheureusement, cette technique ne s applique qu à ce type de fonction. Il existe une autre méthode pour déterminer un ordre : les algorithmes génétiques. On code pour chaque individu un ordre. On réalise des opérateurs de croisements et de mutations sur ces ordres. On crée ainsi une population d individus. La fonction d évaluation utilisée est la taille du graphe calculée pour l ordre de l individu. On cherche ainsi les meilleurs individus qui minimisent la fonction d évaluation. Grâce à tout ceci, on peut créer un algorithme génétique qui essaie d optimiser l ordre. Le gros inconvénient de cette technique est la nécessité, pour chaque individu,de calculer le ROBDD de la fonction avec l ordre de l individu. Or, pour des fonctions à 10 variables et 100 clauses, le temps de création d un ROBDD avec un ordre fixé est de l ordre de plusieurs secondes. Il faut multiplier ce temps par la taille de la population et ceci à chaque génération. Le coût de cette technique en terme de temps est très élevé. On pourrait réduire ce temps, si l on avait un moyen d estimer rapidement la taille du ROBDD en fonction de l ordre sans avoir à créer le ROBDD. 1.5 Heuristiques permettant de réduire la taille des graphes Une heuristique particulière : HMA Il existe une autre famille d algorithmes permettant de rechercher l ordre optimal d une fonction booléenne. Cette famille construit l ordre avant la construction du ROBDD, elle est donc statique. On utilise pour cela des heuristiques qui essaient de prédire le meilleur ordre pour la fonction booléenne étudiée. Certaines heuristiques réalisent de bons résultats sur des familles particulières de fonctions booléennes. Ces heuristiques sont spécialisées, mais il n existe pas d heuristique ayant de bons résultats dans le cadre général. On se propose d étudier une heuristique en particulier : HMA. Cette heuristique est destinée aux fonctions booléennes appartenant à la famille des fonctions exacte-2-cnf. Elle a été définie par Nikolskaïa dans [Nikolskaia and Rauzy, 1998]. L algorithme HMA prend en entrée une formule booléenne 2-cnf et donne en sortie un ordre sur les variables. Algorithme 1 HMA calcule un ordre sur les variables Pré-condition : f formule booléenne sous forme 2-cnf Réaliser un ordre intermédiaire σ i en triant par ordre décroissant les variables en fonction de leur nombre d apparition p(v) dans f. tant que σ i n est pas vide faire Prendre la première variable v 1 dans σ i. pour chaque variable c des clauses où v 1 apparaît faire p(c) = p(c) 1 fin pour Enlever de σ i les variables v telles que p(v) = 0 et les ajouter à l ordre σ fin tant que Exemple. Soit f la formule booléenne f = (a c) (a d) (a h) (b c) (b e) (e h). Voici comment fonctionne HMA :

24 22 L ordre ainsi obtenu est : a d b c e h. v a b c d e h Étape 1 p(v) f f f itération 1 p(v) f f itération 2 p(v) f itération 3 p(v) Résultats de l heuristique [Nikolskaia and Rauzy, 1998] a étudié cette heuristique simplement dans le cadre des formules 2-cnf. Les résultats sont impressionnants. Cette heuristique est très adaptée à cette famille de formules. On obtient pour une réécriture aléatoire d une formule des tailles qui varient de noeuds à un peu moins de noeuds pour un ordre quelconque. Avec l heuristique, la taille des ROBDD reste à peu près constante : elle est d environ noeuds. On se retrouve en général dans le meilleur des cas. L ordre ainsi obtenu n est pas forcément l ordre optimal (on peut descendre légèrement en dessous) mais il en est relativement proche. L intérêt de l heuristique est que l on réduit considérablement la taille et que l on s approche grandement de la taille minimale pour un coût faible. L heuristique n a pas été étudiée par l auteur de l article dans d autres familles que les fonctions 2-cnf. Nous avons essayé cette heuristique dans le cadre de formules 2-dnf. Là aussi,l heuristique a de meilleurs résultats qu un ordre quelconque. Elle réduit la taille de 20 à 25 %. Nous l avons aussi essayée avec des fonctions disjonctives où la taille des clauses pouvait varier dans un intervalle. Nous avons essayé plusieurs types d intervalles. Les exemples donnés ici sont sur X tel que X = 50. Intervalle réduit et peu élevé (par exemple [2, 5]) : l heuristique se trouve dans son domaine de prédilection. Ses résultats sont donc très bons. Elle améliore grandement un ordre quelconque. Intervalle réduit et élevé (par exemple [35, 40]) : l heuristique améliore légèrement l ordre mais son gain est faible. Il faut trouver une autre heuristique plus adaptée que HMA. Intervalle grand (par exemple [2,35]) : le gain est très variable selon les cas. On améliore toujours l ordre quelconque. Les résultats de l heuristique dépendent de la forme de la formule booléenne. Il faut donc vérifier la forme avant d appliquer l heuristique, tout en sachant que pour l instant, il n a pas été trouvé d heuristique adaptée pour les intervalles de la forme [35, 40] et [2, 35] Généralisation de HMA : une nouvelle heuristique Le problème de l heuristique HMA est que sa performance se réduit au cadre des fonctions 2-cnf ou 2-dnf. Il peut être intéressant de généraliser cette heuristique dans le cadre de fonctions booléennes quelconques sous formes cnf ou dnf. Pour cela, il faut modifier l algorithme de l heuristique. Tout d abord, nous avons besoin de définir la fréquence relative d une variable dans une formule booléenne sous forme cnf (identique pour la forme dnf) :

25 23 Définition 16 (Fréquence relative). Soit f une fonction booléenne sous forme cnf : f = n i=1 f i. On note p fi (x k ) la fréquence de x k dans f i et f i le nombre de littéraux de f i. On a alors p fi (x k ) sa fréquence relative de la variable x k par rapport à f i qui est : p fi (x k ) = p f i (x k ) f i A partir de cette notion, on peut alors définir la fréquence relative de x k par rapport à f : p(x k ) = n i=1 p fi (x k ) f i La fréquence relative d une variable nous permet de déterminer l importance d une variable par rapport aux autres variables au sein d une même clause et donc dans une fonction. Cela permet de pénaliser une variable qui est souvent présente dans des clauses de grandes tailles par rapport aux variables moins présentes mais dans des clauses plus petites. Ainsi, cela relativise la fréquence d une variable par rapport à la taille des clauses. Grâce à cette fréquence relative, on peut généraliser HMA : Algorithme 2 HMOI calcule un ordre sur les variables Pré-condition : f formule booléenne sous forme dnf ou cnf Réaliser un ordre intermédiaire σ i en triant par ordre décroissant les variables en fonction de leur fréquence relative p(v) dans f. tant que σ i n est pas vide faire Prendre la première variable v 1 dans σ i. pour chaque clause f i où v 1 apparaît faire pour chaque variable c de f i faire p(c) = p(c) 1 f i fin pour fin pour Enlever de σ i les variables v telles que p(v) = 0 et les ajouter à l ordre σ fin tant que Voyons voir par la pratique comment fonctionne cette heuristique : Exemple. Soit f la formule booléenne f = (b c) (d h) (a c) (a d h) Voici comment fonctionne HMOI : Étape 1 p(v) 5 6 v a b c d e h f f itération 1 p(v) f itération 2 p(v) f itération 2 p(v)

26 24 L ordre ainsi obtenu est : c b a d h e. Si l on applique l algorithme original de HMA, on obtient alors l ordre suivant : a d c b h e. Pour cet ordre, le ROBDD de f possède 9 noeuds, alors que celui réalisé avec l ordre de HMOI n a que 8 noeuds. Il faut quand même faire attention. En effet, dans ce cas particulier, si l on prend l ordre naturel (a b c ), le ROBDD n a alors que 7 noeuds. Ce ne sont que des heuristiques et l on obtient pas forcément le meilleur ordre ou que l on améliore pas forcément l ordre déjà existant. Remarque. L algorithme de HMOI est une généralisation de HMA. En effet, dans le cadre de fonctions booléennes sous forme exact-x-cnf ou exact-x-dnf (c-à-d quand la taille des clauses est fixe), les deux heuristiques coïncident et donnent le même ordre. Dans ce cadre, la fréquence relative est proportionnelle à la fréquence de la variable, donc les deux heuristiques classent les variables dans le même ordre. Ceci nous permet de pouvoir bénéficier de l efficacité de HMA dans ce cadre et d essayer de l améliorer dans les autres cas Résultats des heuristiques L exemple précédent a montré qu il faut faire attention aux résultats des heuristiques. En effet, cellesci ne nous assurent pas d avoir le meilleur ordre possible, et si l ordre naturel est déjà le meilleur ordre (ou qu il s en approche), alors l ordre calculé par l heuristique peut s éloigner de la taille minimale. Il est intéressant de voir la répartition de la taille des graphes en fonction des ordres. On étudie une fonction booléenne f définie sur 9 variables, ayant 50 clauses dont la taille varie de 2 à 5 variables. On a testé l ensemble des 9! (soit un peu plus de ) ordres possibles sur cette fonction. Pour chaque ordre, on a calculé la taille du ROBDD associé. On peut ainsi de voir comment se répartissent ces tailles : pour chaque taille de graphe, on a totalisé le nombre d ordre qui réalise cette taille. La figure 1.9 nous donne les résultats factoriels.data hma nombre d ordres hmoi taille du graphe nombre de variables : 9 nbre de clauses : 50 taille des clauses : 2-5 FIG. 1.9 Nombres d ordres en fonction de la taille du ROBDD On remarque que la répartition des ordres nous donne une gaussienne. Il serait intéressant de savoir si

27 25 cette répartition est généralisable à n importe quelle fonction booléenne ou est-elle due au cas particulier étudié. Cela nous permet aussi de pouvoir tester l efficacité des heuristiques. Si la répartition suit une gaussienne, alors en choisissant un ordre au hasard, on a de fortes chances de se trouver dans l intervalle de confiance de la gaussienne. On peut donc voir où se trouvent les ordres donnés par les heuristiques : ils se trouvent dans cet intervalle, l heuristique n apporte pas grand chose par rapport à un choix au hasard de l ordre, alors que si l ordre se trouve en dehors de cet intervalle, on a un gain important et l heuristique devient intéressante. Si on étudie le cas particulier donné ici, on a une répartition des tailles de graphes de 22 noeuds (avec 6 ordres possibles) jusqu à une taille de 55 avec 12 ordres possibles. On observe une multiplication par 2,5 entre le nombre minimal de noeuds et le nombre maximal de noeuds. Les tailles les plus fréquentes se trouvent entre 29 et 41 noeuds (avec entre et ordres possibles à chaque fois). Si on s intéresse aux heuristiques, on obtient 31 noeuds avec l heuristique HMOI, 33 avec HMA et l ordre naturel. On se trouve encore près du pic de la gaussienne mais HMOI se trouve un peu plus bas que HMA. On peut donc encore améliorer ces heuristiques en résultat brut. Malheureusement, on ne peut pas étudier les résultats bruts des heuristiques dans un cadre plus général, car il faudrait générer les n! ordres possibles et les ROBDD associés. Pour pouvoir les étudier, on les compare donc entre elles. Les résultats obtenus sont donnés dans la figure hmoi hnous hma 0-20 Gain Axe X : nombre de clauses nombre de variables : 25 taille des clauses 2-10 nombre d essais 20 FIG Gain de la taille des graphes pour différentes heuristiques dans un cas particulier Pour tester les heuristiques, on génère aléatoirement des fonctions booléennes en fonctions de certains paramètres. On étudie comment les heuristiques réagissent en fonction de la variation du nombre de clauses, du nombre de variables ou de la taille des clauses dont est constituée la fonction booléenne. Dans la figure 1.10, on se trouve dans le cadre de données creuses où on augmente le nombre de clauses. On s intéressera seulement aux heuristiques HMA et HMOI car la troisième heuristique (HNOUS) n est efficace que dans un cas particulier. On voit ici, que le gain de HMOI est toujours supérieur au gain de HMA d à peu près 10 points. On remarque aussi que HMOI nous permet de diviser par deux la taille du graphe dans les meilleurs cas et lorsque le nombre de clause augmente alors le gain augmente environ de

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

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

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

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

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

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

Algèbre binaire et Circuits logiques (2007-2008)

Algèbre binaire et Circuits logiques (2007-2008) Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits

Plus en détail

2.4 Représentation graphique, tableau de Karnaugh

2.4 Représentation graphique, tableau de Karnaugh 2 Fonctions binaires 45 2.4 Représentation graphique, tableau de Karnaugh On peut définir complètement une fonction binaire en dressant son tableau de Karnaugh, table de vérité à 2 n cases pour n variables

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

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

Structures algébriques

Structures algébriques Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe

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

CHAPITRE 5. Stratégies Mixtes

CHAPITRE 5. Stratégies Mixtes CHAPITRE 5 Stratégies Mixtes Un des problèmes inhérents au concept d équilibre de Nash en stratégies pures est que pour certains jeux, de tels équilibres n existent pas. P.ex.le jeu de Pierre, Papier,

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

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

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

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

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

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

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

Premiers exercices d Algèbre. Anne-Marie Simon

Premiers exercices d Algèbre. Anne-Marie Simon Premiers exercices d Algèbre Anne-Marie Simon première version: 17 août 2005 version corrigée et complétée le 12 octobre 2010 ii Table des matières 1 Quelques structures ensemblistes 1 1.0 Ensembles, relations,

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

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

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

Développement décimal d un réel

Développement décimal d un réel 4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce

Plus en détail

Algorithmes d'apprentissage

Algorithmes d'apprentissage Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt

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

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre : Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant

Plus en détail

LIVRE BLANC Décembre 2014

LIVRE BLANC Décembre 2014 PARSING MATCHING EQUALITY SEARCH LIVRE BLANC Décembre 2014 Introduction L analyse des tendances du marché de l emploi correspond à l évidence à une nécessité, surtout en période de tension comme depuis

Plus en détail

Probabilité. Table des matières. 1 Loi de probabilité 2 1.1 Conditions préalables... 2 1.2 Définitions... 2 1.3 Loi équirépartie...

Probabilité. Table des matières. 1 Loi de probabilité 2 1.1 Conditions préalables... 2 1.2 Définitions... 2 1.3 Loi équirépartie... 1 Probabilité Table des matières 1 Loi de probabilité 2 1.1 Conditions préalables........................... 2 1.2 Définitions................................. 2 1.3 Loi équirépartie..............................

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

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

avec des nombres entiers

avec des nombres entiers Calculer avec des nombres entiers Effectuez les calculs suivants.. + 9 + 9. Calculez. 9 9 Calculez le quotient et le rest. : : : : 0 :. : : 9 : : 9 0 : 0. 9 9 0 9. Calculez. 9 0 9. : : 0 : 9 : :. : : 0

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

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

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

Cours Premier semestre

Cours Premier semestre C.Belleudy, D.Gaffé Université de Nice-Sophia Antipolis DEUG Première année SM,MP,MI UECS EEA Électronique Numérique Cours Premier semestre C. Belleudy, D.Gaffé version 3. 2 Électronique Numérique Chapitre

Plus en détail

TSTI 2D CH X : Exemples de lois à densité 1

TSTI 2D CH X : Exemples de lois à densité 1 TSTI 2D CH X : Exemples de lois à densité I Loi uniforme sur ab ; ) Introduction Dans cette activité, on s intéresse à la modélisation du tirage au hasard d un nombre réel de l intervalle [0 ;], chacun

Plus en détail

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.

Plus en détail

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES Dominique LAFFLY Maître de Conférences, Université de Pau Laboratoire Société Environnement Territoire UMR 5603 du CNRS et Université de Pau Domaine

Plus en détail

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire CHAPITRE N5 FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION FONCTIONS LINEAIRES NOTION DE FONCTION Code item D0 D2 N30[S] Items étudiés dans le CHAPITRE N5 Déterminer l'image

Plus en détail

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA 75. Un plombier connaît la disposition de trois tuyaux sous des dalles ( voir figure ci dessous ) et il lui suffit de découvrir une partie de chacun d eux pour pouvoir y poser les robinets. Il cherche

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

IFT1215 Introduction aux systèmes informatiques

IFT1215 Introduction aux systèmes informatiques Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d

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

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

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

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

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

Probabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2

Probabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2 Probabilités Table des matières I Petits rappels sur le vocabulaire des ensembles 2 I.1 s................................................... 2 I.2 Propriétés...................................................

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

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

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Calcul différentiel sur R n Première partie

Calcul différentiel sur R n Première partie Calcul différentiel sur R n Première partie Université De Metz 2006-2007 1 Définitions générales On note L(R n, R m ) l espace vectoriel des applications linéaires de R n dans R m. Définition 1.1 (différentiabilité

Plus en détail

Équations non linéaires

Équations non linéaires Équations non linéaires Objectif : trouver les zéros de fonctions (ou systèmes) non linéaires, c-à-d les valeurs α R telles que f(α) = 0. y f(x) α 1 α 2 α 3 x Equations non lineaires p. 1/49 Exemples et

Plus en détail

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

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par

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

Coup de Projecteur sur les Réseaux de Neurones

Coup de Projecteur sur les Réseaux de Neurones Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche

Plus en détail

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

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

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

FONCTION DE DEMANDE : REVENU ET PRIX

FONCTION DE DEMANDE : REVENU ET PRIX FONCTION DE DEMANDE : REVENU ET PRIX 1. L effet d une variation du revenu. Les lois d Engel a. Conditions du raisonnement : prix et goûts inchangés, variation du revenu (statique comparative) b. Partie

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Chapitre 1 : Évolution COURS

Chapitre 1 : Évolution COURS Chapitre 1 : Évolution COURS OBJECTIFS DU CHAPITRE Savoir déterminer le taux d évolution, le coefficient multiplicateur et l indice en base d une évolution. Connaître les liens entre ces notions et savoir

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

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

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

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55

Plus en détail

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation ) DÉRIVÉES I Nombre dérivé - Tangente Eercice 0 ( voir animation ) On considère la fonction f définie par f() = - 2 + 6 pour [-4 ; 4]. ) Tracer la représentation graphique (C) de f dans un repère d'unité

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

Raisonnement probabiliste

Raisonnement probabiliste Plan Raisonnement probabiliste IFT-17587 Concepts avancés pour systèmes intelligents Luc Lamontagne Réseaux bayésiens Inférence dans les réseaux bayésiens Inférence exacte Inférence approximative 1 2 Contexte

Plus en détail

CAC, DAX ou DJ : lequel choisir?

CAC, DAX ou DJ : lequel choisir? CAC, DAX ou DJ : lequel choisir? 1. Pourquoi cette question Tout trader «travaillant 1» sur les indices s est, à un moment ou un autre, posé cette question : «je sais que la tendance est bien haussière

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

Simulation de variables aléatoires

Simulation de variables aléatoires Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo

Plus en détail

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) Bernard Le Stum Université de Rennes 1 Version du 13 mars 2009 Table des matières 1 Fonctions partielles, courbes de niveau 1 2 Limites et continuité

Plus en détail

Economie de l Incertain et des Incitations

Economie de l Incertain et des Incitations Economie de l Incertain et des Incitations CHAPITRE 2 Eléments de théorie des jeux en information symétrique et asymétrique Equilibres Bayesiens - Université de Tours - M1 AGE - Arnold Chassagnon - Automne

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

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

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

Fondements de l informatique Logique, modèles, et calculs Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................

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

1 Complément sur la projection du nuage des individus

1 Complément sur la projection du nuage des individus TP 0 : Analyse en composantes principales (II) Le but de ce TP est d approfondir nos connaissances concernant l analyse en composantes principales (ACP). Pour cela, on reprend les notations du précédent

Plus en détail

Chapitre 3. Les distributions à deux variables

Chapitre 3. Les distributions à deux variables Chapitre 3. Les distributions à deux variables Jean-François Coeurjolly http://www-ljk.imag.fr/membres/jean-francois.coeurjolly/ Laboratoire Jean Kuntzmann (LJK), Grenoble University 1 Distributions conditionnelles

Plus en détail

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

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes

Plus en détail

Classe de première L

Classe de première L Classe de première L Orientations générales Pour bon nombre d élèves qui s orientent en série L, la classe de première sera une fin d étude en mathématiques au lycée. On a donc voulu ici assurer à tous

Plus en détail

Cours de mathématiques

Cours de mathématiques DEUG MIAS premier niveau Cours de mathématiques année 2003/2004 Guillaume Legendre (version révisée du 3 avril 2015) Table des matières 1 Éléments de logique 1 1.1 Assertions...............................................

Plus en détail

Probabilités conditionnelles Loi binomiale

Probabilités conditionnelles Loi binomiale Exercices 23 juillet 2014 Probabilités conditionnelles Loi binomiale Équiprobabilité et variable aléatoire Exercice 1 Une urne contient 5 boules indiscernables, 3 rouges et 2 vertes. On tire au hasard

Plus en détail

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé EXERCICE 1 5 points Commun à tous les candidats 1. Réponse c : ln(10)+2 ln ( 10e 2) = ln(10)+ln ( e 2) = ln(10)+2 2. Réponse b : n 13 0,7 n 0,01

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

Qu est-ce qu une probabilité?

Qu est-ce qu une probabilité? Chapitre 1 Qu est-ce qu une probabilité? 1 Modéliser une expérience dont on ne peut prédire le résultat 1.1 Ensemble fondamental d une expérience aléatoire Une expérience aléatoire est une expérience dont

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

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

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

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

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

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

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

Polynômes à plusieurs variables. Résultant

Polynômes à plusieurs variables. Résultant Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

Quelques algorithmes simples dont l analyse n est pas si simple Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire

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