Skip to content

vitalegi/neat-impl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

Implementazione dell'algoritmo NEAT (Evolving Neural Networks through Augmenting Topologies, Kenneth O. Stanley, Risto Miikkulainen).

Definizione prossima generazione

Dato:

  • popolazione di N elementi
  • M specie

La successiva generazione sarà generata:

  • ordinando le M specie in base al miglior score
  • elimino le specie anziane che non hanno avuto un miglioramento dello score migliore di almeno X %
  • per ogni specie anziana, elimino gli ultimi I geni
  • per ogni specie con almeno 5 membri, copio i campioni nella prossima generazione, altrimenti copio il campione mutato
  • fino ad arrivare a N elementi nella nuova specie:
    • seleziono in modo random un gene dal pool, con probabilità basata su f'
    • lo copio, quindi:
      • con probabilità p1, applico mutazioni (aggiunta nodi, aggiunta connessioni, disabilitazione connessioni)
      • con probabilità p2, applico mutazioni (variazione pesi)
      • con probabilità p3, offspring: seleziono in modo random un gene dal pool, con probabilità basata su f', differente da quello appena selezionato

Installazione

mvn clean package

Esecuzione

java -jar target\neat-impl-0.0.1.jar

Install to Mvn

mvn install:install-file -Dfile=target\neat-impl-0.0.1.jar -DgroupId=it.vitalegi -DartifactId=neat-impl -Dversion=0.0.1 -Dpackaging=jar

About

Implementation of NEAT algorithm

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages