public override Network create() { //まずは完全グラフ生成器を準備 var cng = new CompleteNetworkGenerator(m0); cng.NodeCreate = this.NodeCreate; //完全グラフを生成 var net = cng.create(); //順次成長させていく NodeNumになるまで while(net.Nodes.Count() < NodeNum) { //既存の全ノードを準備 var candidateNodes = net.Nodes.ToList(); //新しいノードを追加 var newNode = NodeCreate(); net.AddNode(newNode); //k個を選ぶ for (int i = 0; i < k; i++) { //既存ノードの中から選ぶ var selectedNode = RuletSelect(candidateNodes); candidateNodes.Remove(selectedNode); net.ConnectNodes(selectedNode,newNode); } } return net; }
public override Network create() { //まずは完全グラフ生成器を準備 var cng = new CompleteNetworkGenerator(m0); cng.NodeCreate = this.NodeCreate; //完全グラフを生成 var net = cng.create(); //順次成長させていく NodeNumになるまで while (net.Nodes.Count() < NodeNum) { //既存の全ノードを準備 var candidateNodes = net.Nodes.ToList(); //新しいノードを追加 var newNode = NodeCreate(); net.AddNode(newNode); //k個を選ぶ for (int i = 0; i < k; i++) { //既存ノードの中から選ぶ var selectedNode = RuletSelect(candidateNodes); candidateNodes.Remove(selectedNode); net.ConnectNodes(selectedNode, newNode); } } return(net); }