Program-By-Example System Using Logical Pattern Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programming-By-Example (PBE) systems often generate a large number of programs that are consistent with user input examples but may not produce the intended result, requiring complex ranking algorithms that consume significant computing resources and slow down the process.
Innovation Solution
The use of logical patterns common to the input data to generate programs that produce the user-intended result, reducing the number of potential programs and improving efficiency by organizing and intersecting graphs of logical patterns to determine the most likely program to achieve the desired output.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If complex ranking algorithms are used to identify the correct program from many consistent programs, then the accuracy of result prediction is improved, but the computational resources consumed and the time required increase significantly
Solution Approach 1:
The system performs preliminary analysis of input data to identify logical patterns before generating programs. By pre-processing the input data and extracting its logical structure, the system reduces the search space of candidate programs, thereby decreasing the computational resources needed for ranking while maintaining prediction accuracy.
Solution Approach 2:
The system extracts logical patterns from input data and uses these patterns to filter and rank candidate programs. By taking out and utilizing the logical structure inherent in the input data, the system avoids the need for complex ranking algorithms, reducing computational overhead while preserving accuracy.
2Measurement precision
If complex ranking algorithms are used to identify the correct program from many consistent programs, then the accuracy of result prediction is improved, but the processing speed decreases
Solution Approach 1:
The system performs preliminary analysis of input data to identify logical patterns before generating programs. By pre-processing the input data and extracting its logical structure, the system reduces the search space of candidate programs, thereby decreasing the time required for ranking while maintaining prediction accuracy.
Solution Approach 2:
The system extracts logical patterns from input data and uses these patterns to filter and rank candidate programs. By taking out and utilizing the logical structure inherent in the input data, the system avoids the need for complex ranking algorithms, reducing processing time while preserving accuracy.
3Adaptability or versatility
If the system generates all possible programs consistent with user input examples, then the completeness of solution coverage is improved, but the number of programs to evaluate increases exponentially
Solution Approach 1:
The system extracts logical patterns from input data and uses these patterns to generate only the relevant subset of programs. By taking out the essential logical structure from the input data, the system generates fewer, more targeted programs that are consistent with user intent, reducing the quantity of programs to evaluate while maintaining solution completeness.
Solution Approach 2:
The system performs preliminary analysis of input data to identify logical patterns before generating programs. By pre-processing the input data and extracting its logical structure, the system reduces the search space of candidate programs, generating fewer programs that are more likely to be correct.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Embodiments disclosed herein are related to systems and methods for using input logical patterns to generate one or more programs by an underlying Program-By-Example (PBE) system based on user input examples. A system includes a processor and a system memory. The system access a set of input data. The system receives one or more user input examples for the set of input data. The user input examples are indicative of an output that should be achieved to comply with a user determined result. The system analyzes the set of input data to identify one or more logical patterns that are common to the set of input data. The system generates one or more programs which will output the user determined result, based on a set of the one or more logical patterns that are consistent with the one or more user input examples.