• Aucun résultat trouvé

Une approche de la fiabilité des systèmes par la théorie des graphes

N/A
N/A
Protected

Academic year: 2021

Partager "Une approche de la fiabilité des systèmes par la théorie des graphes"

Copied!
9
0
0

Texte intégral

(1)

HAL Id: hal-01149795

https://hal.archives-ouvertes.fr/hal-01149795

Submitted on 7 May 2015

HAL

is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire

HAL, est

destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Une approche de la fiabilité des systèmes par la théorie des graphes

Jean-François Aubry, Nicolae Brinzei

To cite this version:

Jean-François Aubry, Nicolae Brinzei. Une approche de la fiabilité des systèmes par la théorie des

graphes. 11ème Congrès International Pluridisciplinaire en Qualité, Sûreté de Fonctionnement et

Développement Durable, QUALITA 2015, Mar 2015, Nancy, France. �hal-01149795�

(2)

Une approche de la fiabilité des systèmes par la théorie des graphes.

Jean-François Aubry1,2 et Nicolae Brinzei1,2

1Université de Lorraine, CRAN UMR 7039

2CNRS, CRAN, UMR 7039

2, Avenue de la Forêt de Haye 54518 Vandœuvre-lès-Nancy, France

{Nicolae.Brinzei, Jean-François.Aubry}@univ-lorraine.fr

Résumé : Dans cet article, nous reprenons les définitions formelles des notions de monotonie d’une fonction de structure et de cohérence de système pour définir un graphe ordonné représentatif de l’évolution de l’état de fonctionnement du système. En faisant le parallèle avec une représentation de type table de Karnaugh, nous retrouvons le polynôme Booléen disjoint représentant la fonction de structure par une recherche de chemins dans le graphe. Ensuite, nous montrons qu’il est possible de trouver directement le polynôme fiabilité du système grâce à la définition d’un graphe ordonné pondéré. La complexité des algorithmes est enfin évaluée.

Abstract—In this paper, we formally redefine the notions of structure function and system coherence in order to introduce an ordered graph representing the evolution of the operation state of a system. Drawing the parallel with a Karnaugh map type representation, we show how to recover the Boolean disjoint polynomial representing the structure function by a path research algorithm in the graph. Then we show that it is possible to directly find the reliability polynomial of the system thanks to the definition of a weighted ordered graph. The complexity of the algorithms is finally evaluated.

Keywords: structure function, monotony, ordered and weighted graphs, path research.

I. INTRODUCTION

Il est courant de dire que tout ou presque a été dit en matière de fiabilité prévisionnelle des systèmes. Les études concernant ce qu’il est convenu d’appeler systèmes statiques et dont les premières datent du milieu du siècle dernier, ont presque toutes eu pour objet de considérer des modèles booléens. Ces modèles inspirés de l’électronique digitale ont bénéficié des traitements issus de ce domaine. Leur objet a été de trouver un polynôme booléen disjoint minimal facilement transposable en un polynôme de probabilités. Les techniques de diagrammes de décision binaires (BDD) ont ainsi joué un grand rôle dans la recherche de ce polynôme mais se sont confrontées à la difficulté de garantir la minimalité. L’écueil, de notre point de vue, est lié au fait que la spécificité de la fonction représentant l’état de défaillance du système, appelée fonction de structure, a été considérée comme une fonction booléenne quelconque et traitée comme telle avec l’arsenal des spécialistes de l’électronique digitale. Or une propriété essentielle de la fonction de structure a été laissée de côté excepté par les travaux de A . Kaufman [1] dans les années 1975. Il s’agit de la notion de monotonie qui définit formellement celle de cohérence du système. A. Kaufmann ne l’a cependant pas introduite dans un contexte booléen. Ce concept se représente

néanmoins aisément par un graphe et le contexte booléen peut y être maintenu. Nous montrerons dans cet article que partant de cela et par une recherche de chemins dans le graphe, il est possible de trouver le polynôme disjoint et même de trouver directement le polynôme de fiabilité sans calcul intermédiaire.

II. RAPPELS ET DEFINITIONS

Nous entendons par « systèmes statiques » les systèmes dont l’état ne dépend que de la combinaison des états de ses composants. À tout instant, la même combinaison des états des composants imposera toujours au système le même état. Le terme « représentation booléenne » signifie ici que composants et système ont un état binaire, ils fonctionnent ou ils ne fonctionnent pas et on caractérisera cet état par les booléens « 1 » ou « 0 ».

A. Notion de structure d’un système :

Supposons un système S à état binaire, il fonctionne (état de marche) ou ne fonctionne pas (état de panne). Supposons également qu’il soit constitué de r composants ci (à état binaire également) et que son état à tout instant ne dépende que de l’état de ses composants au même instant.

Notations :

Utilisons la notation suivante [1] pour représenter ces états : C = {c1, c2, …, cr} est l’ensemble des r composants ci, i ∈ {1, 2, 3, …, r}.

Soit X =( ,x x x1 1, 1, ... )xr le mot binaire (on parle aussi de r- uple) état de l'ensemble des r composants, X ∈Br , xi∈B étant la variable booléenne état du composant ci ; xi =1 si ci fonctionne ; xi =0 si ci est défaillant ; (B={0,1} ; X∈Br peut donc prendre 2r valeurs différentes).

