Hi,
I have a rather simple question about SMILE. If I want to use it for solving Influence Diagrams, is this the usual workflow:
- set the graph/read it from the file
- manually update the probabilities based on the dataset
- calculate the expected values for utility nodes
- set some of the nodes as evidence nodes
- use the approach from:
<http://genie.sis.pitt.edu/wiki/SMILE_Tu ... e_Diagrams>
to find the instantiation of the parents with the highest utility
Am I missing something?
Thanks!
Using SMILE for Influence Diagrams
-
- Site Admin
- Posts: 1417
- Joined: Mon Nov 26, 2007 5:51 pm
Re: Using SMILE for Influence Diagrams
You can use DSL_ALG_ID_SHACHTER algorithm - it'll find the best policy at SMILE level. It's the equivalent of 'Find best policy' selection from the Network|Algorithm in GeNIe. The code in the tutorial invokes the default influence diagram algorithm DSL_ALG_ID_COOPERSOLVING ("Policy Evaluation" in GeNIe).nikkne wrote:Am I missing something?
Thanks!
What I don't understand from the example is how one finds the "best" values in the decision nodes, which yield the maximum utility, based on evidences. Example iterates through the list of indexing parents, which is enough if the network/ID is of height 1. What to do when the network is much, much bigger (for example, there are 5 chance nodes between a decision and value node)?
What I don't understand from the example is how one finds the "best" values in the decision nodes, which yield the maximum utility, based on evidences. Example iterates through the list of indexing parents, which is enough if the network/ID is of height 1. What to do when the network is much, much bigger (for example, there are 5 chance nodes between a decision and value node)?
-
- Site Admin
- Posts: 1417
- Joined: Mon Nov 26, 2007 5:51 pm
Thanks!
I read the post on the Indexing parents, but I fail to understand how it relates to my question. Indexing parents are parents, not the predecessors, so I don't see how to make the connection.
Another question on the same topic. Shachter's algorithm require expectations for values nodes, right? So, I can plug those values into the Dmatrix in that's node Definition(). IIRC, Shachter's algorithm also needs expectations for chance nodes. Where should I add them? Is SMILE doing that for me?
Cheers,
Nikola
I read the post on the Indexing parents, but I fail to understand how it relates to my question. Indexing parents are parents, not the predecessors, so I don't see how to make the connection.
Another question on the same topic. Shachter's algorithm require expectations for values nodes, right? So, I can plug those values into the Dmatrix in that's node Definition(). IIRC, Shachter's algorithm also needs expectations for chance nodes. Where should I add them? Is SMILE doing that for me?
Cheers,
Nikola
-
- Site Admin
- Posts: 1417
- Joined: Mon Nov 26, 2007 5:51 pm
The indexing parents set may contain predecessors - check the definition. If you have GeNIe installed, load tutorial11.xdsl from the examples directory, perform inference, open 'Financial Gain' properties, then go to 'Value' page. You'll notice that indexing parents are 'Expert forecast' and 'Investment decision'. The 'Expert forecast' node is clearly a predecessor.nikkne wrote:I read the post on the Indexing parents, but I fail to understand how it relates to my question. Indexing parents are parents, not the predecessors, so I don't see how to make the connection.
I'll need to check that. Stay tuned.Another question on the same topic. Shachter's algorithm require expectations for values nodes, right? So, I can plug those values into the Dmatrix in that's node Definition(). IIRC, Shachter's algorithm also needs expectations for chance nodes. Where should I add them? Is SMILE doing that for me?
-
- Site Admin
- Posts: 430
- Joined: Tue Dec 11, 2007 4:24 pm
I'm not sure I understand your question. ID algorithms (including Shachter's) compute expected utilities for all decision options and choose the option with the highest utility. This is all done "under the hood" and you don't need to specify in your model anything else but probabilities and utilities. Does this help? Cheers,shooltz wrote:I'll need to check that. Stay tuned.nikkne wrote:Another question on the same topic. Shachter's algorithm require expectations for values nodes, right? So, I can plug those values into the Dmatrix in that's node Definition(). IIRC, Shachter's algorithm also needs expectations for chance nodes. Where should I add them? Is SMILE doing that for me?
Marek