Colonies d abeilles et SAT parallèle

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

Download "Colonies d abeilles et SAT parallèle"

Transcription

1 Colonies d abeilles et SAT parallèle MÉMOIRE présenté le 3 juillet 2014 pour l obtention du Master Deuxième Année de l Université d Artois Spécialité Informatique par Nicolas SZCZEPANSKI Encadrants : Gilles Audemard Professeur à l Université d Artois Jean-Marie Lagniez Chercheur Post-Doctorant au CRIL Laurent Simon Professeur à l Université de Bordeaux Sébastien Tabary Maître de conférence à l Université d Artois CENTRE DE RECHERCHE EN INFORMATIQUE DE LENS CNRS UMR 8188 Université d Artois, rue Jean Souvraz, S.P. 18 F-62307, Lens Cedex France Secrétariat : Tél.: +33 (0) Fax : +33 (0)

2 Mise en page avec memcril (B. Mazure, CRIL) et thloria (D. Roegel, LORIA).

3 Table des matières Table des figures Liste des Algorithmes iv vi Remerciements 2 Introduction générale État de l art Chapitre 1 Le probleme SAT La logique propositionnelle Syntaxe de la logique propositionnelle Syntaxe Formules bien formées Sémantique de la logique propositionnelle Sémantique Définitions et théorèmes Formes normales Le problème SAT i

4 Table des matières Chapitre 2 SAT en parallèle Modèles parallèles Préliminaires Modèles d exécution Modèles de programmation Résoudre SAT en parallèle Le modèle concurrentiel Les solveurs concurrentiels Le solveur PENELOPE Le modèle collaboratif Le chemin de guidage Le chemin de guidage : le rééquilibrage des charges Les solveurs de type chemin de guidage Cube And Conquer Algorithme L heuristique de coupure L heuristique de choix de variables La résolution des cubes Conclusion Chapitre 3 Les problèmes de bandits Le problème de bandits classique Multi-armed bandit La stratégie d allocation et regret La stratégie UCB Définition et exemple Exemple d application L algorithme UCT Squelette de l algorithme Explication Conclusion Contribution ii

5 Chapitre 4 Une méta-heuristique des colonies d abeilles butineuses pour SAT Une méta-heuristique massivement parallélisable Le choix du comportement à adopter La communication Hiérarchie Déroulement de l algorithme mémétique Conclusion Chapitre 5 Une adaptation d UCT pour SAT : l algorithme SCOUT Le choix d UCT pour générer des cubes Description de l algorithme SCOUT La descente La descente : Les valeurs UCB La descente : la création de nouveaux fils La descente : les conflits et littéraux déjà affectés La sélection La simulation La remontée La récupération des cubes Conclusion Chapitre 6 Résultats Le programme Expérience sur les variables des cubes Expérimentation Conclusion Conclusion 60 Bibliographie 62 iii

6 Table des figures 1.1 Connecteurs logiques usuels de la logique propositionnelle Schémas de processeurs Parallélisme concurrentiel Diagramme des clauses apprises dans PENELOPE Parallélisme «diviser pour régner» Chemin de guidage rééquilibrage des charges : état initial, F etg travaillent rééquilibrage des charges : F a terminé son sous-arbre,g travaille rééquilibrage des charges : F informe le maître,g travaille rééquilibrage des charges : F récupère un chemin de guidage depuis le maître rééquilibrage des charges : le maître n a plus de chemin à fournir, il stoppeg rééquilibrage des charges : G envoie son chemin de guidage rééquilibrage des charges : les chemins de guidage sont rééquilibrés Cube And Conquer Des bandits manchots Étape de l algorithme UCT Hiérarchie des tâches de chaque solveur SAT inspirée des colonies d abeilles butineuses Déroulement de l algorithme mémétique Structure des nœuds dans notre algorithme SCOUT La descente dans notre algorithme SCOUT Calcul des valeurs UCB dans SCOUT Conflit ou littéral déjà affecté à une valeur opposée lors de la descente dans notre algorithme SCOUT Littéral déjà affecté lors de la descente dans notre algorithme SCOUT La sélection dans notre algorithme SCOUT La remontée dans notre algorithme SCOUT Affinage de l arbre de SCOUT par un algorithme de colonie d abeilles Fichier.cubes Nombre de variables dans les cubes (partie 1) Nombre de variables dans les cubes (partie 2) Nombre de variables dans les cubes (partie 3) : UTI-20-5p1 : clauses et variables Information sur la création des cubes iv

7 6.6 Résultat : Informations sur tous les cubes Information sur les cubes uniquement satisfiables Informations sur le meilleur cube satisfiable uniquement Numéro des cubes satisfiables des instances en possédant v

8 Liste des Algorithmes 1 CC UCT descenteselectionuct(r) remontéeuct(p,r) descentescoutv1(r) descentescoutv2(r) récupcube(r) vi

9 LISTE DES ALGORITHMES 1

10 Remerciements En premier lieu, je tiens à remercier Eric Grégoire de m avoir permis d effectuer ce stage au sein du CRIL. Je remercie aussi mes encadrants Gilles Audemard, Jean-Marie Lagniez, Laurent Simon et Sébastien Tabary pour leurs nombreuses relectures ainsi que leurs précieux conseilles. Je tiens également à remercier mes camarades de promotion pour leur sympathie et pour leur convivialité. Ma famille et plus particulièrement, Élodie, pour ces nombreuses corrections. 2

11 Introduction générale LE PROBLÈME DE SATISFAISABILITÉ BOOLÉENNE, abrégé par SAT, est un problème de décision visant à savoir s il existe un assignement qui satisfait une formule de la logique propositionnelle, ou qui détermine qu un tel assignement n existe pas. Nous classons respectivement ces formules comme satifiables ou insatifiables. SAT est un problème théoriquement important car il a été le premier problème à être prouvé NP-Complet [Coo71]. Malgré une complexité théorique difficile, les solveurs SAT modernes sont devenus étonnamment efficaces et permettent de résoudre de nombreux problèmes venant d applications industrielles (planification, vérification formelle, bio-informatique, etc.). Deux raisons essentielles peuvent justifier cette performance. La première est algorithmique et, est due à l envol des solveurs SAT modernes de type CDCL (apprentissage, VSIDS, watched literal,...). Tandis que la seconde est technologique et, est intrinsèquement liée à un doublement des fréquences de fonctionnement des microprocesseurs qui a lieu tous les dix-huit mois (ce phénomène est nommé la loi de Moore). Ainsi, jusqu à 2005, les solveurs SAT modernes pouvaient profiter de ce gain technologique afin de résoudre des problèmes de plus en plus difficiles. Cependant, à l heure actuelle, à cause de l échauffement important des microprocesseurs à des fréquences avoisinant les 4 GHz, il n a plus été envisageable d accroître les performances des solveurs de cette manière. En effet, les constructeurs ont donc décidé d opter pour une multiplication des unités de calcul afin de toujours doubler la puissance des ordinateurs. De ce fait, le problème SAT doit être repensé par les développeurs de manière à s adapter à un modèle de programmation parallèle. Le problème SAT a longtemps été pensé et codé sur un modèle séquentiel. Une adaptation conséquente est donc nécessaire afin de pouvoir bénéficier du parallélisme. A ce jour, deux méthodes permettent la résolution d un problème SAT en parallèle : une méthode collaborative et une autre concurrentielle exposées au chapitre 2. Ces méthodes peuvent rencontrer deux problèmes technologiques freinant le calcul. Le premier, appelé le goulot d étranglement de Von Neumann, est une surcharge du bus entre les processeurs et la mémoire. Le deuxième est un coût de communication dans les algorithmes parallèles pouvant être trop important. Les tentatives de parallélisation pour SAT ont en majeure partie échouées. En effet, les approches parallèles actuelles limitent au maximum le partage des informations et n arrivent pas à suivre entièrement la loi de Moore comme il était possible dans le passé. De plus, les méthodes ne passent pas à l échelle : le fait d augmenter le nombre de cœurs dégrade les performances [ABK13]. Actuellement, un des meilleurs solveur parallèle est un simple outil lançant en concurrence les meilleurs solveurs de l état de l art [Rou12]. Dans un but massivement parallèle, nous nous inspirons du comportement de la nature (essaim d abeilles, colonie de fourmis, génétique,...) afin de définir un nouveau schéma de parallélisation. En effet, dans la nature, nous retrouvons beaucoup de situations où des tâches doivent être réalisées en collaboration. Par exemple, la coopération des fourmis via des phéromones leur permet de pouvoir faire des tâches complexes comme la recherche de nourriture à plusieurs endroits distincts (tâche qui ne pourrait pas être réalisée pas une seule fourmi). Ainsi, ces fourmis sont capables d obtenir rapidement une bonne 3

