Influence Diagram and LIMIDS
An influence diagram is a compact graphical and mathematical representation of a decision situation. It is a generalization of a Bayesian network, in which not only probabilistic inference problems but also decision making problems (following the maximum expected utility criterion) can be modeled and solved. It includes 3 types of nodes : action, decision and utility nodes (from wikipedia).
PyAgrum’s so-called influence diagram represents both influence diagrams and LIMIDs. The way to enforce that such a model represent an influence diagram and not a LIMID belongs to the inference engine.
Tutorial
Reference
- Model for Decision in PGM
InfluenceDiagram
InfluenceDiagram.add()
InfluenceDiagram.addArc()
InfluenceDiagram.addArcs()
InfluenceDiagram.addChanceNode()
InfluenceDiagram.addDecisionNode()
InfluenceDiagram.addStructureListener()
InfluenceDiagram.addUtilityNode()
InfluenceDiagram.addVariables()
InfluenceDiagram.adjacencyMatrix()
InfluenceDiagram.ancestors()
InfluenceDiagram.arcs()
InfluenceDiagram.beginTopologyTransformation()
InfluenceDiagram.chanceNodeSize()
InfluenceDiagram.changeVariableName()
InfluenceDiagram.children()
InfluenceDiagram.clear()
InfluenceDiagram.completeInstantiation()
InfluenceDiagram.connectedComponents()
InfluenceDiagram.cpt()
InfluenceDiagram.dag()
InfluenceDiagram.decisionNodeSize()
InfluenceDiagram.decisionOrder()
InfluenceDiagram.decisionOrderExists()
InfluenceDiagram.descendants()
InfluenceDiagram.empty()
InfluenceDiagram.endTopologyTransformation()
InfluenceDiagram.erase()
InfluenceDiagram.eraseArc()
InfluenceDiagram.exists()
InfluenceDiagram.existsArc()
InfluenceDiagram.existsPathBetween()
InfluenceDiagram.family()
InfluenceDiagram.fastPrototype()
InfluenceDiagram.getDecisionGraph()
InfluenceDiagram.hasSameStructure()
InfluenceDiagram.idFromName()
InfluenceDiagram.ids()
InfluenceDiagram.isChanceNode()
InfluenceDiagram.isDecisionNode()
InfluenceDiagram.isIndependent()
InfluenceDiagram.isUtilityNode()
InfluenceDiagram.loadBIFXML()
InfluenceDiagram.log10DomainSize()
InfluenceDiagram.moralGraph()
InfluenceDiagram.moralizedAncestralGraph()
InfluenceDiagram.names()
InfluenceDiagram.nodeId()
InfluenceDiagram.nodes()
InfluenceDiagram.nodeset()
InfluenceDiagram.parents()
InfluenceDiagram.properties()
InfluenceDiagram.saveBIFXML()
InfluenceDiagram.size()
InfluenceDiagram.sizeArcs()
InfluenceDiagram.thisown
InfluenceDiagram.toDot()
InfluenceDiagram.toFast()
InfluenceDiagram.topologicalOrder()
InfluenceDiagram.utility()
InfluenceDiagram.utilityNodeSize()
InfluenceDiagram.variable()
InfluenceDiagram.variableFromName()
InfluenceDiagram.variableNodeMap()
- Inference for Influence Diagram
ShaferShenoyLIMIDInference
ShaferShenoyLIMIDInference.MEU()
ShaferShenoyLIMIDInference.addEvidence()
ShaferShenoyLIMIDInference.addNoForgettingAssumption()
ShaferShenoyLIMIDInference.chgEvidence()
ShaferShenoyLIMIDInference.clear()
ShaferShenoyLIMIDInference.eraseAllEvidence()
ShaferShenoyLIMIDInference.eraseEvidence()
ShaferShenoyLIMIDInference.hardEvidenceNodes()
ShaferShenoyLIMIDInference.hasEvidence()
ShaferShenoyLIMIDInference.hasHardEvidence()
ShaferShenoyLIMIDInference.hasNoForgettingAssumption()
ShaferShenoyLIMIDInference.hasSoftEvidence()
ShaferShenoyLIMIDInference.influenceDiagram()
ShaferShenoyLIMIDInference.isSolvable()
ShaferShenoyLIMIDInference.junctionTree()
ShaferShenoyLIMIDInference.makeInference()
ShaferShenoyLIMIDInference.meanVar()
ShaferShenoyLIMIDInference.nbrEvidence()
ShaferShenoyLIMIDInference.nbrHardEvidence()
ShaferShenoyLIMIDInference.nbrSoftEvidence()
ShaferShenoyLIMIDInference.optimalDecision()
ShaferShenoyLIMIDInference.posterior()
ShaferShenoyLIMIDInference.posteriorUtility()
ShaferShenoyLIMIDInference.reducedGraph()
ShaferShenoyLIMIDInference.reducedLIMID()
ShaferShenoyLIMIDInference.reversePartialOrder()
ShaferShenoyLIMIDInference.setEvidence()
ShaferShenoyLIMIDInference.softEvidenceNodes()
ShaferShenoyLIMIDInference.updateEvidence()