DBN* KjaerulfsBNetModel() { DBN *net; net = new DBN(); textcolor(WHITE); net->AddNode(discrete^"node0-0 node1-0 node2-0 node3-0 node4-0 node5-0 node6-0 node7-0", "true false"); printf("\n net->AddNode(discrete^\"node0-0 node1-0 node2-0 \n\t node3-0 node4-0 node5-0 node6-0 node7-0\", \"true false\");"); textcolor(LIGHTGREEN); printf("\t\t\tAdding of nodes is in process...."); _sleep(2000); textcolor(WHITE); net->AddNode(discrete^"node0-1 node1-1 node2-1 node3-1 node4-1 node5-1 node6-1 node7-1", "true false"); printf("\n net->AddNode(discrete^\"node0-1 node1-1 node2-1 \n\t node3-1 node4-1 node5-1 node6-1 node7-1\", \"true false\");"); _sleep(1000); textcolor(LIGHTGREEN); printf("\n ......All nodes are added....\n"); getch(); // arcs textcolor(WHITE); net->AddArc("node0-0", "node1-0 node2-0"); printf("\n net->AddArc(\"node0-0\", \"node1-0 node2-0\");"); textcolor(LIGHTGREEN); printf("\t\t\t\t\t\tAdding of arcs is in process...."); _sleep(2000); textcolor(WHITE); net->AddArc("node1-0", "node2-0"); printf("\n net->AddArc(\"node1-0\", \"node2-0\");"); net->AddArc("node2-0", "node3-0"); printf("\n net->AddArc(\"node2-0\", \"node3-0\");"); net->AddArc("node3-0", "node4-0 node5-0"); printf("\n net->AddArc(\"node3-0\", \"node4-0 node5-0\");"); net->AddArc("node4-0 node5-0", "node6-0"); printf("\n net->AddArc(\"node4-0 node5-0\", \"node6-0\");"); net->AddArc("node6-0", "node7-0"); printf("\n net->AddArc(\"node6-0\", \"node7-0\");"); net->AddArc("node0-1", "node1-1 node2-1"); printf("\n net->AddArc(\"node0-1\", \"node1-1 node2-1\");"); net->AddArc("node1-1", "node2-1"); printf("\n net->AddArc(\"node1-1\", \"node2-1\");"); net->AddArc("node2-1", "node3-1"); printf("\n net->AddArc(\"node2-1\", \"node3-1\");"); net->AddArc("node3-1", "node4-1 node5-1"); printf("\n net->AddArc(\"node3-1\", \"node4-1 node5-1\");"); net->AddArc("node4-1 node5-1", "node6-1"); printf("\n net->AddArc(\"node4-1 node5-1\", \"node6-1\");"); net->AddArc("node6-1", "node7-1"); printf("\n net->AddArc(\"node6-1\", \"node7-1\");"); net->AddArc("node0-0", "node0-1"); printf("\n net->AddArc(\"node0-0\", \"node0-1\");"); net->AddArc("node3-0", "node3-1"); printf("\n net->AddArc(\"node3-0\", \"node3-1\");"); net->AddArc("node7-0", "node7-1"); printf("\n net->AddArc(\"node7-0\", \"node7-1\");"); textcolor(LIGHTGREEN); printf("\n ......All arcs are added....\n"); getch(); // distributions textcolor(WHITE); net->SetPTabular("node0-0^false node0-0^true", "0.5 0.5"); printf("\n net->SetPTabular(\"node0-0^false node0-0^true\", \"0.5 0.5\");"); textcolor(LIGHTGREEN); printf("\t\t\t\tAdding of distributions is in process...."); _sleep(2000); textcolor(WHITE); net->SetPTabular("node1-0^false node1-0^true", "0.98 0.02", "node0-0^false"); printf("\n net->SetPTabular(\"node1-0^false node1-0^true\", \"0.98 0.02\", \n\t \"node0-0^false\");"); net->SetPTabular("node1-0^false node1-0^true", "0.5 0.5", "node0-0^true"); printf("\n net->SetPTabular(\"node1-0^false node1-0^true\", \"0.5 0.5\", \n\t \"node0-0^true\");"); net->SetPTabular("node2-0^false node2-0^true", "1.0 0.0", "node0-0^false node1-0^false"); printf("\n net->SetPTabular(\"node2-0^false node2-0^true\", \"1.0 0.0\", \n\t \"node0-0^false node1-0^false\");"); net->SetPTabular("node2-0^false node2-0^true", "0.0 1.0", "node0-0^false node1-0^true"); printf("\n net->SetPTabular(\"node2-0^false node2-0^true\", \"0.0 1.0\", \n\t \"node0-0^false node1-0^true\");"); net->SetPTabular("node2-0^false node2-0^true", "0.0 1.0", "node0-0^true node1-0^false"); printf("\n net->SetPTabular(\"node2-0^false node2-0^true\", \"0.0 1.0\", \n\t \"node0-0^true node1-0^false\");"); net->SetPTabular("node2-0^false node2-0^true", "0.5 0.5", "node0-0^true node1-0^true"); printf("\n net->SetPTabular(\"node2-0^false node2-0^true\", \"0.5 0.5\", \n\t \"node0-0^true node1-0^true\");"); net->SetPTabular("node3-0^false node3-0^true", "0.99 0.01", "node2-0^false"); printf("\n net->SetPTabular(\"node3-0^false node3-0^true\", \"0.99 0.01\", \n\t \"node2-0^false\");"); net->SetPTabular("node3-0^false node3-0^true", "0.8 0.2", "node2-0^true"); printf("\n net->SetPTabular(\"node3-0^false node3-0^true\", \"0.8 0.2\", \n\t \"node2-0^true\");"); net->SetPTabular("node4-0^false node4-0^true", "0.99 0.01", "node3-0^false"); printf("\n net->SetPTabular(\"node4-0^false node4-0^true\", \"0.99 0.01\", \n\t \"node3-0^false\");"); net->SetPTabular("node4-0^false node4-0^true", "0.92 0.08", "node3-0^true"); printf("\n net->SetPTabular(\"node4-0^false node4-0^true\", \"0.92 0.08\", \n\t \"node3-0^true\");"); net->SetPTabular("node5-0^false node5-0^true", "0.79 0.21", "node3-0^false"); printf("\n net->SetPTabular(\"node5-0^false node5-0^true\", \"0.79 0.21\", \n\t \"node3-0^false\");"); net->SetPTabular("node5-0^false node5-0^true", "0.65 0.35", "node3-0^true"); printf("\n net->SetPTabular(\"node5-0^false node5-0^true\", \"0.65 0.35\", \n\t \"node3-0^true\");"); net->SetPTabular("node6-0^false node6-0^true", "0.9 0.1", "node4-0^false node5-0^false"); printf("\n net->SetPTabular(\"node6-0^false node6-0^true\", \"0.9 0.1\", \n\t \"node4-0^false node5-0^false\");"); net->SetPTabular("node6-0^false node6-0^true", "0.37 0.63", "node4-0^false node5-0^true"); printf("\n net->SetPTabular(\"node6-0^false node6-0^true\", \"0.37 0.63\", \n\t \"node4-0^false node5-0^true\");"); net->SetPTabular("node6-0^false node6-0^true", "0.21 0.79", "node4-0^true node5-0^false"); printf("\n net->SetPTabular(\"node6-0^false node6-0^true\", \"0.21 0.79\", \n\t \"node4-0^true node5-0^false\");"); net->SetPTabular("node6-0^false node6-0^true", "0.2 0.8", "node4-0^true node5-0^true"); printf("\n net->SetPTabular(\"node6-0^false node6-0^true\", \"0.2 0.8\", \n\t \"node4-0^true node5-0^true\");"); net->SetPTabular("node7-0^false node7-0^true", "0.91 0.09", "node6-0^false"); printf("\n net->SetPTabular(\"node7-0^false node7-0^true\", \"0.91 0.09\", \n\t \"node6-0^false\");"); net->SetPTabular("node7-0^false node7-0^true", "0.22 0.78", "node6-0^true"); printf("\n net->SetPTabular(\"node7-0^false node7-0^true\", \"0.22 0.78\", \n\t \"node6-0^true\");"); net->SetPTabular("node0-1^false node0-1^true", "0.45 0.55", "node0-0^false"); printf("\n net->SetPTabular(\"node0-1^false node0-1^true\", \"0.45 0.55\", \n\t \"node0-0^false\");"); net->SetPTabular("node0-1^false node0-1^true", "0.24 0.76", "node0-0^true"); printf("\n net->SetPTabular(\"node0-1^false node0-1^true\", \"0.24 0.76\", \n\t \"node0-0^true\");"); net->SetPTabular("node1-1^false node1-1^true", "0.51 0.49", "node0-1^false"); printf("\n net->SetPTabular(\"node1-1^false node1-1^true\", \"0.51 0.49\", \n\t \"node0-1^false\");"); net->SetPTabular("node1-1^false node1-1^true", "0.29 0.71", "node0-1^true"); printf("\n net->SetPTabular(\"node1-1^false node1-1^true\", \"0.29 0.71\", \n\t \"node0-1^true\");"); net->SetPTabular("node2-1^false node2-1^true", "0.98 0.02", "node0-1^false node1-1^false"); printf("\n net->SetPTabular(\"node2-1^false node2-1^true\", \"0.98 0.02\", \n\t \"node0-1^false node1-1^false\");"); net->SetPTabular("node2-1^false node2-1^true", "0.4 0.6", "node0-1^false node1-1^true"); printf("\n net->SetPTabular(\"node2-1^false node2-1^true\", \"0.4 0.6\", \n\t \"node0-1^false node1-1^true\");"); net->SetPTabular("node2-1^false node2-1^true", "0.2 0.8", "node0-1^true node1-1^false"); printf("\n net->SetPTabular(\"node2-1^false node2-1^true\", \"0.2 0.8\", \n\t \"node0-1^true node1-1^false\");"); net->SetPTabular("node2-1^false node2-1^true", "0.5 0.5", "node0-1^true node1-1^true"); printf("\n net->SetPTabular(\"node2-1^false node2-1^true\", \"0.5 0.5\", \n\t \"node0-1^true node1-1^true\");"); net->SetPTabular("node3-1^false node3-1^true", "0.36 0.64", "node3-0^false node2-1^false"); printf("\n net->SetPTabular(\"node3-1^false node3-1^true\", \"0.36 0.64\", \n\t \"node3-0^false node2-1^false\");"); net->SetPTabular("node3-1^false node3-1^true", "0.23 0.77", "node3-0^false node2-1^true"); printf("\n net->SetPTabular(\"node3-1^false node3-1^true\", \"0.23 0.77\", \n\t \"node3-0^false node2-1^true\");"); net->SetPTabular("node3-1^false node3-1^true", "0.78 0.22", "node3-0^true node2-1^false"); printf("\n net->SetPTabular(\"node3-1^false node3-1^true\", \"0.78 0.22\", \n\t \"node3-0^true node2-1^false\");"); net->SetPTabular("node3-1^false node3-1^true", "0.11 0.89", "node3-0^true node2-1^true"); printf("\n net->SetPTabular(\"node3-1^false node3-1^true\", \"0.11 0.89\", \n\t \"node3-0^true node2-1^true\");"); net->SetPTabular("node4-1^false node4-1^true", "0.955 0.045", "node3-1^false"); printf("\n net->SetPTabular(\"node4-1^false node4-1^true\", \"0.955 0.045\", \n\t \"node3-1^false\");"); net->SetPTabular("node4-1^false node4-1^true", "0.42 0.58", "node3-1^true"); printf("\n net->SetPTabular(\"node4-1^false node4-1^true\", \"0.42 0.58\", \n\t \"node3-1^true\");"); net->SetPTabular("node5-1^false node5-1^true", "0.57 0.43", "node3-1^false"); printf("\n net->SetPTabular(\"node5-1^false node5-1^true\", \"0.57 0.43\", \n\t \"node3-1^false\");"); net->SetPTabular("node5-1^false node5-1^true", "0.09 0.91", "node3-1^true"); printf("\n net->SetPTabular(\"node5-1^false node5-1^true\", \"0.09 0.91\", \n\t \"node3-1^true\");"); net->SetPTabular("node6-1^false node6-1^true", "0.91 0.09", "node4-1^false node5-1^false"); printf("\n net->SetPTabular(\"node6-1^false node6-1^true\", \"0.91 0.09\", \n\t \"node4-1^false node5-1^false\");"); net->SetPTabular("node6-1^false node6-1^true", "0.13 0.87", "node4-1^false node5-1^true"); printf("\n net->SetPTabular(\"node6-1^false node6-1^true\", \"0.13 0.87\", \n\t \"node4-1^false node5-1^true\");"); net->SetPTabular("node6-1^false node6-1^true", "0.12 0.88", "node4-1^true node5-1^false"); printf("\n net->SetPTabular(\"node6-1^false node6-1^true\", \"0.12 0.88\", \n\t \"node4-1^true node5-1^false\");"); net->SetPTabular("node6-1^false node6-1^true", "0.01 0.99", "node4-1^true node5-1^true"); printf("\n net->SetPTabular(\"node6-1^false node6-1^true\", \"0.01 0.99\", \n\t \"node4-1^true node5-1^true\");"); net->SetPTabular("node7-1^false node7-1^true", "0.39 0.61", "node6-1^false node7-0^false"); printf("\n net->SetPTabular(\"node7-1^false node7-1^true\", \"0.39 0.61\", \n\t \"node6-1^false node7-0^false\");"); net->SetPTabular("node7-1^false node7-1^true", "0.37 0.63", "node6-1^false node7-0^true"); printf("\n net->SetPTabular(\"node7-1^false node7-1^true\", \"0.37 0.63\", \n\t \"node6-1^false node7-0^true\");"); net->SetPTabular("node7-1^false node7-1^true", "0.255 0.745", "node6-1^true node7-0^false"); printf("\n net->SetPTabular(\"node7-1^false node7-1^true\", \"0.255 0.745\", \n\t \"node6-1^true node7-0^false\");"); net->SetPTabular("node7-1^false node7-1^true", "0.1 0.9", "node6-1^true node7-0^true"); printf("\n net->SetPTabular(\"node7-1^false node7-1^true\", \"0.1 0.9\", \n\t \"node6-1^true node7-0^true\");"); _sleep(1000); textcolor(LIGHTGREEN); printf("\n ......All distributions are added....\n"); textcolor(WHITE); return net; }
DBN* DBNModel() { DBN *net; net = new DBN(); textcolor(WHITE); net->AddNode(discrete^"Rain-0 Umbrella-0", "True False"); printf("\n net->AddNode(discrete^\"Rain-0 Umbrella-0\", \"True False\");"); textcolor(LIGHTGREEN); printf("\t\t\t\t\tAdding of nodes is in process...."); _sleep(2000); textcolor(WHITE); net->AddNode(discrete^"Rain-1 Umbrella-1", "True False"); printf("\n net->AddNode(discrete^\"Rain-1 Umbrella-1\", \"True False\");"); textcolor(LIGHTGREEN); printf("\n ......All nodes are added....\n"); getch(); // arcs textcolor(WHITE); net->AddArc("Rain-0", "Umbrella-0"); printf("\n net->AddArc(\"Rain-0\", \"Umbrella-0\");"); textcolor(LIGHTGREEN); printf("\t\t\t\t\t\t\t\tAdding of arcs is in process...."); _sleep(2000); textcolor(WHITE); net->AddArc("Rain-0", "Rain-1"); printf("\n net->AddArc(\"Rain-0\", \"Rain-1\");"); _sleep(1000); net->AddArc("Rain-1", "Umbrella-1"); printf("\n net->AddArc(\"Rain-1\", \"Umbrella-1\");"); textcolor(LIGHTGREEN); printf("\n ......All arcs are added....\n"); getch(); // distributions textcolor(WHITE); net->SetPTabular("Rain-0^True Rain-0^False", "0.5 0.5"); printf("\n net->SetPTabular(\"Rain-0^True Rain-0^False\", \"0.5 0.5\");"); textcolor(LIGHTGREEN); printf("\t\t\t\t\tAdding of distributions is in process...."); _sleep(2000); textcolor(WHITE); net->SetPTabular("Umbrella-0^True Umbrella-0^False", "0.9 0.1", "Rain-0^True"); printf("\n net->SetPTabular(\"Umbrella-0^True Umbrella-0^False\", \"0.9 0.1\", \"Rain-0^True\");"); _sleep(1000); net->SetPTabular("Umbrella-0^True Umbrella-0^False", "0.2 0.8", "Rain-0^False"); printf("\n net->SetPTabular(\"Umbrella-0^True Umbrella-0^False\", \"0.2 0.8\", \"Rain-0^False\");"); _sleep(1000); net->SetPTabular("Rain-1^True Rain-1^False", "0.7 0.3", "Rain-0^True"); printf("\n net->SetPTabular(\"Rain-1^True Rain-1^False\", \"0.7 0.3\", \"Rain-0^True\");"); _sleep(1000); net->SetPTabular("Rain-1^True Rain-1^False", "0.3 0.7", "Rain-0^False"); printf("\n net->SetPTabular(\"Rain-1^True Rain-1^False\", \"0.3 0.7\", \"Rain-0^False\");"); _sleep(1000); net->SetPTabular("Umbrella-1^True Umbrella-1^False", "0.9 0.1", "Rain-1^True"); printf("\n net->SetPTabular(\"Umbrella-1^True Umbrella-1^False\", \"0.9 0.1\", \"Rain-1^True\");"); _sleep(1000); net->SetPTabular("Umbrella-1^True Umbrella-1^False", "0.2 0.8", "Rain-1^False"); printf("\n net->SetPTabular(\"Umbrella-1^True Umbrella-1^False\", \"0.2 0.8\", \"Rain-1^False\");"); textcolor(LIGHTGREEN); printf("\n ......All distributions are added....\n"); getch(); textcolor(WHITE); return net; }