Examples of BNNode


Examples of org.integratedmodelling.riskwiz.bn.BNNode

        }
    }

    @Override
  public void setObservation(String nodeName, String value) {
        BNNode node = bn.getBeliefNode(nodeName);

        if (node != null) {
            setObservation(node, value);
        }
    }
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

                value));   
    }
 
    @Override
  public void retractEvidence(String nodeName) {
        BNNode node = bn.getBeliefNode(nodeName);

        if (node != null) {
            retractEvidence(node);
        }
    }
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

            }

            // Dump out the CPTs
            w.write("      <!-- Probability Distributions -->" + ln)
            for (Iterator i = nodes.iterator(); i.hasNext();) {
                BNNode node = (BNNode) i.next();

                if (node.isDecision()) {
                    continue;
                } // Decision nodes doesn't have CPT, so skip.

                String nodeName = node.getName();

                w.write("      <DEFINITION>" + ln); // $NON-NLS-1$
                w.write(
                        "        <FOR>" + IOUtil.mangleXMLString(nodeName)
                        + "</FOR>" + ln)
                Vector<DiscreteDomain> parentDomains = ((TabularFunction) node.getFunction()).getParentsDomains();            
               
                for (Iterator j = parentDomains.iterator(); j.hasNext();) {
                    DiscreteDomain parentDom = (DiscreteDomain) j.next();
                    String parentName = parentDom.getName();

                    w.write(
                            "        <GIVEN>"
                                    + IOUtil.mangleXMLString(parentName)
                                    + "</GIVEN>" + ln)
                   
                }

                // Dump out the CPT string
                
                String CPTString = IOUtil.saveTable(
                        (TabularFunction) node.getFunction());

                w.write("        <TABLE>" + CPTString + "</TABLE>" + ln)

                w.write("      </DEFINITION>" + ln)
            }
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

                String name = node.getNodeName();

                if (name.equals("NAME")) { 
                    graph.setName(getElementValue(node));
                } else if (name.equals("VARIABLE")) { 
                    BNNode bbnnode = visitVariable(node);

                    graph.addVertex(bbnnode);
                }
                break;
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

    }

    protected BNNode visitVariable(Node parent) {
        NodeList l = parent.getChildNodes();

        BNNode bbnnode = null; // = new BeliefNode("XXX");
        int max;
        String propType = "nature"
        NamedNodeMap attrs = parent.getAttributes();

        if (attrs != null) {
            max = attrs.getLength();
            for (int i = 0; i < max; i++) {
                Node attr = attrs.item(i);
                String name = attr.getNodeName();
                String value = attr.getNodeValue();

                if (name.equals("TYPE")) { 
                    propType = value;
                    if (value.equals("decision")) { 
                        bbnnode = new BNNode("XXX", BNNode.NodeType.decision);
                    } else if (value.equals("utility")) { 
                        bbnnode = new BNNode("XXX", BNNode.NodeType.utility);
                    } else { // otherwise it's just "nature"
                        bbnnode = new BNNode("XXX",
                                BNNode.NodeType.probabilistic);
                    }
                } else if (Setting.DEBUG) {
                    System.out.println(
                            "Unhandled variable property attribute " + name);
                }
            }
        }

        if (!propType.equals("nature") && !propType.equals("decision")
                && !propType.equals("utility")) { // $NON-NLS-1$
            throw new RuntimeException("Unknown node type " + propType);
        }

        if (l == null) {
            return null;
        }
        LinkedList<String> values = new LinkedList<String>();

        max = l.getLength();
        for (int i = 0; i < max; i++) {
            Node node = l.item(i);

            switch (node.getNodeType()) {
            case Node.ELEMENT_NODE:
                String name = node.getNodeName();

                if (name.equals("NAME")) { // $NON-NLS-1$
                    String desc = getElementValue(node);

                    bbnnode.setName(desc);
                } else if (name.equals("OUTCOME") || name.equals("VALUE")) { 
                    String value = getElementValue(node);

                    if (value != null) {
                        values.add(value);
                    }
                } else if (name.equals("PROPERTY")) { 
                    String value = getElementValue(node);

                    parseProperty(value, bbnnode);
                } else if (Setting.DEBUG) {
                    System.out.println("Unhandled variable element " + name);
                }
                break;

            case Node.DOCUMENT_NODE:
            case Node.COMMENT_NODE:
            case Node.TEXT_NODE:
                // Ignore this
                break;

            default:
                if (Setting.DEBUG) {
                    System.out.println("Unhandled node " + node.getNodeName());
                }
            }
        }

        if (propType.equals("nature") || propType.equals("utility")) { 
            String[] valArr = new String[values.size()];

            values.toArray(valArr);
            LabelDomain dom = new LabelDomain(bbnnode.getName(), valArr);

            // (String[]) values.toArray());

            bbnnode.setDomain(dom);
        }
        return bbnnode;
    }
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

                if (name.equals("FOR")) { 
                    curNodeName = getElementValue(node);
                } else if (name.equals("GIVEN")) { 
                    String parentName = getElementValue(node);
                    BNNode parentNode = graph.getBeliefNode(parentName);

                    if (parentNode == null) {
                        throw new RuntimeException(
                                "Cannot resolve node " + parentName);
                    }
                    if (parentNode.isUtility()) {
                        throw new RuntimeException(
                                "Utility nodes can never be parent nodes!");
                    }
                    if (parentNode != null) {
                        parents.add(parentName);
                    }
                } else if (name.equals("TABLE")) { 
                    CPTString = getElementValue(node);
                } else if (Setting.DEBUG) {
                    System.out.println("Unhandled variable element " + name);
                }
                break;

            case Node.DOCUMENT_NODE:
            case Node.COMMENT_NODE:
            case Node.TEXT_NODE:
                // Ignore this
                break;

            default:
                if (Setting.DEBUG) {
                    System.out.println("Unhandled node " + node.getNodeName());
                }
            }
        }

        // Sanity check
        if (curNodeName == null) {
            throw new RuntimeException(
                    "Ill-formed <DEFINITION> tag, no names specified!");
        }

        BNNode curNode = graph.getBeliefNode(curNodeName);

        if (curNode == null) {
            throw new RuntimeException(
                    "Ill-formed <DEFINITION> tag, non-existant names specified!");
        }
        if (curNode.isDecision()) {
            return;
        }
        if (CPTString == null) {
            throw new RuntimeException(
                    "Ill-formed <DEFINITION> tag, no tables specified!");
        }

        // Post processing
        for (Iterator i = parents.iterator(); i.hasNext();) {
            String parentNodeName = (String) i.next();

            graph.addEdge(parentNodeName, curNodeName);
        }

        // if (!curNode.isUtility()) {
        // if (rowFirst) {
        // parents.addFirst(curNodeName);
        // } else {
        // parents.add(curNodeName);
        // }
        // }
        // int domainOrder= curNode.getDomain().getOrder();
        try {
            IOUtil.parseTableString(CPTString,
                    (TabularFunction) curNode.getFunction());
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

        Set<BNEdge> edges = g.incomingEdgesOf(v);
   
        for (BNEdge e1 : edges) {
            for (BNEdge e2 : edges) {
                if (e1 != e2) {
                    BNNode v1 = g.getEdgeSource(e1);
                    BNNode v2 = g.getEdgeSource(e2);

                    if (!g.areConnected(v1, v2) && !g.areConnected(v2, v1)) {
                        g.addEdge(v1, v2);
                    }
                }
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

            w.write(">" + ln + "   <nodes>" + ln);

            // Dump out the variables
            for (TopologicalOrderIterator it = new TopologicalOrderIterator(
                    graph); it.hasNext();) {
                BNNode node = (BNNode) it.next();

                if (node.isDecision()) {
                    writeDecision(node, w, ln);
                } else if (node.isUtility()) {
                    writeUtility(node, w, ln);
                } else if (node.isDeterministic()) {
                    writeDeterministic(node, w, ln);
                } else if (node.isNoisyMax()) {
                    writeNoisyMax(node, w, ln);
                } else {
                    writeCPT(node, w, ln);
                }
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

        // System.out.println("\n Marginalssize: "+marginals.size()+ " \n" );
        while (!marginals.isEmpty()) {
            Vector<DiscreteDomain> domsSet = new Vector<DiscreteDomain>();

            while (!marginals.isEmpty() && marginals.first().isNature()) {
                BNNode first = marginals.first();

                domsSet.add(first.getDiscretizedDomain());
                marginals.remove(first);
            }
            if (!domsSet.isEmpty()) {
        
                FMarginalizationMap mmap = new FMarginalizationMap(
                        currentDomainProduct, domsSet);

                mmaps.add(mmap);
                currentDomainProduct.removeAll(domsSet);
            }
            while (!marginals.isEmpty() && marginals.first().isDecision()) {
         
                BNNode first = marginals.first();
       
                mmaps.add(first.getDomain());
                currentDomainProduct.remove(first.getDomain());
                marginals.remove(first);
            }
        } 
        // System.out.println("\n RespectiveMapsize: "+mmaps.size()+ " \n" );
        margMapHash.put(jtedge, mmaps);
View Full Code Here

Examples of org.integratedmodelling.riskwiz.bn.BNNode

    private void removeNodeSet(PriorityQueue<BNNode> pqueue,
            RiskUndirectedGraph<BNNode, BNEdge> graphCopy,
            RiskUndirectedGraph<BNNode, BNEdge> graph) {
        while (!pqueue.isEmpty()) {      
            // get the top (minimum) element but do not remove it from the queue
            BNNode vtx = pqueue.peek();

            removeNode(vtx, graphCopy, graph);
            // this should remove the same vertex from the queue and  cause recalculating priority queue after beliefNetwork vertex has been removed
            pqueue.poll();
     
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.