Package org.drools.beliefs.bayes

Examples of org.drools.beliefs.bayes.BayesVariable


        BayesNetwork graph = new BayesNetwork(name, packageName);

        Map<String, GraphNode<BayesVariable>> map = new HashMap<String, GraphNode<BayesVariable>>();
        for (Definition def : bif.getNetwork().getDefinitions()) {
            GraphNode<BayesVariable> node = graph.addNode();
            BayesVariable var = buildVariable(def, bif.getNetwork(), node.getId());
            node.setContent( var );
            map.put( var.getName(), node );
        }

        for(Entry<String, GraphNode<BayesVariable>>  entry : map.entrySet()) {
            GraphNode<BayesVariable> node = entry.getValue();
            BayesVariable var = node.getContent();
            if ( var.getGiven() != null && var.getGiven().length > 0 )  {
                for ( String given : var.getGiven() ) {
                    GraphNode<BayesVariable> givenNode = map.get( given );
                    EdgeImpl e = new EdgeImpl();
                    e.setOutGraphNode(givenNode);
                    e.setInGraphNode(node);
                }
View Full Code Here


        BayesNetwork network = XmlBifParser.buildBayesNetwork( bif );
        Map<String, GraphNode<BayesVariable>> map = nodeToMap(network);

        GraphNode<BayesVariable> node = map.get( "WetGrass" );
        BayesVariable wetGrass = node.getContent();
        assertEquals(Arrays.asList(new String[]{"false", "true"}), Arrays.asList(wetGrass.getOutcomes()));
        assertEquals( 2, wetGrass.getGiven().length );
        assertEquals( Arrays.asList( wetGrass.getGiven() ), Arrays.asList( new String[] { "Sprinkler", "Rain" }) );
        assertTrue( Arrays.deepEquals( new double[][] { { 1.0, 0.0 }, { 0.1, 0.9 }, { 0.1, 0.9 }, { 0.01, 0.99 } }, wetGrass.getProbabilityTable() ) );

        node = map.get( "Sprinkler" );
        BayesVariable sprinkler = node.getContent();
        assertEquals(Arrays.asList(new String[]{"false", "true"}), Arrays.asList(sprinkler.getOutcomes()));
        assertEquals( 1, sprinkler.getGiven().length );
        assertEquals( "Cloudy", sprinkler.getGiven()[0]);
        assertTrue( Arrays.deepEquals( new double[][] { {0.5, 0.5}, { 0.9, 0.1} }, sprinkler.getProbabilityTable() ) );

        node = map.get( "Cloudy" );
        BayesVariable cloudy = node.getContent();
        assertEquals(Arrays.asList(new String[]{"false", "true"}), Arrays.asList(cloudy.getOutcomes()));
        assertEquals(0, cloudy.getGiven().length);
        assertTrue( Arrays.deepEquals( new double[][] { {0.5, 0.5} }, cloudy.getProbabilityTable() ) );

        node = map.get( "Rain" );
        BayesVariable rain = node.getContent();
        assertEquals(Arrays.asList(new String[]{"false", "true"}), Arrays.asList(rain.getOutcomes()));
        assertEquals( 0, rain.getGiven().length );
        assertTrue( Arrays.deepEquals( new double[][] { {0.5, 0.5} }, rain.getProbabilityTable() ) );
    }
View Full Code Here

TOP

Related Classes of org.drools.beliefs.bayes.BayesVariable

Copyright © 2018 www.massapicom. 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.