genetic.go 651 B

123456789101112131415161718192021222324252627282930313233
  1. package genetic
  2. import (
  3. "log"
  4. neuralnetwork "../neuralnetwork"
  5. )
  6. type Population struct {
  7. Networks []*neuralnetwork.NeuralNetwork
  8. verifier PopulationVerifier
  9. }
  10. func NewPopulation(verifier PopulationVerifier, populationSize int, sizes []int) (p *Population) {
  11. p = &Population{
  12. verifier: verifier,
  13. Networks: make([]*neuralnetwork.NeuralNetwork, populationSize),
  14. }
  15. for i := 0; i < populationSize; i++ {
  16. var err error
  17. p.Networks[i], err = neuralnetwork.NewNeuralNetwork(sizes, nil)
  18. if err != nil {
  19. log.Fatal("Could not initialize NeuralNetwork")
  20. }
  21. }
  22. return
  23. }
  24. func (p *Population) NaturalSelection(generationCount int) {
  25. }