12 Introduction générale solution sur le problème du voyageur de commerce [DG97]. Ces algorithmes, nommés algorithmes mémétiques, font partie des d algorithmes d optimisations (algorithme de colonie de fourmis, algorithme d essaim d abeilles,...). Grâce à une adaptation face au problème concerné, ces algorithmes proposent une série de concepts pouvant être exploités afin de définir des algorithmes massivement parallèles. Dans ce manuscrit, nous proposons d utiliser les algorithmes de colonies d abeilles pour résoudre SAT sur une architecture massivement parallèle. Tout d abord, après une présentation de la logique propositionnelle, nous exposons le problème SAT accompagné d un exemple (chapitre 1). Puis, nous expliquons les notions de la parallélisation pour exposer un état de l art des solveurs SAT parallèles. Nous distinguons alors les deux méthodes générales pour paralléliser le problème SAT : le modèle concurrentiel et modèle collaboratif (chapitre 2). Nous abordons ensuite des notions qui sont essentielles dans nos travaux : le dilemme exploitation/exploration ainsi que l algorithme UCB (chapitre 3). Nos contributions commencent par une subtile adaptation de l algorithme des colonies d abeilles butineuses pour une parallélisation massive du problème SAT. Ce modèle nécessite la mise en place de nombreux concepts tournant autour de l organisation des abeilles butineuses. En effet, dans leur recherche de nectar, les abeilles ont chacune leurs propres rôles à exécuter (abeilles scouts, abeilles butineuses, abeilles recrues). De plus, ces abeilles sont de deux types différents : celles sans mémoire et celles en possédant (abeilles expérimentées). Les fonctionnalités nombreuses des abeilles butineuses mettent donc en jeu autant de méta-heuristiques à adapter dans notre contexte. Ce modèle est exposé dans le chapitre 4, il définit chaque rôle distinct des abeilles, et chaque liaison entres elles dans le cadre d une parallélisation massive du problème SAT. Dû aux multiples tâches que représentent ce modèle, nous nous sommes dans un premier temps concentré sur la création d une abeille de type scout. Les abeilles scouts ont pour fonction d explorer les alentours afin de trouver des fleurs possédant un maximum de nectars. Dans le contexte de SAT, nous avons défini qu il s agit d avoir une méthode générant des cubes. Nous entendons par un cube, une interprétation partielle en SAT : une conjonction de littéraux. Sachant que, par la suite, d autres abeilles butineuses pourront toujours affiner ces cubes via notre modèle de colonie d abeilles. Notre deuxième contribution exposée dans le chapitre 5 a donc pour objectif de créer un ensemble de cubes : nous avons nommé cette méthode SCOUT. De plus, nous souhaitons ordonner les cubes du meilleur au moins bon. Néanmoins, estimer la qualité d une interprétation partielle est aussi difficile que de résoudre l instance initiale. À l intérieur du chapitre 2, nous avons choisi de décrire en détail la méthode Cube And Conquer (CC) [HKWB12] pour une bonne raison. Il se trouve que celle-ci possède un point commun avec nos travaux : elle effectue aussi une division en millions de cubes. De plus, dans l optique de choisir les meilleurs cubes dans un arbre de recherche, nous avons été confrontés au dilemme exploitation/exploration : fautil exploiter un cube déjà considéré comme bon en lui rajoutant des littéraux ou retenter notre chance avec un nouveau cube. Récemment, la naissance d un algorithme pour les jeux à deux joueurs nommé UCT traite ce problème : exploiter un état de la partie qui semble être bon, ou explorer d autres états moins bons. Nous avons donc adapté l algorithme UCT afin de générer des cubes dans notre méthode SCOUT. Avant de conclure, nous exposons les résultats apportés par quelques expérimentations afin d étudier la qualité des cubes générés par notre méthode SCOUT. La méthode SCOUT n est qu une première brique utilisée dans notre modèle de colonie d abeilles pour SAT dans un but massivement parallèle. Une thèse suivant ces travaux aura pour acquis le travail fourni pendant ce stage. 4

13 État de l art 5

14 Chapitre 1 Le probleme SAT La logique propositionnelle Sommaire 1.1 Syntaxe de la logique propositionnelle Syntaxe Formules bien formées Sémantique de la logique propositionnelle Sémantique Définitions et théorèmes Formes normales Le problème SAT CE CHAPITRE a pour objectif de présenter brièvement le problème SAT pour boolean SATisfiability problem d une formule propositionnelle. Nous rappelons tout d abord la syntaxe puis la sémantique de la logique propositionnelle. Après quelques définitions et propriétés sur cette logique, nous exposerons ce qu est le problème SAT en l accompagnant d un exemple. Ce chapitre, représentant des notions de base connues dans la littérature, est destiné aux lecteurs ne connaissant pas le problème SAT. 1.1 Syntaxe de la logique propositionnelle Syntaxe Définition (Vocabulaire de la logique propositionnelle). La base de la syntaxe du calcul des propositions sont les variables propositionnelles ou propositions atomiques, notées p, q, x,... qui constituent généralement un ensemble infini dénombrable. Cette syntaxe contient aussi des symboles de ponctuation qui sont souvent notées "(", ")", "[" et "]". De plus, les deux constantes propositionnelles et représentent respectivement le "faux" et le "vrai". Pour finir, elle est constituée de l ensemble des connecteurs logiques usuels, présentés dans la figure

