/// <summary> /// Overridden.Constructs network topology. /// </summary> protected override void CreateNetwork() { nodes = new NeuroNode[NodesCount]; linksCount = NodesCount * rowsCount * columsCount; kohonenLayer = new NeuroNode[rowsCount, columsCount]; links = new NeuroLink[LinksCount]; for (var i = 0; i < NodesCount; i++) { nodes[i] = new InputNode(); } var curr = 0; for (var row = 0; row < rowsCount; row++) { for (var col = 0; col < columsCount; col++) { kohonenLayer[row, col] = new SelfOrganizingNode(learningRate); for (var i = 0; i < NodesCount; i++) { links[curr] = new SelfOrganizingLink(); nodes[i].LinkTo(kohonenLayer[row, col], links[curr]); curr++; } } } }
/// <summary> /// Overridden.Constructs network topology. /// </summary> protected override void CreateNetwork() { nodes = new NeuroNode[NodesCount]; linksCount = NodesCount*rowsCount*columsCount; kohonenLayer = new NeuroNode[rowsCount, columsCount]; links = new NeuroLink[LinksCount]; for (var i = 0; i < NodesCount; i++) nodes[i] = new InputNode(); var curr = 0; for (var row = 0; row < rowsCount; row++) for (var col = 0; col < columsCount; col++) { kohonenLayer[row, col] = new SelfOrganizingNode(learningRate); for (var i = 0; i < NodesCount; i++) { links[curr] = new SelfOrganizingLink(); nodes[i].LinkTo(kohonenLayer[row, col], links[curr]); curr++; } } }