Options
Performance Optimization of Evolutionary Algorithms Using Unity's Parallel Job System
Author(s)
Ismagilov, Marat
Advisor(s)
Malliarakis, Christos
Abstract
This research explores the optimization of Evolutionary Algorithms (EAs) using Unity Job System, a framework enabling task parallelization across multiple CPU threads. EAs, widely applied in optimization and artificial intelligence, often face performance bottlenecks due to their computational intensity, especially in real-time or resource-constrained environments such as game development. By leveraging Unity's parallelization capabilities, the study aims to enhance the performance of EAs while addressing their computational challenges.
A custom Unity application was developed to compare the performance of EA components - including fitness functions, selection, crossover, and mutation - under single-threaded and multi-threaded implementations. Tests were conducted on functions with varying computational complexities, including Big-O synthetic functions and benchmark functions such as Rastrigin and Rosenbrock. Additional evaluations included the Traveling Salesman Problem and the efficiency of core EA operations.
The results demonstrate the potential for significant performance improvements when using Unity's Parallel Job System, particularly for tasks involving extensive data processing. However, limitations such as platform constraints, data preparation overhead, and restricted debugging capabilities are noted. This study provides practical insights for developers and researchers aiming to integrate parallel computing into real-time applications and highlights the potential of Unity as a versatile platform for advancing artificial intelligence in game development.
A custom Unity application was developed to compare the performance of EA components - including fitness functions, selection, crossover, and mutation - under single-threaded and multi-threaded implementations. Tests were conducted on functions with varying computational complexities, including Big-O synthetic functions and benchmark functions such as Rastrigin and Rosenbrock. Additional evaluations included the Traveling Salesman Problem and the efficiency of core EA operations.
The results demonstrate the potential for significant performance improvements when using Unity's Parallel Job System, particularly for tasks involving extensive data processing. However, limitations such as platform constraints, data preparation overhead, and restricted debugging capabilities are noted. This study provides practical insights for developers and researchers aiming to integrate parallel computing into real-time applications and highlights the potential of Unity as a versatile platform for advancing artificial intelligence in game development.
Date Issued
2025-03-05
School
Publisher
School of Sciences : Department of Computer Science : Master in Artificial Intelligence
File(s)
No Thumbnail Available
Name
S2024_Marat Ismagilov_MasterThesis.pdf
Type
main article
Size
4 MB
Format
Checksum