15 1.2. Sémantique de la logique propositionnelle Nom Négation Conjonction Disjonction Implication Equivalence Ou exclusif Arité Unaire Binaire Binaire Binaire Binaire Binaire Symbole FIGURE 1.1 Connecteurs logiques usuels de la logique propositionnelle Formules bien formées La syntaxe permet de distinguer les formules bien formées parmi les assemblages quelconques de symboles. Définition (Formules de la logique propositionnelle). Les phrases du langage de la logique propositionnelle sont obtenues récursivement à partir des propositions et d un ensemble de règles syntaxiques. Ces phrases sont appelées formules : Toute propositionxest une formule (règle de base) ; SiF etg sont des formules, alors F, (F G), (F G), (F G), (F G) et (F G) sont des formules (règle d induction) ; Une formule s obtient uniquement à partir des règles de base et d induction (règle de fermeture). 1.2 Sémantique de la logique propositionnelle Sémantique La sémantique de la logique propositionnelle est compositionnelle : c est-à-dire que la signification d une formule sera en fonction de celle de ses constituants. La valeur de vérité d une formule dépendra uniquement de sa composition. Définition (Sémantique de la logique propositionnelle). Chaque variable propositionnelle (x 1,x 2,...,x n ) est interprétée comme vraie ou fausse ; sif est une formule, alors F est vraie si et seulement sif est fausse ; sif etg sont des formules, alors : (F G) est vraie si et seulement sif etg sont vraies ; (F G) est vraie si et seulement sif oug est vraie ; (F G) est vraie si et seulement sif est fausse oug est vraie ; (F G) est vraie si et seulement sif etg sont soit toutes deux vraies, soit toutes deux fausses ; (F G) est vraie si et seulement si seul F ou seulg est vraie (pas les deux en même temps) Définitions et théorèmes Définition (Interprétation). Une interprétation est une fonction qui associe à toute variable propositionnelle une valeur de vérité. Cette fonction, dont le domaine est l ensemble des propositions, est prolongée à l ensemble des formules au moyen des règles de la sémantique. Le prolongement correspondant est encore appelé interprétation. 7

16 Chapitre 1. Le probleme SAT La logique propositionnelle Définition (Modèle). Un modèle d une formule est une interprétation de cette formule qui la vérifie, c est-à-dire, qui lui associe la valeur vraie. Définition (Falsifie). Par opposition, on dit qu une interprétation falsifie une formule lorsqu elle lui associe la valeur faux. Définition (Satisfiable, Insatisfiable). On dit qu une formule est satisfiable ou consistante si et seulement si il existe au moins un modèle qui la vérifie, sinon elle est insatisfiable. Définition (Conséquence logique). Si tout modèle d une formulef est modèle d une formuleg alors G est une conséquence logique de F, notéf = G. Définition (Logiquement équivalentes). Les formules F et Gsont logiquement équivalentes, si F = G etg = F, noté F G. Définition (Formule valide, Tautologie). Lorsque la formule F est vérifiée par toutes ses interprétations, F est une tautologie. On dit aussi que F est valide et on notera cette assertion F. Définition (Théorème de la déduction). Soit F et G deux formules propositionnelles, on a F = G si et seulement si F G est une formule insatisfiable. Exemple. Voici quelques tautologie de la logique propositionnelle : Nom Expressions Définition de F G F G Définition de (F G) ((F G) (G F)) (( F G) ( G F)) Modus ponens ((F G) F) G Modus tollens ((F G) G) F Contraposition (F G) ( G F) 1.3 Formes normales Définition (Littéral, Clause, Terme). Un littéral est une variable propositionnelle ou bien sa négation : x et x sont des littéraux ; Une clause est une disjonction de littéraux : une formule de la forme (x 1 x 2... x n ) où chaque x n représente un littéral ; Un terme (ou cube) est une conjonction de littéraux : une formule de la forme (x 1 x 2... x n ) où chaque x n représente un littéral. Définition (NNF, DNF, CNF). Nous distinguons trois formes normales particulières : Une formule propositionnelle est dite sous forme normale négative (NNF pour Negative Normal Form) si elle est exclusivement constituée de conjonctions, de disjonctions et de littéraux ; Une formule propositionnelle est dite sous forme normale disjonctive (DNF pour Disjonctive Normal Form) si c est une disjonction de termes ; Une formule propositionnelle est dite sous forme normale conjonctive (CNF pour Conjonctive Normal Form) si c est une conjonction de clauses. 8

17 1.4. Le problème SAT Pour toute formule de la logique propositionnelle, il existe une formule équivalente sous forme normale. 1.4 Le problème SAT Définition (Le problème SAT). Le problème SAT est le problème de décision qui consiste à savoir si une formule sous forme normale conjonctive possède ou pas un modèle (si elle est satisfiable). Le problème SAT occupe un rôle très important en théorie de la complexité puisqu il représente le problème NP-Complet de référence [Coo71]. C est donc un problème théoriquement difficile pour un ordinateur, mais il possède des méthodes de résolution très efficaces en pratique. On peut citer les solveurs SAT modernes de type CDCL qui sont une grande avancée dans l histoire de ces solveurs. De nombreux problèmes s y rapportent naturellement ou le contiennent. Grâce à la performance des solveurs SAT moderne, certains problèmes préfèrent être traduits en SAT (CNF) afin de bénéficier d une efficacité plus accrue comparée à leurs propres méthodes de résolutions. Le problème SAT contient de nombreuses applications en planification classique (ordonnancement de tâches, robot sur mars,...), vérification (model checking,...), diagnostic (d erreurs dans les circuits électroniques,...), bio-informatique, CSP, etc. À présent, nous allons exposer un petit exemple de traduction d un problème CSP en SAT. Exemple. Soit un petit problème ne contenant que deux variables x et y, avec une seule contrainte : x+y = 3. Ces deux variables ont respectivement les domaines suivants : {1,2,3} et {0,1,4}. Le problème consiste à savoir comment attribuer les variables sur leurs domaines respectifs tout en respectant la contrainte. Sachant qu il existe des méthodes de résolutions propres à CSP, nous choisissons de l encoder en CNF afin de comprendre le mécanisme de SAT. Il existe plusieurs encodages possibles, nous choisissons l encodage direct. Tout d abord, nous encodons les variables et leurs domaines en clauses, pour cela, nous aurons de nouvelles variables propositionnelles : x i et y i correspond respectivement à x = i et y = i. x 1 x 2 x 3 représente le domaine dex ; x 1 x 2 la variablexne peut pas prendre pour valeur en même temps 1 et 2 ; x 1 x 3 la variablexne peut pas prendre pour valeur en même temps 1 et 3 ; x 2 x 3 la variablexne peut pas prendre pour valeur en même temps 2 et 3 ; y 0 y 1 y 4 représente le domaine dey ; y 0 y 1 la variabley ne peut pas prendre pour valeur en même temps 0 et 1 ; y 0 y 4 la variabley ne peut pas prendre pour valeur en même temps 0 et 4 ; y 1 y 4 la variabley ne peut pas prendre pour valeur en même temps 1 et 4. Puis nous codons les couples de valeursxety impossibles à cause de la contrainte : x 1 y 0, x 1 y 1, x 1 y 4, x 2 y 0, x 2 y 4, x 3 y 1, x 3 y 4. Toutes ces clauses forment une CNF. Un solveur SAT peut donc trouver un modèle comme : x 2 =, y 1 = et le reste des variables propositionnelles à faux. La solution associée en CSP est x = 2 et y = 1. 9

