Rapport de stage: mise en place de simulation/démonstration d'algorithmes

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

Download "Rapport de stage: mise en place de simulation/démonstration d'algorithmes"

Transcription

1 Rapport de stage: mise en place de simulation/démonstration d'algorithmes Marie-Laure GNEMMI Elève en première année à l'ensea juillet-août 2005 MASCOTTE - projet commun CNRS/INRIA/UNSA INRIA Sophia-Antipolis 1

2 Remerciements Je remercie chaleureusement M. David Coudert, mon responsable de stage, pour m avoir encadrée tout au long de ce stage et pour tout ce qu il m a appris, ainsi que M. Fabrice Peix, l ingénieur expert du projet, pour la formation qu il m a procurée au début du stage, le temps qu il m a accordé et la patience dont il a fait preuve tout au long de ce stage. Je tiens également à remercier les membres de l équipe Mascotte pour leur accueil et leur bonne humeur, notamment M. Jean-Claude Bermond, le responsable scientifique du projet, M. Philippe Mussi, le responsable permanent, les chercheurs M. Hervé Rivano, M. Michel Syska et M. Jean-François Lalande, l'assistante Mme Ephie Deriche, ainsi que M. Michel Cosnard, directeur de l unité de recherche de Sophia-Antipolis. 2

3 Table des matières Remerciements 2 I. L'INRIA : Institut National de Recherche en Informatique et en Automatique L'organisation Une stratégie de proximité Les objectifs Une stratégie internationale Les chiffres clés Organigramme L'unité de Sophia-Antipolis a) Historique: 20 ans au cœur de la technopole sophipolitaine b) Le travail de recherche c) Quelques chiffres II. Le projet MASCOTTE: Méthodes Algorithmiques, Simulation, Combinatoire et OpTimisation pour les Télécommunications Axes de recherche Relations internationales et industrielles Logiciels développés Quelques chiffres Domaines d'application III. Déroulement du stage 3.1. L'organisation a) objectifs b) organisation 3.2. Les outils mis à ma disposition a) la librairie Mascopt b) le serveur CVS 3.3. L'intérêt du stage a) pour le projet b) pour moi

4 IV. Les algorithmes traités 4.1. Le problème des arbres couvrants minimaux a) Définition b) L'algorithme de Prim c) L'algorithme de Kruskal 4.2. Le problème du flot maximal a) Définition b) L'algorithme de Ford-Fulkerson c) Application: couplage dans un graphe biparti 4.3. Algorithme de graphe couvrant de coloration minimale

5 I. L'INRIA : Institut National de Recherche en Informatique et en Automatique 1.1. L'organisation Créé en 1967, l'inria (alors IRIA) est un établissement public à caractère scientifique et technologique (EPST). Placé sous la tutelle des ministères de la recherche et de l'industrie, il a pour vocation d'entreprendre des recherches fondamentales et appliquées dans les domaines des sciences et des technologies de l'information et de la communication (STIC). L'INRIA est composé de six unités de recherche situées à Rocquencourt, Rennes, Sophia-Antipolis, Grenoble, Nancy et Bordeaux, Lille, Sarclay et sur d'autres sites à Paris, Marseille, Lyon et Metz. Il y accueille 3500 personnes dont 2700 scientifiques, issus en partie d'organismes partenaires. En effet, la place que prend l'informatique dans l'ensemble des domaines scientifiques et économiques a conduit l'inria à adopter une stratégie de recherche en partenariat avec de nombreux organismes. Ainsi, parmi les 124 équipes (ou projets) de l'institut, plus de la moitié sont des projets communs avec différents organismes de recherches comme le CNRS, les grandes écoles ou les universités. De plus, une grande partie des chercheurs de l'inria sont des enseignants et leurs étudiants, qui préparent leur thèse dans le cadre des projets de recherche de l'inria. L'institut travaille également avec de grands laboratoires industriels: les avancées de la recherche en informatique suivent donc de près les besoins en télécommunications, médecine, biologie, transports, etc Une stratégie de proximité Cette stratégie se traduit par une importante dynamique de transfert des résultats de recherche, aussi bien à travers l'édition, la diffusion de logiciels que par la création de plus d'une soixantaine de start-up soutenue par sa filiale INRIA-Transfert. En effet, cela fait vingt ans que l'inria contribue à la création de nombreuses entreprises: de Simulog, créée en 1984, à Genostar technologies, crée en 2004, en passant par Ilog, cotée au Nasdacq ou Kelkoo... Une quarantaine d'entre elles sont encore en activité, d'autres ont intégré de grands groupes industriels. 5

6 1.3. Les objectifs Pour l'inria, le développement de produits informatiques n'est pas l'objectif premier de la recherche: elle se doit de participer au développement, notamment économique, dans tous les secteurs d'application des STIC. Ainsi, l'évolution des STIC et leurs contributions aux avancées de la science entraînent l'inria dans une dynamique de développement au service de l'économie et de la société. A cette fin, la stratégie de l'institut se décline en sept défis scientifiques prioritaires: concevoir et maîtriser les futures infrastructures des réseaux et des services de communication développer le traitement des informations et des données multimédias garantir la fiabilité et la sécurité des systèmes à logiciel prépondérant coupler modèles et données pour simuler et contrôler les systèmes complexes combiner simulation, visualisation et interaction modéliser le vivant intégrer pleinement les STIC dans les technologies médicales 1.4. Une stratégie internationale Afin de maintenir l'inria au plus haut niveau d'excellence, l'institut accorde la plus grande importance à sa stratégie internationale. Celle-ci se traduit d'abord par les nombreux échanges et partenariats avec des laboratoires étrangers, et par le fait que chaque projet de recherche est évalué par un comité de chercheurs internationaux. De plus, cette stratégie est mise en oeuvre dans le cadre de priorités géographiques: en effet, l'inria attache la plus grande importance à son engagement dans le développement d'un espace européen de la recherche. La deuxième priorité de l'inria est l'approfondissement des partenariats avec les laboratoires de recherche aux Etats-Unis car on y trouve la plus grande dynamique de projets de recherche dans le domaine des STIC (environ 40% des projets de l'institut sont en partenariat avec des équipes américaines). Enfin, une priorité géographique à venir pour l'inria est l'asie, avec laquelle l'institut veut approfondir ses collaborations. Pour cela, l'inria s'est engagé dans plusieurs structures conjointes de recherche, par exemple le LIAMA en Chine et le Centre Hong Kong d'ingénierie financière. L'institut s'engage aussi dans le développement de programmes multilatéraux de recherche avec le Brésil, le Chili, le Mexique et différents pays africains. 6

7 1.5. Les chiffres clés Ressources budgétaires: budget total : 125 millions d'euros hors taxe (d'après le rapport annuel 2004) ressources propres: 22% du budget total Ressources humaines: titulaires INRIA: 900, dont 400 chercheurs et 500 ingénieurs et techniciens Post-doctorants, stagiaires et invités: 750 doctorants: 800 chercheurs et enseignants d'autres organismes: 450 Ingénieurs experts (sur contrat de recherche): 200 Indicateurs: contrats de recettes actifs: plus de 800 contrats de recettes signés dans l'année: plus de sociétés sont issues de l'inria, depuis ILOG, aujourd'hui cotée au Nasdacq, jusqu'aux toutes dernières, 12 en 2000, 4 en 2001, 3 en 2002, et 7 en l'inria disposait en 2003 de 150 brevets actifs, 50 licences payantes de logiciels, et 95 licences de logiciels libres étaient actives en décembre Plus de 150 logiciels sont disponibles en accès gratuit sur le site de l'inria ou à travers la diffusion d'un cédérom. 7

8 1.6.Organigramme 8