Soit

y

la variable booléenne état du système S : y=1si le système fonctionne ; y=0 si le système est en panne.

Relation d’ordre (partiel) sur la variable X dans Br : Une relation R sur un ensemble qui est à la fois réflexive (a R a), antisymétrique (a R b et b R a ⇒ a=b ) et transitive (a R b et b R c ⇒ a R c ) est une relation d’ordre. Un ensemble muni d’une telle relation est un ensemble ordonné [2], [3].

Dans B, deux opérations établissent une relation d’ordre sur les booléens, ce sont l’opération « identité » (  ) et les

(3)

opérations « implication » (analogue des opérations

et

sur

les entiers 0 et 1).

Nous considérons donc la relation d’ordre sur B définie par les opérations « implication » notées ≥ et ≤. Considérons maintenant deux valeurs distinctes de X : A, B ∈Br:

A = (a1, a2, … , ar) et B = (b1, b2, …, br) ; ai , bj ∈ {0,1}

Définitions : On dira que : 1) A = B

si et seulement si ∀ i ∈ {1, 2, …, r} ; ai = bi 2) A majore B que l’on note

A  = B

si et seulement si ∀i ∈ {1, 2, …, r} ; ai≥ bi 3) A minore B que l’on note

A  = B

si et seulement si ∀i ∈ {1, 2, …, r} ; ai≤ bi

Il s’agit de relations d’ordre sur Br puisqu’elles sont réflexives (

A  = A

), transitives (

A  = B,B  = ⇒ C , A  = C

) et

antisymétriques (

A  = B,B  = A, ⇒ = A B

).

Remarque : pour les systèmes statiques que nous étudions ici, il n’est pas possible d’avoir deux combinaisons des états des composants égales. On aurait donc pu définir une relation de majoration (ou de minoration) stricte

A B

) (∀i ∈ {1, 2, …, r} ; ai≥ bi et ∃ i tq ai > bi ). Cependant, dans Br ces relations ne sont ni réflexives ni antisymétriques.

On peut donner une représentation de cette relation par son diagramme de Hasse (figure 1 dans le cas d’un système à 3 composants) dans lequel un arc entre deux valeurs de

X

montre l’existence de cette relation. On voit sur ce diagramme que les triplets 101 et 010 ne sont pas comparables, le premier ne majore pas le second. Cela illustre le fait que la relation d’ordre n’est pas totale.

Remarque : en toute rigueur, le diagramme doit être orienté selon la relation choisie. Ici sans orientation, on a représenté les 2 relations

 =

et

 =

qui sont symétriques. Le fait d’avoir placé les triplets de haut en bas en fonction du nombre de 1 qu’ils contiennent permet de voir que tous les arcs sont orientés vers le haut pour la relation

 =

et vers le bas pour la relation

 =

.

L’intérêt de ce diagramme pour l’étude de nos systèmes est que chaque arc du graphe peut être interprété comme la défaillance ou la réparation d’un composant lorsqu’on parcourt le graphe de haut en bas ou de bas en haut.

Définition :

Notons φ la fonction qui à chaque valeur de X (états des composants associés aux sommets du graphe) associe une valeur y= ϕ(X)∈B de l’état du système S. Nous l’appellerons fonction de structure (FdS) du système.

C’est une fonction booléenne des r variables xi. On peut alors définir la notion de monotonie de cette fonction :

Définition :

Une fonction de structure est monotone si elle possède la propriété suivante :

= ⇒ ϕ ≥ ϕ

A B ( A ) ( B )

A et Bsont deux valeurs de X mot binaire des valeurs possibles des états des r composants du système.

On peut matérialiser cela sur le diagramme de Hasse si on connaît les 2r valeurs de y, par exemple en encadrant en traits pleins les valeurs de X pour lesquelles y=1 (le système fonctionne) et en pointillés celles pour lesquelles y=0 (le système ne fonctionne pas). Le diagramme obtenu que nous appellerons diagramme d’état du système représente les propriétés de Br et celles de la fonction de structure

( ), r

y= ϕ X X∈B .

On voit facilement ici que la fonction est monotone (pour tout chemin dans le graphe allant de 000 à 111 ou inversement, la valeur de

y

change une seule fois).

Définition :

Un système est dit cohérent si sa fonction de structure est monotone, s’il est défaillant lorsque tous ses composants sont défaillants et s’il fonctionne lorsque tous ses composants fonctionnent.

Le système représenté par la figure 2 est donc cohérent.

Un système à r composants serait non cohérent si tel que, fonctionnant avec n composants en état de marche, il tomberait en panne à la réparation d’un des r-n composants défaillants ou encore tel que, en panne avec m composants défaillants, il fonctionnerait à nouveau à la défaillance d’un des r-m composants en état de marche ! Nous ne traitons pas ici des systèmes non cohérents faute de place. Toute l’étude présentée ici a cependant été étendue aux systèmes non cohérents. On pourra consulter l’ouvrage [5] à paraître qui détaille cette étude.

111

101

