Program Variable Convergence Analysis for Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Determining whether a convergence number exists for a given set of program variables and its value is problematic and error-prone, affecting the optimization of programs that depend on knowing all possible values of variables.

Innovation Solution

A method for convergence analysis of program variables involves determining state variables based on dependencies, creating a second program, executing it multiple times to record values, and determining a convergence property that indicates the number of executions required to generate all possible values, which is then used to optimize the original program.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the program is executed multiple times to collect all possible values of variables, then the accuracy of knowing all possible values (APV) is improved, but the time and computational resources required increase

Engineering Contradiction:
Improveaccuracy of all possible valuesVSAvoidexecution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing convergence analysis before program optimization. It determines the convergence number N in advance, which specifies the exact number of executions needed to collect all possible values. This preliminary determination prevents unnecessary additional executions, thereby reducing time loss while ensuring complete value collection for accurate optimization decisions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of execution count from an indefinite or excessive number to a precise convergence number N. By analyzing variable dependencies and determining the minimum required executions, it transforms the execution parameter from a conservative estimate to an optimized value that achieves complete value collection with minimal time investment.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the convergence number determination process is made more thorough and accurate, then the reliability of optimization decisions is improved, but the complexity of the analysis process increases

Engineering Contradiction:
Improvereliability of optimization decisionsVSAvoidcomplexity of analysis process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the convergence analysis process into distinct phases: (1) determining variable dependencies, (2) calculating the convergence number N, and (3) executing the program exactly N times. This segmentation makes the complex analysis process more manageable and systematic, reducing procedural complexity while maintaining high reliability in determining all possible values for optimization decisions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback by using the collected actual values from N executions to verify that all possible values have been obtained. This feedback mechanism ensures that the convergence criterion is met, providing reliable information for optimization decisions while keeping the analysis process structured and controllable through clear termination conditions.

Inventive Principle:
Principle #23Feedback

3Productivity

If the program executes the minimum number of times to collect all possible values, then the productivity of the optimization process is improved, but the risk of missing some variable values increases

Engineering Contradiction:
Improveoptimization efficiencyVSAvoidcompleteness of value collection
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary convergence analysis to determine the exact number N of executions needed before actually executing the program. This preliminary determination ensures that the subsequent N executions will collect all possible values with high probability, achieving both productivity (by avoiding excessive executions) and reliability (by ensuring complete value collection).

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the execution parameter from an arbitrary or excessive count to a precisely calculated convergence number N based on variable dependencies and initial value analysis. This parameter optimization ensures that the program executes the minimum necessary times to achieve complete value collection, balancing productivity and reliability optimally.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10216495B2Program variable convergence analysis
Publication Date: 2019.02.26 NATIONAL INSTRUMENTS CORP
  • US10216495B2 patent drawing
  • US10216495B2 patent drawing
  • US10216495B2 patent drawing

AI summary

System and method for convergence analysis. One or more state variables of a first program may be determined based on dependencies of variables in a first program. A second program corresponding to the first program is created based on the state variables and their dependencies, and executed multiple times. Each execution may include recording values of the state variables, determining an execution count, comparing the values to corresponding values from previous executions of the second program, and terminating the executing in response to the values matching corresponding values from at least one previous execution of the second program. A convergence property for the first program is determined based on the execution count, and indicating a number of executions of the first program required to generate all possible values of the one or more variables. The convergence property is stored, and may be useable to optimize the first program.