Search in sources :

Example 1 with Knowledge2

use of edu.cmu.tetrad.data.Knowledge2 in project tetrad by cmu-phil.

the class TestCpc method testSearch3.

/**
 * This will fail if the orientation loop doesn't continue after the first orientation.
 */
@Test
public void testSearch3() {
    IKnowledge knowledge = new Knowledge2();
    knowledge.setForbidden("B", "D");
    knowledge.setForbidden("D", "B");
    knowledge.setForbidden("C", "B");
    checkWithKnowledge("A-->B,C-->B,B-->D", "A---B,B-->C,D", /*"A-->B,C-->B,A-->D,C-->D",*/
    knowledge);
}
Also used : IKnowledge(edu.cmu.tetrad.data.IKnowledge) Knowledge2(edu.cmu.tetrad.data.Knowledge2) Test(org.junit.Test)

Example 2 with Knowledge2

use of edu.cmu.tetrad.data.Knowledge2 in project tetrad by cmu-phil.

the class GlassoRunner method getMeekRules.

public ImpliedOrientation getMeekRules() {
    MeekRules rules = new MeekRules();
    rules.setAggressivelyPreventCycles(this.isAggressivelyPreventCycles());
    rules.setKnowledge((IKnowledge) getParams().get("knowledge", new Knowledge2()));
    return rules;
}
Also used : Knowledge2(edu.cmu.tetrad.data.Knowledge2)

Example 3 with Knowledge2

use of edu.cmu.tetrad.data.Knowledge2 in project tetrad by cmu-phil.

the class KpcRunner method execute.

// ===================PUBLIC METHODS OVERRIDING ABSTRACT================//
public void execute() {
    IKnowledge knowledge = (IKnowledge) getParams().get("knowledge", new Knowledge2());
    int depth = getParams().getInt("depth", -1);
    // Cpci pcSearch = new Cpci(getIndependenceTest(), knowledge, getIndependenceTest().getSimulatedData());
    Kpc kpc = new Kpc((DataSet) getDataModel(), getParams().getDouble("alpha", 0.001));
    kpc.setKnowledge(knowledge);
    kpc.setAggressivelyPreventCycles(isAggressivelyPreventCycles());
    kpc.setDepth(depth);
    Graph graph = kpc.search();
    System.out.println(graph);
    if (getSourceGraph() != null) {
        GraphUtils.arrangeBySourceGraph(graph, getSourceGraph());
    } else if (knowledge.isDefaultToKnowledgeLayout()) {
        SearchGraphUtils.arrangeByKnowledgeTiers(graph, knowledge);
    } else {
        GraphUtils.circleLayout(graph, 200, 200, 150);
    }
    setResultGraph(graph);
}
Also used : IKnowledge(edu.cmu.tetrad.data.IKnowledge) Knowledge2(edu.cmu.tetrad.data.Knowledge2)

Example 4 with Knowledge2

use of edu.cmu.tetrad.data.Knowledge2 in project tetrad by cmu-phil.

the class MmhcRunner method execute.

// ============================PUBLIC METHODS==========================//
/**
 * Executes the algorithm, producing (at least) a result workbench. Must be
 * implemented in the extending class.
 */
public void execute() {
    Mmhc search;
    int depth = getParams().getInt("depth", -1);
    search = new Mmhc(getIndependenceTest(), getIndependenceTest().getDataSets().get(0));
    search.setDepth(depth);
    search.setKnowledge((IKnowledge) getParams().get("knowledge", new Knowledge2()));
    Graph graph = search.search();
    setResultGraph(graph);
    if (getSourceGraph() != null) {
        GraphUtils.arrangeBySourceGraph(graph, getSourceGraph());
    } else {
        GraphUtils.circleLayout(graph, 200, 200, 150);
    }
}
Also used : Graph(edu.cmu.tetrad.graph.Graph) Knowledge2(edu.cmu.tetrad.data.Knowledge2) Mmhc(edu.cmu.tetrad.search.mb.Mmhc)

Example 5 with Knowledge2

use of edu.cmu.tetrad.data.Knowledge2 in project tetrad by cmu-phil.

the class FasRunner method execute.

// ===================PUBLIC METHODS OVERRIDING ABSTRACT================//
public void execute() {
    IKnowledge knowledge = (IKnowledge) getParams().get("knowledge", new Knowledge2());
    int depth = getParams().getInt("depth", -1);
    Graph graph = new EdgeListGraph(getIndependenceTest().getVariables());
    Fas fas = new Fas(graph, getIndependenceTest());
    fas.setKnowledge(knowledge);
    fas.setDepth(depth);
    graph = fas.search();
    System.out.println(graph);
    for (Node node : graph.getNodes()) {
        System.out.println(node + " " + graph.getAdjacentNodes(node).size());
    }
    if (getSourceGraph() != null) {
        GraphUtils.arrangeBySourceGraph(graph, getSourceGraph());
    } else if (knowledge.isDefaultToKnowledgeLayout()) {
        SearchGraphUtils.arrangeByKnowledgeTiers(graph, knowledge);
    } else {
        GraphUtils.circleLayout(graph, 200, 200, 150);
    }
    setResultGraph(graph);
}
Also used : IKnowledge(edu.cmu.tetrad.data.IKnowledge) Knowledge2(edu.cmu.tetrad.data.Knowledge2)

Aggregations

Knowledge2 (edu.cmu.tetrad.data.Knowledge2)75 IKnowledge (edu.cmu.tetrad.data.IKnowledge)43 Parameters (edu.cmu.tetrad.util.Parameters)17 Graph (edu.cmu.tetrad.graph.Graph)13 GraphWorkbench (edu.cmu.tetradapp.workbench.GraphWorkbench)8 ArrayList (java.util.ArrayList)7 Test (org.junit.Test)5 DataSet (edu.cmu.tetrad.data.DataSet)4 EdgeListGraph (edu.cmu.tetrad.graph.EdgeListGraph)4 MeekRules (edu.cmu.tetrad.search.MeekRules)4 WatchedProcess (edu.cmu.tetradapp.util.WatchedProcess)4 CharArrayWriter (java.io.CharArrayWriter)4 PrintWriter (java.io.PrintWriter)4 ContinuousVariable (edu.cmu.tetrad.data.ContinuousVariable)3 Node (edu.cmu.tetrad.graph.Node)3 CovarianceMatrixOnTheFly (edu.cmu.tetrad.data.CovarianceMatrixOnTheFly)1 DataModel (edu.cmu.tetrad.data.DataModel)1 DataReader (edu.cmu.tetrad.data.DataReader)1 KnowledgeEdge (edu.cmu.tetrad.data.KnowledgeEdge)1 Edge (edu.cmu.tetrad.graph.Edge)1