network.add_e(DirEdge(len(network.e), smoking, lung_cancer)) # S -> B network.add_e(DirEdge(len(network.e), smoking, bronchitis)) # B -> D network.add_e(DirEdge(len(network.e), visit_to_asia, dyspnea)) # LC -> TC network.add_e(DirEdge(len(network.e), lung_cancer, tub_or_cancer)) # Show the network print network # Initialize the distributions network.InitDistributions() # Set distributions for start nodes visit_to_asia.setDistributionParameters([0.01, 0.99]) smoking.setDistributionParameters([0.5, 0.5]) # Tuberculosis 0 = true, 1 = false tuberculosis.distribution[{'Visit to Asia': 0}] = [0.35, 0.65] tuberculosis.distribution[{'Visit to Asia': 1}] = [0.01, 0.99] # Lung Cancer lung_cancer.distribution[{'Smoking': 0}] = [0.7, 0.3] #Smoker lung_cancer.distribution[{'Smoking': 1}] = [0.2, 0.8] #NonSmoker # Bronchitis bronchitis.distribution[{'Smoking': 0}] = [0.8, 0.2]