Projet Théorie des graphes

Slides:



Advertisements
Présentations similaires
Théorie des graphes.
Advertisements


EXERCICE 2.1 : APRES AVOIR DEMANDE LA SAISIE DUN NOMBRE POSITIF (ERREUR DE SAISIE A TRAITER). AFFICHER LE DECOMPTE EN PARTANT DE CE NOMBRE JUSQUÀ ARRIVER.
DECLARATION DE VARIABLES
Utiliser autrement des données de Base Elèves 1) Choisir les données Base Élèves propose 3 sortes de listes, par exemple dans le menu : Elèves : Liste.
Modélisation par le concept de graphe
LES GRAPHES.
PROCEDURE TYPE DE DEFINITION DES MODALITES
! ! ! PROCEDURE TYPE POUR ORGANISER L ’ANONYMAT
! 1 CREATION D'UNE MAQUETTE EXPORT / IMPORT
En saisie assistée, il est possible d'afficher 2 listes d'étudiants
Diffusion Nationale TOULOUSE -Mai 2006 STSWEB Gestion des campagnes Présentation générale.
Diffusion Nationale TOULOUSE -Mai 2006 STSWEB Rattacher Services et ARE Gestion individuelle des services et ARE.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Tableaux Certains problèmes nécessitent beaucoup de variables du même type. Exemple : relevé de températures matin et soir dans 10 villes pour 10 jours.
Chap. 1 Structures séquentielles : listes linéaires
FLSI602 Génie Informatique et Réseaux
Guide à l'usage des équipes éducatives
Nombre de chaînes de longueur r
Chapitre VIII. Introduction aux graphes
Microsoft Excel Avancé
Diffusion Nationale TOULOUSE –déc STSWEB Rattacher Services et ARE Gestion individuelle des services et ARE.
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
OMNIDIA 5.3. OMNIDIA 5.3 OMNIDIA 5.3 OMNIDIA 5.3.
LE Sudoku Projet Parcours GSI
Le tableur, outil de calcul et de traitement de listes de valeurs
Installation & Prise en Main Les Joies de la Simulation Le Cœur : Le Gestionnaire de BDD Le Reporting : Un Puissant outils.
FICHIERS : Définition : Algorithme général:
Algorithme de Bellman-Ford
Structures de données IFT-2000
Structures de données IFT-2000
Modèles d’implantation
Projet de C – Matrices creuses
INSCRIPTION AUX ELEMENTS
CONSULTATION D'UN DIPLÔME
PROCEDURE TYPE D'ORGANISATION DES EPREUVES PROCEDURE TYPE D'ORGANISATION DES EPREUVES Saisir les évolutions éventuelles de caractéristiques de salles :

Les devis Le devis ODF.
Les devis Les devis texte.
Structure et Services « STS » Menu Structures : Divisions
Diffusion Nationale TOULOUSE –déc STSWEB Gestion des campagnes Présentation générale.
Pour le chemin le plus court pour tous les couples
La planification d’un projet de maintenance
- Projet informatique ECE 2004/ Bienvenue sur METRO FUTE.
Inscription via Cliquez pour changer de langue Fonctions disponibles Descriptions des masques - Menu fermé (640x480) + Menu ouvert (800x600) Cliquez.
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
PHP 5° PARTIE : LES COOKIES
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Menu Structure : Divisions Diffusion Nationale TOULOUSE – Décembre 2008 Structure et Services « STS » Menu Structures : Divisions.
Lancement de Microsoft Word
Le problème central de l’ordonnancement (les plus longs chemins)
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
PROCEDURE TYPE PROCEDURE TYPE DE
Version 2.8 Avril 2010Agrément N° RCS Ressenti de l’usager Version 2.8.
Gestion d’un chantier ou d’un Projet
Diffusion Nationale TOULOUSE – Décembre 2008 STS Web Services libres Gérer les services libres.
Formation Affelnet 6ème
 Formulaires HTML : traiter les entrées utilisateur