18 Chapitre 2 SAT en parallèle Sommaire 2.1 Modèles parallèles Préliminaires Modèles d exécution Modèles de programmation Résoudre SAT en parallèle Le modèle concurrentiel Les solveurs concurrentiels Le solveur PENELOPE Le modèle collaboratif Le chemin de guidage Le chemin de guidage : le rééquilibrage des charges Les solveurs de type chemin de guidage Cube And Conquer Algorithme L heuristique de coupure L heuristique de choix de variables La résolution des cubes Conclusion LONGTEMPS étudié dans un contexte séquentiel pour ses nombreuses applications industrielles (planification, vérification formelle, bio-informatique, etc.), le problème SAT a fait éclore des algorithmes efficaces et puissants qui s expliquent à la fois par l envol des solveurs SAT modernes (apprentissage, VSIDS, watched literal) et l accroissement de la puissance de calcul. Ainsi, les solveurs SAT modernes permettent de résoudre des problèmes considérables contenant des millions de variables et de clauses. Cependant, de nombreuses instances restent encore inabordables dues à leur immense dimension et difficulté structurelle. Par ces complications, la parallélisation des algorithmes de résolution pour SAT semble nécessaire. Davantage par le fait qu actuellement la puissance d un ordinateur ne se traduit plus par une amplification des fréquences du microprocesseur mais par l augmentation du nombre de cœurs au sein de celui-ci. Néanmoins, la parallélisation d un problème NP-Complet est une tâche ardue, l efficacité qui en résulte reste atténuée sur de nombreux cœurs. 10

19 2.1. Modèles parallèles Au préalable, afin de comprendre cette accommodation, nous allons présenter les triviales notions de la parallélisation ainsi que ses propres modèles d exécution et de programmation. Cela nous servira à appréhender les deux aspects distincts de la parallélisation du problème SAT : à savoir les méthodes de types «diviser pour régner» dites collaboratives et, à l opposé des méthodes concurrentielles. Après avoir relaté un historique partiel des solveurs représentant ces deux approches, nous présenterons en détail deux techniques se basant sur l approche collaborative : le chemin de guidage (Guiding path) ainsi que la méthode originale Cube And Conquer. En conclusion, nous discuterons du sujet de ce manuscrit ainsi que la voie choisie pour élaborer notre tâche, à savoir, mettre en œuvre un modèle permettant la résolution du problème SAT à l aide des algorithmes de colonies d abeilles dans un but massivement parallèle. 2.1 Modèles parallèles PROCESSEUR MONO-CŒUR Cœur de calcul PROCESSEUR MULTI-CŒUR Cœur 1 Cœur 2 Cœur 3 Cœur 4 Mémoire cache L1 Mémoire cache L2 L1 dédiée L1 dédiée L1 dédiée L1 dédiée L2 partagée FIGURE 2.1 Schémas de processeurs Depuis l invention du premier microprocesseur (intel 4004) en 1971, Gordon Moore observe en 1975 que le nombre de transistors des microprocesseurs sur une puce de silicium se réplique tous les deux ans. Cette observation appelée loi de Moore n est pas une loi physique mais une extrapolation empirique qui s est révélée étonnamment fidèle pour le moment, elle s est traduite par une augmentation des fréquences de fonctionnement des microprocesseurs. Mais depuis environ 2005, à cause de l échauffement important des microprocesseurs à des fréquences avoisinant les 4 GHz, il n a plus été envisageable pour les entreprises de les accroître. En contrepartie, il est aujourd hui possible d ajouter plusieurs cœurs de calcul au sein du même microprocesseur (figure 2.1). De cette manière, les industriels annoncent toujours doubler la puissance de leur microprocesseur pour ainsi honorer la loi de Moore. Néanmoins, les développeurs ne voient pas ce gain directement, et doivent s apprivoiser à un modèle de programmation dit alors parallèle. Une contrainte embarrassante car tous les algorithmes voulant bénéficier du multi-cœur doivent être repensés. La loi de Moore ne sera probablement plus exacte dans le futur, et commence déjà à ne plus l être, certaines entreprises disent ne pas la respecter pour des raisons énergétiques et écologiques (informatique verte, netbook,...). De plus, l industrie approche de plus en plus des limites physiques de la micro-électronique où les transistors ne seront plus constitués que de quelques atomes et l isolant entre eux d un seul. Afin de mieux comprendre les rouages de cette programmation parallèle, nous allons présenter quelques notions élémentaires Préliminaires Définition (Parallélisme). Le parallélisme en informatique donne la possibilité d exécuter plusieurs instructions conjointement. 11

20 Chapitre 2. SAT en parallèle Définition (Exécution séquentielle, exécution parallèle). Une exécution séquentielle est une exécution faite sur une unité de calcul (cœur) tandis qu une exécution parallèle est une exécution faite sur plusieurs unités de calculs. Définition (Temps d exécution séquentiel, temps d exécution parallèle). Le temps d exécution d un programme séquentiel représentant un problème P est le temps écoulé entre le lancement du programme et l obtention du résultat, nous le notons Tsec. P Le temps d exécution d un programme représentant un problème P en parallèle sur n processus est l instant où le dernier processus a terminé son travail, nous le notons Tpar(n). P Définition (Accélération absolue, accélération relative). L accélération absolue représente le nombre de fois que le programme a été accéléré grâce à son exécution en parallèle par rapport au temps d exécution séquentielle du meilleur algorithme connu résolvant un problème P : Acc ab (n)= T P sec T P par(n) L accélération relative représente le nombre de fois que le programme a été accéléré grâce à son exécution en parallèle par rapport au temps d exécution du même programme lancé sur un seul cœur : Acc ab (n)= T P par(1) T P par(n) Définition (Efficacité). L efficacité représente la qualité de la parallélisation en fonction du nombre de processeurs : Eff(n)= Acc(n) n Définition (Extensibilité). L extensibilité d un algorithme parallèle est sa capacité à maintenir son efficacité quelque soit le nombre de processeurs utilisés. Exemple. Les solveurs SAT ont souvent une extensibilité réduite due à la difficulté du probléme NP- Complet. Définition (Accélération super linéaire, accélération linéaire, accélération sous linéaire). Quand une accélération dépasse le gain possible de la parallélisation, cela montre que le programme en question obtient donc aussi un gain algorithmique en plus de ce gain : cette accélération est dite super linéaire. Elle est obtenue lorsque Acc(n) > n pour n processeurs. Dans le cas contraire, si Acc(n) < n (respectivement Acc(n) = n) pour n processeurs, l accélération est dite sous linéaire (respectivement linéaire). Exemple. Pour un algorithme résolvant le problème SAT, des performances super linéaires sur une instance sont possibles si le parallélisme a permis de diminuer fortement la taille de l arbre de recherche en fonction du nombre de cœurs. Cela peut s avérer fréquent pour des problèmes satisfiables, moins pour des problèmes insatisfiables.néanmoins, ce cas n est pas abondant, il est difficile de trouver la bonne manière pour partager l arbre de recherche efficacement Modèles d exécution Il existe plusieurs manières d exécuter plusieurs tâches simultanément, une classification nommée taxinomie de Flynn [Fly72] a été élaborée afin de les distinguer. Elle contient donc l architecture de von 12