010

000

No zero

1 zero

2 zeros

3 zeros

011 110

001 100

Figure 2. Diagramme d’état d’une function de structure monotone à 3 variables.

1 zero

2 zeros

3 zeros 111

101

010

000

No zero

011 110

001 100

Figure 1. Diagramme de Hasse de l’ensemble B3.

(4)

B. Coupes et liens d’un système :

Revenons brièvement sur les notions de coupes et liens d’un système. A. Kaufmann [1] a formellement démontré que ces concepts sont dérivés de ceux de coupes et chemins de la théorie des graphes.

Soit y= ϕ( x , x , x ,...x )1 2 3 r la fonction de structure d’un système constitué d’un ensemble de composants C = {c1, c2,

…, cr}.

Soit a ⊂ C, a = {ci, i ∈I} avec I ⊂ {1, 2, …, r}, un sous ensemble de composants du système,

Si i

i

x , i I x , i I y

= ∀ ∈ 

⇒ =

= ∀ ∉ 

1 1

0 , alors a est un lien.

Si i

i

x , i I x , i I y

= ∀ ∈ 

⇒ =

= ∀ ∉ 

0 0

1 alors a est une coupe

Le cardinal de I est l’ordre du lien (de la coupe), c’est à dire le nombre de composants du lien (de la coupe).

Sur le diagramme d’état toute combinaison d’états de composants assurant le fonctionnement du système correspond à un lien : le sous ensemble de composants dont la variable état vaut “1”. Sur la figure 2 les liens correspondent aux nœuds encadrés en traits pleins et sont donc: {c1, c2, c3}, {c2, c3}, {c1, c3}, {c1, c2} et {c1}. Sur le diagramme d’état, toute combinaison d’états de composants induisant la défaillance du système correspond à une coupe : le sous ensemble de composant dont les états sont à “0”. Sur la figure 2, les coupes correspondent aux nœuds encadrés en pointillé, ils sont: {c1, c2}, {c1, c3}, {c1, c2, c3}.

Parmi ces sous ensembles (liens et coupes), certains sont minimaux. Un lien (une coupe) minimal(e) est un lien (une coupe) qui n’inclut aucun sous ensemble de composants qui soit lui même un lien (une coupe). Dans notre exemple, {c2, c3} et {c1} sont les liens minimaux et {c1, c2} et {c1, c3} sont les coupes minimales. A. Kaufmann [1] a défini toutes les relations existant entre les sous ensembles des liens et des coupes.

C. Exemple introductif :

Considérons le système d’alimentation électrique secouru par batterie de la figure 3. En fonctionnement normal, la puissance est transmise à partir du réseau par le commutateur. Sur la défaillance du réseau (chute de tension), le système de diagnostic commande le commutateur en position 2 afin que la puissance soit dorénavant fournie par la batterie. On notera

{x , x , x , xN B D S} le 4-uple des variables état des composants : réseau, batterie, diagnostic et, respectivement, commutateur.

Soit y la variable dont la valeur est “1” si le système est capable de délivrer de l’énergie ou “0” sinon.

La propriété d’adjacence de deux mintermes1 d’une fonction Booléenne est utilisée pour les simplifier dans les méthodes usuelles (Queene & Mc Kluskey, Tison, Karnaugh…) [4].

1 Monômes de la forme canonique disjonctive de la fonction, contenant toutes les lettres (variables ou leurs compléments).

Sur le diagramme d’état (figure 4), les nœuds correspondant à des liens minimaux sont surlignés en gris et les nœuds correspondants à des coupes minimales sont surlignés en noir.

Sur la table de Karnaugh (figure 5) chaque case où la fonction vaut « 1 » correspondant à un minterme, deux « 1 » voisins correspondent à deux mintermes adjacents. On peut alors fusionner les mintermes entourés en traits gras pointillé et plein pour former deux monômes premiers de la fonction qui prend alors la forme minimale suivante :

N B D S

y=x( xxx ). Sur le diagramme d’état, chaque nœud encadré en traits pleins a une double correspondance. En plus d’être associé à un lien (point de vue fiabilité), il correspond aussi à un minterme (point de vue Booléen). Deux mintermes sont adjacents si les nœuds correspondants sont placés sur deux lignes voisines et reliés par un arc (relation d’ordre sur Br.).Sur le diagramme d’état cela peut être retrouvé de la manière suivante : considérant seulement les nœuds associés à des liens, tous les arcs reliant deux sommets entre deux lignes voisines indiquent que les mintermes associés sont adjacent et peuvent donc être groupés deux à deux. Ainsi, sur la figure 5, le sous graphe en pointillés gras composé des 8 nœuds et des arcs reliant les sommets 1111 et 1000 correspond au monôme xN. Il est premier car il n’est pas Un monôme qui comprend moins de lettres est par définition plus grand.

1111

0111 1011 1101

0101 0011

1110

0001

1100 1010

0110 1001

0010 0100 1000

0000

Figure 4. Diagramme d’état du système d’alimentation xN, xB, xD, xS

Diagnostic D

Réseau N

Batterie B

Commutateur S 1/2

1

2

Figure 3. Système d’alimentation électrique secouru.