9 1.7. L'unité de Sophia-Antipolis a. Historique: 20 ans au cœur de la technopole sophipolitaine Création de l'unité de recherche En 1980, la décision est prise de décentraliser l'inria. Les premiers chercheurs arrivent alors de Rocquencourt en 1981 et sont accueillis dans les locaux du CMA (Centre de Mathématiques Appliquées) à l'ecole des Mines. En octobre 1983, l'inria intègre ses propres bâtiments, construits grâce à l'aide financière des collectivités territoriales et des organismes gouvernementaux. Tous les décideurs du département des Alpes-Maritimes, de l'etat, de la Région PACA ainsi que des cinq premières communes initiales - Biot, Valbonne, Mougins, Vallauris et Antibes qui vont largement contribuer au succès de la technopole - ont pressenti l'intérêt de l'installation d'un centre de recherche tel que l'inria sur le site sophipolitain. Aujourd'hui le Parc compte plus de raisons sociales, soit environ emplois. Par son dynamisme et son développement dans le domaine des STIC, l'inria participe à la croissance et à la reconnaissance du Parc au niveau international. La croissance Implantée dans la première technopole européenne, l'unité de recherche a connu une croissance remarquable pendant ces vingt années : 6 équipes de recherche à ses débuts, 30 actuellement, pour une cinquantaine de personnes à l'ouverture contre plus de 500 à ce jour. En 1983, l'unité de recherche comptait une trentaine de chercheurs permanents, aujourd'hui ils sont plus de 200, 3 doctorants en 1983 et plus de 150 actuellement. Environ 140 chercheurs et doctorants sont issus de 42 nationalités différentes. Dès 1988, le Conseil Régional avait compris l'importance de la recherche et la nécessité d'interaction entre les différents organismes ; il associe donc l'inria Sophia Antipolis à la création d'un réseau régional connecté aux Etats-Unis par une liaison transatlantique appartenant à l'inria. Le Conseil Régional complète le réseau par une aide au financement de la Connection Machine, l'un des premiers super-calculateurs de ce type en Europe, en Le développement rapide et l'impact de l'unité de recherche dans le développement de la région incitent le Conseil Régional et le Conseil Général à financer deux nouveaux bâtiments, l'un inauguré en 1997 et l'autre en Par sa politique de mobilité et d'essaimage, l'inria Sophia Antipolis a contribué au lancement d'une dizaine de start-up issues de l'unité de recherche qui a permis la création de plus de 300 emplois dans la région. 9

10 b. le travail de recherche Créer, modéliser, simuler Ces trois mots caractérisent le travail de recherche des chercheurs de l'inria SophiaAntipolis qui affiche un double objectif stratégique : excellence scientifique et transfert technologique. Les travaux des équipes de recherche portent sur la conception et la programmation de systèmes informatiques performants, la représentation et la manipulation d' informations complexes, la création, la modélisation et la simulation d'expériences complexes. Ils permettent l'avancée des connaissances dans sept grands domaines : réseaux et systèmes, génie logiciel et calcul symbolique, interaction homme-machine, images, données, connaissances, simulation et optimisation des systèmes complexes. Pour mener à bien ces études, l'unité de recherche entretient des interactions constantes avec ses partenaires des universités, grandes écoles ou des centres de recherche dans le monde entier par des publications scientifiques, des logiciels et des échanges internationaux. Elle héberge aussi les services du consortium ERCIM qui rassemble des instituts européens de recherche dans les sciences et technologies de l'information et de la communication et qui est également l'hôte de la branche européenne du consortium W3C. Le transfert technologique est l'autre objectif stratégique. L'INRIA Sophia-Antipolis entretient des partenariats avec de nombreuses entreprises et organismes locaux, nationaux ou internationaux dans le cadre de contrats, de réseaux de recherche ou de programmes européens. Des rencontres régulières ont lieu dans le cadre du club des partenaires de l'unité, Intech'Sophia, qui permettent le renforcement de ces partenariats. Par ailleurs, les travaux des chercheurs de l'inria Sophia-Antipolis ont conduit à la création d'une dizaine de sociétés de technologies. Avec leur double préoccupation d'excellence et de transfert, les chercheurs de l'unité participent à la formation aux sciences et technologies de l'information et de la communication par l'accueil d'étudiants ou de chercheurs, mais aussi d'ingénieurs du monde entier. c. quelques chiffres Au 1er janvier 2005: 500 personnes dont 96 chercheurs 150 doctorants 79 ingénieurs, techniciens, administratifs 175 ingénieurs expert, post-doctorants, chercheurs invités, collaborateurs extérieurs, CDD... Activités de recherche 29 projets, équipes de recherche dont 16 projets ou équipes communs avec : le CMA-Centre de Mathématiques Appliquées (ENSMP) le LJAD-Laboratoire J.A. Dieudonné (CNRS et Université de Nice-Sophia Antipolis) I3S-Informatique Signaux et Systèmes de Sophia-Antipolis (CNRS et Université de Nice-Sophia Antipolis) 10

11 le CERMICS-Centre d'enseignement et de Recherche en Mathématiques, Informatique et Calcul Scientifique le LOV -Laboratoire d'océanographie de Villefranche sur Mer (CNRS et Université Paris 6) l'université de Provence l'ecole Normale supérieure le LIRMM-Laboratoire d'informatique, de Robotique et de Microélectronique de Montpellier (Université Montpellier II et CNRS) l'université Montpellier I l'inra Formation par la recherche 30 thèses soutenues en habilitations à diriger des recherches en 2004 Publications en livres et monographies 160 articles et chapitres de livres 275 communications à des congrès 120 rapports de recherche Actions industrielles en contrats de recherche sur financements industriels 32 contrats de recherche sur financements publics nationaux 18 contrats européens en cours 26 contrats de commercialisation actifs 2 demandes de brevets déposés Actions internationales en 2004 Accueil d'une quinzaine de délégations étrangères Programmes européens de recherche (Ecvision, Cybermove, Inspired, Mowgli, Muse, Netmobil, Telemac) Manifestations scientifiques 20 colloques, ateliers, cours organisés ou co-organisés par l'unité de recherche en

12 II.Le projet MASCOTTE: Méthodes Algorithmiques, Simulation, Combinatoire et OpTimisation pour les Télécommunications Mascotte est un projet commun entre l'inria, le CNRS et l'université de Nice-SophiaAntipolis (UNSA), dans le cadre du laboratoire I3S. L'objectif du projet Mascotte est de développer des méthodes et des outils algorithmiques qui s'appliquent en particulier à la conception de réseaux de télécommunication. La réalisation de cet objectif implique la poursuite de recherches de haut niveau dans les domaines de l'algorithmique, de la simulation et des mathématiques discrètes Axes de recherche Algorithmique, mathématiques discrètes et optimisation combinatoire Algorithmique des communications Conception et dimensionnement de réseaux (optiques WDM,SDH, ATM, embarqués, radio et satellites) Simulation orientée objet en environnement réparti 2.2. Relations internationales et industrielles Relations industrielles: projet OSSA (Direction Générale Transport et Energie de la Commission Européenne) sur la simulation de trafic routier. Alcatel Espace Industries (Toulouse) sur la conception de réseaux de commutateurs tolérants aux pannes embarqués dans des satellites. France Télécom R&D ( Contrat de Recherche Collaborative) sur la dimensionnement de services SDH pour les entreprises. Projet RNRT (Constellations) sur les constellations de satellites. Projet RNRT (Porto) avec Alcatel (Marcoussis) et France Télécom sur la planification et le transport de réseaux optiques. Relations internationales: Brésil: coopération INRIA/CNPq avec l'université de Minas Gerais. Italie et Canada: projet avec l'université de Pise et de Carleton. Canada: Simon Fraser University et DalTech. Israël: projet avec le Weizmann Institute. Espagne: UPC Barcelone. 12

13 2.3. Logiciels développés Le projet Mascotte a développé plusieurs logiciels, parmi lesquels la librairie d'optimisation de réseaux Mascopt que j'ai pu utiliser, ainsi que des outils pour la simulation et pour l'analyse statistique des résultats de simulation (Prosit et Stat-Tool), un logiciel utile pour les réseaux de transport optique (Porto), et un logiciel d'analyse Technique des Marchés Financiers (InteTech) Quelques chiffres Ressources budgétaires (hors salaires) en 2004: dotation de base INRIA Sophia-Antipolis: dotation base CNRS: 3000 Contrats industriels et internationaux: Ressources humaines: titulaires INRIA: 2 titulaires CNRS: 6 titulaires universitaires: 4 titulaires France Télécom: 2 post-doctorants, invités: 10 doctorants: 7 stagiaires: Domaines d'application Ces cinq dernières années, le projet a choisi comme principal domaine d'application celui des télécommunications, et plus précisément les réseaux de calcul parallèles. Le projet a aussi des applications dans le domaine du transport. On peut noter cependant qu'il y a de fortes similitudes entre ces deux domaines: en particulier, les outils théoriques et les problèmes de communication ne sont pas si différents si l'on considère le domaine du transport ou celui des télécommunications. Dans le domaine des télécommunications, les applications du projet dépendent beaucoup des partenaires industriels avec lesquels ils sont en collaboration. Avec France Télécom, et les autres partenaires, le projet a travaillé sur le design des réseaux de télécommunications (les réseaux SDH/SONET, WDM, ou encore ATM) et divers problèmes, et sur le regroupement de moyens de transport de faible contenance en d'autres de plus grande contenance. Pour cela, le projet a utilisé les logiciels qu'il a développés, Prosit pour les simulations de trafic routier (dans le cadre du projet européen OSSA), ou encore la simulation d'environnement pour les satellites de télécommunications. 13