21 2.1. Modèles parallèles Neumann : modèle d exécution des machines séquentielles. Définition (SISD, SIMD, MISD, MIMD). La taxinomie de Flynn développe quatre modèles distincts : Single Instruction Single Data (SISD) : machine séquentielle d un seul processeur pouvant traiter un seul flot d instructions accompagné d un seul flot de données ; Single Instruction Multiple Data (SIMD) : machine constituée de plusieurs processeurs pouvant traiter un seul flot d instructions accompagné de plusieurs flots de données ; Multiple Instruction Single Data (MISD) : machine constituée de plusieurs processeurs pouvant traiter plusieurs flots d instructions accompagnés d un seul flot de données ; Multiple Instruction Multiple Data (MIMD) : machine constituée de plusieurs processeurs pouvant traiter plusieurs flots d instructions accompagnés de plusieurs flots de données. Le modèle connu du monde séquentiel SISD n exploite aucun parallélisme, tant au niveau des instructions qu à celui de la mémoire (architecture de von Neumann). SIMD est une machine qui utilise le parallélisme au niveau de la mémoire, comme le processeur vectoriel ou le processeur graphique (Graphics processing unit (GPU)). MISD est un modèle spécifique à certain traitement qui est généralement utilisé pour sa tolérance envers les pannes, ce modèle s exécute plus particulièrement sur des tableaux systoliques de processeur. Pour finir, MIMD est le plus répandu, le plus souple à utiliser, et appliquer par défaut dans le domaine SAT. Dans ce modèle, plusieurs processeurs traitent des données différentes, car chacun d eux possède une mémoire distincte. Les ordinateurs multi-cœurs sont basés sur ce modèle tandis que les supercalculateurs sont en général basés sur un MIMD hybride. Le modèle MIMD peut être exécuté sur différentes architectures selon la façon d accéder à la mémoire, cette classification a été introduite par [Joh88]. Définition (CC-UMA, CC-NUMA, NoRMA). Le modèle MIMD a trois architectures cibles sur lesquelles s exécuter : Cache Coherent - Uniform Memory Access (CC-UMA) : la mémoire est globale et partagée à la même vitesse par tous les processeurs d un ordinateur. Cache Coherent - Non Uniform Memory Access (CC-NUMA) : la mémoire est globale et partagée à des vitesses différentes par tous les processeurs d un ordinateur. No Remote Memory Access (NoRMA) : la mémoire est distribuée sur les processeurs, chaque processeur accède uniquement à sa mémoire locale. Les architectures CC-UMA et CC-NUMA sont Cache Coherent, cela veut dire que la cohérence des mémoires caches est garantie par l ordinateur. Dans l architecture CC-UMA, chaque processeur accède à la mémoire à la même vitesse grâce à un bus d interconnexion, ce qui limite la taille à quelques dizaines de cœurs. Typiquement, un ordinateur multi-cœurs est d architecture CC-UMA. Par contre, l architecture CC-NUMA ne possède pas de bus d interconnexion : chaque cœur possède une mémoire locale qui lui est directement adressable à très grande vitesse et une autre, adressable par tous les cœurs, mais à vitesse réduite. Ce qui permet à cette architecture d accueillir plus de cœurs que CC-UMA mais pour un coût de cohérence des mémoires caches plus important. L architecture NoRMA est très opposée aux deux autres : elle ne possède pas de mémoire globale. Le partage de l information s effectue d une manière différente : l échange de messages entre processeurs à travers le réseau d interconnexion. Néanmoins, cette architecture a l atout de pouvoir compter plusieurs milliers de cœurs grâce à des difficultés de conception moindre. Le sujet de ce manuscrit, étant basé sur une application massivement parallèle de 13

22 Chapitre 2. SAT en parallèle SAT, se doit donc par défaut de choisir cette architecture. Remarquons que les supercalculateurs actuels sont en général constitués d une hybridation des architectures présentées ci-dessus : quasiment tous basés sur une interconnexion NoRMA de nœuds CC-UMA ou CC-NUMA Modèles de programmation Nous venons de voir que la communication entre les processeurs ne se fait toujours pas de la même façon suivant l architecture utilisée, ainsi, cela a un impact sur les algorithmes et la manière de programmer. Nous allons présenter ici, deux modèles conceptuels de communication pour écrire des algorithmes parallèles. Définition (PRAM). Dans le modèle de programmation Parallel Random Access Machine (PRAM), la mémoire est directement accessible par l ensemble des processeurs. Or, les accès concurrents en écriture à la mémoire sont une complication pour le programmeur. Pour cela, il doit explicitement gérer des verrous d accès pour s assurer qu un seul processeur accède à une variable lors de l écriture. Les architectures cibles pour ce type de programmation sont les machines CC-UMA et CC-NUMA. Définition (DRAM). Dans le modèle de programmation Distributed Random Access Machine (DRAM), chaque unité de calcul a seulement accès en temps constant à sa propre mémoire locale. La seule manière de communiquer est de la faire explicitement par l échange de messages. L architecture cible est la machine NoRMA. Utile pour le modèle de programmation DRAM, la bibliothèque de fonctions Message Passing Interface (MPI), conçue en 1993, est une norme utilisable avec les langages C, C++ et Fortran. Elle permet d exploiter des ordinateurs distants ou multiprocesseurs par passage de messages. Le terme calcul parallèle (respectivement distribué) est associé au modèle de programmation PRAM (respectivement DRAM). A ne pas confondre avec la définition d un algorithme distribué (ou réparti) qui est généralement un algorithme parallèle (mais pas toujours, exemple, une communication téléphonique) réparti sur plusieurs sites. Nos approches dans ce manuscrit seront basées sur le modèle de programmation DRAM, qui possède avec les algorithmes de colonies d abeilles le point commun d utiliser un système d échange de messages. Nous allons maintenant étudier les approches pour résoudre SAT en parallèle. 2.2 Résoudre SAT en parallèle Nous présenterons dans cette section les deux modèles permettant de faire travailler les processus en parallèle pour le problème SAT ainsi que quelques solveurs respectifs. D une part, nous avons le modèle collaboratif (coopératif) basé sur le paradigme «diviser pour régner» puis, d un autre côté, le modèle concurrentiel, qui exécute en parallèle plusieurs solveurs séquentiels en concurrence sur le même problème. Nous acheminerons ainsi la notion de chemin de guidage, centrale dans le modèle collaboratif, qui nous permettra de circonscrire une méthode originale nommée Cube And Conquer [HKWB12] étudiée dans la prochaine section Le modèle concurrentiel Le modèle concurrentiel aussi nommé portfolio fait fonctionner les processeurs sur le même problème sans le partager, mais en l exécutant sur différentes stratégies de résolution avec des paramétrages divers et variés. Ainsi, le premier trouvant la solution (SAT ou UNSAT) arrête tous les autres (figure 2.2). 14

