Accelerated cooperative co-evolution on multi-core architectures

dc.contributor.advisorKuttel, Michelle
dc.contributor.advisorNitschke, Geoff Stuart
dc.contributor.authorMoyo, Edmore
dc.date.accessioned2019-05-10T10:51:51Z
dc.date.available2019-05-10T10:51:51Z
dc.date.issued2018
dc.date.updated2019-05-10T08:43:02Z
dc.description.abstractThe Cooperative Co-Evolution (CC) model has been used in Evolutionary Computation (EC) to optimize the training of artificial neural networks (ANNs). This architecture has proven to be a useful extension to domains such as Neuro-Evolution (NE), which is the training of ANNs using concepts of natural evolution. However, there is a need for real-time systems and the ability to solve more complex tasks which has prompted a further need to optimize these CC methods. CC methods consist of a number of phases, however the evaluation phase is still the most compute intensive phase, for some complex tasks taking as long as weeks to complete. This study uses NE as a test case study and we design a parallel CC processing framework and implement the optimized serial and parallel versions using the Go programming language. Go is a multi-core programming language with first-class constructs, channels and goroutines, that make it well suited to parallel programming. Our study focuses on Enforced Subpopulations (ESP) for single-agent systems and Multi-Agent ESP for multi-agent systems. We evaluate the parallel versions in the benchmark tasks; double pole balancing and prey-capture, for single and multi-agent systems respectively, in tasks of increasing complexity. We observe a maximum speed-up of 20x for the parallel Multi-Agent ESP implementation over our single core optimized version in the prey-capture task and a maximum speedup of 16x for ESP in the harder version of double pole balancing task. We also observe linear speed-ups for the difficult versions of the tasks for a certain range of cores, indicating that the Go implementations are efficient and that the parallel speed-ups are better for more complex tasks. We find that in complex tasks, the Cooperative Co-Evolution Neuro-Evolution (CCNE) methods are amenable to multi-core acceleration, which provides a basis for the study of even more complex CC methods in a wider range of domains.
dc.identifier.apacitationMoyo, E. (2018). <i>Accelerated cooperative co-evolution on multi-core architectures</i>. (). ,Faculty of Science ,Department of Computer Science. Retrieved from http://hdl.handle.net/11427/29999en_ZA
dc.identifier.chicagocitationMoyo, Edmore. <i>"Accelerated cooperative co-evolution on multi-core architectures."</i> ., ,Faculty of Science ,Department of Computer Science, 2018. http://hdl.handle.net/11427/29999en_ZA
dc.identifier.citationMoyo, E. 2018. Accelerated cooperative co-evolution on multi-core architectures. . ,Faculty of Science ,Department of Computer Science. http://hdl.handle.net/11427/29999en_ZA
dc.identifier.ris TY - Thesis / Dissertation AU - Moyo, Edmore AB - The Cooperative Co-Evolution (CC) model has been used in Evolutionary Computation (EC) to optimize the training of artificial neural networks (ANNs). This architecture has proven to be a useful extension to domains such as Neuro-Evolution (NE), which is the training of ANNs using concepts of natural evolution. However, there is a need for real-time systems and the ability to solve more complex tasks which has prompted a further need to optimize these CC methods. CC methods consist of a number of phases, however the evaluation phase is still the most compute intensive phase, for some complex tasks taking as long as weeks to complete. This study uses NE as a test case study and we design a parallel CC processing framework and implement the optimized serial and parallel versions using the Go programming language. Go is a multi-core programming language with first-class constructs, channels and goroutines, that make it well suited to parallel programming. Our study focuses on Enforced Subpopulations (ESP) for single-agent systems and Multi-Agent ESP for multi-agent systems. We evaluate the parallel versions in the benchmark tasks; double pole balancing and prey-capture, for single and multi-agent systems respectively, in tasks of increasing complexity. We observe a maximum speed-up of 20x for the parallel Multi-Agent ESP implementation over our single core optimized version in the prey-capture task and a maximum speedup of 16x for ESP in the harder version of double pole balancing task. We also observe linear speed-ups for the difficult versions of the tasks for a certain range of cores, indicating that the Go implementations are efficient and that the parallel speed-ups are better for more complex tasks. We find that in complex tasks, the Cooperative Co-Evolution Neuro-Evolution (CCNE) methods are amenable to multi-core acceleration, which provides a basis for the study of even more complex CC methods in a wider range of domains. DA - 2018 DB - OpenUCT DP - University of Cape Town LK - https://open.uct.ac.za PY - 2018 T1 - Accelerated cooperative co-evolution on multi-core architectures TI - Accelerated cooperative co-evolution on multi-core architectures UR - http://hdl.handle.net/11427/29999 ER - en_ZA
dc.identifier.urihttp://hdl.handle.net/11427/29999
dc.identifier.vancouvercitationMoyo E. Accelerated cooperative co-evolution on multi-core architectures. []. ,Faculty of Science ,Department of Computer Science, 2018 [cited yyyy month dd]. Available from: http://hdl.handle.net/11427/29999en_ZA
dc.language.rfc3066eng
dc.publisher.departmentDepartment of Computer Science
dc.publisher.facultyFaculty of Science
dc.titleAccelerated cooperative co-evolution on multi-core architectures
dc.typeMaster Thesis
dc.type.qualificationlevelMasters
dc.type.qualificationnameMSc
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
thesis_sci_2018_moyo_edmore.pdf
Size:
2.23 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
0 B
Format:
Item-specific license agreed upon to submission
Description:
Collections