(5)

possible de trouver d’autres chemins pour former un plus grand sous graphe. Les deux nœuds 1111 et 0111 (traits gras) forment le second monôme premier xBxDxS.

Figure 5. Comparaison table de Karnaugh – diagramme d’état.

III. METTRE LA FONCTION DE STRUCTUREDUN SYSTEME COHERENT SOUS LA FORME DUNE REUNION MINIMALE DE

MONOMES DISJOINTS

C’est le problème central qui a longtemps préoccupé les fiabilistes afin de passer au calcul immédiat de la fiabilité d’un système.

Nous parlerons de réunion minimale de monômes disjoints à propos de l’expression qui permet une transposition directe dans l’espace des probabilités, afin d’éviter toute confusion avec le terme de polynôme disjonctif ou expression disjonctive qui dans le langage booléen signifie somme booléenne de produits booléens (réunion d’intersections de variables), par opposition à une expression conjonctive qui est une intersection de réunions de variables.

Revenons sur la figure 5 montrant le parallèle entre diagramme de Karnaugh et diagramme de Hasse. Si nous considérons le monôme xN (paquet de 8 mintermes), il correspond au lien minimal R. La fiabilité du système contiendra donc celle de R ; il reste à tenir compte du monôme (minterme en l’occurrence) xNxBxDxS . Si on le regroupe par adjacence avec son voisin supérieur on obtient le

monôme xBxDxS . Cependant, ce monôme contient

N B D S

xxxx qui est aussi contenu dans xN ! Bien entendu, c’est l’origine du problème qui, pour de plus grands systèmes, va obliger à utiliser le théorème de Poincaré pour le calcul de la probabilité de la fonction S. Il ne faut donc par réduire la fonction en cherchant le polynôme minimal mais en cherchant un polynôme réduit dans lequel chaque monôme ne partage aucun minterme avec les autres. Dans notre exemple, il faut écrire : y=xN∨(xNxBxDxS). Sur la figure 5, le monôme

x

Ncorrespond au sous graphe pointillé. Si on le retire du graphe, il ne reste qu’un seul sommet pour lequel le système fonctionne, il correspond au monôme

N B D S

xxxx .

On peut alors passer aux probabilités car les monômes sont disjoints (xN ∩(xNxBxDxS)=∅) :

N N B D S

P( )y =P(x )+(1-P(x ) P(. x . x . x) P( ) P( )

En développant, on trouve l’expression de la fiabilité du système :

N S D B N S D B

Ry=R +R R R -R R R R. . . . .

La recherche d’une expression de la fonction de structure sous la forme d’une réunion (polynôme) de monômes disjoints (ne partageant aucun minterme) a fait l’objet de nombreuses recherches [6, 7, 8] mais à notre connaissance, l’exploitation de la propriété de monotonie des fonctions de structure des systèmes dits cohérents ne semble pas avoir été exploitée pour cela2. La méthode que nous proposons consiste à réduire progressivement le graphe d’état du système en enlevant à chaque étape le plus gros sous graphe possible. Cette méthode va s’inspirer des algorithmes de recherche de chemins optimaux dans les graphes. Elle va nous permettre d’obtenir à coup sûr une réunion minimale de monômes disjoints (elle n’est théoriquement pas forcément unique). Avant de l’établir, définissons quelques concepts.

A. Graphe ordonné d’une fonction de structure monotone Soit une fonction de structure monotone y= ϕ( X ) de

r

B B . Considérons le sous ensemble T ⊂Br tel que 1

y= ϕ( X )= pour XT.

Définition : Nous appellerons graphe3 ordonné de la fonction de structure (FdS) du système, la partie du diagramme d’état de ϕ( X )réduite aux sommets associés aux valeurs de XT (tous les cas où le système fonctionne).

Au sens de la théorie des graphes, il s’agit en fait d’un graphe sans circuit puisque partant d’un sommet quelconque, il n’existe pas de chemin permettant d’y revenir.

2 A. Kaufman a donné une forme analytique non Booléenne de la FdS à partir de cette propriété.

3 Plutôt que le terme diagramme nous adoptons le terme graphe car nous le traiterons comme tel afin d’exploiter les méthodes de recherche de chemins dans les graphes.

Tableau de Karnaugh 1111

0111 1011 1101

0101 0011

1110

0001

1100 1010

0110 1001

0010 0100 1000

0000

0 1

1

00 01 11 10

0 0 1 1

00

0 1

01

0 1 1

11

0 0 1 1

10

NB

DS

(6)

Pour l’exemple de la figure 3, le dessin du graphe ordonné est donné figure 6.

Définition : Nous appellerons ordre d’un sommet, le nombre de 1 dans la valeur de X associée à ce sommet (nombre de composants en état de marche) que nous désignerons par la variable l.

Si l est son ordre, tout sommet possède au plus l arcs entrants (venant du bas) et au plus r-l arcs sortants (vers le haut).

Remarque : l’orientation des arcs du graphe matérialise la relation

A  = B

(et lA < lB). Si nous maintenons la convention de ranger les valeurs de X par ordre « croissant » de bas en haut, il n’est pas nécessaire de maintenir l’orientation des arcs.

1) Maxima et minima du graphe ordonné :

