Proposal of Embedded Standalone and Distributed Genetic Algorithms for Low-Power, Low-Cost and Low-Size-Memory Devices
Genetic algorithms, microcontrollers, 8-bit, embedded systems, distributed systems.
This work proposes implementations of genetic algorithms targeting low-power, low-cost, and low-size-memory devices in two variants: a standalone version, to be used in one single device, and a distributed version, to be used in multiple devices simultaneously. The motivation is to adapt and optimize this important artificial intelligence (AI) technique so that it can be used in numerous applications where traditionally it was not feasible to be utilized, such as in microcontrollers. An investigation about how to optimize each separated segment of the algorithm is done and extensive details about both implementations are provided, including their source codes. Moreover, various experiments and simulations for multiple scenarios were done to validate their correct operation using Hardware-In-Loop technique, as well as to find out limitations for the algorithm parameters. The standalone implementation is compared to other work in the literature and it performs faster and using fewer resources. For the distributed version, an important analysis was done to verify that it can be faster than the standalone version but also more power-efficient when reducing the clock speed and voltage of those devices. Finally, this investigation could determine what is the threshold from where the distributed version, even with a high overhead due communication between the devices, become either faster or more power-efficient than the standalone one.