Method for solving optimization problems in structured combinatorial objects
OwnerIgnacio Reneses Asenjoinventor
Life of this patent
Estimating the term…
Abstract
The present invention is a method of solving the decision, for example, testing if, given a finite number of transformations which can be applied to a finite number of elements, the corresponding n-generated discrete object has a hamiltonian cycle and/or path, searching, for example, obtaining the explicit construction of one several or all the hamiltonian cycles and or paths of the given input, counting, for example, obtaining an upper bound of the number of Hamiltonian cycles and/or paths of the given input and optimization, for example, selecting one of several hamiltonian cycles and/or paths solutions according to an specified criterion, versions of the hamiltonian traversal (cycle and/or path) problem in class of combinatorial discrete objects.
Claims16
A method, implemented on one or more processors, of solving the problem of decision, searching, counting and optimizing, the method comprising the following steps:
- a pre-processing step including decomposing an input in sub inputs of pairs of generators;
- a first step (step 1) including classifying a given sub input in one of several classes by testing if one to one of three possible relations holds;
- a second step (step 2) including determining a number of possible ending vertices in a hamiltonian cycle or path of the sub input and determining which are the possible ending vertices in the hamiltonian cycle or path of the sub input;
- a third step (step 3) including discarding the possible ending vertices of the sub input that cannot be the hamiltonian cycle or path end based on a value of two parameters;
- a fourth step (step 4) including testing a structural property on a sub digraph of the sub input and classifying it according to its expected hardness;
- a fifth step (step 5) including testing another structural property on a sub digraph of the sub input based on an intersection of sets generated by sequences of generators;
- a sixth step (step 6) including testing another structural property on a sub digraph of the sub input;
- a seventh step (step 7) including first reducing, by a reduction transformation, the sub input into an object of a same kind but of a reduced size, and second deciding about a hamiltonian property based on two parameters of the reduced object;
- an eighth step (step 8) including detecting 1-compact or n-compact sub inputs by activation of several non-contradictory one-generator cycles;
- a ninth step (step 9) including selecting a given vertex in the sub input as an ending vertex and then applying a propagation including an arc-forcing subroutine and a starting- to ending-vertex-non-hamiltonian path checking plus a non hamiltonian-cycle checking by an iterative marking of a list of specified sub digraphs until no more changes happens;
- and
- a tenth step (step 10) including an iteration of:
- selecting a given arc of the sub input according to specified criteria, including the greedy criteria, the random criteria and the specific criteria for obtaining an upper bound on a number of hamiltonian cycles and paths, and
- applying a propagation consisting in an arc-forcing subroutine and a starting- to ending-vertex-non-hamiltonian path checking plus a non hamiltonian-cycle checking by the iterative marking of the list of specified sub digraphs until no more changes happens,
- until the hamiltonian cycle or path is found or a conclusion that the sub input and/or input has no hamiltonian cycle or path is reached.
Dependencies are inferred from the claim text.