Full Text Available

Note: Clicking the button above will open the full text document at the original institutional repository in a new window.

Accelerated cooperative co-evolution on multi-core architectures

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...

Full description

Saved in:
Bibliographic Details
Main Author: Moyo, Edmore
Other Authors: Kuttel, Michelle
Format: Thesis
Language:English
Published: Department of Computer Science 2019
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1867613310375952384
access_status_str Open Access
author Moyo, Edmore
author2 Kuttel, Michelle
author_browse Kuttel, Michelle
Moyo, Edmore
author_facet Kuttel, Michelle
Moyo, Edmore
author_sort Moyo, Edmore
collection Thesis
description 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.
format Thesis
id oai:open.uct.ac.za:11427/29999
institution University of Cape Town (South Africa)
language eng
last_indexed 2026-06-10T12:34:06.076Z
license_str Not specified — see source repository
provenance_str_mv Harvested via OAI-PMH from UCTD — University of Cape Town Open Access Repository
publishDate 2019
publishDateRange 2019
publishDateSort 2019
publisher Department of Computer Science
publisherStr Department of Computer Science
record_format dspace
source_str UCTD — University of Cape Town Open Access Repository
spelling oai:open.uct.ac.za:11427/29999 Accelerated cooperative co-evolution on multi-core architectures Moyo, Edmore Kuttel, Michelle Nitschke, Geoff Stuart 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. 2019-05-10T10:51:51Z 2019-05-10T10:51:51Z 2018 2019-05-10T08:43:02Z Master Thesis Masters MSc http://hdl.handle.net/11427/29999 eng application/pdf Department of Computer Science Faculty of Science
spellingShingle Moyo, Edmore
Accelerated cooperative co-evolution on multi-core architectures
thesis_degree_str Master's
title Accelerated cooperative co-evolution on multi-core architectures
title_full Accelerated cooperative co-evolution on multi-core architectures
title_fullStr Accelerated cooperative co-evolution on multi-core architectures
title_full_unstemmed Accelerated cooperative co-evolution on multi-core architectures
title_short Accelerated cooperative co-evolution on multi-core architectures
title_sort accelerated cooperative co evolution on multi core architectures
url http://hdl.handle.net/11427/29999
work_keys_str_mv AT moyoedmore acceleratedcooperativecoevolutiononmulticorearchitectures