We propose a novel, type-consistent representation for programs manipulating arbitrary data types, that we call typed token processing networks (TTPNs). A TTPN is a network of interconnected stateless gates defining typed ports and processing functions: during the execution, data flows through the network as typed tokens carrying values. TTPNs favor interpretability as they can visually reveal the overall structure of a program and also highlight the way data is processed at runtime—enabling decomposability and simulatability, respectively. Moreover, like other graph representations, TTPNs enable component reuse. We evolve programs in the form of TTPNs from examples, i.e., we do program synthesis, with a simple genetic algorithm and ad hoc genetic operators. Our preliminary results show successful evolution of simple programs from small example sets involving diverse types, though some instances fail. We hypothesize that the particularly rugged fitness landscape imposed by our representation and, more in general, by the program synthesis scenario, may hinder convergence. We propose some directions for tackling these issues.

Evolving Typed Token Processing Networks

Sakallioglu, Berfin;Nadizar, Giorgia;Manzoni, Luca;Medvet, Eric
2025-01-01

Abstract

We propose a novel, type-consistent representation for programs manipulating arbitrary data types, that we call typed token processing networks (TTPNs). A TTPN is a network of interconnected stateless gates defining typed ports and processing functions: during the execution, data flows through the network as typed tokens carrying values. TTPNs favor interpretability as they can visually reveal the overall structure of a program and also highlight the way data is processed at runtime—enabling decomposability and simulatability, respectively. Moreover, like other graph representations, TTPNs enable component reuse. We evolve programs in the form of TTPNs from examples, i.e., we do program synthesis, with a simple genetic algorithm and ad hoc genetic operators. Our preliminary results show successful evolution of simple programs from small example sets involving diverse types, though some instances fail. We hypothesize that the particularly rugged fitness landscape imposed by our representation and, more in general, by the program synthesis scenario, may hinder convergence. We propose some directions for tackling these issues.
File in questo prodotto:
Non ci sono file associati a questo prodotto.
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11368/3117668
 Avviso

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact