func NewNetworkManager(inputs int, outputs int, hiddenLayers []int, population int) NetworkManager {
	randomSource := rand.NewSource(time.Now().UnixNano())
	randomProvider := RandomProvider{randomGenerator: rand.New(randomSource)}

	var manager NetworkManager
	manager.randomProvider = randomProvider
	manager.layers = makeLayers(inputs, outputs, hiddenLayers)

	manager.Networks = make([]Network, population)
	for networkIndex := 0; networkIndex < population; networkIndex++ {
		manager.Networks[networkIndex] = NewNetwork(manager.layers, manager.randomProvider)
	}
	return manager
}
// NewNetworkManager returns NetworkManager configured with population of neural
// networks with neural layer: inputs + hiddenLayers + output
NewNetworkManager returns NetworkManager configured with population of neural
networks with neural layer: inputs + hiddenLayers + output
// NewNetworkManager returns NetworkManager configured with population of neural // networks with neural layer : inputs + hiddenLayers + output
func NewNetworkManager(inputs int, outputs int, hiddenLayers []int, population int) NetworkManager {
	randomSource := rand.NewSource(time.Now().UnixNano())
	randomProvider := RandomProvider{randomGenerator: rand.New(randomSource)}
	var manager NetworkManager
	manager.randomProvider = randomProvider
	manager.layers = makeLayers(inputs, outputs, hiddenLayers)
	manager.Networks = make([]Network, population)
	for networkIndex := 0; networkIndex < population; networkIndex++ {
		manager.Networks[networkIndex] = NewNetwork(manager.layers, manager.randomProvider)
	}
	return manager
}
func NewNetworkManager ( inputs int , outputs int , hiddenLayers [ ] int , population int ) NetworkManager { randomSource := rand . NewSource ( time . Now ( ) . UnixNano ( ) ) randomProvider := RandomProvider { randomGenerator : rand . New ( randomSource ) } var manager NetworkManager manager . randomProvider = randomProvider manager . layers = makeLayers ( inputs , outputs , hiddenLayers ) manager . Networks = make ( [ ] Network , population ) for networkIndex := 0 ; networkIndex < population ; networkIndex ++ { manager . Networks [ networkIndex ] = NewNetwork ( manager . layers , manager . randomProvider ) } return manager }
NewNetworkManager returns NetworkManager configured with population of neural
networks with neural layer: inputs + hiddenLayers + output
NewNetworkManager returns NetworkManager configured with population of neural networks with neural layer : inputs + hiddenLayers + output