14 III.Déroulement du stage 3.1.L'organisation a) objectifs L'objectif de ce stage était de mettre en place des simulations, ou démonstrations, d'algorithmes sur les graphes. En effet, dans le cadre du projet, l'équipe Mascotte a développé une bibliothèque de manipulation de graphes, la librairie Mascopt. Cette librairie contient des outils qui permettent d'exécuter en mode pas à pas des algorithmes qui mettent en scène des graphes. Mon travail était d'utiliser cette librairie pour implémenter des algorithmes et préparer leurs démonstrations pas à pas: par exemple, afficher l'une après l'autre les arêtes sélectionnées par un algorithme de plus court chemin. Les compétences requises se limitaient donc à des bases d'algorithmique afin de comprendre les algorithmes et de savoir les implémenter. b) organisation Mon stage a duré deux mois, du 4 juillet au 31 août. Il s'est effectué en deux parties: tout d'abord, j'ai dû me familiariser avec le langage objet Java ainsi qu'avec la librairie Mascopt. Ainsi, les premiers jours, Fabrice Peix m'a enseigné certaines bases du langage objet et de la librairie, dont il m'a fourni et expliqué si nécessaire les tutoriels qu'il a rédigés et qui sont disponibles sur le site du projet. Une fois les bases acquises, j'ai pu commencer à faire les démonstrations d'algorithmes: pour chaque algorithme, David Coudert m'en expliquait le fonctionnement, puis je l'implémentais, et enfin j'implémentais la démonstration graphique sur un exemple de graphe, et ce en mode pas à pas. Les différents algorithmes traités font l'objet de la partie IV. Durant ce stage, j'avais un bureau dans une salle réservée aux stagiaires. Je commençais mes journées vers 9h et je repartais vers 17h, cela dépendait d'où j'en étais dans mon travail. De plus, j'ai été très bien encadrée tout au long de mon stage: en effet, David Coudert et Fabrice Peix venaient de temps en temps voir si tout allait bien, et quand je rencontrais des difficultés, je pouvais aller demander de l'aide à Fabrice Peix, ou Jean-François Lalande, en ce qui concernait la programmation, et à David Coudert ou Hervé Rivano pour l'algorithmique. Après avoir traité chaque algorithme, je montrais ce que j'avais fait à David Coudert qui décidait s'il y avait d'éventuelles modifications ou améliorations à apporter. 14

15 3.2. Les outils mis à ma disposition J'avais à ma disposition un PC sous Linux, sur lequel je programmais exclusivement en Java sous l'environnement de développement Eclipse. J'avais aussi comme outils de programmation la bibliothèque Java MascoptLib, et l'ordinateur sur lequel je travaillais était relié au serveur CVS. David Coudert m'a aussi prêté un livre d'algorithmique, Introduction à l'algorithmique, pour m'aider à comprendre les algorithmes et les problèmes auxquels ils apportaient une solution. a) La librairie Mascopt La librairie Mascopt (contraction de Mascotte et optimisation) est une bibliothèque Java dédiée aux problèmes d'optimisation dans les réseaux. Cette bibliothèque fournit des outils qui facilitent les manipulations de graphes, et privilégie la facilité d'utilisation à la vitesse d'exécution. Dans cette librairie, les graphes sont modélisés de la manière suivante: un graphe G est défini par le couple (V,E) où V = { v1, v2,..., vn } est l'ensemble des sommets du graphe, et E = { e1, e2,..., em } est l'ensemble des arcs du graphe. Les sommets et les arêtes doivent être instanciés par l'utilisateur, qui peut les manipuler librement. Il faut donc que les deux ensembles V et E soient cohérents, c'est-à-dire que tous les sommets reliés par les arêtes de E doivent appartenir à V. De plus, on peut très bien créer plusieurs graphes ayant des éléments en commun et les manipuler aisément. Pour chaque type d'éléments (graphes, sommets, arcs...), les méthodes qui s'y appliquent sont regroupées dans des classes abstraites: par exemple, la méthode de construction de graphe permet à l'utilisateur de créer directement son propre graphe simplement en appelant cette méthode. L'utilisateur peut donc manipuler des graphes et utiliser directement les algorithmes de Mascopt pour manipuler ses propres graphes. La librairie est composée de huit packages, dont celui qui nous intéresse, MascoptLib.graphs, dédié aux classes MascoptGraph et MascoptDiGraph (graphes orientés). Les classes de ce package sont les suivants: MascoptObject: à chaque élement du type MascoptObject, il est possible d associer une valeur du type Integer, Double ou String. On peut accéder à ces valeurs, ou les modifier, grâce à des méthodes telles que setvalue(), getvalue()... Tous les objets qui suivent sont des sous-classes de MascoptObject. MascoptVertex: on peut accéder à ses voisins, aux arcs entrants ou sortants... MascoptAbstractEdge: peut être orienté (MascoptArc) ou non (MascoptEdge). On peut accéder à ses extrémités, ou encore au sommet opposé à un sommet donné... MascoptAbstractGraph: peut être orienté (MascoptDiGraph) ou non (MascoptGraph). Un graphe est construit sur un ensemble de sommets et un 15

16 ensemble d'arcs. On peut entre autre faire des copies de graphes, ou encore en extraire des sous-ensembles. MascoptFixedSet: il s'agit des ensembles. Ses deux sous-classes sont: * MascoptVertexSet: ensemble de sommets. * MascoptEdgeSet: ensemble d'arcs, éventuellement orientés. Les graphes sont construits à partir d'un MascoptVertexSet et d'un MascoptEdgeSet. On peut aussi copier des ensembles, ou créer des sousensembles. MascoptPath ou MascoptDiPath: il s'agit respectivement de chemins non orienté et orienté. Ils se construisent à partir d'un graphe, on peut ajouter ou enlever des éléments, les fusionner, accéder aux extrémités... Récapitulatif des relations d'héritage entre les classes (les flèches signifient : est la classe parent de) 16

17 b) Le serveur CVS CVS permet de garder en mémoire l'historique des modifications de fichiers ASCII ou binaires. Ainsi, tous les utilisateurs de ce serveur ont un accès aux versions antérieures de leurs travaux et peuvent facilement travailler à plusieurs sur le même projet: ils peuvent modifier en même temps le même fichier dans la mesure où ils travaillent sur une copie du fichier original. Les fichiers originaux sont modifiés seulement quand l'utilisateur envoie ses nouvelles versions des fichiers. Les anciens fichiers ne sont jamais détruits: seules les modifications apportées sont enregistrées, et donc on peut facilement revenir en arrière L'intérêt du stage a) pour le projet Mascotte La bibliothèque d optimisation de réseaux Mascopt, développée au sein du projet, contient tous les outils nécessaires à l exécution pas à pas d algorithmes sur les graphes mais n avait pas encore été exploitée. J ai ainsi utilisé les outils de cette librairie, et signalé à Fabrice Peix lorsque je rencontrais des difficultés. Il apportait alors d éventuelles modifications à ces outils. De plus, ces démonstrations d algorithmes seront utiles d une part comme support à l enseignement, et plus généralement pour faciliter la compréhension de certains des travaux du projet. b) pour moi Ce stage a été pour moi le premier contact avec le monde du travail, et m'a permis de vivre les conditions réelles d'un travail d'exécution. Il m'a permis d'observer de l'intérieur l'organisation d'une entreprise ainsi que les contraintes auxquelles est soumis le personnel. De plus, j'ai eu la chance d'effectuer mon stage au sein d'une équipe de travail dans laquelle règne une très bonne ambiance, ce qui m'a permis de réaliser qu'il est très important d'entretenir de bonnes relations avec les collègues de travail. Enfin, il m'a permis de mettre à l'épreuve les connaissances que j'ai acquises en algorithmique et en informatique au cours de ma scolarité dans l'enseignement supérieur, et d'apprendre un nouveau langage informatique. 17

18 IV.Les algorithmes traités Pour chaque algorithme, l'algorithme en lui-même fait l'objet d'une classe qui hérite de la classe StepAlgo, et l'affichage en mode pas à pas fait l'objet d'une deuxième classe qui hérite de la classe StepAlgoGUI. En ce qui concerne l'affichage, on entre en argument un graphe quelconque, puis il s'ouvre une fenêtre composée du graphe, et des trois boutons start, step et finish. Pour commencer la démonstration, on clique sur start, puis pour voir les différentes étapes, on clique successivement sur step. Enfin, si au cours de la démonstration on veut accéder directement au résultat final, on clique sur finish Le problème des arbres couvrants minimaux a) Définition Lors de la phase de conception d'un circuit électrique, on a souvent besoin de relier entre elles les broches de composants électriquement équivalents. Pour interconnecter un ensemble de n broches, on peut utiliser un arrangement de n-1 câbles qui relient chacun deux broches. Parmi tous les arrangements possibles, le plus rentable est souvent celui qui utilise un longueur de câble minimale. On peut modéliser ce problème de câblage à l'aide d'un graphe non orienté connexe (c'est-à-dire un graphe en un seul morceau dont les arêtes ne sont pas orientées) noté G=(S,A), où S et l'ensemble de sommets (qui correspond à l'ensemble de broches) et A l'ensemble d'arêtes (qui correspond à l'ensemble d'interconnections possibles entre toutes les paires de broches). De plus, pour chaque arête (u,v), on a un poids w(u,v) qui correspond à la longueur de câble nécessaire pour connecter u et v. On souhaite alors trouver un ensemble T d'arêtes qui appartiennent à l'ensemble A, qui connecte tous les sommets, qui ne contienne pas de boucle et dont le poids total, c'est-à-dire la somme de tous les poids des arêtes de T, soit minimal. Puisque T ne contient pas de boucle et qu'il relie tous les sommets, il forme un arbre appelé arbre couvrant (il couvre tous les sommets de G). Le problème de la détermination de l'arbre T porte donc le nom de problème de l'arbre couvrant minimal. Les algorithmes de Prim et de Kruskal permettent de résoudre ce problème d'arbre couvrant de poids minimal. 18