Comprendre l’ergonomie du module STSWEB. La page d’accueil de STSWEB Code et Nom de l’établissement Version du module Campagne en cours Année affichée.
1 BASE ELEVES PREMIER DEGRE Présentation des évolutions de la version 15.2 mai 2015.
Création d’un projet (10) Cadepa 6-12 pour API TSX-37
Contribution CMS.Eolas
Le sommet [0] a pour coordonnés : x=0; y=0; z=0 Le sommet [1] a pour coordonnés : x=1; y=0; z=0 Le sommet [2] a pour coordonnés : x=1; y=0; z=1 Le sommet.
Diffusion Nationale TOULOUSE -Mai 2006 STSWEB Rattacher Services et ARE Gestion individuelle des services et ARE.
Importations et exportations On peut transférer les données vers 40 logiciels de comptabilité. Cela génère des fichiers d’écritures. Cette partie permet.
© Fujitsu Canada Introduction à Minitab Version 14 - Anglais Formation Black Belt Lean Six Sigma.
Matlab (Matrix Laboratory) Langage de programmation évolué. Traitement direct d’opérations matricielles, dont l’inversion et l’analyse d’opérateurs ou.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Transcription de la présentation:

Projet Théorie des graphes Présentation par Barbot Timothée, Buob Edgar, Poupa Adrien Efrei L’3 C Promotion 2018

Tableau récapitulatif Sujet Etat Codeur 1. Graphe à prendre en compte Fait Edgar Buob 2. Mise en œuvre d’un graphe en mémoire Lecture du graphe sur fichier 3. Affichage du graphe Timothée Barbot, Adrien Poupa 4. Fermeture transitive Timothée Barbot, Edgar Buob 5. Détection de circuit Adrien Poupa 6. Calcul de rang Timothée Barbot 7. Lecture d’un tableau de contraintes 8. Calcul du calendrier au plus tôt et du calendrier au plus tard 9. Validation du graphe 10. Editeur du plan projet

Compilation

1.Graphe à prendre en compte On adopte des fichiers ayant la syntaxe : 3 Nombre de sommets 1  20 arc (1,2) à valeur ‘0’ 2  0 -1 arc (2,0) à valeur ‘-1’ 0  11 arc (0,1) à valeur ‘1’ 1  02 arc (1,0) à valeur ‘2’ -1 fin de fichier

2. Mise en œuvre d’un graphe en mémoire Lecture du graphe sur fichier Représentation en mémoire du graphe : Utilisation d’une structure (comme proposé dans le support « Représentation des graphes ») Une variable de type entier pour stocker le nombre de sommet Un tableau deux dimensions pour stocker la matrice d’adjacence Un tableau à deux dimensions pour stocker la matrice des valeurs

2. Mise en œuvre d’un graphe en mémoire Lecture du graphe sur fichier Sommet origine = -1 ? Lecture du nombre de sommets Lecture du sommet origine Fin de la lecture Oui Non Lecture du poids de l’arc Lecture du sommet destination

3. Affichage du graphe Affichage des colonnes Tant que i < nbSommets Fin de l’affichage i == nbSommets Affichage du rang Faire j == nbSommets Tant que j < nbSommets Affichage de MAdj[i][j] Ou Mval[i][j] Faire

4. Fermeture transitive Génération de deux matrices adjacentes vides, m et target à partir d’original A partir de n = 2 jusque n = nombre sommets -1, on boucle sur les lignes et colonnes de m et original On fait m = m * original Target garde la trace des vrais Affichage de target et m

5. Détection du circuit Non « Vrai » sur la diagonale? Lecture de la matrice transitive Il y a un circuit Fin de la lecture Oui Non final Pas de circuit Fin de la lecture