Compte tenu de la relation d’ordre établie dans Br , les maxima, respectivement minima, du graphe sont tels qu’aucun autre élément du graphe ne les majorent, respectivement ne les minorent.

- Le sommet 1r. Il est donc l’unique maximum du graphe ordonné de la FdS.

- Les minima du graphe correspondent en fait aux liens minimaux du système (aucun arc n’en sort ; dans le diagramme d’état leurs minorants correspondaient à des coupes).

2) Sous graphes ordonnés de la fonction de structure : Considérons l’ensemble des sommets

L

j du graphe appartenant aux chemins allant du maximum à l’un, j, des minima d’ordre minimal l (correspondant au lien minimal j).

On sait que cet ensemble existe du fait de la relation d’ordre.

La longueur de ces chemins est égale à r-l (nombre de composants moins l’ordre du lien concerné). Cet ensemble associe un nombre d’arcs partant du maximum égal à r-l et un même nombre d’arc entrants au minimum. Le nombre de ces chemins est (r-l)! (Pour des chemins de longueur 2, il en faut 2, pour des chemins de longueur 3 il en faut 6, de longueur 4, il en faut 24…).

Exemple, sur la figure 6, le lien correspondant à 1000 est {c1} donc d’ordre 1. Le degré r du système étant 4, la longueur des chemins constituant

c1

L

est donc de 3 et il y a 6 chemins différents.

Cet ensemble est le (ou l’un des) plus grands sous ensembles (de mêmes dimensions) de chemins ainsi définis. Il permettra donc de mettre en évidence le (ou un des) plus grand monôme de la forme réduite (contenant donc le moins de lettres). La question qui se pose est donc de savoir si on peut choisir ce sous ensemble au hasard parmi tous ceux possibles (en nombre égal au nombre de liens minimaux d’ordre minimal) pour obtenir un polynôme minimal. La réponse est évidemment non car il n’y aucune raison a priori pour que ce choix n’impacte pas le processus de réduction du reste du graphe.

Définition : On appellera sous graphe ordonné relatif au lien minimal j de la FdS, le graphe obtenu à partir du graphe ordonné en supprimant l’ensemble

L

j(la suppression de ces sommets entraine celle de tous les arcs qui y arrivent ou en sortent).

Ce sous graphe peut avoir plusieurs maxima et a un minima de moins que le graphe initial. Ces minima correspondent aux autres liens minimaux du système. Ce sous graphe peut être constitué de parties non connexes (voir ci après).

Le nombre de maxima d’ordre r-1 du sous graphe (situés sur la deuxième ligne) est au plus égal à l’ordre du lien minimal qui vient d’être supprimé. En effet, on a vu que r-l arcs sortants du maximum du graphe entier on été enlevés et donc autant de sommets ont été enlevés sur cette même ligne qui en contenait au plus r (dans le diagramme de Hasse il y en avait exactement r). Il en reste donc au plus r-(r-l)=l.

Le sous ensemble

L

j correspond à des mintermes de la FdS qui peuvent être inclus dans un seul monôme réunissant les variables état des éléments du lien minimal considéré. Dans notre exemple, c’est le cas du monôme

x

N.

B. Exemple de système d’ordre 5 :

Considérons un système d’ordre 5 avec 5 liens minimaux, dont trois d’ordre 2 et deux d’ordre 3. Son graphe ordonné est celui de la figure 7, il contient 19 nœuds, son polynôme canonique disjonctif contient donc 19 mintermes de 5 lettres, soit au total 95 lettres.

Il y a donc 3 choix possibles pour définir le premier sous ensemble de sommets allant du maximum à un des 3 minima correspondants.

Bien entendu, ce choix impacte le résultat en termes de minimalité. Nous donnerons seulement un exemple de recherche de polynôme disjoint et montrerons ensuite comment optimiser cette recherche.

Choisissons par exemple le lien {c3,c5} (correspondant au minimum {00101} de la figure 8). Le sous ensemble de sommets choisi (chemins en pointillé) correspond au monôme

3 5

xx . 1111

0111 1011 1101 1110

1100 1010

1001

1000 Figure 6. Exemple de graphe ordonné

(7)

Figure 7. Exemple de graphe ordonné avec r=5

Figure 8. Choix du lien {c3,c5}

Le sous graphe obtenu après suppression de ce sous ensemble est celui de la figure 9 : il a deux minima (correspondants aux deux autres liens minimaux) et deux maxima de même ordre. Leur distance est d’ordre 2 ; il faut donc chercher des ensembles de deux chemins de longueur 2 réunissant un de ces deux maxima à un des deux minima. Il y en a quatre, chaque maximum est connecté à chaque minimum et réciproquement. Cependant, ils sont tous connexes car ils contiennent tous le chemin passant par le sommet {11010}. Il n’est pas possible de sélectionner deux non connexes de ces sous ensembles de chemins qui auraient pu donner lieu à deux monômes disjoints (voir dans le second choix).

Figure 9. Sous graphe après suppression de x3x5

Choisissons le sous ensemble reliant le maximum {11011}

