Learning functional programs with function invention and reuse
- URL: http://arxiv.org/abs/2011.08881v1
- Date: Tue, 17 Nov 2020 19:11:00 GMT
- Title: Learning functional programs with function invention and reuse
- Authors: Andrei Diaconu
- Abstract summary: This paper is concerned with a subfield of IP, inductive functional programming (IFP)
We explore the idea of generating modular functional programs, and how those allow for function reuse.
We show reuse is important (if not crucial) for a variety of problems and distinguished two broad classes of programs that will generally benefit from function reuse.
- Score: 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Inductive programming (IP) is a field whose main goal is synthesising
programs that respect a set of examples, given some form of background
knowledge. This paper is concerned with a subfield of IP, inductive functional
programming (IFP). We explore the idea of generating modular functional
programs, and how those allow for function reuse, with the aim to reduce the
size of the programs. We introduce two algorithms that attempt to solve the
problem and explore type based pruning techniques in the context of modular
programs. By experimenting with the implementation of one of those algorithms,
we show reuse is important (if not crucial) for a variety of problems and
distinguished two broad classes of programs that will generally benefit from
function reuse.
Related papers
- ReGAL: Refactoring Programs to Discover Generalizable Abstractions [59.05769810380928]
Generalizable Abstraction Learning (ReGAL) is a method for learning a library of reusable functions via codeization.
We find that the shared function libraries discovered by ReGAL make programs easier to predict across diverse domains.
For CodeLlama-13B, ReGAL results in absolute accuracy increases of 11.5% on LOGO, 26.1% on date understanding, and 8.1% on TextCraft, outperforming GPT-3.5 in two of three domains.
arXiv Detail & Related papers (2024-01-29T18:45:30Z) - Hierarchical Programmatic Reinforcement Learning via Learning to Compose
Programs [58.94569213396991]
We propose a hierarchical programmatic reinforcement learning framework to produce program policies.
By learning to compose programs, our proposed framework can produce program policies that describe out-of-distributionally complex behaviors.
The experimental results in the Karel domain show that our proposed framework outperforms baselines.
arXiv Detail & Related papers (2023-01-30T14:50:46Z) - Learning logic programs by combining programs [24.31242130341093]
We introduce an approach where we learn small non-separable programs and combine them.
We implement our approach in a constraint-driven ILP system.
Our experiments on multiple domains, including game playing and program synthesis, show that our approach can drastically outperform existing approaches.
arXiv Detail & Related papers (2022-06-01T10:07:37Z) - ProTo: Program-Guided Transformer for Program-Guided Tasks [59.34258016795216]
We formulate program-guided tasks which require learning to execute a given program on the observed task specification.
We propose the Program-guided Transformer (ProTo), which integrates both semantic and structural guidance of a program.
ProTo executes a program in a learned latent space and enjoys stronger representation ability than previous neural-symbolic approaches.
arXiv Detail & Related papers (2021-10-02T13:46:32Z) - Learning compositional programs with arguments and sampling [12.790055619773565]
We train a machine learning model to discover a program that satisfies specific requirements.
We extend upon a state of the art model, AlphaNPI, by learning to generate functions that can accept arguments.
arXiv Detail & Related papers (2021-09-01T21:27:41Z) - Learning to Synthesize Programs as Interpretable and Generalizable
Policies [25.258598215642067]
We present a framework that learns to synthesize a program, which details the procedure to solve a task in a flexible and expressive manner.
Experimental results demonstrate that the proposed framework not only learns to reliably synthesize task-solving programs but also outperforms DRL and program synthesis baselines.
arXiv Detail & Related papers (2021-08-31T07:03:06Z) - Leveraging Language to Learn Program Abstractions and Search Heuristics [66.28391181268645]
We introduce LAPS (Language for Abstraction and Program Search), a technique for using natural language annotations to guide joint learning of libraries and neurally-guided search models for synthesis.
When integrated into a state-of-the-art library learning system (DreamCoder), LAPS produces higher-quality libraries and improves search efficiency and generalization.
arXiv Detail & Related papers (2021-06-18T15:08:47Z) - How could Neural Networks understand Programs? [67.4217527949013]
It is difficult to build a model to better understand programs, by either directly applying off-the-shelf NLP pre-training techniques to the source code, or adding features to the model by theshelf.
We propose a novel program semantics learning paradigm, that the model should learn from information composed of (1) the representations which align well with the fundamental operations in operational semantics, and (2) the information of environment transition.
arXiv Detail & Related papers (2021-05-10T12:21:42Z) - Learning Differentiable Programs with Admissible Neural Heuristics [43.54820901841979]
We study the problem of learning differentiable functions expressed as programs in a domain-specific language.
We frame this optimization problem as a search in a weighted graph whose paths encode top-down derivations of program syntax.
Our key innovation is to view various classes of neural networks as continuous relaxations over the space of programs.
arXiv Detail & Related papers (2020-07-23T16:07:39Z) - How to Increase Interest in Studying Functional Programming via
Interdisciplinary Application [0.0]
The state of the art in functional programming reports an increasing number of methodologies in this paradigm.
Our goal is to increase student interest in pursuing further studies in functional programming with the use of an application: the ray tracer.
arXiv Detail & Related papers (2020-07-21T20:08:54Z) - Can We Learn Heuristics For Graphical Model Inference Using
Reinforcement Learning? [114.24881214319048]
We show that we can learn programs, i.e., policies, for solving inference in higher order Conditional Random Fields (CRFs) using reinforcement learning.
Our method solves inference tasks efficiently without imposing any constraints on the form of the potentials.
arXiv Detail & Related papers (2020-04-27T19:24:04Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.