23 2.2. Résoudre SAT en parallèle Solveur 1 Solveur 2 Solveur 3 Solveur 4 Solution FIGURE 2.2 Parallélisme concurrentiel Bien sûr, cela n a de sens que pour les problèmes qui possèdent plusieurs algorithmes distincts à leur actif fourmillant de paramètres sensibles ou ayant un comportement aléatoire. Il se trouve que le problème SAT en regorge et qui plus est, les solveurs modernes sont extrêmement sensibles au moindre changement de paramètre : cela s explique par la structure interne des instances que connaît le problème SAT. Il est donc nécessaire que l ensemble des solveurs fasse leurs recherches le plus différemment possible afin de former un ensemble complémentaire. Les solveurs concurrentiels utilisent en général le modèle de programmation PRAM afin de pouvoir partager des informations utiles à tous les processeurs Les solveurs concurrentiels Il existe de nombreux solveurs concurrentiels, nous en mentionnons une liste non exhaustive ayant pour but de voir une certaine évolution. Dans le domaine des solveurs incomplets, citons le parallélisme du solveur GNOVELTY + T [PG09] qui est simplement l exécution concurrentielle et indépendante de plusieurs solveurs GNOVELTY + [PTGS08] utilisant une recherche locale stochastique afin de varier la recherche. Le solveur GNOVELTY + utilise un mécanisme de poids sur les clauses non satisfaites, incrémenté à chaque fois que la clause a été testée non satisfaite. Cela améliore le choix de la prochaine variable dont la valeur sera inversée. Les solveurs complets modernes de type CDCL (ZCHAFF [Her03], MINISAT [SE02], PICOSAT [Bie08],...) sont une extension de la procédure DPLL. La procédure CDCL, d abord introduite par [SS96], a apporté son lot d améliorations au fil du temps : le backjumping, l apprentissage de clauses, l heuristique VSIDS, les restarts et une structure de données efficace nommée Watched literals. Un atout de la procédure CDCL dans le monde parallèle est le partage des clauses apprises parmi les solveurs exécutés. Le solveur complet MANYSAT tente de tirer parti de cet avantage en jouant sur la sensibilisation des paramètres des solveurs CDCL [HS09]. Il procède à un échange des clauses apprises parmi les processeurs. Néanmoins, un coût de communication ralentit la recherche, il faut donc décongestionner un canal de communication trop encombré. Les auteurs mettent en place une limite basée sur la taille des clauses échangées : elles doivent être de taille inférieure ou égale à 8. De plus, afin de réaliser une recherche orthogonale et complémentaire, les auteurs proposent de différencier les solveurs sur leur stratégie de redémarrage, de choix de variables, de choix de polarité et d apprentissage. D un autre côté, le solveur PLINGELING propose d échanger uniquement les clauses unaires avec des solveurs dont la stratégie diffère [Bie10]. 15

24 Chapitre 2. SAT en parallèle Malgré cela, un simple outil de parallélisation statique PPFOLIO fait tourner les meilleurs solveurs en concurrence sans échange de clause, et obtient de meilleurs résultats [Rou12]. A présent, nous allons détailler le solveur PENELOPE, possédant l originalité de s attaquer au surplus de clauses apprises en proposant de «geler» certaines d entre elles [AHJ + 12] Le solveur PENELOPE PENELOPE [AHJ + 12] est un solveur concurrentiel de type portefolio reprenant pour socle le solveur MANYSAT. Intégrant les approches efficaces du cadre séquentiel (propagation unitaire, structure de données paresseuses, heuristique basée sur l activité des variables, apprentissage de clauses, etc.), son atout est d intégrer une technique récente permettant d aménager la base de clauses apprises pour les différencier suivant leur utilité à un instant donné du solveur. Voyons tout d abord la notion du progress saving qui consiste à préserver la dernière polarité de chaque variable dans une interprétation complète notée P. Ainsi quand une décision sera prise, le solveur choisit pour valeur de vérité d une variable de décision cette polarité sauvegardée. Le travail accompli par le solveur pour résoudre les sous-problèmes traversés avant d atteindre un conflit devient donc plus utile [PD07]. Néanmoins, cette technique a le désavantage de ne pas assez diversifier la recherche. Pour gérer la base de clauses apprises, les auteurs de [ALMS11] ont défini une mesure nommée progress saving based quality measure (PSM) définie comme suit : pour une clause C et une interprétation complète P représentant la dernière polarité de chaque variable (le progress saving) : PSM(C) = P C Quand PSM(C)est petit, la clause C a plus de chance de participer à la propagation unitaire, elle est donc pour nous importante et pertinente. A l inverse, si PSM(C)est grand, cela signifie que la clause a plus de chance d être satisfaite par un littéral, elle est donc moins utile à cet instant de la recherche. Cet effet est dû à l interprétationp qui nous donne une image de l état courant de la recherche. L heuristique PSM est utilisée pour classer les clauses apprises des solveurs. On peut distinguer 3 types de clauses apprises : Les clauses actives A : clauses utilisées dans la recherche ; Les clauses gelées G : clauses inutilisées dans la recherche mais encore en mémoire (enlevées de la liste des watched-literals) ; Et les clauses suppriméess de la mémoire. Périodiquement, la mesure PSM est calculée sur toutes les clauses apprises. Suivant un seuil L, les clauses ayant un petit PSM<Lsont activées. A l opposé, les clauses avec un grand PSM>Lsont gelées. Grâce au calcul périodique de PSM, les clauses changent donc de camp, pour devenir gelées ou dégelées (actives), suivant la recherche en cours. De plus, les clauses restant gelées trop longtemps et les clauses actives mais sans participation à la recherche depuis un trop long laps de temps K sont supprimées, ce qui nous donne notre troisième type de clauses apprises (figure 2.3) Le modèle collaboratif Le modèle collaboratif consiste à réduire récursivement l arbre de recherche en plusieurs sousproblèmes du même type (figure 2.4). Pour cela, plusieurs approches ont été proposées souvent bâties 16

25 2.2. Résoudre SAT en parallèle Non utilisée ( ) Non activée ( ) FIGURE 2.3 Diagramme des clauses apprises dans PENELOPE FIGURE 2.4 Parallélisme «diviser pour régner» sur une programmation ne demandant que des échanges minimes : le modèle DRAM. Nous exposerons la plus utilisée, qui découpe l arbre de recherche sous forme de trajet, intitulée chemin de guidage. Néanmoins, bien que cette division semble parfaite pour un solveur de type DPLL, elle pose souci au niveau des backtracks non chronologiques d un solveur CDCL : il se peut qu un processeur travaille pour rien. Un autre désavantage est la charge des processeurs qui est déséquilibrée, en effet, la division de l arbre de recherche nous donne deux sous-problèmes dont les difficultés diffèrent. Il faut donc amener une politique d équilibrage de charge qui peut s avérer coûteuse. De plus, contrairement à la méthode concurrentielle, cette technique doit attendre que tous les solveurs ont terminé leurs recherches pour prouver l intisfaisabilité d une instance Le chemin de guidage Dans cette section, nous présenterons l approche la plus populaire du modèle collaboratif : cette notion appelée chemin de guidage (Guiding path) a été proposée par [ZB94]. Cette approche consiste à conserver des chemins de recherche permettant d indiquer quels sont les sous-arbres à développer pour un processeur. Un tel chemin est représenté par un ensemble de couples(f i,c i ), ou F i est un littéral à propager et C i est une variable booléenne indiquant quelles branches sont en cours de calcul parmi les deux sous-arbres disponibles à partir de la variable provenant du littéralf i. Cette variable booléenne est définie comme suit : C i = les deux sous-arbres sont en cours de traitement ou traités. C i = un seul des deux sous-arbres est en cours de traitement ou traité. 17