19 Exemple d'arbre couvrant minimal pour un graphe connexe: L'arbre couvrant minimal est représenté en orange. Son poids total est égal à 37. Cet arbre couvrant n'est pas unique: en effet, si on remplace l'arête (b,c) par l'arête (a,h), on obtient un autre arbre couvrant de poids total égal à 37. Définitions et notations: Soit G=(S,A) le graphe connexe de départ, où S est l'ensemble de ses sommets et A l'ensemble de ses arêtes. Si (u,v) est une arête, soit w(u,v) le poids attribué à cette arête. Soit E l'ensemble d'arêtes sélectionnées au cours de l'algorithme et qui formeront au final l'arbre couvrant minimal. L'ensemble G\E désigne l'ensemble des éléments de G qui n'appartiennent pas à E (et donc encore sélectionnables par l'algorithme). Si X est un ensemble d'éléments, on note X le nombre d'éléments qu'il contient. 19

20 b) L'algorithme de Prim Principe L'algorithme de Prim a pour propriété que les arêtes de E forment toujours un arbre unique. Le principe est le suivant: au départ E est constitué d'une seule arête choisie arbitrairement, puis parmi toutes les arêtes du graphe connectées à l'ensemble E (c'est-à-dire à l'unique arête qui le constitue pour l'instant), on sélectionne celle de poids minimal et on l'ajoute à l'ensemble E. A chaque étape, une arête est ainsi rajoutée à l'ensemble E pour le relier à un sommet isolé de l'ensemble G. Il faut alors faire attention, lorsque l'on sélectionne une arête, que l'ajout de celle-ci à l'ensemble E ne crée pas de boucle dans l'ensemble. Pour cela, il suffit de vérifier, lors de la sélection de l'arête, que l'une de ses extrémités ne soit pas dans l'ensemble E. A la fin de l'algorithme, les arêtes de E forment alors un arbre couvrant de poids minimal. Pour implémenter efficacement l'algorithme de Prim, l'important est de faciliter la sélection de la nouvelle arête à ajouter dans l'arbre constitué des arêtes de E. L'algorithme L'algorithme est le suivant: Soit S' un ensemble vide de sommets Soit A' un ensemble vide d'arêtes Soit E = (S',A') un graphe vide Soit p un entier Soit a une arête Ajouter un sommet u quelconque à S' Tant que ( S' < S ) p = ; a = null; Pour chaque sommet u de S' déterminer l'arête (u,v) de G\E telle que w(u,v) soit minimal Si1 v n'appartient pas à A' Si2 ( w(u,v) < p) p min( w(u,v), p ); a (u,v) ; Ajouter à S' le sommet de l'arête a qui n'appartient pas à S' Ajouter a à A' ; Ainsi, à la fin, S' = S donc S' contient tous les sommets du graphe G, et comme on ajoute une arête à A' seulement si elle relie E à un sommet de G\E, E ne boucle pas. Enfin, on ajoute 20

21 à A' que des arêtes de poids minimal. On obtient donc bien un arbre couvrant E de poids minimal. Déroulement pas à pas On sélectionne une arête arbitrairement,puis celle de poids minimal parmi ses voisines: 21

22 L'arête de poids 6 ne peut être sélectionnée sinon cela créerait une boucle, et on n'aurait donc plus un arbre, puis de même pour l'arête de poids 8: Tous les sommets sont couverts pas l'arbre, on obtient donc en rouge un arbre couvrant de poids minimal. 22

23 c) L'algorithme de Kruskal Principe De même que pour l'algorithme de Prim, au départ l'ensemble E est vide, puis on ajoute à chaque étape une arête de poids minimal à l'ensemble E qui constituera au final l'arbre couvrant recherché. Cependant, contrairement à l'algorithme précédent, l'arête sélectionnée est une arête de l'ensemble G\E dont le poids associé est minimal, elle n'est donc pas obligatoirement adjacente à l'ensemble E. Ainsi, l'ensemble E est une forêt (un ensemble d'arbres disjoints) et non un arbre unique. De plus, au départ, les sommets du graphe sont considérés comme des arbres constitués d'un seul élément. Ainsi, lorsque l'on ajoute à E une arête (u,v), celle-ci ne relie pas E à un sommet mais à un arbre. Au fur et à mesure, on diminue donc le nombre d'arbres disjoints qui constituent E tout en augmentant le nombre de sommets qui appartiennent à E. Comme on effectue cet ajout d'arête de poids minimal tant que E ne contient pas tous les sommets de G, on obtient bien au final un arbre couvrant de poids minimal. Algorithme On a besoin de trois tableaux: vertices[] : un tableau qui contient les sommets, labels[] : un tableau qui contient des labels attribués aux sommets, edges[] : un tableau des arêtes. Pour chaque indice i, labels[i] est le label attribué au sommet vertices[i]. Les labels indiquent de quel arbre le sommet associé fait partie. Au départ, les sommets sont tous dans des arbres différents, donc les labels sont tous différents les uns des autres, chacun étant égal à un chiffre compris entre 1 et le nombre de sommets. Lorsque l'on ajoute une arête à E, on connecte deux arbres pour n'en former qu'un, donc on attribue à tous les sommets de cet arbre le même label, le plus grand des deux labels associés aux deux arbres connectés. A la fin, tous les labels seront donc égaux, E sera en effet constitué d'un seul arbre contenant tous les sommets. Le tableau labels[] sert à simplifier la programmation. En effet, cela permet de ne manipuler que des structures de données simples, des tableaux. Cependant, cela augmente la complexité de l'algorithme car chaque fusion de label nécessite un parcours de tableau, ce qui a une complexité de l'ordre de O(n), alors que contracter les arêtes prendrait O(1) pour aboutir au même résultat. Etant donné que l'objectif est ici de faire un algorithme pas à pas avec affichage, cette augmentation de complexité n'est pas importante: il faut seulement que l'algorithme soit suffisamment rapide pour l'utilisateur, qui fait afficher les étapes à sa guise. 23

24 L'algorithme est le suivant: Soit E=(S',A') où S' = S et A' est un ensemble vide; Création et initialisation des tableaux vertices, labels, et edges; Tri du tableau edges[] par ordre croissant de poids des arêtes; Pour chaque arête (u,v) du tableau prise par ordre croissant de poids soient i0 et i1 les indices respectifs de u et v dans vertices[] Si1 ( labels[i0] labels[i1] ) soit indx_max = max(i0,i1); soit indx_min = min(i0,i1); Pour chaque label x du tableau labels[] Si2 ( x = indx_min ) x indx_max ; Ajouter (u,v) à A'; Déroulement pas à pas Au départ, on sélectionne une arête dont le poids est minimal,ici égal à 1, et ainsi de suite: 24

25 Si une arête sélectionnée crée une boucle, on ne la fusionne pas avec l'ensemble E: 25

26 26

27 4.2. Le problème du flot maximal a) Définition De même que l'on peut modéliser une carte routière par un graphe orienté pour trouver le plus court chemin d'un point à un autre, on peut également interpréter un graphe orienté comme un réseau de transport et l'utiliser pour répondre à des questions ayant trait aux flots de matériaux. Imaginons un matériau s'écoulant à travers un système depuis une source, où il est produit, vers un puit, où il est consommé. La source produit le matériau à un certain débit, et le puit consomme le matériau avec le même débit. Le flot d'un matériau à un endroit quelconque du système est intuitivement la vitesse avec laquelle ce matériau se déplace. Les réseaux de transport peuvent servir à modéliser l'écoulement des liquides à travers des tuyaux, du courant dans les circuits électriques, de l'information à travers les réseaux de communication, etc... On peut considérer chaque arc du réseau de transport comme un conduit à travers lequel peut s'écouler le matériau. Chaque conduit a une capacité fixe: par exemple le volume horaire de liquide qui peut traverser un tuyau, ou encore l'intensité maximale de courant que peut supporter un câble électrique... Les sommets correspondent aux jonctions du conduit. De plus, à part pour la source et le puit, le débit qui arrive à un sommet est égal au débit qui en sort: c'est la propriété de conservation du flot. Dans le cas du courant électrique, cette propriété équivaut à la loi de Kirchhoff. Le problème du flot maximal est de déterminer la plus grande vitesse à laquelle le matériau peut voyager entre la source et le puit, en obéissant aux contraintes de capacité. La notion de flot et de capacité On considère l'exemple suivant où, pour une raison quelconque, on pousse de s à t 2 unités de flot par le chemin en bleu et 3 unités de flot du même matériau par le chemin en vert: 27

