Blame view

students/amartins/tarefas/tarefa1a.py 956 Bytes
e43d9d3b   Francisco Coelho   AMartins | Tarefa...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import bnlearn as bn

asia = bn.import_DAG("asia2.bif")

model = asia['model'] # Cria um objeto BayesianModel



nos = model.nodes()
print("Número de nós:", len(nos))        #resposta à pergunta "quantos nós tem a rede?"

print("Lista de nós:", nos)

asc = 0
des = 0
nos_in = 0
nos_out = 0

for x in nos:
    # Obtem os nós pais e filhos de cada nós
    parents = model.get_parents(x)
    children = model.get_children(x)
    
    if len(parents) != 0:
        asc += 1
    if len(children) != 0:
        des += 1
    nos_in += len(children)
    nos_out += len(parents)
    
#resposta à pergunta "quantos nós são descendentes? quantos são ascendentes?"
print("Nós ascendentes: ", asc)
print("Nós descendentes: ", des)
# resposta à pergunta "qual é o número médio de arestas "in"? e "out"?"
d080b400   Francisco Coelho   Paper draft: Exte...
35
36
nos_in = nos_in/len(nos)
nos_out = nos_out/len(nos)
e43d9d3b   Francisco Coelho   AMartins | Tarefa...
37
38
print("Número médio de arestas in: ", nos_in)
print("Número médio de arestas out: ", nos_out)