et le minimum {10010}. Il correspond au monôme

1 3 4

xxx . Supprimons-le du graphe, le sous graphe résultant est donné par la figure 10 :

Figure 10. Sous graphe après suppression de

1 3 4

x x x Il reste un maximum d’ordre 4, un maximum d’ordre 3, deux minima d’ordre 3, un minimum d’ordre 2 et un sommet isolé

qui est donc à la fois maximum et minimum. Il n’existe pas d’ensemble de 2 chemins de longueur 2 pour relier les extrema. On ne pourra donc trouver que des ensembles de 1 chemin d’ordre 1 pour associer un maximum à un minimum.

Les choix suggérés ici par les arcs en pointillé et en tirets amènent finalement à l’expression polynomiale réduite suivante :

( )

( ) ( ) ( )

( ) ( ) ( )

3 5 1 3 4 1 2 4 5 2 3 4 5

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

y x x x x x x x x x x x x x

x x x x x x x x x x x x x x x

=

Ce qui correspond à une réduction à 28 lettres en 7 monômes.

C. Construction de la forme minimale :

Principe : Le modèle étant un graphe, la méthode d’optimisation de la recherche des ensembles de chemins correspondant aux monômes disjoints est une variante des méthodes d’optimisation bien connues dans ce domaine. Nous ne donnerons pas le détail ici et invitons le lecteur à consulter l’ouvrage [5] pour un exposé complet. Nous dirons simplement qu’à chaque étape, on ne retient que les solutions optimales, c'est-à-dire comportant un nombre maximal de sous graphes non connexes de taille maximale.

La méthode confère au résultat les propriétés suivantes : 1. Le polynôme disjoint ne pourra avoir moins de monômes

qu’il n’y a de liens minimaux. En effet, chaque étape associe un des minima du graphe à un monôme. Au début, les minima sont en même nombre que liens minimaux mais au fur et à mesure de la réduction, d’autres minima peuvent apparaitre.

2. Le monôme extrait à chaque itération est un des plus grand possible (il correspond aux plus longs chemins) et est disjoint des précédents puisqu’il ne peut partager aucun de leurs mintermes (les sommets correspondants ont été supprimés).

3. Le résultat est complet puisque le calcul s’arrête après absorption de tous les mintermes de la fonction.

4. Il est possible d’arrêter la recherche dès qu’on a trouvé une réduction complète ou de la reprendre pour obtenir toutes les solutions optimales équivalentes.

Mise en œuvre informatique : Les programmes de recherche de chemins dans les graphes ainsi que l’optimisation de cette recherche sont bien connus [10,11, 12, 13] et il n’est pas difficile de les adapter à notre cas particulier. Un algorithme complet est proposé dans l’ouvrage à paraitre [5].

Complexité : On peut majorer le nombre d’itérations de l’algorithme (indicatif de sa complexité) dans le cas où tous les liens minimaux sont de même ordre puisque c’est là où il y aura le plus de chemins de longueur maximale.

Rappelons les propriétés du diagramme de Hasse avec r composants :

Soit un sommet d’ordre l contenant donc l « 1 » et l-1 « 0 » (0≤ ≤l r) ; il a : l minorants (d’ordre l-1), r-l majorants (d’ordre l+1) et 2r-l majorants au total (d’ordre ≥ l). Il y a Crr l sommets d’ordre l.

11110

11000

01011 01110

10110 11001 11100

11011 11110

10010 11000

01011 01110

10011 10110

11001 11010 11100

11011

11101 10111

11110

00101 10010

11000

10101 10011 01110 01101 01011

10110 11001 11010

11100 00111

01111 11111

11011

11101 10111

11110

00101 10010

11000

10101 10011 01110 01101 01011

10110 11001 11010

11100 00111

01111 11111

(8)

Considérons le nœud correspondant à un lien minimal d’ordre minimal l. Il possède : C1r l majorants d’ordre l+1, Cr l2 majorants d’ordre l+2, …, Cr lr l− −1 majorants d’ordre r-1, Cr lr l majorants d’ordre r, c'est-à-dire 1, le sommet du graphe.

Supposons par exemple que r=5 et l=1 :

Le lien minimal d’ordre minimal l a donc C41=4majorants d’ordre 2, C42 =6 majorants d’ordre 3, C43=4 majorants d’ordre 4 et finalement C44 =1majorants d’ordre 5, soit le maximum du graphe. Ainsi en tout il y a 25-1-1=15 nœuds majorant le nœud correspondant au lien minimal d’ordre minimal.

Comme il a déjà été dit, supposons que tous liens minimaux sont au nombre de n et qu’ils sont tous d’ordre minimal l. L’ensemble des nœuds associés à ces liens minimaux est majoré par l’ensemble tout entier des nœuds d’ordre l+1, sinon cela signifie qu’il y a un lien minimal d’ordre l-1. En conséquence, la première étape de l’algorithme contient n itérations, le second Cr lr l− −1, le troisième

2 r l

Cr l− − , etc. Le nombre total d’itérations est donc

1 i l

r l i r l i

n C

=

− −

=

+