28 Les valeurs des flots totaux qui traversent chaque arc sont alors: La capacité est la valeur du flot total maximal que l'on peut faire passer par l'arête concernée. Exemple: figure 1 Figure 1 : Il s agit d un réseau de transport qui représente le problème d une entreprise de transport. L usine de Lille est la source s, et le fabricant de Marseille est le puit t. Le trajet traverse plusieurs villes intermédiaires, mais les nombres associés à chaque arc représentent le nombre de rouleaux que l on peut convoyer entre les deux villes à ses extrémités : c est la capacité de l arc. 28

29 figure 2 Figure 2 : Le flot f du graphe G a pour valeur 19. Seuls les flots positifs sont montrés. Si le flot est positif de u vers v, on a noté f/c sur l arc (u,v) où f et c sont respectivement le flot et la capacité de l arc attribués à (u,v). S il n y a qu un seul nombre associé à un arc, il s agit de sa capacité, car le flot est nul. Afin de résoudre le problème du flot maximal, nous allons maintenant considérer les réseaux de transport sous l angle de la théorie des graphes et définir leurs propriétés. Ainsi, nous allons maintenant représenter un réseau de transport par un graphe orienté G=(S,A) dans lequel chaque arc (u,v) possède une capacité c(u,v) 0. Pour simplifier le problème, on suppose que tous les sommets du graphe différents de la source s et du puit t sont sur un chemin qui va de s vers t. Nous pouvons maintenant définir la notion de flot : Un flot du graphe G est une fonction qui associe à chaque arc du graphe une valeur réelle. Le flot satisfait les trois propriétés suivantes : - le flot qui va d un sommet à un autre ne peut pas dépasser la capacité donnée, - le flot qui va d un sommet u à un sommet v est l opposé de celui qui va de v à u, - tout ce qui rentre, ressort. Définitions et notations : on note f le flot total du graphe G, c est à dire le flot qui part de s et qui arrive en t. on note f(u,v) le flot à travers l arc (u,v). on note c(u,v) la capacité attribuée à l arc (u,v). 29

30 b) Méthode de Ford Fulkerson Principe Il s agit plutôt d une méthode que d un algorithme dans la mesure où l'on peut l implémenter de plusieurs façons différentes, ayant chacune un temps d exécution différent. Cette méthode est itérative : au départ, le flot à travers chaque arc du graphe est nul, donc le flot du graphe est initialement nul. A chaque itération, on augmente la valeur du flot en trouvant un chemin qui relie la source s au puit t, et le long duquel on peut améliorer la quantité de flot. La méthode est donc la suivante : Initialiser le flot f à 0 Tant que il existe un chemin améliorant p Faire augmenter le flot f le long de p Retourner f Ainsi, après chaque itération, on a augmenté le flot qui traverse le graphe, donc les capacités associées aux arcs sont modifiées, c'est-à-dire diminuées de la valeur dont le flot a augmenté à travers l'arc associé. Le graphe obtenu est appelé graphe résiduel: il contient les capacités résiduelles et les flots. Algorithme On a vu que la vitesse d'exécution de l'algorithme dépend de la manière choisie pour augmenter le flot f du graphe, donc du choix du chemin améliorant. Effectivement, si à chaque étape de la boucle, on augmente le flot de 1 seulement, c'est-à-dire si l'on choisie à chaque itération un chemin de s à t sur lequel passe une unité de flot dans chaque arête, alors on arrivera au résultat après davantage d'itérations que si l'on choisissait à chaque fois un chemin aléatoire, ou mieux, le chemin qui supporte le plus grand flot. Nous avons donc choisi d'augmenter le flot en recherchant à chaque itération le chemin de s à t à travers lequel passe le plus grand flot. L'algorithme nécessite l'utilisation de plusieurs variables, dont six tableaux contenant respectivement les sommets, la distance qui les sépare de s (c'est-à-dire le nombre de sommets qui les séparent de s), leur parent, la valeur du flot maximal qui peut traverser chaque arc, les arêtes, les capacités associées. Soit there_is_a_path une valeur booléenne initialisée à vrai qui renvoie l'éventuelle existence d'un chemin qui relie s à t. 30

31 On a besoin de plusieurs méthodes: init_arrays(): au début de chaque itération, il faut mettre à jour les tableaux car les valeurs des flots et des capacités ont changé à l'étape précédente. setdistance(s,t): remplit le tableau des distances entre chaque sommet et s. Si un sommet n'est pas relié à s, on met sa distance à l'infini. Si l'élément à l'indice i du tableau des sommets est t et que l'élément à l'indice i du tableau des capacités est l'infini, alors there_is_a_path devient faux. Autrement dit, si la distance entre s et t est infinie, c'est qu'il n'existe pas de chemin entre s et t donc la variable there_is_a_path devient fausse. sort_distance_and_vertices(s): trie par ordre croissant de distance le tableau des sommets et celui des distances. setflowmax(): remplit le tableau qui contient le flot maximal qui peut traverser chaque arc. setbestpath(s,t): renvoie le chemin à travers lequel peut circuler le plus de flot. setedgesofthepath(): remplit un tableau contenant les arcs qui constituent le chemin déterminé précédemment. update_residual_graph(): met à jour le graphe résiduel. Soit flot_max le flot maximal qui peut parcourir le chemin. Pour chaque arc du chemin: - diminue la capacité de l'arc de la valeur flot_max, - augmente le flot de l'arc de la valeur flot_max, - créer l'arc opposé s'il n'existe pas déjà, et ajouter à sa capacité la valeur flot_max, son flot est l'opposé du flot considéré précédemment. deletebestpath(): cette méthode supprime tous les arcs qui composent le chemin. setfinalgraph(): à la fin de l'algorithme, on souhaite afficher non pas le graphe résiduel mais le graphe final, correspondant au graphe initial sur lequel est indiqué le flot maximal qui peut parcourir chaque arête. L'algorithme est le suivant: there_is_a_path = vrai; Initialisation du flot à 0; Soit arcs[] le tableau contenant les arcs du graphe; Soit capacities[] le tableau des capacités correspondant aux arcs de même indice; Tant que (there_is_a_path = vrai) init_arrays(); setdistance(s,t); Si (there_is_a_path = faux) sortir de la boucle tant que; sort_distance_and_vertices(s); setflowmax(s,t); setbestpath(s,t); edges_of_the_path = new MascoptArc[best_path.length()]; setedgesofthepath(s); update_residual_graph(); deletebestpath(); setfinalgraph(); 31

32 Déroulement pas à pas Le graphe initial est le suivant. L'utilisateur a choisi les sommets s et t représentés en vert, qu'il a pu sélectionner avec la souris: A la première étape, le flot maximal qu'un chemin peut faire passer de s à t est 12. La figure ci-dessous représente le chemin en question, en rouge, puis on met à jour le graphe résiduel: 32

33 Visiblement, il n'y a plus de chemin possible orienté de s vers t. Le graphe final est donc le suivant: Le flot maximal qui peut être acheminé de la source s au puit t à travers le graphe a donc la valeur

34 c) Application: couplage dans un graphe biparti Principe On considère un graphe biparti, c est-à-dire un graphe constitué de deux ensembles de sommets, reliés entre eux par un ensemble d arêtes. Ainsi, le graphe est composé de paires de sommets d ensembles différents reliés par une arête. Par contre, une arête ne peut avoir deux sommets appartenant au même ensemble à ses bornes. Le problème du couplage maximal consiste à déterminer le nombre maximal d arêtes du graphe qui suffisent pour relier le plus possible de sommets tout en respectant la contrainte suivante : chaque sommet peut avoir au plus une arête du couplage adjacente. On appellera Sg l ensemble des sommets de gauche du graphe, et Sd l ensemble des sommets de droite. Exemple: figure 1 figure 2 La figure 1 représente un exemple de graphe biparti. La figure 2 représente un couplage de ce graphe qui contient 4 arêtes. Or on remarque que tous les sommets de la partie droite du graphe sont touchés par les arêtes du couplage, que l'on ne peut donc pas agrandir. Il s'agit donc d'un couplage maximal. L'exemple ci-dessus montre de plus qu'un couplage maximal n'est pas unique: en effet, si l'on remplace la dernière arête du couplage par celle qui est juste au-dessus, on a toujours un couplage maximal. 34

