cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Calculate joint probabilities of paths in a graph (like fault trees)

Hello,

I have a graph which connects a chain of nodes in a sequence. I am interested in doing probability calculations on the graph based on properties. 

Screenshot 2022-12-07 at 15.19.41.png

What I'd like to calculate is what is the "joint probability of the chain" A-F (think fault tree analysis) in this way:

  • What is the probability that the end-to-end-chain A->F works (e.g. node A, B, (C OR D), E AND F works) if each of the node has probability 0.01 of a failure?

Hope my question makes sense - would really like to get some hints and ideas. 

1 REPLY 1

I believe you can determine the probability of failure or not failing using the following methodology. For the system to not fail, each element of the path must not fail. Since they are independent events, the probability of not failing is the product of each elements probability of not failing. The probability of not failing for nodes A, B, E, and F equals '1-P(failure)' = 1-0.01 = 0.99.  Nodes C and D can be thought of as a single node with an effective probability of not failing. Assuming these two nodes are redundant nodes that pass the signal from node B to E if either one of the nodes does not fail. The effective node fails if both C and D fail, which means the probability of failure is 0.01*0.01. The probability of not failing for the effective node is then 1 - 0.01*0.01 = 0.9999.  The overall probability of not failing of the path from A to F is then 0.99*0.99*0.9999*0.99*0.99 = 0.9605. The overall probability of failure is then 1 - 0.9605 = 0.0395.

The above approach can be generalized to any path between two nodes. I don't believe this problem can be solved with cypher and would require a custom procedure instead.