### Recent Posts

Pages: 1 [2] 3 4 ... 10
11
##### General Discussion / Re: Expressing Fault Tree Analysis in BBN
« Last post by Anders L Madsen on June 06, 2018, 07:09:52  »
Hi Mel,

The "generalization" of OR / AND is MAX / MIN. If you encode false/correct as 0, true/failure as 1, and defective as 2 using Numbered nodes and use MIN/MAX instead of AND/OR, then you should be able to encode the desired CPTs.

The idea is that there must be an order on the states and this is enforced by the use of the Numbered node where 0 would reflect the absence of a cause and higher values reflect a more significant presence of the cause.

Let me know if this works for you.
Anders
12
##### General Discussion / Re: Expressing Fault Tree Analysis in BBN
« Last post by uppglassmel on June 02, 2018, 21:12:10  »
Hi Anders,

I would like to find out, if I have a node C4 with three states (Correct, Defective, Failure) can the NOISY-ADD still be used to implement a multi-state node as a Fault Tree encoded in a BBN.

As an AND gate:
How C4 should affect C1 is that when C4 = Defective or C4 =Failure, C1 should be simulated as

and P(C1=true|C2=true,C3=true, C4=Defective)=0.3*0.3*0.0099=0.000891

and P(C1=true|C2=true,C3=true, C4=Failure)=0.3*0.3*0.0001=0.000009

and that P(C1=False) whenever either one of or all of C4, C3, C2 takes on (False, Correct)

e.g. P(C1=False|C2=False,C3=False, C4=correct)=0.7*0.7*0.99=0.4851,

And also, as an OR gate, how should one encode it?

P(C1=False) when either C4,C3 and C2 takes on (Correct, False)
P(C1=True) when either C4,C3 and C2 takes on (Defective, Failure, True)

Thank you for your time
13
##### FAQ / Re: How can I use HUGIN in Matlab?
« Last post by Anders L Madsen on May 16, 2018, 10:00:09  »
The method
Code: [Select]
`enterFinding`is used for entering evidence on a node. There is also a selectState method to set the node to a specific state.

To change the CPT of the a node you need access the table for the node and manipulate its content. The documentation has a complete example building a network (here referring to the .NET API documentation):
http://download.hugin.com/webdocs/manuals/CS/html/d4648875-d41a-783b-d5f4-638df39ee413.htm#Example%202
Hope this helps
14
##### FAQ / Re: How can I use HUGIN in Matlab?
« Last post by Son Nguyen on May 11, 2018, 15:44:39  »
Thank you, that does help me understand more. I have another question: How can we manipulate the table (CPT) of a child node in the network. EnterFinding seems useless in this aspect. The function GetTable does work, but the result is just a data variable with the table type and when I try to access it, I get the "Array formation and indexing are not allowed on .NET objects." error. For short, How could a CPT be modified before we compile the network?
15
##### FAQ / Re: How can I use HUGIN in Matlab?
« Last post by Anders L Madsen on May 05, 2018, 19:10:51  »
Quote
Is it possible to assign multiple nodes into an array in MATLAB and then call them from there instead of "one-by-one" method?

Yes, this should not be a problem. I'm not certain of the exact syntex, but using the HUGIN .NET API it should be something like this:

Code: [Select]
`Node []array;array = new Node[2];array[0]=A;array[1]=B;`hope this helps
16
##### FAQ / Re: How can I use HUGIN in Matlab?
« Last post by Son Nguyen on April 30, 2018, 14:44:42  »
Is it possible to assign multiple nodes into an array in MATLAB and then call them from there instead of "one-by-one" method?
For example:
A=d.GetNodeByName('A');
B=d.GetNodeByName('B');
Nodes={A;B};
Here we could call out Nodes(i) with i=1:2 in
Nodes(1).EnterFinding(0,0.1); instead of A.EnterFinding(0,0.1);
This is useful in using a "for" loop.
17
##### General Discussion / Re: Expressing Fault Tree Analysis in BBN
« Last post by uppglassmel on April 10, 2018, 16:49:47  »
Hej Anders,

Thank you for showing me the 'noisy-add' gate, it worked for an OR-gate as well.

Attached it here in case someone else might be interested in it

Very appreciative of your time!

Mel
18
##### General Discussion / Re: Expressing Fault Tree Analysis in BBN
« Last post by Anders L Madsen on April 07, 2018, 20:53:23  »
Hello,

If you want P(C1=true|P2=true,P3=true)=0.3*0.3=0.09, then you can achieve this using a "noisy-add" gate as demonstrated in the attached model. You set P2_input=true and P3_input=true to get the desire result.

Hope this helps.
19
##### General Discussion / Expressing Fault Tree Analysis in BBN
« Last post by uppglassmel on April 06, 2018, 17:01:10  »
Hello,

I am interested in using BBN to modify probabilities that are being fed into a Fault Tree event node. Hence, I would like to also incorporate the Fault Tree Analysis as part of the BBN node.

I have seen some researchers (J.E. Vinnem et al "Risk Modelling of maintenance work on major process equipment on offshore petroleum installations") where they have configured Fault Tree gates in HUGIN by having inputs as "1" or "0" according to the states of the child node such they it resemble a AND-gate or OR-gate.

I have done the same, but my outcome node's results are only "1" or "0" because the values in the conditional probability tables(meant to describe the node as AND or OR gates) are propagated as the actual probabilities.

Do you have any advice what I can do ( my model is attached).

I mean to model C1 as a outcome node, with C2 (0.7 False, 0.3 True) and C3 (0.7 False, 0.3 True) as the input nodes. Based on C1 having the nature of an AND-gate, if I feed evidence that C2 and C3 is true, then I would like to see C1 being reflected as (0.3 X 0.3 = 0.09 that True will occur).

Thank you in advance, I hope I have been clear

Mel
20
##### FAQ / Re: How can I use HUGIN in Matlab?
« Last post by Anders L Madsen on February 17, 2018, 22:02:54  »
Hello,

This line of code is not correct:
Code: [Select]
`A_table=d.GetTable ('A');`
You should invoke GetTable on A as in:
Code: [Select]
`A_table=A.GetTable ();`
The node A has a table (a representation of its CPT).

hope this helps
Anders
Pages: 1 [2] 3 4 ... 10