203:
have the potential to adapt to changing conditions and learn new behaviors as they carry out their tasks. The online evolutionary process is implemented according to a physically distributed island model. Each robot optimizes an internal population of candidate solutions (intra-island variation), and two or more robots exchange candidate solutions when they meet (inter-island migration). In this way, each robot is potentially self-sufficient and the evolutionary process capitalizes on the exchange of controllers between multiple robots for faster synthesis of effective controllers.
103:
genes by the use of a global innovation number which increases as new genes are added. When adding a new gene the global innovation number is incremented and assigned to that gene. Thus the higher the number the more recently the gene was added. For a particular generation if an identical mutation occurs in more than one genome they are both given the same number, beyond that however the mutation number will remain unchanged indefinitely.
50:. It alters both the weighting parameters and structures of networks, attempting to find a balance between the fitness of evolved solutions and their diversity. It is based on applying three key techniques: tracking genes with history markers to allow crossover among topologies, applying speciation (the evolution of species) to preserve innovations, and developing topologies incrementally from simple initial structures ("complexifying").
140:
population. When a network's timer expires, its current fitness measure is examined to see whether it falls near the bottom of the population, and if so, it is discarded and replaced by a new network bred from two high-fitness parents. A timer is set for the new network and it is placed in the population to participate in the ongoing evaluations.
202:
odNEAT is an online and decentralized version of NEAT designed for multi-robot systems. odNEAT is executed onboard robots themselves during task execution to continuously optimize the parameters and the topology of the artificial neural network-based controllers. In this way, robots executing odNEAT
70:
Traditionally, a neural network topology is chosen by a human experimenter, and effective connection weight values are learned through a training procedure. This yields a situation whereby a trial and error process may be necessary in order to determine an appropriate topology. NEAT is an example of
143:
The first application of rtNEAT is a video game called Neuro-Evolving
Robotic Operatives, or NERO. In the first phase of the game, individual players deploy robots in a 'sandbox' and train them to some desired tactical doctrine. Once a collection of robots has been trained, a second phase of play
102:
and is represented by , if this genome is crossed with an identical genome (in terms of functionality) but ordered crossover will yield children that are missing information ( or ), in fact 1/3 of the information has been lost in this example. NEAT solves this problem by tracking the history of
82:-like feed-forward network of only input neurons and output neurons. As evolution progresses through discrete steps, the complexity of the network's topology may grow, either by inserting a new neuron into a connection path, or by creating a new connection between (formerly unconnected) neurons.
139:
In 2003, Stanley devised an extension to NEAT that allows evolution to occur in real time rather than through the iteration of generations as used by most genetic algorithms. The basic idea is to put the population under constant evaluation with a "lifetime" timer on each individual in the
74:
In order to encode the network into a phenotype for the GA, NEAT uses a direct encoding scheme which means every connection and neuron is explicitly represented. This is in contrast to indirect encoding schemes which define rules that allow the network to be constructed without explicitly
152:
An extension of Ken
Stanley's NEAT, developed by Colin Green, adds periodic pruning of the network topologies of candidate solutions during the evolution process. This addition addressed concern that unbounded automated growth would generate unnecessary structure.
253:
Erin J. Hastings, Ratan K. Guha, and
Kenneth O. Stanley (2009). "Automatic Content Generation in the Galactic Arms Race Video Game ". IEEE Transactions on Computational Intelligence and AI in Games, volume 4, number 1, pages 245-263, New York: IEEE Press,
243:
Matthew E. Taylor, Shimon
Whiteson, and Peter Stone (2006). "Comparing Evolutionary and Temporal Difference Methods in a Reinforcement Learning Domain". GECCO 2006: Proceedings of the Genetic and Evolutionary Computation
186:, a space-shooter game in which unique particle system weapons are evolved based on player usage statistics. Each particle system weapon in the game is controlled by an evolved
264:
Silva, Fernando; Urbano, Paulo; Correia, Luís; Christensen, Anders Lyhne (2015-09-15). "odNEAT: An
Algorithm for Decentralised Online Evolution of Robotic Controllers".
71:
a topology and weight evolving artificial neural network (TWEANN) which attempts to simultaneously learn weight values and an appropriate topology for a neural network.
144:
allows players to pit their robots in a battle against robots trained by some other player, to see how well their training regimens prepared their robots for battle.
212:
90:
The competing conventions problem arises when there is more than one way of representing information in a phenotype. For example, if a genome contains neurons
58:
On simple control tasks, the NEAT algorithm often arrives at effective networks more quickly than other contemporary neuro-evolutionary techniques and
234:
Kenneth O. Stanley and Risto
Miikkulainen (2002). "Evolving Neural Networks Through Augmenting Topologies". Evolutionary Computation 10 (2): 99-127
182:
Content-Generating NEAT (cgNEAT) evolves custom video game content based on user preferences. The first video game to implement cgNEAT is
791:
126:
interpreter. This implementation of NEAT is considered the conventional basic starting point for implementations of the NEAT algorithm.
769:
801:
667:
658:
47:
796:
481:
631:
571:
748:- A 3D version of Picbreeder, where you interactively evolve 3D objects that are encoded with CPPNs and evolved with NEAT.
677:
640:
618:
605:
596:
123:
711:
806:
649:
627:
562:
453:
Proceedings of the
Artificial Intelligence and Interactive Digital Entertainment Conference (AIIDE 2005) Demo Papers
115:
695:
31:
580:
489:
IAAI 2007: Proceedings of the
Nineteenth Annual Innovative Applications of Artificial Intelligence Conference
445:
775:
338:
59:
751:
772:- A visual tutorial series on NEAT, including solving the classic pole balancing problem using NEAT in R
423:
502:
343:
492:
379:
364:
299:
183:
43:
444:
Kenneth O. Stanley; Ryan
Cornelius; Risto Miikkulainen; Thomas D’Silva & Aliza Gold (2005).
764:
356:
291:
27:
397:
348:
323:
281:
273:
106:
These innovation numbers allow NEAT to match up genes which can be crossed with each other.
464:"Comparing Evolutionary and Temporal Difference Methods in a Reinforcement Learning Domain"
715:
584:
436:
39:
463:
506:
510:
191:
35:
785:
416:"Phased Searching with NEAT: Alternating Between Complexification And Simplification"
415:
303:
75:
representing every connection and neuron, allowing for more compact representation.
537:
368:
550:
529:
601:
170:
is specialized to evolve large scale structures. It was originally based on the
387:
Proceedings of the
Genetic and Evolutionary Computation Conference (GECCO-2002)
352:
756:
682:
471:
GECCO 2006: Proceedings of the Genetic and Evolutionary Computation Conference
79:
380:"Efficient Reinforcement Learning Through Evolving Neural Network Topologies"
707:
614:
405:
Proceedings of the 2003 IEEE Congress on Evolutionary Computation (CEC-2003)
167:
162:
119:
663:
360:
295:
546:
277:
654:
482:"Stochastic Optimization for Collision Selection in High Energy Physics"
760:
497:
286:
588:
533:
398:"Evolving Adaptive Neural Networks with and without Adaptive Synapses"
673:
576:
396:
Kenneth O. Stanley; Bobby D. Bryant & Risto Miikkulainen (2003).
691:
567:
686:
592:
541:
623:
114:
The original implementation by Ken Stanley is published under the
742:- Online, collaborative art generated by CPPNs evolved with NEAT.
554:
187:
171:
776:"Artificial intelligence learns Mario level in just 34 attempts
763:
video demonstrating an implementation of NEAT learning to play
636:
558:
462:
Matthew E. Taylor; Shimon Whiteson & Peter Stone (2006).
745:
733:
721:
739:
610:
324:"Evolving Neural Networks Through Augmenting Topologies"
727:
16:
Genetic algorithm for making artificial neural networks
645:
378:
Kenneth O. Stanley & Risto Miikkulainen (2002).
322:
Kenneth O. Stanley & Risto Miikkulainen (2002).
722:"Evolutionary Complexity Research Group at UCF"
480:Shimon Whiteson & Daniel Whiteson (2007).
190:, similarly to the evolution technique in the
230:
228:
213:Evolutionary acquisition of neural topologies
8:
446:"Real-Time Learning in the NERO Video Game"
174:theory and is an active field of research.
757:MarI/O - Machine Learning for Video Games
496:
342:
285:
728:NERO: Neuro-Evolving Robotic Operatives
224:
20:NeuroEvolution of Augmenting Topologies
724:- Ken Stanley's current research group
432:
421:
7:
752:BEACON Blog: What is neuroevolution?
30:(GA) for the generation of evolving
736:- an example application of cgNEAT
730:- an example application of rtNEAT
613:(not an exact implementation) and
14:
778:NEAT explained via MarI/O program
48:The University of Texas at Austin
587: (archived 2021-05-15)) and
78:The NEAT approach begins with a
1:
670:(not an exact implementation)
718: (archived 2023-12-05))
823:
792:Artificial neural networks
353:10.1162/106365602320169811
160:
32:artificial neural networks
696:Go (programming language)
194:interactive art program.
802:Evolutionary computation
331:Evolutionary Computation
266:Evolutionary Computation
38:technique) developed by
797:Evolutionary algorithms
734:GAR: Galactic Arms Race
431:Cite journal requires
60:reinforcement learning
118:. It integrates with
86:Competing conventions
414:Colin Green (2004).
278:10.1162/evco_a_00141
507:2006hep.ex....7012W
807:Genetic algorithms
746:"EndlessForms.com"
184:Galactic Arms Race
44:Risto Miikkulainen
765:Super Mario World
46:in 2002 while at
28:genetic algorithm
814:
770:"GekkoQuant.com"
740:"PicBreeder.org"
517:
515:
509:. Archived from
500:
486:
474:
468:
456:
450:
440:
434:
429:
427:
419:
408:
402:
390:
384:
372:
346:
328:
308:
307:
289:
261:
255:
251:
245:
241:
235:
232:
822:
821:
817:
816:
815:
813:
812:
811:
782:
781:
716:Wayback Machine
704:
585:Wayback Machine
525:
523:Implementations
520:
513:
484:
479:
466:
461:
448:
443:
430:
420:
413:
400:
395:
382:
377:
344:10.1.1.638.3910
326:
321:
317:
312:
311:
263:
262:
258:
252:
248:
242:
238:
233:
226:
221:
209:
200:
180:
165:
159:
150:
137:
132:
112:
88:
68:
56:
40:Kenneth Stanley
17:
12:
11:
5:
820:
818:
810:
809:
804:
799:
794:
784:
783:
780:
779:
773:
767:
754:
749:
743:
737:
731:
725:
719:
703:
702:External links
700:
699:
698:
689:
680:
671:
661:
652:
643:
634:
621:
608:
599:
574:
565:
544:
524:
521:
519:
518:
516:on 2015-10-28.
498:hep-ex/0607012
476:
475:
458:
457:
441:
433:|journal=
410:
409:
392:
391:
374:
373:
318:
316:
313:
310:
309:
272:(3): 421–449.
256:
246:
236:
223:
222:
220:
217:
216:
215:
208:
205:
199:
196:
192:NEAT Particles
179:
176:
161:Main article:
158:
155:
149:
148:Phased pruning
146:
136:
133:
131:
128:
111:
110:Implementation
108:
87:
84:
67:
64:
55:
52:
36:neuroevolution
15:
13:
10:
9:
6:
4:
3:
2:
819:
808:
805:
803:
800:
798:
795:
793:
790:
789:
787:
777:
774:
771:
768:
766:
762:
758:
755:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
713:
712:NEAT Homepage
709:
708:NEAT Homepage
706:
705:
701:
697:
693:
690:
688:
684:
681:
679:
675:
672:
669:
665:
662:
660:
656:
653:
651:
647:
644:
642:
638:
635:
633:
629:
625:
622:
620:
616:
612:
609:
607:
603:
600:
598:
594:
590:
586:
582:
578:
575:
573:
569:
566:
564:
560:
556:
552:
548:
545:
543:
539:
535:
531:
527:
526:
522:
512:
508:
504:
499:
494:
490:
483:
478:
477:
472:
465:
460:
459:
454:
447:
442:
438:
425:
417:
412:
411:
406:
399:
394:
393:
388:
381:
376:
375:
370:
366:
362:
358:
354:
350:
345:
340:
337:(2): 99–127.
336:
332:
325:
320:
319:
314:
305:
301:
297:
293:
288:
283:
279:
275:
271:
267:
260:
257:
250:
247:
240:
237:
231:
229:
225:
218:
214:
211:
210:
206:
204:
197:
195:
193:
189:
185:
177:
175:
173:
169:
164:
156:
154:
147:
145:
141:
134:
129:
127:
125:
121:
117:
109:
107:
104:
101:
97:
93:
85:
83:
81:
76:
72:
65:
63:
61:
53:
51:
49:
45:
41:
37:
33:
29:
25:
21:
683:EvolutionNet
511:the original
488:
470:
452:
424:cite journal
404:
386:
334:
330:
315:Bibliography
269:
265:
259:
249:
239:
201:
181:
166:
151:
142:
138:
113:
105:
99:
95:
91:
89:
77:
73:
69:
57:
23:
19:
18:
615:neat-python
602:neat-python
287:10071/10504
244:Conference.
54:Performance
786:Categories
668:Javascript
659:Javascript
528:Stanley's
219:References
130:Extensions
80:perceptron
664:Neataptic
611:NeuralFit
581:MultiNEAT
577:MultiNEAT
568:SharpNEAT
339:CiteSeerX
168:HyperNEAT
163:HyperNEAT
157:HyperNEAT
66:Algorithm
62:methods.
646:RubyNEAT
530:original
361:12180173
304:20815070
296:25478664
207:See also
122:, a GNU
761:YouTube
714:at the
674:Neat-Ex
583:at the
555:NEAT 4J
503:Bibcode
26:) is a
692:goNEAT
678:Elixir
655:neatjs
641:Python
619:Python
606:Python
597:Python
589:mtNEAT
538:rtNEAT
534:mtNEAT
369:498161
367:
359:
341:
302:
294:
198:odNEAT
178:cgNEAT
135:rtNEAT
124:scheme
624:Encog
551:JNEAT
514:(PDF)
493:arXiv
485:(PDF)
467:(PDF)
449:(PDF)
401:(PDF)
383:(PDF)
365:S2CID
327:(PDF)
300:S2CID
254:2009.
120:Guile
759:, a
694:for
685:for
676:for
666:for
657:for
650:Ruby
648:for
639:for
637:peas
630:and
628:Java
626:for
617:for
604:for
595:and
591:for
570:for
563:Java
561:for
559:ANJI
540:for
536:and
437:help
357:PMID
292:PMID
188:CPPN
172:CPPN
98:and
42:and
24:NEAT
687:C++
593:C++
547:ECJ
542:C++
349:doi
282:hdl
274:doi
116:GPL
34:(a
788::
632:C#
572:C#
557:,
553:,
549:,
532:,
501:.
491:.
487:.
469:.
451:.
428::
426:}}
422:{{
403:.
385:.
363:.
355:.
347:.
335:10
333:.
329:.
298:.
290:.
280:.
270:23
268:.
227:^
94:,
710:(
579:(
505::
495::
473:.
455:.
439:)
435:(
418:.
407:.
389:.
371:.
351::
306:.
284::
276::
100:C
96:B
92:A
22:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.