26 Chapitre 2. SAT en parallèle Exemple. Le chemin de guidage de la figure 2.5 est ((x 1, ),(x 2, ),( x 3, )). A partir de celui-ci, il est possible d obtenir deux chemins de guidage différents qui permettront d orienter deux processeurs : (( x 1, )) et ((x 1, ),(x 2, ),( x 3, )). Par la suite, si un troisième processeur est inutilisé, nous pouvons appliquer ce même raisonnement sur la variable x 2 pour avoir trois chemins de guidage : (( x 1, )), ((x 1, ),( x 2, )) et ((x 1, ),(x 2, ),( x 3, )) FIGURE 2.5 Chemin de guidage Cette notion présente le défaut de donner au processeur des chemins dont le calcul est déséquilibré, en effet, il se peut qu un chemin soit très long à calculer tandis qu un autre se finisse instantanément. Afin de pallier à ce problème, un modèle d équilibrage de charge doit être installé. De plus, il est possible de diviser le travail en deux sous-chemins, l un contenant le littéral et l autre, son littéral complémentaire Le chemin de guidage : le rééquilibrage des charges Le rééquilibrage des charges est basé sur un modèle maître/esclave comme peut nous montrer la figure 2.6. Un processeur maître est chargé de distribuer les tâches aux esclaves tandis qu un processeur esclave est chargé de calculer une tâche. Le modèle mis en place pour équilibrer la charge par une distribution des chemins de guidage est généralement centralisé au sein du processeur maître. Le maître maintient à jour une liste de chemins de guidage. Un chemin permet de symboliser le futur travail sur un sous-arbre puisque le chemin permet de retrouver la racine d un sous-arbre. Un exemple du rééquilibrage des charges exposé est donné par les figures 2.7, 2.8, 2.9, 2.10, 2.11 et 2.12, partiellement tirés de [VS09]. 18

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

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

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

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

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

Programmation Par Contraintes

Programmation Par Contraintes Programmation Par Contraintes Cours 2 - Arc-Consistance et autres amusettes David Savourey CNRS, École Polytechnique Séance 2 inspiré des cours de Philippe Baptiste, Ruslan Sadykov et de la thèse d Hadrien

Plus en détail

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall L utilisation d un réseau de neurones pour optimiser la gestion d un firewall Réza Assadi et Karim Khattar École Polytechnique de Montréal Le 1 mai 2002 Résumé Les réseaux de neurones sont utilisés dans

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

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

Systèmes et traitement parallèles

Systèmes et traitement parallèles Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications

Plus en détail

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI. Facultés Universitaires Notre-Dame de la Paix, Namur Institut d Informatique Année académique 2003-2004 Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

Plus en détail

Modernisation et gestion de portefeuilles d applications bancaires

Modernisation et gestion de portefeuilles d applications bancaires Modernisation et gestion de portefeuilles d applications bancaires Principaux défis et facteurs de réussite Dans le cadre de leurs plans stratégiques à long terme, les banques cherchent à tirer profit

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

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

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe

Plus en détail

Programmation par contraintes. Laurent Beaudou

Programmation par contraintes. Laurent Beaudou Programmation par contraintes Laurent Beaudou On se trouve où? Un problème, une solution : la solution est-elle une solution du problème? simulation, vérification 2 On se trouve où? Un problème, une solution

Plus en détail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

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

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Architecture matérielle des systèmes informatiques

Architecture matérielle des systèmes informatiques Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par

Plus en détail

Stratégie de recherche adaptative en programmation par contrainte

Stratégie de recherche adaptative en programmation par contrainte Université Paul Sabatier École Nationale de l Aviation Civile Master 2 Recherche Informatique et Télécommunication parcours Intelligence Artificielle Simon Marchal Stratégie de recherche adaptative en

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

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

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

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

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

TD n o 8 - Domain Name System (DNS)

TD n o 8 - Domain Name System (DNS) IUT Montpellier - Architecture (DU) V. Poupet TD n o 8 - Domain Name System (DNS) Dans ce TD nous allons nous intéresser au fonctionnement du Domain Name System (DNS), puis pour illustrer son fonctionnement,

Plus en détail

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003 Problèmes d ordonnancement dans les systèmes de production Michel Gourgand Université Blaise Pascal Clermont Ferrand LIMOS CNRS UMR 6158 1 Le LIMOS Laboratoire d Informatique, de Modélisation et d Optimisation

Plus en détail

UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES. THÈSE présentée par :

UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES. THÈSE présentée par : UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES Laboratoire d Informatique Fondamentale d Orléans THÈSE présentée par : Hélène COULLON

Plus en détail

Intelligence Artificielle Planification

Intelligence Artificielle Planification Intelligence Artificielle Planification Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes

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

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES 1 AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES 2 Axes de recherche L activité du DIM LSC concerne la méthodologie de la conception et le développement de systèmes à forte

Plus en détail

Programmation parallèle et distribuée (Master 1 Info 2015-2016)

Programmation parallèle et distribuée (Master 1 Info 2015-2016) Programmation parallèle et distribuée (Master 1 Info 2015-2016) Hadoop MapReduce et HDFS Note bibliographique : ce cours est largement inspiré par le cours de Benjamin Renaut (Tokidev SAS) Introduction

Plus en détail

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7 PROCÉDURE D INSTALLATION Cegid Business V9 COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7 Sommaire 1. Introduction 2. Installation de SQL Server 2005 ou 2008 3. Installation de Cegid Business

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

«clustering» et «load balancing» avec Zope et ZEO

«clustering» et «load balancing» avec Zope et ZEO IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4

Plus en détail

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique NOM DE L'UE : Algorithmique et programmation C++ LICENCE INFORMATIQUE Non Alt Alt S1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques) MASTER INFORMATIQUE Non

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation des tableaux sémantiques dans les logiques de description Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca

Plus en détail

Apprentissage par renforcement (1a/3)

Apprentissage par renforcement (1a/3) Apprentissage par renforcement (1a/3) Bruno Bouzy 23 septembre 2014 Ce document est le chapitre «Apprentissage par renforcement» du cours d apprentissage automatique donné aux étudiants de Master MI, parcours

Plus en détail

Système de stockage IBM XIV Storage System Description technique

Système de stockage IBM XIV Storage System Description technique Système de stockage IBM XIV Storage System Description technique Système de stockage IBM XIV Storage System Le stockage réinventé Performance Le système IBM XIV Storage System constitue une solution de

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme? Exercices Alternatifs Quelqu un aurait-il vu passer un polynôme? c 2004 Frédéric Le Roux, François Béguin (copyleft LDL : Licence pour Documents Libres). Sources et figures: polynome-lagrange/. Version

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

La surveillance réseau des Clouds privés

La surveillance réseau des Clouds privés La surveillance réseau des Clouds privés Livre blanc Auteurs : Dirk Paessler, CEO de Paessler AG Gerald Schoch, Rédactrice technique de Paessler AG Publication : Mai 2011 Mise à jour : Février 2015 PAGE

Plus en détail

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service 10 tâches d administration simplifiées grâce à Windows Server 2008 R2 Faire plus avec moins. C est l obsession depuis plusieurs années de tous les administrateurs de serveurs mais cette quête prend encore

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

Introduction à la méthodologie de la recherche

