Synthesis of Procedural Models for Deterministic Transition Systems

Javier Segovia-Aguas, Jonathan Ferrer-Mestres, Sergio Jiménez
7/25/2023
cs.FLcs.AI

No official code found. Best implementation: jsego/bfgp-pp (5 stars, GPL-3.0, last commit 2024-06-21).

Abstract

This paper introduces a general approach for synthesizing procedural models of the state-transitions of a given discrete system. The approach is general in that it accepts different target languages for modeling the state-transitions of a discrete system; different model acquisition tasks with different target languages, such as the synthesis of STRIPS action models, or the update rule of a cellular automaton, fit as particular instances of our general approach. We follow an inductive approach to synthesis meaning that a set of examples of state-transitions, represented as (pre-state, action, post-state) tuples, are given as input. The goal is to synthesize a structured program that, when executed on a given pre-state, outputs its associated post-state. Our synthesis method implements a combinatorial search in the space of well-structured terminating programs that can be built using a Random-Access Machine (RAM), with a minimalist instruction set, and a finite amount of memory. The combinatorial search is guided with functions that asses the complexity of the candidate programs, as well as their fitness to the given input set of examples.

View on arXivView PDF

Code Implementations(1)

jsego/bfgp-ppCommunity100%
GPL-3.0

A framework based on Best-First Generalized Planning where solutions are either assembly-like programs, or structured programs that are syntactically terminating.

53C++, SASMay 24, 20232 years agoGPL-3.0
generalized-planningprogram-synthesisproving-programs-correct

Similar Papers

Cite this paper

@article{segoviaaguas2023synthesis,
  title  = {Synthesis of Procedural Models for Deterministic Transition Systems},
  author = {Javier Segovia-Aguas and Jonathan Ferrer-Mestres and Sergio Jiménez},
  year   = {2023},
  eprint = {2307.14368},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2307.14368v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2307.14368.svg)](https://codeofpaper.com/paper/2307.14368)

Discussion