In [29]:
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
In [40]:
edges = set([(1,2),(2,1),(2,3), (2,4), (2,5), (4,5), (4,6), (5,6), (4,7)])
In [51]:
# nodes = set()
for x,y in edges:
nodes.add(x)
nodes.add(y)
print(nodes)
def get_vecinos(nodo):
vecinos = set()
for s,t in edges:
if s == nodo:
vecinos.add(t)
if t == nodo:
vecinos.add(s)
return vecinos
def get_l_k_node(nodo):
vecinos_nodo = get_vecinos(nodo)
k = len(vecinos_nodo)
l = 0
for s in vecinos_nodo:
for t in vecinos_nodo:
if (s,t) in edges:
l += 1
return l,k
def get_clustering_coefficient(nodo):
l,k = get_l_k_node(nodo)
combinatoria = k*(k-1)
if combinatoria != 0:
c_nodo = (2*l)/(k*(k-1))
else:
c_nodo = 0
return c_nodo
print("CALCULO DEL COEFICIENTE DE CLUSTERING SIN LA LIBRERIA:")
print(" ")
for x in nodes:
clustering_coefficient_x = get_clustering_coefficient(x)
print("Coeficiente de clustering de ", x, ":", clustering_coefficient_x)
print(" ")
print("CALCULO DEL COEFICIENTE DE CLUSTERING CON LA LIBRERIA NETWORKX:")
print(" ")
G=nx.Graph()
G.add_edges_from(edges)
print(nx.clustering(G))
nx.draw_networkx(G)
(a, b) = 0.3 (a, c) = 1.0 (a, d) = 0.9 (a, e) = 1.0 (a, f) = 0.4 (c, f) = 0.2 (b, h) = 0.2 (f, j) = 0.8 (f, g) = 0.9 (j, g) = 0.6 (g, k) = 0.4 (g, h) = 0.2 (k, h) = 1.0
In [ ]:
Imprima la matriz de adyasencia
In [ ]:
Con la misma red anterior asuma que un link debil es inferior a 0.5, cree un código que calcule si se cumple la propiedad "strong triadic closure"
In [ ]:
Cambie un peso de los links anteriores para que se deje de cumplir la propiedad y calcule si es cierto. Explique.
In [ ]:
Escriba un código que detecte puntes locales y que calcule el span de cada puente local
In [ ]:
In [ ]:
Grafique la distribución del promedio de grados en cada una de las redes generadas del ejercicio anterior
In [ ]:
Haga lo mismo para redes con 100 nodos
In [ ]:
In [ ]:
In [ ]:
Grafique cuál es el porcentaje de nodos del componente más grande para diferentes valores de p
In [ ]:
Identifique para que valores de p el componente mas grande esta totalmente interconectado
In [ ]: