TH
T.R. Hinnerichs
info
Please Note
<p>This page displays the records of the person named above and is not linked to a unique person identifier. This record may need to be merged to a profile.</p>
3 records found
1
Program synthesis aims to solve problems through coding by removing the need to write the programs yourself.
Given the grammar and problem specification, it aims to find a program that adheres to your problem specification.
This is done by iterating over many failing programs until a solution that adheres to the problem specification is found.
Conflict analysis automatically takes these failing solutions and learns new constraints to make the search more efficient.
Unfortunately, many conflict analysis techniques are heavily specialized.
They are difficult to apply to diverse problems or when trying to use a different search algorithm.
In this work, we present a modular framework in which these techniques can be implemented in a generalized way and applied independently to different problems and solvers, while having the ability to share generated constraints and parsed information.
We identify two distinct conflict types and show how to use semantics in conflict analysis effectively.
The framework is evaluated on two diverse domains; it prunes up to 96\% of the search space, where combining techniques can further improve its average effectiveness.
Domain applicability for the techniques has to be considered for optimal framework performance.
Compared to an enumeration solver, the framework shows marginal improvements on a real-world benchmark.
While the framework's overhead needs improvement, its modularity allows for comparison between solvers, problems, and conflict analysis techniques. ...
Given the grammar and problem specification, it aims to find a program that adheres to your problem specification.
This is done by iterating over many failing programs until a solution that adheres to the problem specification is found.
Conflict analysis automatically takes these failing solutions and learns new constraints to make the search more efficient.
Unfortunately, many conflict analysis techniques are heavily specialized.
They are difficult to apply to diverse problems or when trying to use a different search algorithm.
In this work, we present a modular framework in which these techniques can be implemented in a generalized way and applied independently to different problems and solvers, while having the ability to share generated constraints and parsed information.
We identify two distinct conflict types and show how to use semantics in conflict analysis effectively.
The framework is evaluated on two diverse domains; it prunes up to 96\% of the search space, where combining techniques can further improve its average effectiveness.
Domain applicability for the techniques has to be considered for optimal framework performance.
Compared to an enumeration solver, the framework shows marginal improvements on a real-world benchmark.
While the framework's overhead needs improvement, its modularity allows for comparison between solvers, problems, and conflict analysis techniques. ...
Program synthesis aims to solve problems through coding by removing the need to write the programs yourself.
Given the grammar and problem specification, it aims to find a program that adheres to your problem specification.
This is done by iterating over many failing programs until a solution that adheres to the problem specification is found.
Conflict analysis automatically takes these failing solutions and learns new constraints to make the search more efficient.
Unfortunately, many conflict analysis techniques are heavily specialized.
They are difficult to apply to diverse problems or when trying to use a different search algorithm.
In this work, we present a modular framework in which these techniques can be implemented in a generalized way and applied independently to different problems and solvers, while having the ability to share generated constraints and parsed information.
We identify two distinct conflict types and show how to use semantics in conflict analysis effectively.
The framework is evaluated on two diverse domains; it prunes up to 96\% of the search space, where combining techniques can further improve its average effectiveness.
Domain applicability for the techniques has to be considered for optimal framework performance.
Compared to an enumeration solver, the framework shows marginal improvements on a real-world benchmark.
While the framework's overhead needs improvement, its modularity allows for comparison between solvers, problems, and conflict analysis techniques.
Given the grammar and problem specification, it aims to find a program that adheres to your problem specification.
This is done by iterating over many failing programs until a solution that adheres to the problem specification is found.
Conflict analysis automatically takes these failing solutions and learns new constraints to make the search more efficient.
Unfortunately, many conflict analysis techniques are heavily specialized.
They are difficult to apply to diverse problems or when trying to use a different search algorithm.
In this work, we present a modular framework in which these techniques can be implemented in a generalized way and applied independently to different problems and solvers, while having the ability to share generated constraints and parsed information.
We identify two distinct conflict types and show how to use semantics in conflict analysis effectively.
The framework is evaluated on two diverse domains; it prunes up to 96\% of the search space, where combining techniques can further improve its average effectiveness.
Domain applicability for the techniques has to be considered for optimal framework performance.
Compared to an enumeration solver, the framework shows marginal improvements on a real-world benchmark.
While the framework's overhead needs improvement, its modularity allows for comparison between solvers, problems, and conflict analysis techniques.
In AutoML, the search space of possible pipelines is often large and multidimensional. This makes it very important to use an efficient search algorithm. We measure the effectiveness of the Metropolis-Hastings algorithm (M-H) in a pipeline synthesis framework, when the search space is described by a context-free grammar. We also compare the performance of the M-H algorithm to other search algorithms. While AutoML frameworks use many different search algorithms, and comparisons between AutoML frameworks exist, this is the first paper that compares the performance of different search algorithms in the context of pipeline synthesis under equal conditions. We found that M-H is slightly outperformed by BFS2, the simplest possible search algorithm. We conclude that the datasets we use for evaluating the algorithms are too simple to meaningfully compare the performance of different search algorithms. We also conclude that for simple datasets, simple search algorithms work best.
...
In AutoML, the search space of possible pipelines is often large and multidimensional. This makes it very important to use an efficient search algorithm. We measure the effectiveness of the Metropolis-Hastings algorithm (M-H) in a pipeline synthesis framework, when the search space is described by a context-free grammar. We also compare the performance of the M-H algorithm to other search algorithms. While AutoML frameworks use many different search algorithms, and comparisons between AutoML frameworks exist, this is the first paper that compares the performance of different search algorithms in the context of pipeline synthesis under equal conditions. We found that M-H is slightly outperformed by BFS2, the simplest possible search algorithm. We conclude that the datasets we use for evaluating the algorithms are too simple to meaningfully compare the performance of different search algorithms. We also conclude that for simple datasets, simple search algorithms work best.
Because of the growing presence of artificial intelligence, developers are looking for more efficient methods to construct machine learning algorithms. Program synthesizers allow us to produce algorithms consisting of scalers, feature selection and classifiers. Each of these pipelines is a potential solution to the given machine learning task. The goal of this synthesizer was to find the best-suited pipeline for the problem, with a genetic search algorithm. The structure of the pipelines makes it easy to implement the cross-over and mutation properties of a genetic algorithm, as the pipelines and different algorithms very much resemble chromosomes and genes. Experiments were designed to measure the accuracies and runtimes of the synthesizer with the intent to compare them to the results of other synthesizers based on different search algorithms. The comparisons made could prove whether machine learning synthesizers are a viable solution to the mentioned development problem.
...
Because of the growing presence of artificial intelligence, developers are looking for more efficient methods to construct machine learning algorithms. Program synthesizers allow us to produce algorithms consisting of scalers, feature selection and classifiers. Each of these pipelines is a potential solution to the given machine learning task. The goal of this synthesizer was to find the best-suited pipeline for the problem, with a genetic search algorithm. The structure of the pipelines makes it easy to implement the cross-over and mutation properties of a genetic algorithm, as the pipelines and different algorithms very much resemble chromosomes and genes. Experiments were designed to measure the accuracies and runtimes of the synthesizer with the intent to compare them to the results of other synthesizers based on different search algorithms. The comparisons made could prove whether machine learning synthesizers are a viable solution to the mentioned development problem.