String Variable Representation in CSP Solvers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Constraint satisfaction problem solvers face inefficiencies when handling string variables due to complex domain representation and constraint propagation, particularly with existing representations being unsuitable for large or infinite domains, and limited expressiveness in current string domain representations.

Innovation Solution

The use of a Deterministic Finite Automaton (DFA) with no back loops of size greater than one to represent string domains, enabling efficient performance of required operators and maintaining a compact representation, allowing for efficient constraint propagation and value selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing string domain representations are used, then flexibility in expressing a wide range of values is achieved, but the implementation of operations over such representations becomes highly complex and inefficient

Engineering Contradiction:
Improveflexibility in expressing string valuesVSAvoidcomplexity of operations implementation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent transforms the string domain representation from traditional complex structures to a simplified format based on regular expressions and finite automata. This parameter change in representation methodology enables efficient implementation of operations like intersection, union, and difference while maintaining the ability to express diverse string values, thus resolving the contradiction between versatility and operational complexity.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If exhaustive searching over all value combinations is performed, then all constraints are verified, but the approach becomes inefficient and infeasible for variables with infinite domains

Engineering Contradiction:
Improveconstraint verification completenessVSAvoidsolving efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies constraint propagation techniques that perform preliminary reduction of variable domains before exhaustive searching. By pre-processing constraints to eliminate impossible values from domains, the system maintains reliability of constraint verification while dramatically improving solving efficiency, especially for problems with large or infinite domains where complete enumeration would be infeasible.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If domain reduction operations are performed to improve solving efficiency, then the search space is reduced, but the mathematical and logical operations required increase complexity

Engineering Contradiction:
Improvesolving speedVSAvoidcomplexity of mathematical operations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces traditional mechanical approaches to domain reduction with algebraic operations on regular expressions and finite automata. Instead of performing complex logical operations on individual values, the system uses mathematical operations on symbolic representations, which simplifies the implementation of domain reduction while maintaining solving efficiency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10169292B2String variables reprsentation in solvers
Publication Date: 2019.01.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10169292B2 patent drawing
  • US10169292B2 patent drawing
  • US10169292B2 patent drawing

AI summary

A method and product for solving a Constraint Satisfaction Problem (CSP) having a constraint associated with a string variable, comprising: defining a string variable using a string domain data structure representing a domain of string values for string variables, the structure represents the domain as a Deterministic Finite Automaton (DFA) with no back loops longer than 1 and edges representing characters; defining a constraint for the CSP, wherein the constraint involves the variable and is to be complied with by a solution to the CSP; invoking a CSP solver using the string variable while complying with the constraint, and to invoke operations performed over the domain, wherein the solver: propagates values into the domain of string values, wherein the value propagation reduces the domain size; or selects values from the domain thus reducing the domain to a singleton domain, whereby value propagation to domains of other variables is invoked by the solver.