35 Pour résoudre ce problème, une manière possible est d utiliser l algorithme de FordFulkerson. Pour cela : on crée deux sommets : une source s à gauche de Sg, et un puit t à droite de Sd. On crée ensuite une arête entre s et chaque sommet de Sg, et entre chaque sommet de Sd et t. on oriente alors le graphe obtenu en orientant chaque arête de gauche à droite. on attribue une capacité égale à 1 à chaque arête adjacente à s ou à t, et une capacité infinie à tous les autres arcs (qui se trouvent donc être les arcs du graphe initial). On obtient alors un graphe orienté possédant une source et un puit, sur lequel on peut donc appliquer l algorithme de Ford-Fulkerson. On remarquera que, d après la construction, l ensemble des arcs du graphe initial est égal à l ensemble des arcs non adjacents à s ni à t. Nous allons maintenant expliquer pourquoi cet algorithme donne bien un couplage maximal du graphe biparti initial. Tout d abord, les capacités entrantes en chaque sommet de Sg sont toutes de 1, et comme le flot entrant en un sommet ne peut dépasser la capacité entrante, il peut sortir de chaque sommet de Sg au plus une unité de flot. De même, les capacités sortantes de chaque sommet de Sd sont toutes égales à 1, chaque sommet de Sd ne peut donc être traversé que par au plus une unité de flot. Ainsi, au final, comme un flot est toujours un entier, le flot qui sort d un sommet de Sg ne peut pas traverser deux arcs différents, et le flot qui traverse un sommet de Sd ne peut pas être issu de deux arcs différents. Or, on considère que le couplage obtenu est la réunion des arcs du graphe orienté (non adjacents à s ou t) qui sont traversés par un flot égal à 1. La contrainte selon laquelle chaque sommet du graphe peut avoir au plus une arête du couplage adjacente est donc bien respectée. Ensuite, comme chaque arc ne peut être parcouru que par un flot nul ou égal à 1, le flot total correspond au nombre d arcs de flot non nul adjacents à s, ou encore au nombre d arcs de flot non nul adjacents à t, mais encore et surtout au nombre d arcs du graphe initial traversés par un flot non nul. Or le flot déterminé par l algorithme de Ford-Fulkerson est le flot maximal qui peut traverser le graphe, donc le nombre maximal d arêtes qui peuvent constituer un couplage. On obtient donc bien un couplage maximal du graphe biparti. 35

36 Exemple: La figure ci-dessous représente le graphe orienté créé à partir du graphe biparti afin de lui appliquer l'algorithme de Ford-Folkerson: La figure ci-dessous représente le résultat de l'algorithme de Ford Fulkerson: le couplage correspond aux arcs qui appartiennent au graphe biparti dont le flot est égal à 1. 36

37 Algorithme Il suffit de créer le graphe orienté et d'appliquer directement l'algorithme de FordFulkerson. Ainsi, on a besoin d'une méthode qui crée le graphe orienté tel que nous l'avons vu précédemment, et d'appliquer directement les méthodes de l'algorithme de FordFulkerson (et dans le même ordre). Cependant, pour l'affichage, on ajoute une méthode qui colorie les arêtes pour faire ressortir le couplage, que l'on insère à la fin de la boucle Tant que de l'algorithme. Déroulement pas à pas On affiche directement le graphe orienté créé. Puis, à la fin de l'algorithme de Ford Fulkerson, on a: Finalement, on en déduit un couplage maximal du graphe biparti initial: 37

38 4.3. Algorithme de graphe couvrant de coloration minimale Cet algorithme peut être utile pour des problèmes d'optimisation de réseaux de communication. Il a été développé au sein même du projet, afin de palier à des problèmes engendrés par des pannes dans un réseau de fibres optiques. Principe On considère un graphe G = (S,A) non orienté connexe dont toutes les arêtes sont colorées. Une même couleur peut être attribuée à une ou plusieurs arêtes. Le but de l'algorithme est déterminer un ensemble E de couleurs suffisantes tel que: on obtienne un graphe connexe qui couvre tous les sommets du graphe initial, ce graphe soit uniquement constitué d'arêtes du graphe initial dont la couleur appartienne à E. Ainsi, cet algorithme est itératif et construit un graphe G' initialement vide en lui ajoutant à chaque étape les arêtes d'une couleur sélectionnée. Cette couleur est déterminée comme étant la couleur non encore choisie qui ajouterait au graphe G' le plus grand nombre de sommets de G. Cependant, toutes les arêtes de cette couleur ne sont pas forcément utiles: par exemple, si une arête de G relie deux sommets qui sont déjà dans G', cette arête n'est pas nécessaire. Il faut donc supprimer les arêtes inutiles avant chaque itération. Exemple: Sur ce graphe, on remarque que l'une des trois arêtes vertes est inutile, donc on la supprime: 38

39 On sélectionne la couleur rouge car c'est elle qui touche le plus grand nombre de sommets. On peut alors supprimer une arête verte qui est inutile: On remarque qu'en sélectionnant la couleur bleu, tous les sommets du graphe sont touchés, et que les arêtes vertes et jaunes sont toutes inutiles donc on les supprime: On obtient donc un graphe connexe qui relie tous les sommets en un minimum de couleurs. Un ensemble minimal de couleurs suffisantes est donc {rouge,bleu}. 39

40 Algorithme Chaque couleur est représentée par un entier. On considère une couleur comme un ensemble d'arêtes. Au cours de l'algorithme, les ensembles des sommets,des arêtes et des couleurs associées à chaque arête sont répertoriés dans des tableaux. On a aussi besoin d'une liste des couleurs non encore choisies, et d'une liste des couleurs choisies. De plus, on appelle les méthodes suivantes: setcolor() : détermine la couleur qui, si on la sélectionne, ajoute le plus de sommets à G'. Cette méthode fait appel à une autre méthode qui, pour une couleur donnée, détermine le nombre de sommets de G\G' touchés. Elle fait cet appel pour chaque couleur de C, et mémorise dans un tableau le résultat, et enfin, elle renvoie la couleur associée au plus grand élément de ce tableau. update_g'(): met à jour G' en lui ajoutant les arêtes de la couleur sélectionnée et bien sûr les sommets à leurs extrémités. update_g(): met à jour G en supprimant les arêtes inutiles. Si une couleur disparait car toutes ces arêtes viennent à disparaître, cette méthode supprime alors la couleur de la liste C, car elle ne pourra plus être choisie. L'algorithme est alors le suivant: Soit G' le graphe que l'on construit; Soit C la liste des couleurs encore sélectionnables; Soit E la liste des couleurs choisies; G' est vide; C contient toutes les couleurs du graphe initial G; E est vide; Suppression des arêtes de G inutiles Tant que tous les sommets de G ne sont pas dans G' setcolor(); Ajouter la couleur sélectionnée à E; Supprimer la couleur sélectionnée de C; update_g'(); update_g(); Retourner E; 40

Conception de réseaux de télécommunications : optimisation et expérimentations

Conception de réseaux de télécommunications : optimisation et expérimentations Conception de réseaux de télécommunications : optimisation et expérimentations Jean-François Lalande Directeurs de thèse: Jean-Claude Bermond - Michel Syska Université de Nice-Sophia Antipolis Mascotte,

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

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

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

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

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

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

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

Guide de démarrage rapide

Guide de démarrage rapide Guide de démarrage rapide 1 Sommaire 1.Préambule...3 2.Démarrage du programme...4 3.Prise en main...6 3.1.Les saisies...6 3.2.Les listes...10 4.Gestion courante...13 4.1.Saisie d'un devis...13 4.2.Transformation

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

LibreOffice Calc : introduction aux tableaux croisés dynamiques

LibreOffice Calc : introduction aux tableaux croisés dynamiques Fiche logiciel LibreOffice Calc 3.x Tableur Niveau LibreOffice Calc : introduction aux tableaux croisés dynamiques Un tableau croisé dynamique (appelé Pilote de données dans LibreOffice) est un tableau

Plus en détail

Manuel d utilisation email NETexcom

Manuel d utilisation email NETexcom Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

SOUTIEN INFORMATIQUE DEP 5229

SOUTIEN INFORMATIQUE DEP 5229 SOUTIEN INFORMATIQUE DEP 5229 Le Diplôme d études professionnelles D.E.P. en soutien informatique a une durée totale de 1800 heures à temps plein. Le programme permet de développer les compétences nécessaires

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

MASTER 2 IMAFA. Informatique et Mathématiques Appliquées à la Finance et à l'assurance

MASTER 2 IMAFA. Informatique et Mathématiques Appliquées à la Finance et à l'assurance OBJECTIFS Ce Master prend le relais du DESS IMAFA créé en 1997 à l'essi. Il se fixe pour objectif de former des informaticiens de haut niveau maîtrisant parfaitement les concepts et outils mathématiques

Plus en détail

LICENCE : INFORMATIQUE GENERALE