Introduction à la méthodologie de la recherche MASTER DE RECHERCHE Relations Économiques Internationales 2006-2007 Introduction à la méthodologie de la recherche geraldine.kutas@sciences-po.org Les Etapes de la Recherche Les étapes de la démarche Etape

Plus en détail

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG Exploitations pédagogiques du tableur en STG Académie de Créteil 2006 1 EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG Commission inter-irem lycées techniques contact : dutarte@club-internet.fr La maquette

Plus en détail

THÈSE. Pour obtenir le grade de. Spécialité : Informatique. Arrêté ministériel : 7 août 2006. Présentée et soutenue publiquement par.

THÈSE. Pour obtenir le grade de. Spécialité : Informatique. Arrêté ministériel : 7 août 2006. Présentée et soutenue publiquement par. THÈSE Pour obtenir le grade de DOCTEUR DE L UNIVERSITÉ DE GRENOBLE Spécialité : Informatique Arrêté ministériel : 7 août 2006 Présentée et soutenue publiquement par Fabien GAUD le 02 Décembre 2010 ÉTUDE

Plus en détail

Multiprogrammation parallèle générique des méthodes de décomposition de domaine

Multiprogrammation parallèle générique des méthodes de décomposition de domaine Multiprogrammation parallèle générique des méthodes de décomposition de domaine Andréa Schwertner-Charão To cite this version: Andréa Schwertner-Charão. Multiprogrammation parallèle générique des méthodes

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

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

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

À qui s adresse cet ouvrage?

À qui s adresse cet ouvrage? Introduction Bienvenue dans le Guide de l administrateur de Microsoft Windows Server 2008. En tant qu auteur de plus de 65 livres, j écris des ouvrages professionnels sur la technologie depuis 1994. Au

Plus en détail

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL J. TICHON(1) (2), J.-M. TOULOTTE(1), G. TREHOU (1), H. DE ROP (2) 1. INTRODUCTION Notre objectif est de réaliser des systèmes de communication

Plus en détail

Eric Bertrand ebertrand@ixis-cib.com. 08/11/06 Maître de conférence 1

Eric Bertrand ebertrand@ixis-cib.com. 08/11/06 Maître de conférence 1 Calcul parallèle des options MC. Eric Bertrand ebertrand@ixis-cib.com 1 Plan Contexte du calcul parallèle Qualités requises Architecture Outillage Problèmes rencontrés perspectives 2 Contexte du calcul

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

Plus en détail

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges? Compétences générales Avoir des piles neuves, ou récentes dans sa machine à calculer. Etre capable de retrouver instantanément une info dans sa machine. Prendre une bouteille d eau. Prendre CNI + convocation.

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

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

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA

Plus en détail

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBLITÉ CONTINUE ET MOBILITÉ DES DONNÉES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

Plus en détail

1 ère partie : tous CAP sauf hôtellerie et alimentation CHIMIE ETRE CAPABLE DE. PROGRAMME - Atomes : structure, étude de quelques exemples.

1 ère partie : tous CAP sauf hôtellerie et alimentation CHIMIE ETRE CAPABLE DE. PROGRAMME - Atomes : structure, étude de quelques exemples. Référentiel CAP Sciences Physiques Page 1/9 SCIENCES PHYSIQUES CERTIFICATS D APTITUDES PROFESSIONNELLES Le référentiel de sciences donne pour les différentes parties du programme de formation la liste

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Competence Management System (Système de Gestion de Compétences)

Competence Management System (Système de Gestion de Compétences) Dispositif :... 3 Qu est-ce qu un CMS?... 3 Quels sont les dispositifs intégrés à un CMS... 3 Comment envoyer des emails?... 3 Puis-je envoyer des emails seulement à un groupe de personnes?... 4 Comment

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

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

Model checking temporisé

Model checking temporisé Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier

Plus en détail

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger.

Mises en relief. Information supplémentaire relative au sujet traité. Souligne un point important à ne pas négliger. Cet ouvrage est fondé sur les notes d un cours dispensé pendant quelques années à l Institut universitaire de technologie de Grenoble 2, au sein du Département statistique et informatique décisionnelle

Plus en détail

COMPTABILITÉ. Cap vers une gestion simplifiée. www.mercator.eu POUR LES UTILISATEURS COMPTABLES ET LES PROFESSIONNELS DE LA COMPTABILITÉ

COMPTABILITÉ. Cap vers une gestion simplifiée. www.mercator.eu POUR LES UTILISATEURS COMPTABLES ET LES PROFESSIONNELS DE LA COMPTABILITÉ COMPTABILITÉ Cap vers une gestion simplifiée POUR LES UTILISATEURS COMPTABLES ET LES PROFESSIONNELS DE LA COMPTABILITÉ www.mercator.eu EDITO «Et si vous voyiez la comptabilité de votre entreprise comme

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

Alchin Couderc Flambard TBSEID 2

Alchin Couderc Flambard TBSEID 2 Alchin Couderc Flambard Lycée Charles Blanc TBSEID 2 2008/2009 Depuis le début de notre formation en électronique en lycée professionnel nous avons vu plusieurs domaines d'intervention tel que le brun,

Plus en détail

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

Seconde Généralités sur les fonctions Exercices. Notion de fonction. Seconde Généralités sur les fonctions Exercices Notion de fonction. Exercice. Une fonction définie par une formule. On considère la fonction f définie sur R par = x + x. a) Calculer les images de, 0 et

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

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

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

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBILITE CONTINUE ET MOBILITE DES DONNEES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

Plus en détail

CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise

CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise Alors que les plates-formes PaaS (Platform as a Service) commencent à s imposer comme le modèle privilégié auprès des entreprises

Plus en détail

Hibernate vs. le Cloud Computing

Hibernate vs. le Cloud Computing Hibernate vs. le Cloud Computing Qui suis-je? Julien Dubois Co-auteur de «Spring par la pratique» Ancien de SpringSource Directeur du consulting chez Ippon Technologies Suivez-moi sur Twitter : @juliendubois

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Chapitre 1. L intérêt. 2. Concept d intérêt. 1. Mise en situation. Au terme de ce chapitre, vous serez en mesure de :

Chapitre 1. L intérêt. 2. Concept d intérêt. 1. Mise en situation. Au terme de ce chapitre, vous serez en mesure de : Chapitre 1 L intérêt Au terme de ce chapitre, vous serez en mesure de : 1. Comprendre la notion générale d intérêt. 2. Distinguer la capitalisation à intérêt simple et à intérêt composé. 3. Calculer la

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

Modélisation multi-agents - Agents réactifs

Modélisation multi-agents - Agents réactifs Modélisation multi-agents - Agents réactifs Syma cursus CSI / SCIA Julien Saunier - julien.saunier@ifsttar.fr Sources www-lih.univlehavre.fr/~olivier/enseignement/masterrecherche/cours/ support/algofourmis.pdf

Plus en détail

ACCESSNET -T IP Technique système TETRA d Hytera. www.hytera.de

ACCESSNET -T IP Technique système TETRA d Hytera. www.hytera.de Technique système TETRA d Hytera est la solution complète et performante pour toutes les applications de la téléphonie mobile professionnelle. www.hytera.de Bref aperçu Pour une communication TETRA professionnelle

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