Ainsi, on peut dire que l’algorithme est de type polynomial et qu’en conséquence, le problème est considéré comme simple par la théorie de la complexité des algorithmes. Rappelons simplement que la recherche d’un optimum (non garanti) par les techniques de BDD est un problème NP complexe [9].

IV. CALCUL DIRECT DE LA FIABILITE DU SYSTEME A PARTIR DU GRAPHE

Tous les calculs de fiabilité de systèmes amènent à un polynôme de fiabilité4 qui contient toujours les fiabilités des liens minimaux et un certain nombre de monômes (produits de fiabilités de composants) affectés de signes positifs ou négatifs et éventuellement de coefficients entiers >1. En se référant au graphe ordonné, nous pouvons déduire de cette remarque un algorithme de calcul direct de la fiabilité du système :

Prenons l’exemple d’un système cohérent dont le graphe ordonné est donné par la figure 11 :

On considère donc que le polynôme fiabilité contient les fiabilités des liens minimaux. Soit sur l’exemple les liens

4 Rappelons que ce polynôme est unique, il n’y aura donc pas d’optimum à chercher.

{c₁,c₂}, {c₂,c₃}, {c₂,c₄} et {c₁,c₃,c₄} donneront

1. 2, 2. 3, 2. 4, 1. 3. 4

R R R R R R R R R .

Cependant, du point de vue Booléen, le nœud {1100} auquel le lien minimal {c₁,c₂} est associé correspond au minterme

3 4

1 2

x ∧ ∧ ∧x x x et non au monôme

1 2

xx . Alors prendre le terme

1. 2

R R dans la fiabilité du système consiste à prendre le monôme

1 2

xx dans le polynôme Booléen réduit exprimant la fonction de structure du système et faisant cela, prendre également les mintermes associés aux nœuds du graphe majorant le minimum considéré {1100}. Cela signifie que les probabilités des mintermes qui sont inclus dans leurs intersections sont comptés plusieurs fois (c’est aussi ce que nous dit le théorème de Sylvester Poincaré). Il faudra donc en

« enlever » un certain nombre. La propriété de monotonie illustrée par le graphe ordonné va nous y aider amplement.

Graphe ordonné pondéré

Nous allons introduire la notion de poids associé aux nœuds du graphe qui devient ainsi un graphe ordonné pondéré (voir [5] pour la définition formelle).

Commençons par affecter à tous les minima du graphe le poids « 1 » et aux autres nœuds le poids « 0 ». Nous propageons ensuite les poids des minima à tous leurs majorants, c'est-à-dire en incrémentant leurs poids respectifs.

Cette propagation est itérée sur tous les minima du graphe.

Dans notre exemple, cela donne le graphe ordonné pondéré de la figure 12.

A ce niveau du raisonnement, on sait combien de fois chaque minterme de la fonction a été compté lorsqu’on prend en compte seulement les liens minimaux. L’objectif est alors de chercher comment réduire progressivement les poids des nœuds majorants à « 1 » afin qu’ils ne contribuent pas plusieurs fois au résultat.

Pour cela, nous introduisons les sous ensembles de monômes M⁺ et M⁻ contenant respectivement les monômes à contribution positive et négative dans la fiabilité du système.

A la fin de la première étape décrite précédemment, on met dans la liste M⁺ les monômes correspondants aux minima et à leurs majorants. Sur l’exemple, ces monômes sont :

1 2

xx ,

2 3

xx , x2x4 et x1∧ ∧x3 x4 qui constituent le contenu

1111

0111 1011 1101

0101

1110

1100 0110

Figure 12. Exemple de graphe ordonné pondéré 4

2 1 2 2

1 1 1

1111

0111 1011 1101

0101

1110

1100 0110

Figure 11. Exemple de graphe ordonné.

(9)

temporaire de M⁺. On peut supprimer maintenant du graphe tous les minima ayant le poids égal à 1.

Pour le sous graphe résiduel, l’objectif est de chercher les plus grands monômes (sous graphes) qui puissent réduire le poids résiduel des nœuds afin que les minima atteignent un poids égal à 1. Si un tel minima existe déjà, il doit être retiré du graphe immédiatement. La suite du processus de réduction est montrée sur la figure 13.

Ainsi, trois sous graphes correspondant à trois monômes peuvent être identifiés. S’ils sont extraits du graphe, ils peuvent réduire les poids des nouveaux minima à « 1 ».

Considérant successivement chacun de ces sous graphes, (avec deux nœuds et un arc) associés à un monôme de trois lettres, leur extraction ramène le poids des minima à « 1 ».

Ainsi, à l’étape A (fig. 13), le monôme

1 2 3

x ∧ ∧x x est placé dans la liste des monômes à contribution négative M⁻. Cela signifie que son retrait va réduire d’un degré les poids des deux sommets qu’il représente. On obtient un nouveau graphe sur lequel le sommet 1111 a un degré 3 et le sommet 1110 un degré de 1 ce qui permet d’éliminer ce dernier (étape B).

A l’étape C, c’est le monôme

1 2 4

x ∧ ∧x x qui permet de réduire encore le degré de deux sommets (en obtenant le sous-graphe de l’étape D) et à l’étape E, c’est le monôme

2 3 4