LICENCE : INFORMATIQUE GENERALE LICENCE : INFORMATIQUE GENERALE RÉSUMÉ DE LA FORMATION Type de diplôme : Licence (LMD) Domaine : Sciences, Ingénierie et Technologies Mention : Informatique générale Objectifs Le diplôme offre une formation

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

Navigation dans Windows

Navigation dans Windows Cours 03 Navigation dans Windows Comme je le disais en introduction, notre souris se révèle plus maligne qu'elle n'en a l'air. À tel point qu'il faut apprendre à la dompter (mais c'est très simple, ce

Plus en détail

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Services HP Care Pack Données techniques Le service de réplication des données HP pour Continuous Access offre

Plus en détail

Gestion de projets. avec. Microsoft Office PROJECT 2003

Gestion de projets. avec. Microsoft Office PROJECT 2003 Gestion de projets avec Microsoft Office PROJECT 2003 Décembre 2006 1 Sommaire 1. Présentation de MS Office Project 2003 2. Aperçu général de l interface 3. Elaboration d un plan de projet 4. Gestion des

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

Le générateur d'activités

Le générateur d'activités Le générateur d'activités Tutoriel Mise à jour le 09/06/2015 Sommaire A. Mise en route du Générateur d'activité... 2 1. Installation de Page... 2 2. Création des bases du générateur d'activités... 3 3.

Plus en détail

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct. 2012 (ajout de la section 3 et augmentation de la section 1)

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct. 2012 (ajout de la section 3 et augmentation de la section 1) 1 Que signifient AON et AOA? Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct. 2012 (ajout de la section 3 et augmentation de la section 1) Sommaire 1. Concepts... 2 2. Méthode PCM appliquée

Plus en détail

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique DUT Informatique, orientation Imagerie Numérique Domaine : Sciences, Technologies, Santé Mention : Informatique Organisation : Institut Universitaire de Technologie Lieu de formation : Le Puy en Velay

Plus en détail

NOTIONS DE RESEAUX INFORMATIQUES

NOTIONS DE RESEAUX INFORMATIQUES NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des

Plus en détail

chapitre 4 Nombres de Catalan

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

Plus en détail

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

N de convention Audencia/MAE à rappeler pour toute candidature : 97/08

N de convention Audencia/MAE à rappeler pour toute candidature : 97/08 N de convention Audencia/MAE à rappeler pour toute candidature : 97/08 CONVENTION D'ACCUEIL D'ETUDIANTS AU MINISTERE DES AFFAIRES ETRANGERES DANS LE CADRE DES STAGES D'ETUDES I. CONDITIONS GENERALES DE

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

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

Transférer et enregistrer les photos sur l'ordinateur

Transférer et enregistrer les photos sur l'ordinateur BML INFORMATIQUE Perfectionnement Séance N 4 Approche de la photo numérique Daniel Drux 15 Oct. 2014 Cette séance a pour but de vous aider à aborder la photo numérique en assimilant les notions de base.

Plus en détail

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000 Service d'installation et de démarrage de la solution de stockage réseau Services HP Données techniques Le service d'installation et de démarrage de la solution de stockage réseau offre l'installation

Plus en détail

YAPBA M. Logiciel libre de suivi de vos comptes

YAPBA M. Logiciel libre de suivi de vos comptes YAPBA M Logiciel libre de suivi de vos comptes Premières opérations A l'ouverture la première fois, on obtient cet écran. La première opération va être la création d'un compte. Comme aucun compte n'est

Plus en détail

IMO - Informatique, modélisation et optimisation - 2014-2015

IMO - Informatique, modélisation et optimisation - 2014-2015 Licence Sciences, technologies, santé mention informatique générale Couvrir tous les champs de l'informatique: du développement de logiciels aux systèmes d'information Prérequis Les conditions d'accès

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide de configuration de SQL Server pour BusinessObjects Planning Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets

Plus en détail

CA Desktop Migration Manager

CA Desktop Migration Manager CA Desktop Migration Manager Manuel de configuration du déploiement DMM Service Pack 12.8.01 La présente Documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après

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

Création d'un questionnaire (sondage)

Création d'un questionnaire (sondage) Création d'un questionnaire (sondage) Le but de ce petit tuto est d'avoir les séquences pas à pas pour la création d'un questionnaire de façon à ne pas devoir rechercher la manière de procéder si l'outil

Plus en détail

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

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

Plus en détail

MS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.

MS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere. DOCUMENTATION MS PROJECT 2000 Prise en main Date: Mars 2003 Anère MSI 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.com Le présent document est la propriété exclusive d'anère

Plus en détail

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. pierre.chauvet@uco.fr

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. pierre.chauvet@uco.fr Atelier Transversal AT11 Activité «Fourmis» Pierre Chauvet pierre.chauvet@uco.fr Ant : un algorithme inspiré de l éthologie L éthologie Etude scientifique des comportements animaux, avec une perspective

Plus en détail

Démontage d'un ordinateur

Démontage d'un ordinateur Espaces multimédias Communauté de Communes Moyenne Vilaine et Semnon : Démontage d'un ordinateur 1- A quoi sert-il de démonter son ordinateur? A) Par simple curiosité B) Pour nettoyer C) Pour remplacer

Plus en détail

Baccalauréat technologique

Baccalauréat technologique Baccalauréat technologique Épreuve relative aux enseignements technologiques transversaux, épreuve de projet en enseignement spécifique à la spécialité et épreuve d'enseignement technologique en langue

Plus en détail

TEXT MINING. 10.6.2003 1 von 7

TEXT MINING. 10.6.2003 1 von 7 TEXT MINING 10.6.2003 1 von 7 A LA RECHERCHE D'UNE AIGUILLE DANS UNE BOTTE DE FOIN Alors que le Data Mining recherche des modèles cachés dans de grandes quantités de données, le Text Mining se concentre

Plus en détail

REALISER UN SITE INTERNET AVEC IZISPOT SOMMAIRE

REALISER UN SITE INTERNET AVEC IZISPOT SOMMAIRE REALISER UN SITE INTERNET AVEC IZISPOT Voici un tutoriel pour vous aider à réaliser un petit site internet (4 pages) à l'aide du logiciel gratuit IZISPOT. Dans l'exemple qui suit, il s'agit de mettre en

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Analyse tarifaire en ligne (TAO) de l'omc

Analyse tarifaire en ligne (TAO) de l'omc Analyse tarifaire en ligne (TAO) de l'omc L'analyse tarifaire en ligne (TAO) permet d'effectuer des recherches et d'analyser les données tarifaires conservées dans deux bases de données de l'omc, à savoir

Plus en détail

Créer un tableau avec LibreOffice / Calc

Créer un tableau avec LibreOffice / Calc Créer un tableau avec LibreOffice / Calc Réaliser des tableaux LibreOffice / Calc permet de créer des tableaux facilement en utilisant les cellules. En premier lieu, il faut prévoir le nombre de colonnes

Plus en détail

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN 1. Introduction Le règlement (UE) n 610/2013 du 26 juin 2013 a modifié la convention d'application de l'accord de Schengen,

Plus en détail

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05 EXCEL PERFECTIONNEMENT Version 1.0 30/11/05 SERVICE INFORMATIQUE TABLE DES MATIERES 1RAPPELS...3 1.1RACCOURCIS CLAVIER & SOURIS... 3 1.2NAVIGUER DANS UNE FEUILLE ET UN CLASSEUR... 3 1.3PERSONNALISER LA

Plus en détail

L INRIA, institut français des STIC. (en Île-de-France) 24 septembre 2009

L INRIA, institut français des STIC. (en Île-de-France) 24 septembre 2009 1 L INRIA, institut français des STIC (en Île-de-France) 24 septembre 2009 Institut National de Recherche en Informatique et en Automatique 2 Institut dédié aux Sciences et Technologies de l Information

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

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

Plus en détail

SUPPLEMENT AU DIPLOME

SUPPLEMENT AU DIPLOME SUPPLEMENT AU DIPLOME Préambule : «Le présent supplément au diplôme suit le modèle élaboré par la Commission européenne, le Conseil de l Europe et l UNESCO/CEPES. Le supplément vise à fournir des données

Plus en détail

Exemples et tutoriels Version 7.5. Tutoriel de l'exemple Recrutement de personnel pour IBM Process Designer

Exemples et tutoriels Version 7.5. Tutoriel de l'exemple Recrutement de personnel pour IBM Process Designer Exemples et tutoriels Version 7.5 Tutoriel de l'exemple Recrutement de personnel pour IBM Process Designer ii Exemple Recrutement de personnel Les manuels PDF et le centre de documentation Les manuels

Plus en détail

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Interface PC Vivago Ultra. Pro. Guide d'utilisation Interface PC Vivago Ultra Pro Guide d'utilisation Version 1.03 Configuration de l'interface PC Vivago Ultra Configuration requise Avant d'installer Vivago Ultra sur votre ordinateur assurez-vous que celui-ci

