DeepAI AI Chat
Log In Sign Up

Evolving Event-driven Programs with SignalGP

04/15/2018
by   Alexander Lalejini, et al.
Michigan State University
0

We present SignalGP, a new genetic programming (GP) technique designed to incorporate the event-driven programming paradigm into computational evolution's toolbox. Event-driven programming is a software design philosophy that simplifies the development of reactive programs by automatically triggering program modules (event-handlers) in response to external events, such as signals from the environment or messages from other programs. SignalGP incorporates these concepts by extending existing tag-based referencing techniques into an event-driven context. Both events and functions are labeled with evolvable tags; when an event occurs, the function with the closest matching tag is triggered. In this work, we apply SignalGP in the context of linear GP. We demonstrate the value of the event-driven paradigm using two distinct test problems (an environment coordination problem and a distributed leader election problem) by comparing SignalGP to variants that are otherwise identical, but must actively use sensors to process events or messages. In each of these problems, rapid interaction with the environment or other agents is critical for maximizing fitness. We also discuss ways in which SignalGP can be generalized beyond our linear GP implementation.

READ FULL TEXT

page 3

page 7

12/16/2020

Tag-based Genetic Regulation for Genetic Programming

We introduce and experimentally demonstrate tag-based genetic regulation...
08/01/2021

SignalGP-Lite: Event Driven Genetic Programming Library for Large-Scale Artificial Life Applications

Event-driven genetic programming representations have been shown to outp...
10/28/2019

Precise Dataflow Analysis of Event-Driven Applications

Event-driven programming is widely used for implementing user interfaces...
03/29/2018

The process of purely event-driven programs

Using process algebra, this paper describes the formalisation of the pro...
03/27/2018

Harmonizing Signals and Events with a Lightweight Extension to Java

The current demands for seamless connections with the surrounding enviro...
08/07/2020

Generating Distributed Programs from Event-B Models

Distributed algorithms offer challenges in checking that they meet their...
08/02/2018

Regulating Access to System Sensors in Cooperating Programs

Modern operating systems such as Android, iOS, Windows Phone, and Chrome...