def random_corpus(self, rnd):
N = self.getN()
if isinstance(N, str):
self.log.warning('Random graph size missing (-n): Using 100 nodes.')
N = 100
if rnd == 'uniform':
data = np.random.randint(0, 2, (N, N))
#np.fill_diagonal(data, 1)
elif rnd.startswith('clique'):
try :
K = int(rnd[len('clique'):])
except ValueError:
K = 42
data = getClique(N, K=K)
#Data = nx.adjacency_matrix(G, np.random.permutation(range(N))).A
elif rnd in ('BA', 'barabasi-albert'):
data = nx.adjacency_matrix(nx.barabasi_albert_graph(N, m=int(0.95*N)) ).A
elif rnd == 'alternate':
#data = np.empty((N,N),int)
data = np.zeros((N,N), int)
type_rd = 2
if type_rd == 1:
# degree alternating with frequency fr
fr = 3
data[:, ::fr] = 1
elif type_rd == 2:
# degree equal
data[:, ::2] = 1
data[::2] = np.roll(data[::2], 1)
return data
else:
raise NotImplementedError()
return data
评论列表
文章目录