Document

publicité
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
Téléchargement