我已经用图论的术语提出了这个问题,但是概念化不是必需的。
我要使用Python尝试做的是产生一个零和一的矩阵,其中每一行都具有相同的个数,而每一列都具有相同的个数。当行数(发送节点)不等于列数(接收节点)时,行数将与列数不同-这是我允许的。
在中执行此操作对我来说很有意义numpy,但可能还有其他软件包(如networkx?)会有所帮助。
这是我要用所需的输入和输出编写的函数:
n_pre = 4 # number of nodes available to send a connection
n_post = 4 # number of nodes available to receive a connection
p = 0.5 # proportion of all possible connections that exist
mat = generate_mat(n_pre, n_post, p)
print mat
输出将是,例如:
[[0, 1, 0, 1],
[1, 0, 1, 0],
[1, 1, 0, 0],
[0, 0, 1, 1]]
注意,每一列和每一行都有两个。除此约束外,这些函数的位置应该是随机的(并且此函数的调用之间存在差异)。
用图论的术语来说,这意味着每个节点的入度为2,出度为2(如所指定,占所有可能连接的50%p = 0.5)。
湖上湖
相关分类