Minimal Synthesis of String To String Functions From Examples
Jad Hamza, Viktor Kun\v{c}ak

TL;DR
This paper addresses the challenge of synthesizing minimal string-to-string transformations from examples using finite automata, proving NP-completeness and proposing an SMT-based algorithm for practical solution.
Contribution
It introduces the problem of minimal DFA synthesis from examples with constraints, proves its NP-completeness, and provides an SMT-based algorithm for finding solutions.
Findings
NP-hardness of minimal DFA synthesis from examples
Proposed SMT-based algorithm for practical minimal DFA synthesis
Evaluation shows the algorithm's effectiveness in real-world scenarios
Abstract
We study the problem of synthesizing string to string transformations from a set of input/output examples. The transformations we consider are expressed using deterministic finite automata (DFA) that read pairs of letters, one letter from the input and one from the output. The DFA corresponding to these transformations have additional constraints, ensuring that each input string is mapped to exactly one output string. We suggest that, given a set of input/output examples, the smallest DFA consistent with the examples is a good candidate for the transformation the user was expecting. We therefore study the problem of, given a set of examples, finding a minimal DFA consistent with the examples and satisfying the functionality and totality constraints mentioned above. We prove that, in general, this problem (the corresponding decision problem) is NP-complete. This is unlike the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
