THEORIE DES GRAPHES ET MODELISATION DES RESEAUX Emmanuel TONYE Professeur Ecole Nationale Supérieure Polytechnique Université de Yaoundé I [email protected] www.lets.africa-web.org Octobre 2006 octobre 2006 - Pr. E. TONYE 1 Bibliographie • Jonathan L. Gross and Jay Yellen (Editors) (2004), Handbook of graph theory, CRC press • R. David and H. Alla (1992), Du Grafcet aux réseaux de Petri. Hermes. • Annie Choquet-Geniet (2006), Les réseaux de Petri: un outil de modélisation, Dunod • http://www.cyber.uhp-nancy.fr/demos/GEII-010/cha_2/index.html • http://www.tn.refer.org/hebergement/cours/sys_disc/RdP_acceuil.html octobre 2006 - Pr. E. TONYE 2 INTRODUCTION (1/4) Le problème à résoudre est celui de trouver le chemin optimal dans un graphe, c’est-à-dire le chemin le plus économique. En particulier dans certains cas, on parlera de chemin le plus court (économie de distance, coût d’implémentation minimum). octobre 2006 - Pr. E. TONYE 3 INTRODUCTION (2/4) La méthodologie pour résoudre ce problème d’optimisation, fait recours à un algorithme vorace qui procède pas à pas. Partant d’une situation initiale où l’ensemble solution est vide, on ajoute chaque fois à cet ensemble le meilleur candidat qui reste, le choix se faisant à l’aide d’un critère de sélection. S’il n’est pas possible de compléter cet ensemble pour constituer au moins une solution au problème, on enlève ce candidat pour toujours. Dans le cas contraire, le candidat reste pour toujours dans l’ensemble solution : il est définitivement avalé, d’où le terme « vorace ». Après chaque ajout, on vérifie si l’ensemble choisi constitue une solution au problème. Si de cette manière on aboutit toujours à une solution optimale, alors l’algorithme fonctionne bien. octobre 2006 - Pr. E. TONYE 4 INTRODUCTION (3/4) Il est demandé aux élèves dans le cadre de ce cours : - d’implémenter les algorithmes voraces pour réaliser un utilitaire informatique d’aide à la conception des réseaux de télécommunications; - de comprendre les réseaux de Petri pour la modélisation des problèmes de communication. octobre 2006 - Pr. E. TONYE 5 INTRODUCTION (4/4) La plateforme réalisée par l’étudiant donnera les possibilités suivantes : travailler sur une feuille blanche charger une image prédéfinie comme celles de Yaoundé ou de Douala ou du Cameroun charger une image libre en parcourant le disque dur enregistrer le résultat d’un tracé pour le restituer plus tard. octobre 2006 - Pr. E. TONYE 6 octobre 2006 - Pr. E. TONYE 7 octobre 2006 - Pr. E. TONYE 8 Résultats attendus • Algorithme de Kruskal: Application au réseau de Camtel • Algorithme de Kruskal et de Prim: Réseau MTN Cameroun • Algorithme de Kruskal et de Prim: Campus de l’université de Yaoundé I • Algorithme de Kruskal et de Prim: Réseau actuel de FH TV • Algorithme de Kruskal et de Prim: Réseau des télécentres communautaires • Algorithme de Kruskal et de Prim: Réseau des Universités camerounaises • Algorithme de Kruskal et de Prim: Réseau des brasseries du Cameroun • Coloration de graphes: répartition de fréquences pour les émetteurs FM au Cameroun • Commis voyageur : Campus de l’université de Yaoundé I • Simulations de l’ordonnancement octobre 2006 - Pr. E. TONYE 9 • Nœud Glossaire • Un sommet v est un point d’extrémité ou un point d’intersection d’un graphe. Il s’agit d’une abstraction d’un lieu tel une ville, une division administrative, une intersection routière ou une infrastructure de transfert (stations, terminus, ports et aéroports). • Dans le domaine des télécommunications il peut notamment s’agir par exemple d’une BTS, d’un centre de commutation. • Dans le cadre de ce cours, un nœud est caractérisé par son nom et sa position géographique. • Arête • Un arc e est un lien entre deux sommets. L’arc (i, j) est caractérisé par un sommet initial i, un sommet terminal j et son poids. Un arc est une représentation abstraite d’infrastructures de support des déplacements entre deux nœuds. Enfin, un arc possède une direction souvent symbolisée par une flèche. octobre 2006 - Pr. E. TONYE 10 Glossaire • Graphe • Un graphe G consiste en un ensemble de nœuds v et d’arcs e. Par suite, G= (v, e). • Un réseau de transport, un réseau de télécommunication, entre autres, peuvent être représenté sous forme de graphe. • Graphe complet • Un graphe est complet lorsque chaque nœud est connecté aux autres nœuds octobre 2006 - Pr. E. TONYE 11 Glossaire • Arbre • C’est un graphe connexe sans cycle. Il a autant d’arêtes que de sommets moins 1. • Un arbre est dit couvrant pour un graphe G lorsqu’il contient tous les sommets de ce graphe. • L'arbre couvrant minimal est un arbre connectant tous les sommets du graphe, et tel que son poids (la somme des poids des arêtes) est minimal. octobre 2006 - Pr. E. TONYE 12 Glossaire • Graphe orienté Un graphe orienté est un graphe dont les arêtes sont orientées, c’est à dire que chacune lie deux sommets dans un certain ordre. Le premier sera appelé origine de l’arête, et le second extrémité. Dans un graphe orienté, les arêtes peuvent être désignées par des couples (s’il n’y a pas d’arêtes parallèles). Tout graphe peut être lu comme un graphe orienté : en effet une arête non orientée peut être lue comme étant une paire d’arêtes d’orientations différentes. Pour cette raison, on peut considérer si besoin est tout graphe non orienté comme un cas particulier de graphe orienté. • Graphe pondéré • On appelle graphe pondéré, un graphe dont les arêtes ont été affectées d’un nombre appelé poids. octobre 2006 - Pr. E. TONYE 13 Glossaire • Chemin • Un chemin C=< a1, a2, ..., an > est une suite d'arc adjacents. Le chemin est dit de poids minimal (ou minimal) si le poids de la chaîne qui le constitue est minimal. • Poids d’une chaîne • C’est la somme des poids des arêtes qui constituent la chaîne. On parlera aussi, selon le contexte, de longueur ou coût de la chaîne octobre 2006 - Pr. E. TONYE 14 Glossaire • Relâchement • On appelle relâchement une méthode qui diminue progressivement une borne supérieure sur le poids du plus court chemin pour chaque sommet jusqu’à ce que le plus court chemin soit atteint. Pour chaque sommet du graphe, on a un champ qui est cette borne supérieure considéré comme poids du sommet. Ce champ est initialisé à +infini. • Le relâchement d’un arc (d, a) est un test permettant de savoir si le chemin passant par d pour arriver à a est un chemin plus court que le précédent chemin qui arrivait à a, et si c’est le cas ce nouveau chemin est le plus court: d devient le prédécesseur de a et le poids de a est celui de d augmenté du poids de l'arc (d, a). octobre 2006 - Pr. E. TONYE 15 Glossaire • Ordonnancement • Le problème d’ordonnancement est lié au séquencement optimal d’un certain nombre de tâches à effectuer. Chaque tâche peut avoir une durée d’exécution et/ou une utilité. octobre 2006 - Pr. E. TONYE 16 Glossaire • Heuristique vorace • Il existe des problèmes dont la résolution optimale demande des temps exponentiels. On fait alors recours à la conception vorace qu’on applique de façon « hasardeuse » pour parvenir à une solution qui à des chances d’être optimale. octobre 2006 - Pr. E. TONYE 17 Glossaire • Réseaux de Petri • Méthode de modélisation des réseaux, c’est un type particulier de graphes orientés, avec un état initial appelé marquage M0.Deux types différents de nœuds peuvent être distingués les places et les transitions. Les places sont équivalents aux conditions tandis que les transitions sont équivalents aux évènements. • Afin de représenter le comportement dynamique d’un système, le réseau de Petri le modélisant change d’état grâce aux déclenchements des transitions possibles • En bref les réseaux de Petri permettent de modéliser les processus ou système dynamique. • inventés par C. Petri en 1962 dans sa thèse ("Kommunikation mit Automaten) octobre 2006 - Pr. E. TONYE 18 octobre 2006 - Pr. E. TONYE 19 ALGORITHME DE KRUSKAL Introduction • L’algorithme de Kruskal est un exemple d’algorithme d’arbres sous-tendants minimaux. • Son but est de minimiser le coût de liaison entre N points (Nœuds donnés). • Dans celui que nous décrivons ci-après, on peut tenir compte soit de la distance entre les nœuds (coûts implicites) soit rentrer les coûts des liaisons au clavier (cas réel). Les coût seront proportionnels aux difficultés à relier les nœuds. octobre 2006 - Pr. E. TONYE 20 ALGORITHME DE KRUSKAL Procédure de modélisation 1. On considère l’ensemble des N noeuds possibles (nœuds du réseau à construire). 2. On considère l’ensemble des possibles ou des coûts définis. distances 3. On considère la plus courte distance ou le plus petit coût et on relie les points qui la définissent. octobre 2006 - Pr. E. TONYE 21 ALGORITHME DE KRUSKAL Procédure de modélisation 4. On considère la plus courte distance ou le plus faible coût prochain. 5. S’il n’induit pas un cycle sur le schéma du graphe en évolution, on l’élimine. 6. Sinon on relie les nœuds qui la définissent. 7. On répète ainsi l’opération jusqu’à obtenir un arbre unique comprenant tous les nœuds. octobre 2006 - Pr. E. TONYE 22 Organigramme de l’algo de Kruskal – Version 1 Début Insertion d’une carte Placement des noeuds Calculer ou insérer les coûts entre les nœuds Initialiser coutotal à zéro et lancer le chrono Oui Connexité complète? Ajouter Cmin à coutotal Arrêter le chrono et en déduire le temps d’exécution de l’algo Choisir le plus petit coût prochain Cmin Afficher le résultat Induit un Cycle? Fin Relier les nœuds relatifs à Cmin Eliminer Cmin de A Non octobre 2006 - Pr. E. TONYE 23 octobre 2006 - Pr. E. TONYE 24 Organigramme de l’algo de Kruskal – Version 2 octobre 2006 - Pr. E. TONYE 25 ALGORITHME DE KRUSKAL Exemple de synoptique de modélisation • Considérons les nœuds suivants: octobre 2006 - Pr. E. TONYE 26 22 N=8 2 3 4 44 7 1 U1= {1,2} 1 U2= {7,8} 5 4 6 7 3 8 U3= {2,3} 66 U4= {1,6} 5 6 7 8 1 8 U5= {3,4} U6= {2,6} U7= {2,7} 1 2 3 4 5 6 77 1 2 3 4 5 6 U8= {3,7} U9= {4,8} U10= {4,5} 2 2 3 4 4 U11= {4,7} U12= {6,7} U13= {5,8} 7 1 5 1 5 3 6 octobre 2006 - Pr. E. TONYE 7 1 8 27 ALGORITHME DE KRUSKAL Conclusion Le principe est d’établir un vecteur des distances des liaisons du graphe et de le trier dans l’ordre croissant. A chaque étape, on sélectionne la liaison de plus petite distance restante. Elle est retenue si elle contribue à la construction d’une partie connexe de notre arbre. Ces parties connexes sont initialement des singletons constitués par chacun des sommets. Elle se développent en s’annexant les unes aux autres jusqu’à l’obtention du grand ensemble connexe contenant tous les sommets. Une liaison n’est donc pas retenue si ses deux sommets appartiennent à une même composante connexe en formation. L’arbre de Kruskal est donc construit des plus petites branches aux plus grandes. octobre 2006 - Pr. E. TONYE 28 ALGORITHME DE KRUSKAL Exemple octobre 2006 - Pr. E. TONYE 29 octobre 2006 - Pr. E. TONYE 30 octobre 2006 - Pr. E. TONYE 31 octobre 2006 - Pr. E. TONYE 32 octobre 2006 - Pr. E. TONYE 33 Algorithme de Kruskal : Réseau Orange Cameroun octobre 2006 - Pr. E. TONYE 34 Algorithme de Kruskal : Réseau MTN Cameroun octobre 2006 - Pr. E. TONYE 35 Algorithme de Kruskal : Réseau Orange Yaoundé octobre 2006 - Pr. E. TONYE 36 Algorithme de Kruskal : Réseau Orange Douala octobre 2006 - Pr. E. TONYE 37 Algorithme de Kruskal : Réseau MTN Douala octobre 2006 - Pr. E. TONYE 38 octobre 2006 - Pr. E. TONYE 39 ALGORITHME DE PRIM Principe de modélisation • Tous les sommets n'appartenant pas à l’arbre en construction S1 se trouvent dans une file d'attente S2 avec priorité : le plus prioritaire est celui qui est relié à un sommet de S1 par l'arête de plus faible poids. • Et un sommet de la file d'attente non relié à un sommet de S1 a un poids infini. • Lorsqu'on choisit une arête, le sommet extrémité de cette arête qui n'appartenait pas à S1 est ajouté à S1. • Et la file d'attente des sommets S2 est mise à jour. octobre 2006 - Pr. E. TONYE 40 ALGORITHME DE PRIM Description - Initialisation • On a au départ l’ensemble des nœuds N et l’ensemble des arêtes A d’un graphe G. • 1. Initialisation: • On range les arêtes de A dans l’ordre croissant de leurs poids • On initialise la liste des arêtes solutions S avec l’arête A1 (le moins cher) • On initialise l’arbre S1 avec les deux sommets avec l’arête A1. • On initialise la file d’attente S2 avec les sommets N-{les deux sommets avec l’arête A1.} octobre 2006 - Pr. E. TONYE 41 ALGORITHME DE PRIM Description - Itération • 2. Itération: • Tant que (***) la file d’attente et l’ensemble des arêtes candidats sont simultanément non vides • Faire: Trouver l’ensemble des arêtes candidats Arcand et le trier par ordre de poids croissant. • Si l Arcand l =0 Alors sortir de l’itération • Sinon • Ajouter a= Arcand0 à la liste des arêtes solutions • Ajouter l’autre extrémité de a à l’arbre • Mettre à jour la file d’attente • Passer Retourner à l’étape (***). octobre 2006 - Pr. E. TONYE 42 ALGORITHME DE PRIM Description - Résultat • 3. Résultat: • Si la file d’attente est vide, • Alors le graphe est connexe et la liste des arêtes solutions constitue l’arbre couvrant minimal. • Sinon le graphe n’est pas connexe octobre 2006 - Pr. E. TONYE 43 Organigramme de l’algo de PRIM octobre 2006 - Pr. E. TONYE 44 ALGORITHME DE PRIM Conclusion Ici on s’intéresse aussi aux plus petites distances, mais à la condition déterminante que la nouvelle liaison à retenir doit être issue du sous-arbre déjà construit, afin de voir l’arbre pousser de façon presque naturelle à partir d’une racine. Dans notre cas, la racine est déterminée par la plus petite liaison de départ. A chaque étape, on trie donc les liaisons restantes dans l’ordre croissant et de celles qui sont liées à l’arbre en construction, on choisit la plus petite. Remarquons qu’on aboutit au même résultat que dans le cas de Kruskal, la différence résidant dans l’ordre de la construction de l’arbre. octobre 2006 - Pr. E. TONYE 45 ALGORITHME DE PRIM Exemple octobre 2006 - Pr. E. TONYE 46 octobre 2006 - Pr. E. TONYE 47 octobre 2006 - Pr. E. TONYE 48 Howtouse.exe octobre 2006 - Pr. E. TONYE 49 octobre 2006 - Pr. E. TONYE 50 ALGORITHME DE DIJKSTRA Principe de modélisation • Publié en 1959 par l'informaticien néerlandais Edsger Dijkstra. L'algorithme de Dijkstra est une alternative à celui de Floyd, alternative plus complexe, mais également beaucoup plus rapide. • En fait, le résultat fourni par Dijkstra n'est pas tout à fait le même que celui fourni par Floyd : on se fixe un sommet source, et Dijkstra donne tous les chemins les plus courts de ce sommet source à chacun des autres sommets et ce en O(aln(n)) . • Ainsi, pour le même résultat, Floyd tourne en O(n3) tandis que Dijkstra tourne en O(a2ln(n)) où a est le nombre d'arêtes du graphe (supposé connexe, rappelons-le), donc O(n). octobre 2006 - Pr. E. TONYE 51 ALGORITHME DE KRUSKAL Description V : l’ensemble des sommets du graphe; E : l’ensemble des arcs (ou arêtes) du graphe; T : un ensemble temporaire de sommets d’un graphe; S : l’ensemble des sommets traités par l’algorithme; y : un tableau de coût de longueur |V| (le nombre de sommet du graphe); a : l’indice du noeud de départ; c(u,v) : permet d’obtenir le coût d’un arc du sommet u au sommet v appartenant à E. octobre 2006 - Pr. E. TONYE 52 Organigramme de l’algo de DIJSKTRA octobre 2006 - Pr. E. TONYE 53 L'algorithme de Dijkstra est un algorithme de type glouton (vorace) : à chaque nouvelle étape, on traite un nouveau sommet. Reste à définir le choix du sommet à traiter, et le traitement à lui infliger bbb( (ad )) 13 11 ∞ dd((e ) 9 ∞ 2 1 13 a a( ) 2 ∞7 7 000 11 10 ∞ e e e( )( a ) g gg(( )f ) g (d) 1 3 18 18 17 ∞ 8 ∞ 9 ccc(c(f(a) )) f f f(e( ) e: e Les chemins les plus courts par rapport à “a” sont: a: a ; 0 b: b d e a ; 11 c: c f e a ; 17 d: d e a; 9 octobre 2006 - Pr. E. TONYE f: f g: g a; 7 e d a; 8 e a ; 10 54 ALGORITHME DE DIJKSTRA Conclusion Ici, on s’intéresse à un graphe orienté dont un des sommets est identifié comme source. Le problème consiste à déterminer la longueur (resp. le coût) du plus court chemin (resp. du chemin le plus économique) de la source vers chacun des autres sommets du graphe. Chaque sommet doit être relié à la source soit par une liaison directe soit par une liaison indirecte, pourvu que ce soit la liaison la plus économique. A chaque étape, on choisit le sommet restant dont la distance de la source est minimale. Pour chaque sommet, cette distance est la plus petite entre la liaison directe et toutes les liaisons indirectes passant par un sommet déjà retenu. octobre 2006 - Pr. E. TONYE 55 ALGORITHME DE DIJKSTRA Exemple octobre 2006 - Pr. E. TONYE 56 ALGORITHME DE DIJKSTRA: Réseau SABC octobre 2006 - Pr. E. TONYE 57 ALGORITHME DE DIJKSTRA: Réseau des universités camerounaises octobre 2006 - Pr. E. TONYE 58 octobre 2006 - Pr. E. TONYE 59 ALGORITHME DE ROUTAGE PAR LE PLUS COURT CHEMIN Cet algorithme est proche de celui de Dijkstra, à la seule différence que l’on recherche le plus court chemin entre une source et une destination bien spécifiées. octobre 2006 - Pr. E. TONYE 60 octobre 2006 - Pr. E. TONYE 61 ALGORITHME DE MINIMISATION DE L’ATTENTE Principe C’est le cas le plus simple du problème d’ordonnancement. Le paramètre à optimiser est la durée totale de service pour un nombre n de clients nécessitant chacun une durée connue à l’avance pour le service. Il est montré qu’il suffit de servir ces clients dans l’ordre croissant des temps de service. octobre 2006 - Pr. E. TONYE 62 ALGORITHME DE MINIMISATION DE L’ATTENTE Procédure • L’utilisateur rentre le nombre de clients à satisfaire ainsi que les temps de service nécessaire pour chacun d’eux. • Supposons que les m premiers clients soient les clients i1, …, im. En ajoutant le client j, T devient Σtik + tj, k=1,…, m. Minimiser T revient à minimiser tj. A chaque étape, choisir le client exigeant le moins de service entre tous les clients restants. octobre 2006 - Pr. E. TONYE 63 ALGORITHME DE MINIMISATION DE L’ATTENTE Exemple n clients; un seul serveur ti: temps que prendra le client i (connu a-priori) On veut minimiser le temps passé dans le système par le client i. Exemple: t1= 5, t2= 10, t3= 3 Il y a 6 ordres possibles: 1 2 3 : 5 + (5 + 10) + ( 5 + 10 + 3) = 38 1 3 2 : 5 + ( 5 + 3) + ( 5 + 3 + 10) = 31 2 1 3 : 10 + (10 + 5) + (10 + 5 + 3) = 43 2 3 1 : 10 + (10 + 3) + (10 + 3 + 5) = 41 3 1 2 : 3 + ( 3 + 5) + ( 3 + 5 + 10) = 29 3 2 1 : 3 + (3 + 10) + ( 3 + 10 + 5) = 34 A chaque étape, ajouter à la fin de la liste le client demandant le moins de service entre tous ceux qui restent. octobre 2006 - Pr. E. TONYE 64 octobre 2006 - Pr. E. TONYE 65 octobre 2006 - Pr. E. TONYE 66 ALGORITHME DE L’ORDONNANCEMENT AVEC ECHEANCES Problème • On est en présence d’un nombre N de tâches à ordonner. Chacune des tâches Ti doit être réalisé à une échéance donnée Ei et produirait (si elle est réalisée) un gain Gi. • Malheureusement, il peut arriver que les échéances de deux ou plusieurs tâches données soient identiques. • Il faut donc pouvoir choisir celle à réaliser à cette échéance. octobre 2006 - Pr. E. TONYE 67 ALGORITHME DE L’ORDONNANCEMENT AVEC ECHEANCES Procédure • L’algorithme est tout simple ; il suffit de suivre les étapes suivantes : – Classer les échéances par ordre croissant (du type : E1, E2, …... EN) ; – Pour chaque échéance, répertorier les tâches qui devraient être réalisé et les classer par ordre de gains croissants. – Retenir pour chaque échéance la dernière tâche classer c’est-à-dire celle qui a le plus grand gain. octobre 2006 - Pr. E. TONYE 68 ALGORITHME DE L’ORDONNANCEMENT AVEC ECHEANCES Exemple Séquences possibles: gain 1 50 2 10 3 15 4 30 1, 3 65 2, 1 60 2, 3 25 3, 1 65 4, 1 80 4, 3 45 Ensemble de tâche est réalisable si il existe au moins une séquence (séquence réalisable) qui permet d'exécuter toutes les tâches de l'ensemble avant leur échéance Construire l'ensemble des tâches à exécuter pas a pas, en ajoutant, à chaque pas, la tâche non encore considérée ayant la plus grande valeur de gi à condition que l'ensemble soit réalisable octobre 2006 - Pr. E. TONYE 69 octobre 2006 - Pr. E. TONYE 70 octobre 2006 - Pr. E. TONYE 71 ALGORITHME DE LA COLORATION DES GRAPHES Introduction Notre heuristique à ceci de particulier que le résultat dépend toujours du point de départ. Il n’est pas toujours rentable d’appliquer l’heuristique globale. A cause de leur simplicité, les algorithmes voraces sont parfois utilisés comme heuristiques dans les cas où l'on peut (ou doit) se contenter d'une approximation sans chercher à obtenir une solution optimale exacte. Nous étudierons deux exemples, qui illustrent aussi le fait que l'approche vorace ne conduit pas toujours au résultat optimal. octobre 2006 - Pr. E. TONYE 72 ALGORITHME DE LA COLORATION DES GRAPHES Etapes de l’algorithme de Welsh et Powell • Repérer le degré de chaque sommet. • Ranger les sommets par ordre de degrés décroissants. (dans certains cas plusieurs possibilités) • Attribuer au premier sommet (A) de la liste une couleur. • Suivre la liste en attribuant la même couleur au premier sommet (B) qui ne soit pas adjacent à (A). • Suivre (si possible) la liste jusqu'au prochain sommet (C) qui ne soit adjacent ni à A ni à B. • Continuer jusqu'à ce que la liste soit finie. • Prendre une deuxième couleur pour le premier sommet (D) non encore colorié de la liste. • Répéter les opérations 4 à 6. • Continuer jusqu'à avoir colorié tous les sommets. • N.B : Cet algorithme n'aboutit pas forcément à une coloration minimale. Il faut donc observer si on peut faire mieux (c'est-àdire avec moins de couleurs). octobre 2006 - Pr. E. TONYE 73 ALGORITHME DE LA COLORATION DES GRAPHES Exemple octobre 2006 - Pr. E. TONYE 74 octobre 2006 - Pr. E. TONYE 75 octobre 2006 - Pr. E. TONYE 76 ALGORITHME DU COMMIS VOYAGEUR Introduction • C’est le cas typique des problèmes dont la résolution demande un temps qui évolue extraordinairement en fonction du nombre de sommets. Il s’agit de faire un tour optimal d’un certain nombre de villes. • Nous avons essayé d’améliorer l’heuristique proposée ici. Au lieu de partir d’un sommet et d’évoluer de façon vorace, nous le faisons pour chaque sommet et nous retenons celui qui donne la plus petite longueur. Une sorte d’heuristique globale qui donne des résultats meilleurs par rapport à l’heuristique simple. • Comme exemple, dans le livre d’Algorithmique utilisé, l’heuristique simple donne un parcours de 58 alors que la solution optimale est de 56. Notre heuristique améliore en donnant un parcours de 57. octobre 2006 - Pr. E. TONYE 77 ALGORITHME DU COMMIS VOYAGEUR Procédure • Ici, nous connaissons les distances ou coûts directes entre un certain nombre de villes (ou nœuds). • Un commis voyageur doit quitter d'une de ces villes, visiter toutes les autres villes une et une seule fois, et revenir au point de départ en minimisant la distance totale parcourue. • Un algorithme simple consiste à choisir à chaque étape la plus courte arête non encore considérée à condition qu'elle : – ne forme pas de cycle avec les arrêtes déjà choisies (sauf pour la dernière arête choisie, laquelle complète le tour) – ne soit pas la troisième arête choisie incidente à un même sommet. octobre 2006 - Pr. E. TONYE 78 Organigramme de l’algo du Commis voyageur octobre 2006 - Pr. E. TONYE 79 ALGORITHME DU COMMIS VOYAGEUR Exemple octobre 2006 - Pr. E. TONYE 80 octobre 2006 - Pr. E. TONYE 81 Plan de passage de la FO Plan de passage de la FO octobre 2006 - Pr. E. TONYE 82 octobre 2006 - Pr. E. TONYE 83 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 84 Réseau de Pétri Introduction - Contexte • Carl Adam Petri Mathématicien allemand et informaticien (1926 - …) Invention des réseaux de Petri en 1962, dans sa thèse « Communication avec automatismes » (Kommunication mit Automaten). • Un outil de représentation mathématique graphique Outil de représentation et d’analyse des automatismes. Ils permettent de représenter des systèmes à fonctionnement séquentiel (par étapes). • Contexte (MCT, Merise) et (Diagramme d’activités, UML) = extension informelle des Réseau de Pétri Source : http://fr.wikipedia.org/wiki/R%C3%A9seau_de_Petri ; http://fr.wikipedia.org/wiki/Merise_(informatique) octobre 2006 - Pr. E. TONYE 85 Réseau de Pétri Introduction: Utilisation actuelle L’utilisation des réseaux de Pétri est plus tournée vers la recherche que vers l’industrie. Réseau de Pétri ordinaire Modélisation de systèmes logiciels Modélisation de processus d’affaires Gestion des flux Programmation concurrente Génie de la qualité Diagnostic Réseau de Pétri généralisé Gestion des flux complexe Modélisation de chaînes logistiques Utilisation pour les techniques quantitatives Réseau de Pétri temporisé Réseau de Pétri coloré Gestion du temps Modélisation d’attentes Modélisation des systèmes de collaboration Réseau de Pétri continu Modélisation de réactions chimiques Source : http://www.benjamin-monteil.com/ecole/petri.htm octobre 2006 - Pr. E. TONYE 86 Réseau de Pétri Introduction: Quelques outils de simulation Il existe de nombreux outils de simulation, souvent libres, et développés dans le cadre de thèses ou de recherches scientifiques. CPN Tools (un des logiciels les plus utilisés, simulation de réseaux de Pétri de haut niveau) MISS-RdP© : Interactive Modelling and System Simulation (outil permettant de simuler et de modéliser des RdP de haut niveau) Petri-Parc (simulateur graphique de RdP qui permet la modélisation et la simulation de réseaux simples ou colorés) CoopnBuilder (simulateur graphique utilisé pour la modélisation des réseaux de Pétri orientés-objets). Source : http://www-sop.inria.fr/oasis/PRO-Lille99/Paludetto-LAAS.html Source : http://www.univ-valenciennes.fr/GDR-MACS/outils.php?id=15 Source : http://www.daimi.au.dk/designCPN/ Source : http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/ octobre 2006 - Pr. E. TONYE 87 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 88 Réseau de Pétri Définitions: Graphe dirigé octobre 2006 - Pr. E. TONYE 89 Réseau de Pétri Définitions: Graphe orienté Un réseau de Pétri est un graphe orienté comportant : ¾ Un ensemble fini de places P = {P1,P2,...,Pn} : conditions ou statuts Place : ¾ Un ensemble fini de transitions T = {T1, T2, ..., Tn} : évènements ou actions Transition : ¾ Un ensemble fini d'arcs orientés et unidirectionnels : Liaisons : Source : Pascal Racloz, Didier Buchs, ‘Réseaux de Petri: Formalisme’, 1995 Source : http://www.cyber.uhp-nancy.fr/demos/GEII-010/cha_2/cours_2_1.html ● octobre 2006 - Pr. E. TONYE 90 Réseau de Pétri Définitions: Exemple • Remarque: I matrice incidence avant ou Pré et O, matrice d’incidence arrière ou Post octobre 2006 - Pr. E. TONYE 91 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 92 Réseau de Pétri Marquage: comportement dynamique octobre 2006 - Pr. E. TONYE 93 Réseau de Pétri Marquage: Règles d’évolution octobre 2006 - Pr. E. TONYE 94 Réseau de Pétri Franchissement: Règles d’évolution octobre 2006 - Pr. E. TONYE 95 Réseau de Pétri Franchissement d’une transition: Exemple octobre 2006 - Pr. E. TONYE 96 Réseau de Pétri Exercices – Énoncés G1 • • • • • Pour chacun des graphes ci-dessous, répondre aux questions: 1. Est-ce un RdP ? 2. Quelles sont les transitions validées ? 3. Quel sera le marquage après tir (après franchissement) ? 4. Quelles transitions sont validées après le tir ? octobre 2006 - Pr. E. TONYE 97 Réseau de Pétri Exercices – Corrections G1 Source : R. David and H. Alla (1992), Du Grafcet aux réseaux de Petri. Hermes, p. 358 et 406 octobre 2006 - Pr. E. TONYE 98 Réseau de Pétri Exercices – Corrections G1 Source : R. David and H. Alla (1992), Du Grafcet aux réseaux de Petri. Hermes, p. 358 et 406 octobre 2006 - Pr. E. TONYE 99 Réseau de Pétri Exercices – Corrections G1 Source : R. David and H. Alla (1992), Du Grafcet aux réseaux de Petri. Hermes, p. 358 et 406 octobre 2006 - Pr. E. TONYE 100 Réseau de Pétri Exercices – Corrections G1 Source : R. David and H. Alla (1992), Du Grafcet aux réseaux de Petri. Hermes, p. 358 et 406 octobre 2006 - Pr. E. TONYE 101 Réseau de Pétri Exercices – Énoncés G12 • • • • • Pour chacun des graphes ci-dessous, répondre aux questions: 1. Est-ce un RdP ? 2. Quelles sont les transitions validées ? 3. Quel sera le marquage après tir ? 4. Quelles transitions sont validées après le tir ? octobre 2006 - Pr. E. TONYE 102 Réseau de Pétri Exercices – Corrections G12 Questions Réponses 1. Est-ce un RdP ? H, G, I, J, K oui A,C, D, E, F non manque un nœud à une extrémité 2. Quelles sont les transitions validées ? 3. Quel sera le marquage après tir ? 4. Quelles transitions sont validées ? Source : R. David and H. Alla (1992), Du Grafcet aux réseaux de Petri. Hermes, p. 358 et 406 octobre 2006 - Pr. E. TONYE 103 Réseau de Pétri Le marquage représente son état ¾Pour ce faire, on place à l'intérieur des places un nombre fini (plusieurs ou nul) de marques ou jetons. ¾ Condition logique (processus) : le jeton indique que cette condition est vraie (place marquée) ou fausse ¾ Ressources : le jeton indique la quantité de ressource en stock. ¾ Marquage initial, M0, correspond à la distribution initiale des jetons dans chacune des places : état initial du système. Source : Pascal Racloz, Didier Buchs, ‘Réseaux de Petri: Formalisme’, 1995 Source : http://www.cyber.uhp-nancy.fr/demos/GEII-010/cha_2/cours_2_1.html octobre 2006 - Pr. E. TONYE 104 Réseau de Pétri Le marquage représente l’état du système • Place : variable d’état • Transition : opérateur de changement d’état • Marquage : état du système • Ici m = {M(p1) = 1, M(p2) =0} = [1, 0] octobre 2006 - Pr. E. TONYE 105 Réseau de Pétri Marquage: Évolution non déterministe • Les règles d’évolution sont ainsi qu’il suit: octobre 2006 - Pr. E. TONYE 106 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 107 Réseau de Pétri Types de Rdp: Dynamique ¾ Places d’entrée :d'où sont issus les arcs orientés vers la transition (e1, e2) ¾ Places de sortie : où aboutissent les arc orientés issus de la transition (s1, s2) Source : Pascal Racloz, Didier Buchs, ‘Réseaux de Petri: Formalisme’, 1995 Source : http://www.cyber.uhp-nancy.fr/demos/GEII-010/cha_2/cours_2_1.html octobre 2006 - Pr. E. TONYE 108 Réseau de Pétri Types de RdP: Ordinaires ¾ RdP ordinaires : Le franchissement d’une transition validée consiste à enlever un jeton de toutes les places d’entrée de la transition et à en déposer un dans toutes les places de sortie de cette même transition. Source : Pascal Racloz, Didier Buchs, ‘Réseaux de Petri: Formalisme’, 1995 Source : http://www.cyber.uhp-nancy.fr/demos/GEII-010/cha_2/cours_2_1.html octobre 2006 - Pr. E. TONYE 109 Réseau de Pétri Types de RdP: généralisés ¾ RdP généralisés : permet de représenter un déplacement de ressources ou un stock. Dans ce type de RdP, les arcs sont le plus souvent valués. 4 5 4 5 2 2 Source : Pascal Racloz, Didier Buchs, ‘Réseaux de Petri: Formalisme’, 1995 Source : http://www.cyber.uhp-nancy.fr/demos/GEII-010/cha_2/cours_2_1.html octobre 2006 - Pr. E. TONYE 110 Réseau de Pétri Franchissabilité et franchissement • Une transition est franchissable ssi il y a au moins un jeton dans toutes ses places d’entrées. • La transition peut alors être franchie octobre 2006 - Pr. E. TONYE 111 Réseau de Pétri Arc inhibiteur • Modélise le test à zéro – Avant franchissement – Après franchissement octobre 2006 - Pr. E. TONYE 112 Réseau de Pétri Arc de test – Avant franchissement – Après franchissement octobre 2006 - Pr. E. TONYE 113 Réseau de Pétri Poids des arcs – Avant franchissement – Après franchissement octobre 2006 - Pr. E. TONYE 114 Réseau de Pétri RdP généralisés et RdP à prédicats octobre 2006 - Pr. E. TONYE 115 Réseau de Pétri RdP généralisé à RdP ordinaire • Dans le RdP ordinaire équivalent, la transition T1 est remplacé par le ”sousréseau” constitué de T’1 , P’0 et T’’1. Pour le marquage indiqué, seule la transition T’1 est validée. Le franchissement de T’1 , enlève un jeton de P2 , de P3 et de P’0 et en dépose un dans P1 et dans P’0. Pour ce nouveau marquage seule T’’1 est franchissable. Son franchissement dépose alors un deuxième jeton dans P1. Le marquage est alors identique à celui d’atteindrai le RdP généralisé par le franchissement de T1. Le rôle de la place P0 est de permettre le franchissement en séquence des transitions T’1 et T’’1 avant le franchissement de T2. octobre 2006 - Pr. E. TONYE 116 Réseau de Pétri RdP à capacité • Dans un RdP à capacité, des capacités (nombre entier > 0) sont associés aux places. Le franchissement d'une transition d'entrée d'une place Pi, dont la capacité est Cap(Pi), n'est possible que si le franchissement de cette transition ne conduit pas à un nombre de marques dans Pi qui dépasse sa capacité. octobre 2006 - Pr. E. TONYE 117 Réseau de Pétri RdP à capacité octobre 2006 - Pr. E. TONYE 118 Réseau de Pétri RdP pur / impur • Dans un RdP une transition est dite impure si elle possède une place qui est à la fois place d’entrée et place de sortie. Si des transitions du RdP sont impures le RdP est impur. octobre 2006 - Pr. E. TONYE 119 Réseau de Pétri RdP colorés / avec priorités / continus octobre 2006 - Pr. E. TONYE 120 Réseau de Pétri RdP avec arcs inhibiteur / non autonomes • L’arc inhibiteur est représenté par une flèche avec un cercle à l’extrémité. octobre 2006 - Pr. E. TONYE 121 RdP borné Soient : • – M0, le marquage initial d’un réseau, – *M0, l’ensemble des marquages accessibles à partir de M0, – Pi une des places du réseau, – Ti l’une de ses transitions. • Pi est bornée pour M0 si ∃ k ∈ N tq ∀ *M0, M(Pi) ≤ k. • Un réseau de Petri est dit borné pour M0 si toutes ses places sont bornées pour M0. • Si un réseau de Petri est non-borné pour M0, il est non borné ∀ M0’ ≥ M0 octobre 2006 - Pr. E. TONYE 122 RdP sauf • Un réseau de Petri est dit sauf (ou binaire) pour M0 si chacune de ses places contient au plus un jeton. octobre 2006 - Pr. E. TONYE 123 Vivacité: RdP vivant • Une transition Ti est vivante pour M0 si ∀ Mi ⊆ *M0, ∃ S (seq de franchissement) tq Ti ⊆ S à partir de Mi. • Si Ti est vivante, il sera toujours possible de se ramener à un cas où Ti sera franchissable . • Un réseau de Petri est vivant pour M0 si toutes ses transitions sont vivantes pour M0. octobre 2006 - Pr. E. TONYE 124 Blocage • Un blocage (ou état-puits) est un marquage tel qu’aucune transition n’est plus valide. • Un réseau de Petri est dit sans blocage pour M0 si aucun marquage accessible Mi ⊆ *M0 n’est un blocage. octobre 2006 - Pr. E. TONYE 125 Etat d’accueil • Un réseau de Petri a un état d’accueil Ma pour M0 si ∀ Mi ∈ *M0, ∃ Si tq Mi [Si > Ma . • Un réseau de Petri est réinitialisable pour M0 si M0 est état d’accueil pour ce réseau et ce marquage initial. octobre 2006 - Pr. E. TONYE 126 Réseau de Pétri Exercices – Énoncés G2 octobre 2006 - Pr. E. TONYE 127 Réseau de Pétri Corrigé des Exercices G2 octobre 2006 - Pr. E. TONYE 128 Réseaux de Pétri Exemple d’allumage octobre 2006 - Pr. E. TONYE 129 Réseaux de Pétri Exemple dynamique é Réinitialisation Débit entrée Débit sortie 2 places Lieu, statut Cercles 3 transitions Fonction Traits noirs 4 arcs Réalisation, Déplacement Flèches 2 jetons Objets/personnes Points noirs Source : http://fr.wikipedia.org/wiki/R%C3%A9seau_de_Petri octobre 2006 - Pr. E. TONYE 130 Réseaux de Pétri autonome Exemple: les quatre saisons Source : R. David and H. Alla (1992), Du Grafcet aux réseaux de Petri. Hermes, p. 23 et 355 octobre 2006 - Pr. E. TONYE ● 131 Réseaux de Pétri autonome Exemple: les quatre saisons octobre 2006 - Pr. E. TONYE 132 Réseau de Pétri Exemple: ET / OU ET OU Source : www.greyc.ensicaen.fr/EquipeAuto/ Gerard_S/Cours_Petri_etudiant_GS.pdf octobre 2006 - Pr. E. TONYE 133 Réseau de Pétri Exemple: MeterCO Mettre a jour Fin de travaux octobre 2006 - Pr. E. TONYE 134 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 135 Instruments de modélisation: Exemple octobre 2006 - Pr. E. TONYE 136 Instruments de modélisation • Séquence : • Choix : octobre 2006 - Pr. E. TONYE 137 Instruments de modélisation • Boucle : octobre 2006 - Pr. E. TONYE 138 Instruments de modélisation • Mise en parallèle de deux processus : • Synchronisation de deux processus : octobre 2006 - Pr. E. TONYE 139 Réseaux de Pétri Instruments de modélisation: actions associées octobre 2006 - Pr. E. TONYE 140 Réseaux de Pétri Instruments de modélisation: Conditions ET / OU octobre 2006 - Pr. E. TONYE 141 Réseaux de Pétri Modélisation: Introduction des conditions externes octobre 2006 - Pr. E. TONYE 142 Réseaux de Pétri Modélisation: Introduction des conditions externes octobre 2006 - Pr. E. TONYE 143 Réseaux de Pétri Modélisation: Introduction des conditions externes (2) octobre 2006 - Pr. E. TONYE 144 Réseaux de Pétri Synchronisation entre taches octobre 2006 - Pr. E. TONYE 145 Réseaux de Pétri Synchronisation entre taches octobre 2006 - Pr. E. TONYE 146 Réseaux de Pétri Synchronisation entre taches octobre 2006 - Pr. E. TONYE 147 Réseaux de Pétri Synchronisation entre taches octobre 2006 - Pr. E. TONYE 148 Réseaux de Pétri Exclusion mutuelle par sémaphore octobre 2006 - Pr. E. TONYE 149 Réseaux de Pétri Le problème des lecteurs-écrivains octobre 2006 - Pr. E. TONYE 150 Réseaux de Pétri Le problème des producteurs et consommateurs octobre 2006 - Pr. E. TONYE 151 Réseaux de Pétri Le dîner des philosophes octobre 2006 - Pr. E. TONYE 152 • Modélisation d’un automate de paiement par carte à l’aide d’un réseau synchronisé. Source: Annie Choquet-Geniet (2006), Les réseaux de Petri: un outil de modélisation, Dunod, p. 175-176 octobre 2006 - Pr. E. TONYE 153 • Graphe des marquages stable du réseau représentant l’automate de paiement par carte Source: Annie Choquet-Geniet (2006), Les réseaux de Petri: un outil de modélisation, Dunod, p.175-176 octobre 2006 - Pr. E. TONYE 154 Modélisation d’un distributeur de timbre – Version 1 Source: Annie ChoquetGeniet (2006), Les réseaux de Petri: un outil de modélisation, Dunod, 177178 octobre 2006 - Pr. E. TONYE 155 Modélisation d’un distributeur de timbre – Version 2 Source: Annie Choquet-Geniet (2006), Les réseaux de Petri: un outil de modélisation, Dunod, 177-178 octobre 2006 - Pr. E. TONYE 156 Réseaux de Pétri Exercices G3 - Énoncé • Un consulat laisse entrer ses clients puis ferme la porte d'entrée avant de les servir. Après avoir été servi, chaque client sort par une autre porte. La porte d'entrée ne pourra être ouverte de nouveau que lorsque tous les clients seront sortis: – concevoir un RdP avec arcs inhibiteurs qui représente cette spécification, – modifier le RdP pour ne laisser qu'un seul client entrer à la fois, – décrire le même cas avec un RdP ordinaire, – un maximum de 4 clients peut entrer avant la fermeture de la porte. Modéliser ce cas avec un RdP ordinaire. octobre 2006 - Pr. E. TONYE 157 Réseaux de Pétri Exercices G3 - Corrigé octobre 2006 - Pr. E. TONYE 158 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 159 Réseaux de Pétri Propriétés structurelles octobre 2006 - Pr. E. TONYE 160 Réseaux de Pétri Propriétés structurelles octobre 2006 - Pr. E. TONYE 161 Réseaux de Pétri Propriétés structurelles octobre 2006 - Pr. E. TONYE 162 Réseaux de Pétri Propriétés structurelles octobre 2006 - Pr. E. TONYE 163 Réseaux de Pétri Exercices G4 - Énoncé Pour chacun des RdP ci-dessous, répondre aux questions: 1. est-ce un graphe d'état ? 2. est-ce un graphe d'événement ? 3. est-il sans conflit ? 4. est-il simple ? 5. est-il pur ? 6. est-il sans boucle ? A octobre 2006 - Pr. E. TONYE B 164 Réseaux de Pétri Exercices G4 - Corrigé octobre 2006 - Pr. E. TONYE 165 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 166 Réseaux de Pétri Analyse formelle: Analyse matricielle octobre 2006 - Pr. E. TONYE 167 Réseaux de Pétri Analyse formelle: Analyse matricielle octobre 2006 - Pr. E. TONYE 168 Réseaux de Pétri Analyse matricielle – Exemple (invariant de place) octobre 2006 - Pr. E. TONYE 169 Graphe de marquage • On se ramène à un automate à état fini : – Chaque état correspond à un marquage possible, – Lorsqu’une place n’est pas bornée, on utilise le symbole w pour noter son marquage, • On fait des preuves sur cet automate là. octobre 2006 - Pr. E. TONYE 170 Exemple octobre 2006 - Pr. E. TONYE 171 Exemple • Non borné : – Speech, – Gesture – Intermediate non bornées • Pas de blocage : – ∀ le marquage courant, ∃ une transition vivante • Vivant et réinitialisable : – tous les états sont des états d’accueil. octobre 2006 - Pr. E. TONYE 172 Réduction • Technique permettant de simplifier un réseau • 4 règles pour réduire les réseaux en conservant les propriétés de vivance • Algorithme de réduction préservant les invariants. octobre 2006 - Pr. E. TONYE 173 Préservation des propriétés vivant et borné (1) • Règle 1 : Une place Pi peut être substituée si : – Ses transitions de sorties n’ont pas d’autres transition d’entrée, – Il n’y a pas de transition qui soit à la fois transition d’entrée et transition de sortie de Pi, – Pi a au moins une transition de sortie qui ne soit pas transition puit. • Propriétés conservées : borné, sauf, vivant, quasi vivant, sans blocage et état d’accueil. • Règle 2 Une place Pi est implicite (et donc retirée) si : – Le marquage de cette place n’est jamais un obstacle au franchissement de ses transitions de sortie, – Son marquage peut être déduit du marquage des autres places. • Propriétés conservées : borné, sauf, vivant, quasi vivant, sans blocage et état d’accueil. octobre 2006 - Pr. E. TONYE 174 Préservation des propriétés vivant et borné (2) • Règle 3 : transition neutre. Une transition Tj est neutre ssi – l’ensemble de ses places d’entrée est aussi l’ensemble de ses places de sortie. – On peut supprimer une transition neutre et ses arcs s’il existe une transition Tk (avec Tj ≠ Tk) telle que Post(Pi,Tk) ≥ Pré(Pi,Tj) pour toute place d’entrée Pi de Tj. • Propriétés conservées : borné, vivant, quasi vivant, sans blocage, conservatif et état d’accueil. • Règle 4 : transitions identiques. Deux transitions sont identiques si – elles ont les mêmes places d’entrée et les mêmes places de sortie. – On peut alors supprimer l’une d’elles. • Propriétés conservées : borné, sauf, vivant, quasi vivant, sans blocage et état d’accueil. octobre 2006 - Pr. E. TONYE 175 Exemple • • • Borné Réinitialisable Vivant • octobre 2006 - Pr. E. TONYE Sauf (aucune place ne peut contenir plus d’un jeton à la fois) → conforme 176 Préservation des invariants • Réduction Ra : Transition impure Tj (∃ pi qui est place d’entrée et de sortie de Tj). La réduction consiste à : – Supprimer les arcs Pi ->Tj et Tj ->Pi, – Supprimer la transition Tj si elle est isolée • Réduction Rb : Transition pure Tj tq ∃ pi place d’entrée et ∃ pk, place de sortie. La réduction consiste à : – Supprimer la transition Tj, – A tout couple de places (Pi ,Pk), on associe une place Pi + Pk. • Les transitions d’entrée de Pi + Pk sont les transitions d’entrée de Pi et de Pk à l’exception de Tj. • Les transitions de sortie de Pi + Pk sont les transitions de sortie de Pi et de Pk à l’exception de Tj. octobre 2006 - Pr. E. TONYE 177 Exemple octobre 2006 - Pr. E. TONYE 178 Algèbre linéaire • C’est la technique utilisée dans Petshop, • C’est la technique d’analyse la plus facile à automatiser • Elle s’appuie sur les bases mathématiques des réseaux de Petri • Tout RdP est Q = < P, T, Pré, Post > : – P = {P1,…, PN} est un ensemble fini et non vide de places, – T = {T1, …, TM} est un ensemble fini et non vide de transitions, – P ∩ T = Ǿ, – Pré : P * T -> {0, 1} est l’application d’incidence avant, – Post : P * T -> {0, 1} est l’application d’incidence arrière, octobre 2006 - Pr. E. TONYE 179 Algèbre linéaire: Exemple octobre 2006 - Pr. E. TONYE 180 Algèbre linéaire: Équation fondamentale • Matrice d’incidence W = Post – Pré • Equation fondamentale : – S : seq de franchissement, – S : son vecteur caractéristique (la composante j de S correspond au nombre de franchissement de la transition Tj dans S). • Si Mi [S> Mk alors Mk = Mi + W . S. octobre 2006 - Pr. E. TONYE 181 Algèbre linéaire Composantes conservatives (invariant de marquage) • B est une composante conservative ssi – F : vecteur de pondération, – P(B) ensemble des places dont le poids est non nul – ∃F tq P(F) = B et FT . W = 0 octobre 2006 - Pr. E. TONYE 182 Composantes conservatives • Composante conservative : – F tq FT . W = 0 – On pose F = (a, b, c, d, e, f, g) – On cherche les valeurs de a, b, c, d, e, f et g qui annulent les équations résultantes. • Solutions : – (1 0 0 1 0 0 1) : Command + Gesture + OKGesture – (0 0 1 0 1 0 1) : Command + Speech + OKSpeech – (0 1 0 0 0 1 1) : Begin + Command + Intermediate octobre 2006 - Pr. E. TONYE 183 Algèbre linéaire Composantes répétitives (invariant de franchissement) • D est une composante répétitive ssi ∃ S (séquence de franchissement) tq : – T(S) = D (T étant l’ensemble des transitions de S) – W. S = 0 octobre 2006 - Pr. E. TONYE 184 Algèbre linéaire: Exemple octobre 2006 - Pr. E. TONYE 185 Composantes répétitives • Composante répétitive : – S tq T(S)=D et W. S = 0. – On pose S = (a, b, c, d, e, f, g, h) – On cherche les valeurs de a, b, c, d, e, f, g et h qui annulent les équations résultantes. • Solutions : – – – – (1 0 1 0 0 0 1 1) : ProdSpeech + Start1 + Time + Execussion (0 1 0 1 0 0 1 1) : ProdGesture + Start2 + Time + Execussion (1 0 0 0 1 0 0 0) : ProdSpeech + Combining1 (0 1 0 0 0 1 0 0) : ProdGesture + Combining2 octobre 2006 - Pr. E. TONYE 186 Exemple octobre 2006 - Pr. E. TONYE 187 Réseaux de Pétri Exercice G5 - Énoncé octobre 2006 - Pr. E. TONYE 188 Réseaux de Pétri Exercice G5 - Corrigé Source: Annie Choquet-Geniet (2006), Les réseaux de Petri: un outil de modélisation, Dunod, p.23-24 • Modélisation avec écriture en exclusion mutuelle octobre 2006 - Pr. E. TONYE 189 Réseaux de Pétri Exercice G5 - Corrigé Source: Annie Choquet-Geniet (2006), Les réseaux de Petri: un outil de modélisation, Dunod, p.23-24 • Modélisation avec écriture en écriture prioritaire. octobre 2006 - Pr. E. TONYE 190 Réseaux de Pétri Exercice G6 - Énoncé • 2 tâches s’exécutent sur le même processeur en temps partagé (on exécute une partie de T1, puis une partie de T2, puis une partie de T1, …) Modéliser le même comportement avec 4 tâches Le RdP résultant est-il borné ? La propriété de borne aide à l'identification des dépassements de capacité. Un RdP est dit k-borné si le nombre de jetons quelle que soit la place ne dépasse pas k pour tous les marquages de R(M0). Un RdP est dit sauf si k=1 (1-borné) octobre 2006 - Pr. E. TONYE 191 Réseaux de Pétri Exercice G5 - Corrigé octobre 2006 - Pr. E. TONYE 192 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 193 Réseaux de Pétri Propriétés comportementales: vivacité octobre 2006 - Pr. E. TONYE 194 Réseaux de Pétri Propriétés comportementales: réinitialisable et état d’accueil • Pour un système temps réel, il est important de pouvoir récupérer dans un cas d'erreur et retourner dans un état correct un RdP est dit réinitialisation si le marquage initial M0 peut être atteint depuis tout marquage dans R(M0) un état Mi d'un RdP est dit "état d'accueil" si pour tout marquage M de R(M0), Mi est atteignable depuis M octobre 2006 - Pr. E. TONYE 195 Réseaux de Pétri Exercice G6 - Énoncé • 2 ordinateurs partagent une mémoire commune. On suppose que chacun des ordinateurs peut être dans un des trois états suivants: n’a pas besoin de la mémoire partagée, en a besoin, mais elle ne lui est pas encore attribuée, utilise la mémoire partagée. • On demande: de modéliser ce comportement, d’indiquer si le RdP est conservatif, Montrer que le RdP est vivant. octobre 2006 - Pr. E. TONYE 196 Réseaux de Pétri Exercice G6 - Corrigé octobre 2006 - Pr. E. TONYE 197 Synoptique Cablage Réseau campus UYI • Donner un réseau de Pétri correspondant octobre 2006 - Pr. E. TONYE 198 Topologie • C’est une topologie en étoile, avec deux départs reliés en dorsale. En fait deux étoiles optiques l’une centrée sur le CUTI et l’autre centrée sur la DAAF sont interconnectées par ces deux noyaux : voir synoptique. • Quel que soit le noyau de départ, les liaisons fibre optique débitent un flux de données à 2000Mbps (Mégabits par seconde) ou 2Gbps (Gigabits par seconde) ce qui accélère le transfert des données entre les différents bâtiments et vers les serveurs. • Entre les équipements actifs et les serveurs et postes de travail, le débit sera de 10Mbps pour les stations munies de cartes réseaux dépassées et limitées au half-duplex ; nous aurons 20Mbps pour les cartes réseaux supportant le full-duplex et 200Mbps pour les stations et serveurs munies de cartes récentes et supportant le mode full-duplex. octobre 2006 - Pr. E. TONYE 199 Câble Fibre optique • La fibre optique installée (Teldor P/N 95M73FFNNB MTD Armored fibre optic MTD outdoor cable ) est une fibre optique de 6 brins MTD ( Multi tight Distribution ) blindée et armée de 62.5/125µ. • Cette fibre est constituée de 12 brins sur les segments desservant l’ENSP,l’ESSTIC (rien que 6 brins sont sertis) et 6 brins pour les autres segments. • Chaque brin est entouré d’une gaine protectrice, et l’ensemble des brins est entouré d’une gaine de fibres d’aramide qui a un rôle gonflant et auto-bloquant au contact de l’eau, empêchant ainsi toute entrée d’eau dans la partie centrale du câble tout entier. octobre 2006 - Pr. E. TONYE 200 Synoptique des equipements octobre 2006 - Pr. E. TONYE 201 Switch de dorsale DGS-3312SR et ses modules • Le switch de dorsale DGS-3312SR installé est switch manageable intelligent de niveau3 avec QoS (Quality of Service) de D-LINK, il sert pour l’étoile optique. • Un est installé au CITI pour l’interconnexion des switchs des bâtiments qui lui sont satellites, un second est installé à la DAAF pour l’interconnexion des switchs des bâtiments qui lui sont satellites et un troisième est installé à l’ENSP pour le raccordement de la FMSB et dans un future proche du CITI. • Ces switch sont à leurs tours reliés pour permettre aux trois sous réseaux de partager des données, des ressources et des services au sein du campus. octobre 2006 - Pr. E. TONYE 202 Switch de dorsale DGS-3312SR et ses modules • Ce sont des switchs modulaires et évolutifs, supportant la norme Giga-Ethernet et permettant l’empilage en étoile de switchs DES-3226S et DES-3326S de 24 ports. VI • Ils ont 4 ports combinés RJ45 / Mini-GBIC et possèdent des ports modulaires dans lesquels ont été installés d’une part des modules d’extension de ports Mini-GBIC DEM-340MG pour l’utilisation des connecteurs Mini-GBIC (CUTI & DAAF) et d’autre part des modules de cascade DEM-540. octobre 2006 - Pr. E. TONYE 203 Switch de dorsale DGS-3312SR et ses modules • Les modules DEM-340MG augmentent le nombre de port MiniGBIC à 8 (huit) et au CUTI, sept (7) segments fibre optique sont ainsi reliés au switch par des modules connecteurs DGM312GT2 (DAAF, ENSP) et DGM-311GT (BRE1,BRE2,MATHSINFOS,FAC SC1,FAC SC2). • A la DAAF, nous avons cinq (5) segments fibre optique qui sont reliés au switch de dorsale par des modules connecteurs DGM312GT2 (CUTI) et DGM-311GT (FALSH,BIBLIOTHEQUE,RECTORAT,ESSTIC). Ainsi, sur chaque segment, nous avons un débit de 2Gbps en mode fullduplex. • Les modules DEM-540 permettent d’empiler deux switchs de niveau2 (DES-3226S) au CUTI et un switch de niveau2 (DES3226S) à la DAAF avec un débit de 20Gbps entre les switchs. octobre 2006 - Pr. E. TONYE 204 Switch DES-3326S et ses modules fibre optique • C’est un switch manageable intelligent de niveau3 avec QoS de D-LINK, qui est installé dans chaque bâtiment (sauf au CUTI et à la DAAF): il est muni de 24 ports avec un slot vide pour accueillir le module DES-332GS muni d’un port GBIC et d’un port d’empilage. Il est modulaire et évolutif, fonctionnant en Giga-Ethernet sur la fibre optique : un module connecteur GigaEthernet GBIC DGS-707 est tout juste installé dans le port vide GBIC du module DES-332GS, et assure une liaison avec le switch de dorsale à 2000Mbps en full duplex. • L’empilage entre deux switchs (en Maths-Infos) se fait à l’aide deux cordons spéciaux d’empilage livrés avec les swtichs. octobre 2006 - Pr. E. TONYE 205 Switch DES-3226S et ses modules fibre optique • C’est un switch manageable intelligent de niveau2 de D-LINK, qui est installé en appoint aux switchs de dorsale au CUTI et à la DAAF .dans chaque bâtiment (sauf au CUTI et à la DAAF): il est muni de 24 ports avec un slot vide pour accueillir le module DES-332GS muni d’un port GBIC et d’un port d’empilage. • Il est modulaire et évolutif, fonctionnant en Giga-Ethernet sur la fibre optique : un module connecteur Giga-Ethernet GBIC DGS707 sera tout juste installé dans le port vide GBIC du module DES-332GS, pour assurer une liaison à 2000Mbps en full duplex. L’empilage avec le switch de dorsale se fait à l’aide deux cordons spéciaux d’empilage livrés avec les swtichs. octobre 2006 - Pr. E. TONYE 206 Réseaux de Pétri Sommaire • Introduction • Définitions • Marquage • Types de RdP • Modéliser avec les RdP • Propriétés structurelles • Analyse • Propriétés comportementales • Conclusion octobre 2006 - Pr. E. TONYE 207 Conclusion Résumé à partir d’un exemple octobre 2006 - Pr. E. TONYE 208 Conclusion Propriétés sur l’exemple Des transitions puits ne possèdent pas de places en aval. Des transitions source ne possèdent pas de places en amont. • Un réseau pur ne possède pas de transition ayant une place d'entrée qui soit aussi sa place de sortie. octobre 2006 - Pr. E. TONYE 209 Conclusion Propriétés sur l’exemple Un conflit a lieu lorsqu'une place possède au moins deux transitions de sortie. Il y a choix libre lorsque aucune des transitions concernées par le conflit ne possède une autre place d'entrée que la place en conflit. octobre 2006 - Pr. E. TONYE 210 Conclusion Propriétés sur l’exemple Il y a choix libre étendu lorsque toutes les transitions concernées par le conflit ont le même ensemble de places d'entrée. octobre 2006 - Pr. E. TONYE 211 Conclusion Propriétés sur l’exemple il y a simplicité lorsque chaque transition n'est concernée au plus que par un conflit. Ici, le réseau n'est pas simple. octobre 2006 - Pr. E. TONYE 212 Conclusion Propriétés sur l’exemple octobre 2006 - Pr. E. TONYE 213 Conclusion Résumé – outil de modélisation • Les réseaux de Petri sont bien adaptés à décrire les aspects dynamiques ou comportementaux d’un système. • Des concepts tels que la concurrence ou la synchronisation entre activités s’expriment aisément dans le cadre des réseaux de Petri octobre 2006 - Pr. E. TONYE 214 Conclusion Résumé – éléments de description Un RdP coloré R est un sextuplet R=<P,T,Pré,Post,M0,C> P est l’ensemble des places, T est l’ensemble des transitions C={C1,C2,…} est l’ensemble des couleurs. Pré et Post sont des fonctions relatives aux couleurs de franchissement. • M0 est le marquage initial • • • • • octobre 2006 - Pr. E. TONYE 215 Conclusion Résumé – éléments de représentation • Une place est représentée par un cercle. • Une transition est représentée par un trait. • Un arc orienté relie une place à une transition ou une transition à une place. • Le poids d’un arc est une fonction Pré ou Post qui établit une correspondance entre chaque couleur de la transition et les couleurs de la place (amont ou aval suivant le sens de l’arc) octobre 2006 - Pr. E. TONYE 216 Réseau de Pétri Conclusion: outil de modélisation • • • • • • • • Les places d’un réseau de Petri représentent des conditions logiques, des ressources physiques (ex. : un stock) ou les états des ressources physiques d’un système (ex.: l’état de panne d’une machine). Les transitions d’un réseau de Petri représentent des événements (ex.: défaillance sur une machine). Un jeton dans une place représente la réalisation d’une condition logique, la charge d’une ressource physique (ex.: le nombre de pièces dans un stock) ou l’état actif d’une ressource physique. Le marquage initial d’un réseau de Petri représente l’état initial du système modélisé. Un marquage accessible d’un réseau de Petri représente un état accessible du système modélisé. La dynamique d’un système modélisé par un réseau de Petri est mise en évidence par le tir ou franchissement des transitions validées du réseau. Les situations de conflit, de partage de ressource, de parallélisme, de synchronisation et de mémorisation peuvent être modélisées. La notation matricielle : l’analyse mathématique. octobre 2006 - Pr. E. TONYE 217 Réseau de Pétri Conclusion: Limites du modèle / substituts • Les limites du modèle Temps absolu (comme diagramme de séquence) Un seul événement (comme diagramme de séquence) Manque de localité (disparition du jeton pendant la transition) Aucun mécanisme d’abstraction agrégation, modularité pas de représentation des données : diagramme de classe Traitements des données non détaillés (comme DFD) • Substituts Automates à états finis, Grafcet, UML, EPC Grafcet est plus utilisé dans l’industrie (plus facile de mise-en-œuvre) Source : http://www.benjamin-monteil.com/ecole/petri.htm octobre 2006 - Pr. E. TONYE ● 218 Site web • Vous pouvez télécharger ce cours à partir du lien suivant: • http://www.lets.africaweb.org/cours/Graphes/TONYE_Graphes5GT2007_F1.pdf Autres supports http://www.lets.africa-web.org/cours/Matlab/index.htm http://www.lets.africa-web.org/cours/Java/index.htm http://www.lets.africa-web.org/cours/Reseaux/R2-07-Socket.pdf http://www.lets.africa-web.org/cours/OrienteObjet/Objet1.pdf octobre 2006 - Pr. E. TONYE 219