x ∧ ∧x x . Ici, le résultat amène tout de suite à des sommets de degré

« 1 » sur la deuxième ligne mais aussi sur la première qui a perdu successivement trois degrés. Le calcul s’arrête donc après avoir noté dans la liste M⁻ ces trois monômes. On a donc :

1 2, 2 3, 2 4, 1 3 4

M+= ∧x x xx xx x ∧ ∧x x ;

1 2 3; 1 2 4; 2 3 4

M= ∧x xx xxx x ∧ ∧x x La fiabilité du système est donc :

1. 2 2. 3 2. 4 1. 3. 4 1. 2. 3 1. 2. 4 2. 3. 4

Rs=R R +R R +R R +R R R R R R R R R R R R

Dans le cas général, il se peut que le poids des sommets devienne nul, voire négatif. Dans ce cas, il faut rajouter des éléments pour atteindre l’objectif. On pourra trouver dans [5].d’autres exemples ainsi que la formalisation de cet algorithme. Sa complexité est du même ordre que celle du paragraphe III.C.

V. CONCLUSIONS ET PERSPECTIVES

Nous avons présenté dans cet article une approche de calcul de la fiabilité des systèmes basée sur la théorie des graphes. La relation d’ordre entre les mintermes permet de construire le graphe directement exploitable en termes de calcul de la fiabilité d’un système. Nous avons développé deux algorithmes de complexité polynômiale pour retrouver la forme disjointe de la fonction de structure d’une part, et pour calculer directement la fiabilité d’autre part. L’extension au cas des systèmes non cohérents existe mais n’a pas été présentée ici.

REFERENCES

[1] A. Kaufmann, G. Grouchko, R.Cruon - Modèles mathématiques pour l'étude de fiabilité des systèmes - 1975 - Editions Masson et Cie, Paris.

[2] J. Velu - Méthodes Mathématiques pour l’Informatique - 4è édition - Dunod Paris 2005.

[3] A. Arnold, I. Guessarian - Mathématiques pour l’informatique - 3è édition - Masson Paris 1997.

[4] J. Lagasse - Logique combinatoire et séquentielle - Dunod Paris 1969.

[5] J-F. Aubry, N. Brinzei - Systems dependability assessment : Modeling with Graphs and Finite State Automata ISBN: 978-1-84821-765-2 1rst quarter 2015, ISTE-Wiley.

[6] 10. A. Rauzy, E. Châtelet, Y. Dutuit, C. Bérenguer, A practical comparison of methods yo assess sums of products, Reliability Engineering and System Safety 79 (2003) pp 33-42.

[7] 11. E. Châtelet, Y. Dutuit, A. Rauzy, T. Bouhoufany, An optimized procedure to generate sums of disjoint products, Reliability Engineering and System Safety 65 (1999) pp 289-294.

[8] 12. K.-D. Heidtmann, sums of disjoint products by sub products inversion , IEEE Transactions on Reliability 38 (3) (1989) pp 305-311.

[9] B. Bolling, H. Wegener, Improving the variable ordering in BDD is NP complexe, IEEE Transactions on computers 45 (9).

[10] P. Lacomme, C. Prins, M. Sevaux, algorithmes de graphes, Eyrolles, 2003.

[11] F. Droesbeke, M. Hallin, C. Lefevre « Les graphes par l’exemple » Ellipses

[12] M. Gondran, M. Minoux « Graphes et algorithmes » Eyrolles 1985 [13] J. Eugène « Théorie des graphes » Techniques de l’ingénieur A158

Figure 13. Réduction du graphe pondéré sur l’exemple de la figure 13

1111

0111 1101 1110

2 2 2

4

1111

0111 1101 1110

2 2 1

3

1111

0111 1101

2 2

3 1111

0111 1101

2 1

2

A B

D

1111

0111 1

1

F 1111

0111 2

2

E

C

Références

Documents relatifs

application, désormais classique, de la théorie des processus de Markov. De tels processus stochastiques permettent d'éviter, sous certaines hypothèses, les calculs longs et

En nous limitant [pour faire plus simple et plus court] à trois seulement de ces types de produits tensoriels [le creux, le plein et le produit cartésien] et de

Par contre, si le sommet est intérieur au circuit (s 2 dans l’exemple) alors le degré de ce sommet dans le sous-graphe est égal à : [son degré dans le graphe, pair par hypothèse]

Dans ce papier, nous proposons une nouvelle approche visant à pallier ce dernier problème en le modélisant graphiquement et en optant pour la détection des

L’efficacité des CIE s’explique surtout par le fait qu’ils sont pourvus par des personnes ayant des caractéristiques favorables à l’emploi, alors que les contrats non

Ces estimateurs sont donnés dans le paragraphe 4 (resp. 5) ainsi que les résultats les concernant à partir de données non censurées (resp. censu- rées) et

— Un graphe est dit simple si deux sommets distincts sont joints par au plus une arête et s’il est sans boucle.. — Un graphe peut être orienté , une arête est alors appelée

— Un graphe connexe possède une chaîne eulérienne si, et seulement si, le nombre de sommets de degré impair.. — Un graphe connexe admet un cycle eulérien si, et seulement si,