bonsoir,
Comment puisse je faire le traitement d'un arbre de défaillance declaré dans un fichier comme ci-desous?
Mes données sont dans un fichier txt qui représentent un Arbre de défaillances de la manier suivant avec des portes logiques (OU par g*1,ET par g+0) et leurs entrées qui seront soient 'autres portes ou des événements simple ou leurs complément (e+1 ou e-1) c'est des appellations
je dois appliquer un algorithme qui va transformer mon arbre à un arbre binaire en utilisant la méthode ITE (If Thene Else)
Exemple :
g+0 e+1 e+2 e+3 g*1 g*2
g*1 g+4 g*5
g*2 g+6 g+7
g*3 g+8 g*9
g+4 e+16 e+18 g+10
g*5 e+4 e+5
e+6 e+10 e+12 e+14
g+7 e+7 e+8 e+9 e+11 e+13 e+15
g+8 e+17 e+19 g+13
g*9 e+4 e+5
g+10 e+4 e+5 e+6 e+10 e+12 e+14
g*11 e-4 e-5 e-6
algorithme de transformation:
Code :
- AdD-to-BDD(node)
- Start
- If (node is a basic event)
- then
- R := ite(node, 1, 0)
- If not /* node is an operator*/
- op := the operator associated with node
- j := ?rst children of node
- R := AdD-to-BDD(j )
- For (for all the threads i of node and i is not egal to j)
- Make
- F := AdD-to-BDD(i )
- R := BDD-OP(R,F,op) /* fonction qui définie*/
- End for
- End if
- Return(R)
- End
|
NB:la fonction qui définie BDD-OP(R,F,op) est définie
merci d'avance pour tout vous idées et propositions
salutations