“…Today in the Deep Learning community, new approaches propose, for example, to encode the equation in the neural network structure and activation functions [14,15], to use Recurrent Neural Networks to predict a string equation [16] or use Deep Reinforcement Learning (RL) as a search engine [17]. However, those methods are often data-hungry, and few of them manage to include prior knowledge through sophisticated constraints, such as those included by context-free grammars [18]. Regarding RL approaches, SR tasks use sparse delayed rewards, as the metric is only evaluated at the end of an episode [17].…”
Industrial systems such as power networks are continuously monitored by human experts who quickly identify potentially dangerous situations by their experience. As current energy trends increase the complexity of day-to-day grid operations, it becomes necessary to assist experts in their monitoring tasks. This paper proposes an interactive approach to create human-readable analytical expressions that describe physical phenomena by their most impacting quantities. We present an interactive platform that brings experts in the training loop to guide the expression search using their expertise. It uses an evolutionary approach based on Probabilistic Grammar Guided Genetic Programming with expertly created and updated grammars. Interactivity is multi-level: users can distill their knowledge both within and between evolutionary runs. We proposed two usage scenarios on a real-world dataset where the non-interactive algorithm either provides (case 1) or not (case 2) satisfactory solutions. We show improvements regarding the solution's precision (case 1) and complexity (case 2).
“…Today in the Deep Learning community, new approaches propose, for example, to encode the equation in the neural network structure and activation functions [14,15], to use Recurrent Neural Networks to predict a string equation [16] or use Deep Reinforcement Learning (RL) as a search engine [17]. However, those methods are often data-hungry, and few of them manage to include prior knowledge through sophisticated constraints, such as those included by context-free grammars [18]. Regarding RL approaches, SR tasks use sparse delayed rewards, as the metric is only evaluated at the end of an episode [17].…”
Industrial systems such as power networks are continuously monitored by human experts who quickly identify potentially dangerous situations by their experience. As current energy trends increase the complexity of day-to-day grid operations, it becomes necessary to assist experts in their monitoring tasks. This paper proposes an interactive approach to create human-readable analytical expressions that describe physical phenomena by their most impacting quantities. We present an interactive platform that brings experts in the training loop to guide the expression search using their expertise. It uses an evolutionary approach based on Probabilistic Grammar Guided Genetic Programming with expertly created and updated grammars. Interactivity is multi-level: users can distill their knowledge both within and between evolutionary runs. We proposed two usage scenarios on a real-world dataset where the non-interactive algorithm either provides (case 1) or not (case 2) satisfactory solutions. We show improvements regarding the solution's precision (case 1) and complexity (case 2).
“…Program synthesis methods that have been applied to PSB1 have used varying methods for constraining the instruction set and other program syntax. For example, some have used grammars [6,7,22,27,32,39,50] while others have used data-type categorized subsets of an instruction set [16,17]. We do not want to constrain what a reasonable approach to selecting instructions may look like for any given program synthesis system.…”
For the past six years, researchers in genetic programming and other program synthesis disciplines have used the General Program Synthesis Benchmark Suite to benchmark many aspects of automatic program synthesis systems. These problems have been used to make notable progress toward the goal of general program synthesis: automatically creating the types of software that human programmers code. Many of the systems that have attempted the problems in the original benchmark suite have used it to demonstrate performance improvements granted through new techniques. Over time, the suite has gradually become outdated, hindering the accurate measurement of further improvements. The field needs a new set of more difficult benchmark problems to move beyond what was previously possible.In this paper, we describe the 25 new general program synthesis benchmark problems that make up PSB2, a new benchmark suite. These problems are curated from a variety of sources, including programming katas and college courses. We selected these problems to be more difficult than those in the original suite, and give results using PushGP showing this increase in difficulty. These new problems give plenty of room for improvement, pointing the way for the next six or more years of general program synthesis research.
CCS CONCEPTS• Software and its engineering → Automatic programming.
“…In addition to the previously mentioned approaches stackbased GP, grammar-guided GP, and linear GP, we also identified a paper by Lynch et al [72] that proposes an approach that could be a relevant direction for future program synthesis research. The authors use a variational autoencoder [73] to learn the representation of programs which are sampled using a context-free grammar definition.…”
Section: Linear Gp and Further Approachesmentioning
confidence: 99%
“…Last Index of Zero [16], [29], [74], [48], [39], [75], [50], [51], [76], [52], [40], [53], [42], [41], [80], [45], [38] [11], [61], [12], [2], [63], [72] [72] 24…”
Section: Benchmark Problem Stack-based Gp Grammar-guided Gp Linear Gp...mentioning
The automatic generation of computer programs is one of the main applications with practical relevance in the field of evolutionary computation. With program synthesis techniques not only software developers could be supported in their everyday work but even users without any programming knowledge could be empowered to automate repetitive tasks and implement their own new functionality. In recent years, many novel program synthesis approaches based on evolutionary algorithms have been proposed and evaluated on common benchmark problems. Therefore, we identify in this work the relevant evolutionary program synthesis approaches and provide an in-depth analysis of their performance. The most influential approaches we identify are stack-based, grammar-guided, as well as linear genetic programming. Further, we find that these approaches perform well on benchmark problems if there is a simple mapping from the given input to the correct output. On problems where this mapping is complex, e.g., if the problem consists of several subproblems or requires iteration/recursion for a correct solution, results tend to be worse. Consequently, for future work, we encourage researchers not only to use a program's output for assessing the quality of a solution but also the way towards a solution (e.g., correctly solved sub-problems).
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.