我需要创建一个有600个神经元的网络模型。每个神经元可以接受4个输入连接。神经元的输入来自M个(待计算)纤维,每个纤维最多可以给出53个输出连接到神经元。神经元获得的每个连接必须来自不同的纤维(不能有两个纤维连接到同一个神经元)。每个神经元必须获得4个输入,并且应该看到,没有两个神经元从所有4个相同的fibers.The连接,所使用的纤维数量必须尽可能少。
附言:我认为我可以构造一个600xM的二进制矩阵,使得每行的和是4,每列的和最大是53。你如何在Matlab或任何其他方式中做到这一点。谢谢。
发布于 2014-05-30 15:04:08
这里有一种构造二进制矩阵(600 X m)非零行的简单方法,它的和恰好是4,并且每列的和将是53 (如果我没理解错的话,或者更低),直到有更多的行需要填充,使得它们的和是4:
m=12;
A=zeros(600,m);
cind=randperm(size(A,1));
for n=1:numel(cind)
ind=find(sum(A)<53);
try
A(cind(n),ind(randperm(numel(ind),4)))=1;
catch err
end
end
https://stackoverflow.com/questions/23947759
复制相似问题