Académique Documents
Professionnel Documents
Culture Documents
lm20 Com 4E 3 139 Aubry
lm20 Com 4E 3 139 Aubry
20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016
Résumé
Le but de la communication est de présenter une nouvelle approche du calcul de la fiabilité des systèmes statiques non-
réparables basée sur la représentation de la fonction de structure par un graphe ordonné issu du diagramme de Hasse et
mettant en évidence la monotonie de celle-ci. Nous présenterons un algorithme de calcul direct du polynôme fiabilité du système
basé sur l’analyse du graphe ordonné s’appliquant aux systèmes cohérents. Enfin nous montrons comment cet algorithme est
aisément étendu aux systèmes non-cohérents.
Summary
This paper aims at the presentation of a novel approach to reliability assessment of the static and non-repairable systems based
on the representation of the structure function as an ordered graph deduced from the Hasse diagram and highlighting the
monotony property. We will present an algorithm for a direct calculus of the reliability polynomial of the system based on the
analysis of the ordered graph relevant to coherent systems. Finally, we will show how this algorithm is easily extended to non-
coherent systems.
______________________________________________________________________________________________________
Introduction
Les méthodes traditionnelles de calcul de la fiabilité des systèmes statiques non-réparables ont toutes pour objectif de donner
une expression plus ou moins explicite de la fonction de structure sous la forme d’un polynôme booléen minimal disjoint afin de
le traduire en polynôme de fiabilité. Les diagrammes de décision binaires ont largement contribué à l’obtention de ce polynôme
minimal grâce au recours à des heuristiques garantissant une bonne solution sinon la meilleure. A. Kaufmann [Kaufmann et
al.1975] a proposé une approche de calcul analytique direct de la fiabilité à partir de la connaissance des liens minimaux ou des
coupes minimales mais ne s’appliquant qu’aux systèmes cohérents. Il a théorisé cette propriété comme issue de la monotonie
de la fonction de structure illustrée sur le diagramme de Hasse sans recours au cadre Booléen.
L’approche par fonction génératrice universelle (universal generating function) développée par G Levitin [Levitin 2005] est une
alternative permettant le calcul de la fiabilité d’un système basée sur la transformation en z. Cette approche repose sur des
procédures récursives et fournit une méthode systématique pour l’énumération des états du système pouvant ainsi remplacer les
algorithmes complexes et couteux pour énumérer les états possibles de certains types de systèmes. Pour obtenir la fonction
r
génératrice universelle d’un système ayant r composants il est nécessaire d’effectuer (r-1)2 procédures de multiplication des
r
probabilités et 2 procédures d’évaluation de cette fonction ce qui pourrait nécessiter des temps de calculs excessifs.
La propriété de monotonie de la fonction de structure permet aussi une méthode systématique pour l’énumération des états d’un
système, comme la fonction génératrice universelle. En reprenant l’idée de Kaufmann et en s’appuyant sur la théorie des
graphes [Gondran et al. 1985], nous proposons une méthode algorithmique de calcul direct de la fiabilité des systèmes non-
réparables ne nécessitant pas le passage par la forme Booléenne de la fonction de structure et évitant ainsi une étape dans ce
calcul. On obtient de manière directe le polynôme exprimant la fiabilité du système en fonction des fiabilités de ses composants.
Rappels et définitions
Nous nous intéressons aux systèmes statiques dont l’état à tout instant ne dépend que de la combinaison des états de ses
composants (la même combinaison des états des composants donnera toujours le même état du système quelque soit le
temps). Nous utilisons une représentation binaire de la notion d’état : les composants et le système fonctionnent ou ne
fonctionnent pas et on caractérisera respectivement ces états par les entiers « 1 » ou « 0 » (l’ensemble des entiers naturels est
noté ).
Comme nous l’avons dit, nous ne nous plaçons pas dans le contexte Booléen. Nous devons donc définir formellement la notion de
fonction de structure d’un système ainsi que les propriétés de cette fonction sur lesquelles nous allons nous appuyer. Considérons
un système S à état binaire et supposons qu’il est constitué de r composants ci à états binaires également.
Notations :
Utilisons la notation suivante [Kaufmann et al.1975] pour représenter ces états : C = {c1, c2, …, cr} est l’ensemble des r
composants.
r
Soit X ( x1 , x2 , x3 , ... xr ) le mot binaire (on parle aussi de r-uple ou de vecteur) état de l'ensemble des r composants, X D ,
D={0,1} N . xi D , est la variable binaire état du composant ci ; si ci fonctionne xi 1 ; si ci est défaillant xi 0 . Ainsi la
fiabilité du composant ci est exprimée par la probabilité que sur l’intervalle 0, t la variable binaire xi 1 et est notée par
Ri t Pr xi 1, t qui s’évalue pour chaque t
, par exemple Ri t Pr xi 1, t et pour un composant non-
réparable dont sa durée de vie est caractérisée par la loi exponentielle.
r r
Le mot binaire état de l’ensemble des r composants X D peut donc prendre 2 valeurs différentes.
Soit y la variable binaire état du système S : y 1 si le système fonctionne ; y 0 si le système est en panne.
r
Relation d’ordre (partiel) sur la variable X dans D :
Considérons la relation d’ordre sur D définie par les opérations et dans N . Considérons maintenant deux valeurs distinctes
de X : A, B D .
r
antisymétriques ( A B,B A, A B ). Un ensemble muni d’une telle relation est un ensemble ordonné [Arnold et al.
1997], [Velu 2005]. On peut donner une représentation de cette relation par son diagramme de Hasse (figure 1.a dans le cas d’un
système à trois 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.
(a) (b)
le diagramme d’état d’une fonction de structure monotone sur cet ensemble (figure (b)).
Remarque : en toute rigueur, le diagramme doit être orienté selon la relation choisie. Ici sans orientation, on a représenté les deux
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 .
Définition :
Notons φ la fonction qui à chaque valeur de X (états des composants associés aux sommets du graphe) associe une valeur
y ( X ) D de l’état du système S. On l’appelle généralement fonction de structure (FdS) du système.
C’est une fonction binaire des r variables xi . On peut alors définir la notion de monotonie de cette fonction (au même titre qu’on le
fait dans les réels : y f ( x) avec x , y est monotone si : x1 x2 f ( x1 ) f ( x2 ) ).
Définition :
Une fonction de structure est monotone si elle possède la propriété suivante :
A B ( A ) ( B )
où A et B sont deux valeurs de X mot binaire des valeurs possibles des états des r composants du système.
r
On peut matérialiser cela sur le diagramme de Hasse si on connaît les 2 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
r
ne fonctionne pas). Le diagramme obtenu que nous appellerons diagramme d’état du système représente les propriétés de D et
celles de la fonction de structure y ( X ), X D . La figure 1.b donne un exemple de diagramme d’état d’une fonction de
r
structure à 3 variables. 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,
il est défaillant si tous ses composants sont défaillants et
il fonctionne si tous ses composants fonctionnent.
Le système représenté par la figure 1.b est donc cohérent.
Pratiquement il est d’usage de dire qu’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.
3 Exemple introductif
Considérons le système d’alimentation électrique secouru par batterie de la figure 2.a. 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 N , x B , x D , x 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.
xN, xB, xD, xS
1111
Diagnostic D
0111 1011 1101 1110
1/2
Réseau N 1
0011 0101 1001 0110 1010 1100
Batterie B 2
Commutateur S
0001 0010 0100 1000
(a) (b)
0000
Figure 2. Système d’alimentation électrique secouru (figure (a)) et son diagramme d’état (figure (b)).
Sur le diagramme d’état (figure 2.b), 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.
Soit une fonction de structure monotone y ( X ) de D r D . Considérons le sous ensemble T D r tel que
y ( X ) 1 pour X T .
1
Définition : Nous appellerons graphe 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 X T (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.
Pour l’exemple de la figure 2.a, le dessin du graphe ordonné s’obtient en supprimant sur le graphe de la figure 2.b tous les
nœuds encadrés en pointillés (représentant les coupes du système).
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.
1111
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.
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.
1
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.
2
Rappelons que ce polynôme est unique, il n’y aura donc pas d’optimum à chercher.
Prenons l’exemple d’un système cohérent dont le graphe ordonné est donné par la figure 3 :
On considère donc que le polynôme fiabilité contient les fiabilités des liens minimaux. Soit sur l’exemple les liens {c₁,c₂}, {c₂,c₃},
{c₂,c₄} et {c₁,c₃,c₄} donneront R R , R R , R R , R R R .
1 2 2 3 2 4 1 3 4
Considérons le sous graphe ordonné constitué du minimum 1100 et tous les nœuds qui le majorent. La probabilité pour que le
système soit dans un de ces quatre états est la probabilité pour que x1 1 et x2 1 quelque soient les valeurs des deux autres
R1 R2 . De même les
variables. Cette probabilité pour que le système soit dans un des états de ce sous graphe s’écrit donc
sous graphes dont les minimum sont 0110, 0101 et 1011 correspondent respectivement aux monômes R R , R R et
2 3 2 4
R1 R3 R4 . On voit donc que faire la somme de ces quatre monômes revient à prendre une fois la probabilité d’être dans
chacun des minima mais plusieurs fois la probabilité des sommets majorants qui appartiennent à plusieurs sous graphes (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.
4
1111
2 1 2 2
0111 1011 1101 1110
1 1 1
0101 0110 1100
6 Principe du raisonnement
En continuant sur le même exemple, on sait maintenant combien de fois chaque nœud 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 à
« 1 » les poids des nœuds majorants afin qu’ils ne contribuent pas plusieurs fois au résultat.
Pour cela, nous introduisons deux listes 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 : R R , R R , R R et R R R qui constituent le contenu
1 2 2 3 2 4 1 3 4
temporaire de M⁺. On peut supprimer maintenant du graphe tous les minima ayant le poids égal à 1. On obtient le graphe
résiduel de la figure 5 A. Dans ce graphe, 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 5.
Le graphe résiduel contenant trois minima, 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 (figure 5), le monôme R1 R2 R3 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 R1 R2 R4 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 R2 R3 R4 .
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 :
M R1 R2 ; R2 R3 ; R2 R4 ; R1 R3 R4 et M R1 R2 R3 ; R1 R2 R4 ; R2 R3 R4 .
4 3 3
1111 1111 1111
B
A C
2 2 2 2 2 1 2 2
0111 1101 1110 0111 1101 1110 0111 1101
1 2 2
1111 1111 1111
1 F 2 E 2 1
0111 0111 0111 1101
7 Algorithme général
Dans le cas général, il se peut que le poids de certains sommets devienne nul, voire négatif ; il faudra alors rajouter
des éléments pour atteindre l’objectif.
L’algorithme à mettre en œuvre consiste donc à rechercher les minima de graphes et pour chacun d’eux le sous graphe
constitué de ses majorants. A chacun de ces sous graphe sera associé le monôme fiabilité correspondant. Le signe du monôme
sera positif s’il contribue à augmenter le poids du minima ou au contraire négatif s’il contribue à le diminuer. Les programmes de
recherche de chemins (et par la suite de sous graphes) dans les graphes ainsi que l’optimisation éventuelle de cette recherche
sont bien connus [Gondran et al. 1985], [Lacomme et al. 2003] et il n’est pas difficile de les adapter à notre cas particulier. On
pourra trouver dans [Aubry et al. 2015] la description formelle de l’algorithme du cas général.
complexité
Le nombre d’itérations nécessaire pour l’exécution complète d’un algorithme est considéré comme représentatif de sa
complexité [Matousek et al 1998]. Ce nombre d’itérations doit être exprimé en fonction de la donnée d’entrée du problème, ici le
nombre de composants r et l’ordre des liens minimaux d’ordre minimal l. Nous avons démontré [Aubry et al. 2015] que le nombre
i l
total d’itérations de notre algorithme est majoré par la valeur C
i 0
r l i
r . Sur l’exemple présenté dans les figures 3 et 4, r=4 et
i 2
C 4 2 i 4! 4! 4! 24 24 24
l=2 donnent donc 4 C42 C41 C40 6 4 1 11 . On voit
i 0
2! .2! 1! .3! 0! .4! 4 6 24
pratiquement à partir de cet exemple, qu’une itération correspond à l’identification d’un minimum du graphe au cours de ses
réductions successives. A chaque minimum est donc associé un monôme du polynôme fiabilité du système. Ici nous en avons
eu 7, ce qui est bien majoré par 11. La complexité de l’algorithme peut donc être qualifiée de simple. Par rapport aux approches
traditionnelles basées sur le modèle Booléen, il n’y a pas besoin ici d’optimisation comme dans la recherche du polynôme
minimal disjoint par les algorithmes de BDD, cette optimisation menant à une complexité NP (non-polynomial, c'est-à-dire
beaucoup plus complexe) [Bolling et al. 1996]. De plus, il n’est pas besoin de transformer le polynôme Booléen (qui peut contenir
des variables complémentées) en polynôme de fiabilité, nécessitant des calculs supplémentaires.
Pour caractériser de manière plus complète un logiciel, en plus de la complexité caractérisant la recherche de la solution
proprement dite, il faut évaluer celle du modèle sur lequel la recherche précédente s’effectue. Ici, il s’agit de représenter le
graphe ordonné pondéré qui traduit la relation d’ordre sur le vecteur des états des composants (diagramme de Hasse). On peut
remarquer que dans le cas où la donnée d’entrée est la liste des liens minimaux, ils correspondent aux minima du graphe et
celui-ci qui peut être construit au fur et à mesure de l’exécution de l’algorithme. Notons par ailleurs que le graphe représentant
les liens du système est représentatif du niveau de redondance (ou de défense en profondeur) du système, c'est-à-dire qu’en
général il est plutôt large (représentatif du nombre total de composants) mais peu profond (ordre des liens minimaux).
Prenons l’exemple d’un système non-cohérent issu de (Limnios 2005). Il s’agit d’un réservoir alimenté au moyen d’une
pompe cP et vidangé par une vanne sous le contrôle d’un régulateur cR en fonction du niveau dans le réservoir mesuré par un
capteur cS (figure 6.a).
PCR
111
régulateur R
011 101 110
vanne
réservoir
(a) (b)
000
Figure 6: Système de régulation du niveau d’un réservoir (figure (a)) et son diagramme d’état (figure (b)).
L’événement redouté est débordement du réservoir, les événements de base étant les défaillances des trois composants pompe,
capteur et régulateur. L’arbre des défaillances est donné dans [Limnios 2005], le diagramme d’état de ce système peut être
construit comme le montre la figure 6.b. On peut voir ainsi que le système est bien non-cohérent. En suivant le chemin en
pointillés sur la figure 6.b allant du nœud (111) au nœud (000), l’état du système change trois fois. Si le capteur et le régulateur
sont défaillants, le système fonctionne cependant si le régulateur défaille le premier il est resté dans cet état alors que si le
capteur défaille le premier, le système est passé par un état de panne.
PCR PCR
111
2 A 111
2 B
011
1 101
1 110
1 101
1 110
1
1
100
PCR PCR
111
1 111
2
D C
101
0 101
1
Figure 7: Réduction du graphe pondéré du système {Pompe, Capteur, Régulateur}.
Il est simple d’identifier deux liens terminaux : la pompe d’une part et l’ensemble capteur-régulateur associés respectivement aux
nœuds (100) et (011). Les poids de ces nœuds sont donc mis à 1 et propagés aux nœuds qui les majorent, les nœuds (101),
(110) et (111) prennent respectivement les poids ”1”, ”1” et ”2” (figure 7.A).
Après avoir retiré les minima et mis dans M les monômes correspondants RP et RC RR on obtient le graphe
+
résiduel de la figure 7.B. Ses deux minima ont un poids de "1", le nœud (110) qui est un lien peut donc être retiré du graphe (sa
contribution n’a été comptée qu’une seule fois). On ne peut cependant pas faire de même avec le nœud (101) qui correspond à
une coupe (le système est défaillant). On obtient le sous graphe de la figure 7.C dans lequel le poids du minima doit être ramené
à ”0”. Pour cela nous considérons le sous graphe constitué par ce nœud et ses majorants réduits ici au seul sommet (111) et
nous retirons sa contribution, c'est-à-dire que nous mettons le monôme RP RR dans la liste des monômes à contribution
négative et nous décrémentons de 1 les poids de ces deux nœuds. On obtient alors le graphe de la figure 7.D Dans ce graphe,
le nœud (101) qui est une coupe a le poids "0"et le nœud (111) qui est le dernier lien a le poids "1", ce qui est l’objectif final :
chaque lien a contribué une seule fois et les coupes résiduelles dans le graphe n’ont pas contribué au résultat.
La fiabilité du système est donc la somme des monômes à contribution positive moins la somme des monômes à contribution
négative, soit dans cet exemple : RS RP RC RR RP RR .
En considérant que le capteur et le régulateur ont des lois de fiabilité exponentielles de paramètres C 6 10 5 h 1
et R 1,2 10 5 h 1 et que la fiabilité de la pompe suit une loi de Weibull de paramètres 2 et 26280 h , on peut
tracer la courbe de fiabilité du système en fonction du temps. Elle est représentée par la courbe rouge de la figure 8. A titre de
comparaison, la même courbe tracée à partir de l’arbre de défaillances à l’aide du logiciel GRIF (® Satodev) est donnée par la
courbe en bleu de la même figure ; elles sont parfaitement superposées.
1
0,8
Fiabilité
0,6
0,4 Calcul par GRIF
0
0 20000 40000 60000 80000 100000
Temps [h]
L’algorithme formel de calcul direct de la fiabilité des systèmes aussi bien cohérent que non-cohérent, qui est une
extension de celui défini dans le cas cohérent, a été présenté dans [Brinzei et al. 2015]. Sa complexité s’exprime avec la même
formule que précédemment, l étant dans ce cas l’ordre des liens terminaux d’ordre minimal.
Conclusions et perspectives
Une nouvelle approche de calcul de la fiabilité des systèmes basée sur la théorie des graphes a été présentée dans
cet article. Partant de la relation d’ordre existant entre les différentes valeurs du vecteur des états des composants nous avons
construit un graphe directement exploitable en termes de calcul de la fiabilité des systèmes. Nous avons développé un
algorithme de faible complexité pour le calcul de la fiabilité des systèmes cohérents. Cet algorithme a été très facilement étendu
au cas des systèmes non-cohérents grâce à l’introduction de la notion de lien terminal. Un autre intérêt de cette approche qui ne
repose plus sur un modèle Booléen est son extension facile au cas des systèmes multi-états qui sera présentée prochainement.
Références
ème
- Arnold A. et Guessarian I. 1997. Mathématiques pour l’informatique, 3 édition, Ed. Masson Paris.
- Aubry J-F, Brinzei N. 2015. Systems dependability assessment: Modeling with graphs and finite state automata, ISTE-Wiley,
ISBN: 978-1-84821-765-2.
- Bolling B, Wegener H. 1996. Improving the variable ordering in BDD is NP complexe, IEEE Transactions on computers, vol. 45
(9), sept. 1996.
- Brinzei N, Aubry J-F. 2015. An approach of reliability assessment of systems based on graphs models. European Safety and
Reliability Conference ESREL in Safety and Reliability of Complex Engineered Systems, CRC Press/Balkema, Taylor &
Francis Group, 2015, 1485-1493.
- Châtelet E, Dutuit Y, Rauzy A, Bouhoufany T. 1999. An optimized procedure to generate sums of disjoint products, Reliability
Engineering and System Safety 65 (1999) pp 289-294.
- Gondran M, Minoux M. 1985. Graphes et algorithmes. Eyrolles.
- Heidtmann K-D. 1989. Sums of disjoint products by sub products inversion, IEEE Transactions on Reliability 38 (3) (1989) pp
305-311.
- Kaufmann A., Grouchko G., Cruon R. 1975. Modèles mathématiques pour l'étude de fiabilité des systèmes. Editions Masson et
Cie, Paris.
- Lacomme Ph, Prins C, Sevaux. 2003. M. Algorithmes de graphes, Eyrolles.
- Limnios N. 2005. Arbres de défaillances.2è édition revue et augmentée. Editions Hermès et Lavoisier.
- Levitin G. 2005. The Universal Generating Function in Reliability Analysis and Optimization. Springer-Verlag London.
- Matousek.& Nesetril 1998. Invitation to discrete mathematics, Oxford University Press.
- Rauzy A, Châtelet E, Dutuit Y, Bérenguer C. 2003. A practical comparison of methods yo assess sums of products, Reliability
Engineering and System Safety 79 (2003) pp 33-42.
ème
- Velu, J. 2005. Méthodes Mathématiques pour l’informatique, 4 édition, Dunod, Paris.