6. Calcul de rang fonction rang(graphe){ Tant que i < graphe->nbSommets Faire r <- calculRang(graphe, i) afficher i ‘a pour rang’ r FinTq } fonction calculRang(graphe, sommet){ list rangPred Si i predecesseur de sommet rangPred.ajoute(calculRang(graphe, i)) FinSi Si rangPred.vide() retourner 0 Sinon retourner rangPred.max() + 1

7. Lecture d’un tableau de contraintes On adopte des fichiers ayant la syntaxe : 4 Nombre de tâches 1 10 2 -1 La tâche 1 dure ‘10’, s’exécute après 2 2 20 3 -1 La tâche 1 dure ‘20’, s’exécute après 3 3 30 -1 La tâche 3 dure ‘30’, aucune contrainte 4 40 1 2 3 -1 La tâche 4 dure ‘40’ ; s’exécute après 1, 2 et 3 -1 Fin du fichier

7. Lecture d’un tableau de contraintes La tâche est-elle - 1 ? Lecture du nombre de tâches Lecture d’une tâche Fin de la lecture Oui contrainte est -1 Non Lecture des contraintes Lecture du poids contrainte différente de -1

8. Calcul du calendrier au plus tôt et du calendrier au plus tard fonction calendrierAuPlusTot(graphe){ Tant que i < graphe->nbSommets Faire t <- dateAuPlusTot(graphe, i) afficher ‘sommet ’ i ‘, date au plus tot: ’ t FinTq } fonction dateAuPlusTot(graphe, sommet){ liste datePred; Si i predecesseur sommet datePred.ajoute(dateAuPlusTot(graphe, i) + graphe->MVal(i, sommet)) FinSi Si datePred.vide() retourner 0 Sinon retourner datePred.max()

8. Calcul du calendrier au plus tôt et du calendrier au plus tard fonction calendrierAuPlusTard(graphe){ Tant que i < graphe->nbSommets Faire t <- dateAuPlusTard(graphe, i) afficher ‘sommet ’ i ‘, date au plus tard: ’ t FinTq } fonction dateAuPlusTard(graphe, sommet){ liste dateSucc; Si i successeur sommet dateSucc.ajoute(dateAuPlusTard(graphe, i) - graphe->MVal(sommet,i)) FinSi Si dateSucc.vide() retourner 0 Sinon retourner dateSucc.min()

9. Validation du graphe Graphe validé Succès Lecture du graphe Validation de l’entrée unique Validation de la sortie unique Pas de circuit Il existe un chemin du point d’entrée à tout autre sommet Il existe un chemin de n’importe quel sommet au point de sortie Echec Echec Echec Echec Echec Validation de l’entrée unique : set<int> d’entrées renvoyé par entreeGraphe init de map<int, int> aretesEntrantes => aretesEntrantes[x] = 0; => aretesEntrantes[i]++; si true => insertion dans le set si (aretesEntrantes[x] == 0) // Si on n'a que des 0 sur une colonne, c'est une entree Validation de la sortie unique : idem sauf aretesEntrantes[j]++ // Si on n'a que des 0 sur une ligne, c'est une sortie Chemin entrée => tout autre sommet // On vérifie qu'on a bien true sur la ligne d'entree (sauf lui-męme) pour avoir d), entrées récupérées par le set précédent Chemin entrée => sortie // On vérifie qu'on a bien true sur la colonne de sortie (sauf lui-męme) pour avoir e) Graphe non validé Graphe non validé Graphe non validé Graphe non validé Graphe non validé

10. Editeur de plan projet Sélection utilisateur Ajout / Suppression de tâche Ajout / Suppression de contrainte Modification de durée Quitter sans enregistrer Quitter en enregistrant Retour menu principal Validation

Ajout / Suppression de tâche 10. Editeur de plan projet Ajout / Suppression de tâche Ajout Suppression Création de la nouvelle matrice avec un sommet en plus, copie de l'ancienne Saisie du sommet à supprimer, création de la nouvelle matrice avec un sommet en moins, copie de l'ancienne

Ajout / Suppression de contrainte 10. Editeur de plan projet Ajout / Suppression de contrainte Ajout Suppression Saisie de la contrainte et de son sommet, de sa durée si nécessaire, mise à jour de la matrice Saisie du sommet à supprimer et de la contrainte à supprimer, mise à jour de la matrice

10. Editeur de plan projet Modification de durée Rappel des durées Saisie du sommet pour lequel il faut modifier la durée, saisie de sa nouvelle durée, mise à jour de la matrice