Plus en détail

Didacticiel de mise à jour Web

Didacticiel de mise à jour Web Didacticiel de mise à jour Web Copyright 1995-2012 Esri All rights reserved. Table of Contents Didacticiel : Création d'une application de mise à jour Web.................. 0 Copyright 1995-2012 Esri.

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

RÉSUMÉ DESCRIPTIF DE LA CERTIFICATION (FICHE RÉPERTOIRE)

RÉSUMÉ DESCRIPTIF DE LA CERTIFICATION (FICHE RÉPERTOIRE) RÉSUMÉ DESCRIPTIF DE LA CERTIFICATION (FICHE RÉPERTOIRE) Intitulé (cadre 1) Domaine : Sciences, Technologies, Santé Licence professionnelle : Dénomination Nationale «Systèmes informatiques et logiciels»

Plus en détail

VRM Monitor. Aide en ligne

VRM Monitor. Aide en ligne VRM Monitor fr Aide en ligne VRM Monitor Table des matières fr 3 Table des matières 1 Introduction 3 2 Vue d'ensemble du système 3 3 Getting started 4 3.1 Démarrage de VRM Monitor 4 3.2 Démarrage de Configuration

Plus en détail

Les bourses de thèse

Les bourses de thèse Les bourses de thèse Certains d entre vous se souviennent des galères rencontrées, lorsqu en DEA, on recherche une bourse de thèse. Alors, nous avons décidé de vous faire un petit récapitulatif des bourses,

Plus en détail

Mon métier, mon parcours

Mon métier, mon parcours Mon métier, mon parcours Les métiers de la Physique Le domaine Sciences, Technologies, Santé Alexis, chargé de recherche diplômé d un Master Physique du rayonnement et de la matière et d un Doctorat en

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

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3 RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3 Pour construire un graphique : On lance l assistant graphique à l aide du menu Insérer è Diagramme en ayant sélectionné au préalable une cellule vide dans

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

1 Gestionnaire de Données WORD A4 F - USB / 2014-04-05 / 6020 Alco-Connect

1 Gestionnaire de Données WORD A4 F - USB / 2014-04-05 / 6020 Alco-Connect 1 Gestionnaire de Données WORD A4 F - USB / 2014-04-05 / 6020 Alco-Connect Introduction... 4 Comment décrire le logiciel Cosmos?... 4 Quelles sont les fonctions de ce logiciel PC?... 4 Est-il possible

Plus en détail

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon

Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon Guide de l'utilisateur de l'utilitaire d'installation de caméra Avigilon Version 4.10 PDF-CIT-D-Rev1_FR Copyright 2011 Avigilon. Tous droits réservés. Les informations présentées sont sujettes à modification

Plus en détail

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 : Atelier No2 : Installation d Active Directory Installation du service DNS Installation du Service WINS Création d'un compte d'ordinateur Jonction d'un ordinateur à un domaine Création d usagers. Étape

Plus en détail

v7.1 SP2 Guide des Nouveautés

v7.1 SP2 Guide des Nouveautés v7.1 SP2 Guide des Nouveautés Copyright 2012 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL Au niveau du second degré, l'économie et gestion recouvre un ensemble de champs disciplinaires relevant de l'économie, du droit, des sciences de

Plus en détail

Guide d'utilisation du logiciel de NEWSLETTERS

Guide d'utilisation du logiciel de NEWSLETTERS Page N :1/17 Guide d'utilisation du logiciel de NEWSLETTERS pour FCE France Page N :2/17 Avant propos Qu est-ce le logiciel NEWSLETTERS? C' est une application entièrement web destinée à la saisie et à

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Gestion de projet. GanttProject Didacticiel V1.0. 23 novembre 2013. Gérard Gervois Frédéric Giamarchi

Gestion de projet. GanttProject Didacticiel V1.0. 23 novembre 2013. Gérard Gervois Frédéric Giamarchi Gestion de projet GanttProject Didacticiel V1.0 23 novembre 2013 Gérard Gervois Frédéric Giamarchi Département G.E.I.I. I.U.T. de Nîmes Université Montpellier II Présentation GanttProject est un logiciel

Plus en détail

Les formations en cycle ingénieur

Les formations en cycle ingénieur Les formations en cycle ingénieur Eau, environnement, aménagement Ce domaine forme des ingénieurs capables d'explorer et d'organiser l'espace (surface et sous-sol), d'exploiter durablement les ressources

Plus en détail

Environnement logiciel open source pour la création d œuvres artistiques interactives

Environnement logiciel open source pour la création d œuvres artistiques interactives Environnement logiciel open source pour la création d œuvres artistiques interactives Stéphane Donikian IRISA/CNRS Campus de Beaulieu 35042, Rennes Cedex, France donikian@irisa.fr La création artistique

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

Spécialité Sciences Mécaniques et Ingénierie

Spécialité Sciences Mécaniques et Ingénierie Master 2 Sciences, Technologies, Santé Mention Mécanique Spécialité Sciences Mécaniques et Ingénierie Parcours R&D en mécanique des fluides Parcours R&D en matériaux et structures Parcours Energétique

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

Sage 50 Comptabilité. Solutions logicielles en nuage, sur place et hybrides : Qu'est-ce qui convient le mieux à votre petite entreprise?

Sage 50 Comptabilité. Solutions logicielles en nuage, sur place et hybrides : Qu'est-ce qui convient le mieux à votre petite entreprise? Sage 50 Comptabilité Solutions logicielles en nuage, sur place et hybrides : Qu'est-ce qui convient le mieux à votre petite entreprise? À titre de propriétaire de petite entreprise, vous devez bien sûr

Plus en détail

1 è r e étape : créer sa base de d o n n é e s

1 è r e étape : créer sa base de d o n n é e s Le publipostage (ou mailing) permet à un document (le document principal créé avec Open Office Writer) de profiter des informations se trouvant dans un autre document (la source de données créée avec Open

Plus en détail

Mon métier, mon parcours

Mon métier, mon parcours Mon métier, mon parcours Anthony, ingénieur d études diplômé d un Master Réseaux, application documentaire, ingénierie et sécurité Les métiers de l Informatique Le domaine Sciences, Technologies, Santé

Plus en détail

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT BADPLUS V5 Imports de données joueurs à partir de la base fédérale en ligne Poona MANUEL D'UTILISATION Stéphan KIEFFER - Dominique BOSSERT Sommaire Pages RECHERCHE DE JOUEURS...- 3-1. RECHERCHE A PARTIR

Plus en détail

Tutorial Ophcrack. I) Ophcrack en API. (ou comment utiliser Ophcrack pour recouvrir un mot de passe sous Windows XP et Windows Vista)

Tutorial Ophcrack. I) Ophcrack en API. (ou comment utiliser Ophcrack pour recouvrir un mot de passe sous Windows XP et Windows Vista) Tutorial Ophcrack (ou comment utiliser Ophcrack pour recouvrir un mot de passe sous Windows XP et Windows Vista) Ophcrack est un utilitaire gratuit permettant de cracker les mots de passe des sessions

Plus en détail

Logiciels concernés. Situation. Ciel et le pont comptable. Note conçue et rédigée par Jalons sprl tous droits réservés - 27/06/2007.

Logiciels concernés. Situation. Ciel et le pont comptable. Note conçue et rédigée par Jalons sprl tous droits réservés - 27/06/2007. Logiciels concernés Ciel Gestion Commerciale Premium, Evolution, et Réseau et Ciel Compta Premium, Evolution et Réseau. Situation Ciel Gescom et Ciel Compta ne sont pas des logiciels intégrés. C'est-à-dire

Plus en détail

Le modèle de données

Le modèle de données Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.

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

TITRE Ier DISPOSITIONS GENERALES. Article 1 er

TITRE Ier DISPOSITIONS GENERALES. Article 1 er DECISION REGLEMENTAIRE N 12 DU 2 MARS 1948 DU CENTRE NATIONAL DE LA CINEMATOGRAPHIE RELATIVE AUX AUTORISATIONS D'EXERCICE DE LA PROFESSION modifiée par décisions n 12 bis du 18 mai 1949, 12 ter du 3 août

Plus en détail

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

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

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Boîte à outils OfficeScan

Boîte à outils OfficeScan Boîte à outils OfficeScan Manuel de l'administrateur Sécurité des points finaux Protection ti en ligne Sécurité Web Trend Micro Incorporated se réserve le droit de modifier sans préavis ce document et

Plus en détail

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

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

Plus en détail

Fiche méthodologique Rédiger un cahier des charges

Fiche méthodologique Rédiger un cahier des charges Fiche méthodologique Rédiger un cahier des charges Plan de la fiche : 1 : Présentation de la fiche 2 : Introduction : les grands principes 3 : Contenu, 1 : positionnement et objectifs du projet 4 : Contenu,

Plus en détail