Evolving Event-driven Programs with SignalGP

04/15/2018
by   Alexander Lalejini, et al.
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

research
12/16/2020

Tag-based Genetic Regulation for Genetic Programming

We introduce and experimentally demonstrate tag-based genetic regulation...
research
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...
research
10/28/2019

Precise Dataflow Analysis of Event-Driven Applications

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

The process of purely event-driven programs

Using process algebra, this paper describes the formalisation of the pro...
research
06/08/2023

Solving Novel Program Synthesis Problems with Genetic Programming using Parametric Polymorphism

Contemporary genetic programming (GP) systems for general program synthe...
research
03/27/2018

Harmonizing Signals and Events with a Lightweight Extension to Java

The current demands for seamless connections with the surrounding enviro...
research
05/24/2019

Verifying Asynchronous Event-Driven Programs Using Partial Abstract Transformers (Extended Manuscript)

We address the problem of analyzing asynchronous event-driven programs, ...

Please sign up or login with your details

Forgot password? Click here to reset