Combinatorial transition solution solving method, combinational transition solution solving device, and program
The ZDD-based method with a SAT solver efficiently determines and sequences transitions in combinatorial problems, addressing inefficiencies in existing methods by compactly representing state transitions and leveraging a SAT solver for practical network solutions.
Patent Information
- Application Number
- JP2022071026
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-04-22
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2042-04-22
AI Technical Summary
Existing methods for solving combinatorial transition problems, such as transitioning a power distribution network to avoid faults while satisfying constraints, are inefficient and often require excessive computational resources, making them impractical for larger networks.
A method using a zero-suppressed binary decision diagram (ZDD) to compactly represent state transitions, combined with a SAT solver, to efficiently determine the feasibility and sequence of transitions within a given number of steps, utilizing a combination transition solution-finding device with units for one-step transition representation, initial and final transition enumeration, ZDD-CNF conversion, and solution finding.
Enables efficient handling of combinatorial transition problems in the memory of existing computers by compactly representing state transitions and leveraging a SAT solver, allowing for practical solutions to complex network transitions.
Smart Images

Figure 0007720591000001 
Figure 0007720591000002 
Figure 0007720591000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a combination transition solution-finding method, a combination transition solution-finding device, and a program. [Background technology]
[0002] An algorithm that determines whether a desired state can be reached by gradually changing the state of an object with a discrete structure, such as a network or a logic function, while satisfying certain constraints under certain conditions, is called a "combinatorial transition." Combinatorial transitions can be applied to a variety of fields, but are particularly in demand in the field of engineering. For example, when a fault occurs in a power distribution network, the problem of gradually changing the switches in the power distribution network to change it to a state that avoids the fault while satisfying constraints such as "excessive power does not flow through specific power lines" and "loops do not occur in the power distribution network" can be considered a "combinatorial transition" problem.
[0003] In other words, the problem of determining whether or not a transition from a start state to an end state is possible while making a limited number of changes to the object at once (in the above example, while switching using a switch within a specified number of ranges) while satisfying constraints that the object must satisfy (in the above example, "the amount of current in any electric wire is within a specified range," "there are no loops in the power distribution network," etc.), and if a transition is possible, determining what procedures are possible and what is the shortest procedure, can be considered a "combinatorial transition" problem. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] "Superfast Graph Enumeration Algorithm", ERATO Minato Discrete Structure Processing System Project (author), Shinichi Minato (ed.), Morikita Publishing Summary of the Invention [Problem to be solved by the invention]
[0005] However, there is no conventional method for efficiently solving the above-mentioned "combinatorial transition" problem.
[0006] The present disclosure has been made in consideration of the above points, and provides a technique for efficiently finding a solution to a combinational transition problem. [Means for solving the problem]
[0007] A combinational transition problem solving method according to one aspect of the present disclosure is a combinational transition problem solving method for solving a combinational transition problem, which includes: data D compactly representing all combinations that satisfy constraints of the combinational transition problem; i and the transition possibility condition that indicates the number of permissible combination changes in one step transition are input, and data D is a compact representation of a set of combinations that satisfy the constraint condition and are two combinations that can be transitioned at once. t1 and a data D that compactly represents the combinations that represent the initial state of the combinatorial transition problem. src and the data D t1 and the data D are input, and the data D compactly expresses a set of combinations that satisfy the constraints and that are a set of combinations that represent the initial state and a set of combinations that represent states that can be transitioned from the initial state at once. src1 and a data set D that compactly represents the combinations that represent the final state of the combinatorial transition problem. dst a target step number representing the number of transitions from the initial state to the final state; and the data D t1 and the data D are input, and the data D compactly expresses a set of combinations that satisfy the constraint conditions and a set of combinations that express states that can transition from the state expressed by the combination to the final state at once. dst1 A final transition enumeration procedure for creating the data D t1 and the data D src1 and the data D dst1 and the target number of steps are input, and the data D t1 Conjunctive normal form CNF corresponding to sand the data D src1 and the conjunctive normal form CNF0 corresponding to the data D dst1 Conjunctive normal form CNF corresponding to S_t Conjunction normal form CNF, which is a conjunction of T and a CNF generation procedure for creating the conjunctive normal form CNF T The computer executes a solution procedure in which the above-mentioned solution is obtained using a SAT solver, using the above-mentioned input. [Effects of the Invention]
[0008] Techniques are provided for efficiently solving combinatorial transition problems. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of a ZDD. [Figure 2] FIG. 1 is a diagram illustrating a hardware configuration of a combination transition solution solving device according to an embodiment. [Figure 3] FIG. 1 is a diagram illustrating a functional configuration of a combination transition solution solving device according to an embodiment. [Figure 4] 10 is a flowchart illustrating a flow of a combination transition solution process in an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] An embodiment of the present invention will be described below.
[0011] <Combinatorial transition problem> A combinatorial transition problem is a problem in which, under constraints that a given object must satisfy, it is necessary to determine whether or not it is possible to transition from a starting state (initial state) to an ending state (final state) while making a limited number of changes to the object at once, and if so, to find the sequence of such transitions.A specific example of an object is a power distribution network, but this is not limiting; any object with a discrete structure, such as a network or a logical function, can be used as the object.
[0012] Conventionally, solutions to combinatorial transition problems (i.e., whether or not a transition to the final state is possible, and if so, the sequence of transitions) have been found by, for example, manual search based on empirical rules, or by using a computer to check each state change one by one and perform an exhaustive search. However, manual search has the problem that the nature and scope of problems that can be handled are limited, and exhaustive search has the problem that the search time increases exponentially as the problem to be handled (networks, logic functions, etc.) becomes larger, making it unrealistic.
[0013] On the other hand, a zero-suppressed binary decision diagram (ZDD; see, for example, Non-Patent Document 1) is known as a data structure that can compactly represent a set of combinations. Since the target state can be represented by a combination, it is conceivable to compactly represent all transitions using a ZDD. However, even in this case, a ZDD that represents all transitions often becomes enormously large, and there is a problem that it is difficult to handle using the storage area (memory) of an existing computer.
[0014] Therefore, in the following, an approach is taken in which a set of states that can be transitioned at one time is represented by a ZDD, thereby representing state transitions collectively without the need for repeated calculations. Furthermore, instead of representing all transitions in a single ZDD, a ZDD that represents a set of states that can be transitioned at one time is combined with a search-based method (a SAT (Boolean satisfiability testing) solver) to enable handling in the storage area (memory) of an existing computer. To achieve this, the following embodiment describes a combination transition solution-finding device 10 having the following units (one-step transition representation unit 201, initial transition method enumeration unit 202, final transition method enumeration unit 203, ZDD-CNF conversion unit 204, CNF generation unit 205, and solution-finding unit 206).
[0015] The combination transition solution solving device 10 according to this embodiment is given as input data all combinations that represent states that satisfy the constraint conditions of the target, the initial state and final state of the target, transition feasibility conditions that represent the number of changes allowable in one transition, and the maximum allowable number of steps. The combination transition solution solving device 10 according to this embodiment then determines whether a transition from the initial state to the final state is possible within the maximum allowable number of steps, and outputs the determination result and, if the transition is possible, the sequence of the transition as output data. Note that, for simplicity, in the following, the term "represents a state" in "combination that represents a state" may be omitted, and simply "combination" may be written.
[0016] Here, the combination transition solution solving device 10 according to this embodiment uses the data structure called ZDD described above. ZDD is a data structure that can compactly represent a combination set (a set (family of sets) whose elements are sets that represent combinations), and is expressed in the form of a directed acyclic graph. Note that hereinafter, elements of a set that represents a combination will be called "items."
[0017] In ZDD, all nodes except the two terminal nodes (hereafter referred to as internal nodes) have two branches: a 0-branch and a 1-branch. The node pointed to by a 0-branch or a 1-branch is also called a child node, and conversely, the node at the base of a 0-branch or a 1-branch that points to itself is also called a parent node. The two terminal nodes are called 0-terminal nodes and 1-terminal nodes, respectively. Furthermore, an internal node that does not have a 0-branch or a 1-branch that points to itself (in other words, an internal node that does not have a parent node) is called a root node. Note that a node may also be called a "node".
[0018] Each item included in the combinations that make up the combination set is assigned a number (integer), and each internal variable has a number (hereinafter referred to as the item variable number) associated with one of the items. The item variable number is also called a "label," and layers are formed by internal variables with the same item variable number. In the following, the item variable number of a child node is assumed to be greater than the item variable number of its parent node, and the child node has an item variable number that is the item variable number of the parent node + 1. The root node is assumed to have an item variable number of 1. For example, if the number of items is c, the item variable number will be any number between 1 and c, and if the item variable number of an internal node other than the root node is x, the item variable number of that parent node will be x - 1. Terminal nodes are assumed to have an item variable number other than 1 to c (for example, c + 1).
[0019] In ZDD, the path from the root node to the 1-terminal node represents the existence of a combination. In this case, if the path passes through a 1-edge, it means that the item with the item variable number of the node at the origin of that 1-edge is included in the combination, and if the path passes through a 0-edge, it means that the item with the item variable number of the node at the origin of that 0-edge is not included in the combination.
[0020] As an example, let's assume that the items are a, b, and c, and the set of combinations is {{a,b},{b,c}}. Figure 1 shows a ZDD that represents this set of combinations. In the example shown in Figure 1, the internal nodes are circles, the terminal nodes are squares, the values in the circles represent the corresponding items, and the values in the squares represent the corresponding terminal nodes. Also, in the example shown in Figure 1, the dashed arrows represent 0-edges and the solid arrows represent 1-edges. In the ZDD shown in Figure 1, the two paths from the root node to the 1-terminal node represent the combinations {a,b} and {b,c}, respectively.
[0021] Although the following description will be given of a case where the combination transition solution solving device 10 according to this embodiment uses ZDD, any data structure other than ZDD may be used as long as it is capable of performing an operation to obtain the intersection between two combination sets and is a data structure that can be converted into a logical formula. Specifically, for example, a BDD (Binary Decision Diagram) may be used instead of ZDD.
[0022] [Example] A specific example of this embodiment will be described below. In this embodiment, a "target number of steps" is given as input data to the combination transition solution solving device 10 instead of the "maximum allowable number of steps," and a determination is made as to whether or not a transition from the initial state to the final state is possible in exactly the target number of steps, and the determination result and, if the transition is possible, the transition sequence are output as output data. Note that when determining whether or not a transition from the initial state to the final state is possible within the maximum allowable number of steps, this determination can be made by applying this embodiment while increasing the target number of steps from 1 up to the maximum allowable number of steps.
[0023] Therefore, in this embodiment, the following (1) to (4) are given to the combination transition solution-finding device 10 as input data.
[0024] (1) All combinations that represent states that satisfy the constraints This is assumed to be given as a ZDD. In other words, a ZDD is given that represents a set of combinations that has all the combinations that satisfy the constraints as elements. In what follows, this ZDD is referred to as a "ZDD" i " is written.
[0025] For example, for a power distribution network, let N be the number of switches, and x be the variable that indicates the ON / OFF state of the nth switch. n (For example, if the nth switch is OFF, then x n = 0, if ON then x n In this case, the ON / OFF combinations of N switches (2 NA ZDD is a set of all combinations that satisfy the constraints. i In other words, the ZDD that represents the set of combinations that satisfy the constraints and represent the selection of switches that are turned ON is called ZDD. i In this example, the constraints include, for example, "power exceeding a predetermined threshold does not flow through a specific power line," "loops do not occur in the power distribution network," and "substations and other demand sources are connected." Generally, a power distribution network has many switches, and the power supply route is determined by determining their open / closed states (ON / OFF).
[0026] In this embodiment, as described above, ZDD i However, it is not necessary for such a concrete object to exist behind the ZDD. i It is possible to do so.
[0027] (2) Transition enablement conditions, which represent the number of permissible changes in one transition (i.e., one-step transition). In this embodiment, if the number of differences between a combination representing a certain state and another combination representing a certain state (i.e., the Hamming distance when the item selection is expressed as a binary vector) is equal to or less than a predetermined threshold th, it is possible to transition from that certain state to that certain other state. Therefore, the transition possible condition is given by the threshold th, which is an integer equal to or greater than 1.
[0028] For example, the combination representing the selection of the switch to be turned ON from among N switches is an N-dimensional binary vector (x1, ,x N ) can be expressed as follows. Therefore, the N-dimensional binary vector corresponding to the combination that represents a certain state can be expressed as (x1, ,x N ), and an N-dimensional binary vector corresponding to a combination representing another state is (x'1,...,x' N ), then x n ≠x' nThe number of states where t is the Hamming distance. If the Hamming distance is equal to or less than th, a transition from the state to the other state is possible, and if not, the transition is not possible.
[0029] (3) Initial and final states The initial state and the final state are each represented by a single combination. Therefore, the initial state is expressed as a ZDD i The final state is given by a ZDD that has the same item variable number as the initial state and contains only the combination that represents the initial state. i The ZDD corresponding to the initial state is given as a ZDD that represents a set of combinations that has the same item variable number as the initial state and contains only the combinations that represent the final state. src ", and the ZDD corresponding to the final state is "ZDD dst " is written.
[0030] For example, in the case of a power distribution network, ZDD src is the ON / OFF state of N switches in the initial state, ZDD dst represents the ON / OFF states of the N switches in the final state.
[0031] (4) Target number of steps It shall be given as an integer of 1 or greater.
[0032] Note that if the target number of steps is set to 1, this is equivalent to determining whether the Hamming distance of the combination representing the initial state and the final state is equal to or less than th. Therefore, in this case, after making this determination, the determination result and, if the Hamming distance is equal to or less than th, the transition sequence formed by the initial state and the final state are output as the output data. In the following, the target number of steps is assumed to be an integer equal to or greater than 2.
[0033] <Example of hardware configuration of the combination transition solution solving device 10> The hardware configuration of the combination transition solution-solving device 10 in this embodiment is shown in Fig. 2. As shown in Fig. 2, the combination transition solution-solving device 10 in this embodiment has an input device 101, a display device 102, an external I / F 103, a communication I / F 104, a RAM (Random Access Memory) 105, a ROM (Read Only Memory) 106, an auxiliary storage device 107, and a processor 108. Each of these pieces of hardware is connected to each other via a bus 109 so as to be able to communicate with each other.
[0034] The input device 101 is, for example, a keyboard, a mouse, a touch panel, a physical button, etc. The display device 102 is, for example, a display, a display panel, etc. Note that the combination transition solution-finding device 10 does not necessarily have to have at least one of the input device 101 and the display device 102, for example.
[0035] The external I / F 103 is an interface with an external device such as a recording medium 103a. The combination transition solution-finding device 10 can read from and write to the recording medium 103a via the external I / F 103. Examples of the recording medium 103a include a flexible disk, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), and a USB (Universal Serial Bus) memory card.
[0036] The communication I / F 104 is an interface for connecting the combination transition solution-solving device 10 to a communication network. The RAM 105 is a volatile semiconductor memory (storage device) that temporarily stores programs and data. The ROM 106 is a non-volatile semiconductor memory (storage device) that can store programs and data even when the power is turned off. The auxiliary storage device 107 is a storage device (storage device) such as an HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory. The processor 108 is an arithmetic device such as a CPU (Central Processing Unit).
[0037] The combination transition solution-solving device 10 in this embodiment has the hardware configuration shown in Fig. 2, and is therefore capable of realizing the combination transition solution-solving process described below. Note that the hardware configuration shown in Fig. 2 is merely an example, and the hardware configuration of the combination transition solution-solving device 10 is not limited to this. For example, the combination transition solution-solving device 10 may have a plurality of auxiliary storage devices 107 and a plurality of processors 108, or may have various other hardware components in addition to the hardware shown in the figure.
[0038] <Example of functional configuration of combination transition solution solving device 10> An example of the functional configuration of the combination transition solution-solving device 10 in this embodiment is shown in Fig. 3. As shown in Fig. 3, the combination transition solution-solving device 10 in this embodiment includes a one-step transition representation unit 201, an initial transition method enumeration unit 202, a final transition method enumeration unit 203, a ZDD-CNF conversion unit 204, a CNF generation unit 205, and a solution-solving unit 206. Each of these units is realized, for example, by one or more programs installed in the combination transition solution-solving device 10, which are executed by the processor 108.
[0039] The one-step transition representation unit 201 creates a ZDD that represents "all combinations that satisfy the constraint states" and "pairs of two states that can be transitioned to at once (i.e., can be transitioned to in one step)." Hereinafter, of the two states that can be transitioned to at once, the state before the transition is also referred to as the "pre-state," and the state after the transition is also referred to as the "post-state."
[0040] That is, the one-step transition representation unit 201 is i and th as input, and a ZDD (ZDD described later) is a set of combinations that satisfy the constraints and represent data consisting of all pairs of combinations that represent the previous state and the subsequent state that can be transitioned at once. t1 The one-step transition representation unit 201 can create such a ZDD by the following steps 1-1 to 1-4.
[0041] Step 1-1: ZDD iThe ZDD with the item variable number doubled (hereinafter, this ZDD is called "ZDD e ") is created. Similarly, ZDD i The ZDD is the result of multiplying the item variable number by 2 and subtracting 1 (hereinafter, this ZDD is referred to as "ZDD o ") to create a new page.
[0042] Step 1-2: ZDD e The set of combinations represented by and ZDD o The Cartesian product of the combination sets expressed by j In addition, this ZDD j is ZDD e and ZDD o The Cartesian product operation between ZDDs is a known function that ZDDs have as a standard operation.
[0043] Step 1-3: A ZDD that expresses the idea that "the total number of items is 2 × N, and the branch selections for odd-numbered items and even-numbered items differ at most th times." h This can be easily constructed, but for example, it can be constructed in a top-down manner by providing nodes in each layer corresponding to at most th "number of mistakes made so far (= number of different choices made so far)," and from there, if the branch selection for odd-numbered items and even-numbered items is the same, connecting to a node in the next layer that represents the same number of times, and if they are different, connecting to a node in the next layer that represents +1 time if there is one, or if the current node has already represented th times and there is no next node that represents +1 time, connecting to the 0-terminal node.
[0044] Steps 1-4: ZDD j and ZDD h We find a ZDD that represents the intersection of t1 In addition, this ZDD t1 What is ZDD? j and ZDD h The intersection operation between ZDDs is a well-known function that ZDDs have as a standard operation.
[0045] The initial transition method enumeration unit 202 is src and ZDD t1 The ZDD (ZDD) is a set of combinations that satisfy the constraints and that represent the data consisting of all combinations of the initial state and the post-state that can be transitioned from the initial state at once. src1 The initial transition method enumeration unit 202 can create such a ZDD by the following steps 2-1 and 2-2.
[0046] Step 2-1: ZDD src ZDD with the item variable number doubled -1 s2 Create a.
[0047] Step 2-2: ZDD s2 and the ZDD created in the one-step transition representation part 201. t1 and the intersection of src1 Let's say.
[0048] The final transition method enumeration unit 203 determines the target number of steps (an integer of 2 or more) and the ZDD dst and ZDD t1 The ZDD (ZDD) is a set of combinations that satisfy the constraints and that represent all combinations of a combination that represents an arbitrary state and a combination that represents a post-state that can transition from that state to the final state at once. dst1 The final transition method enumeration unit 203 can create such a ZDD by the following steps 3-1 to 3-w.
[0049] Step 3-1: If the target number of steps is odd, use ZDD. dst Create a ZDD by doubling the item variable number of -1, and if the target number of steps is even, dst Create a ZDD by doubling the item variable number. d2 Let's say.
[0050] Step 3-2: ZDD d2and the ZDD created in the one-step transition representation part 201. t1 and the intersection of dst1 Let's say.
[0051] The ZDD-CNF conversion unit 204 converts the ZDD and two starting point numbers offset e and offset o It takes input and generates a logical formula in conjunctive normal form (CNF) corresponding to the input. Hereinafter, this logical formula will be called a CNF logical formula.
[0052] The ZDD-CNF conversion unit 204 assigns two types of logical variable sets to the ZDD. One is a variable set corresponding to the internal nodes of the ZDD, and the other is a variable set corresponding to the item variable numbers of the ZDD. Hereinafter, the CNF logical variable corresponding to the i-th internal node is defined as N(i). Furthermore, the item variable number corresponding to the i-th internal node is defined as lv(i), and the CNF logical variable corresponding to the item variable number lv(i) is defined as L(lv(i)).
[0053] Each CNF logical variable N(i) and L(lv(i)) is an offset if lv(i) is even. e is assigned sequentially as the initial value, and if lv(i) is odd, the offset o is assigned sequentially as the initial value. In the following, the nodes at the ends of the 0-branch and 1-branch of the i-th internal node are respectively l and i h It is expressed as the th.
[0054] At this time, the ZDD-CNF conversion unit 204 generates a CNF logical formula by the following steps 4-1 to 4-6, where ¬ represents negation and ∨ represents disjunction.
[0055] Step 4-1: Generate the following partial CNF formula:
[0056] (¬N(i)∨L(lv(i))∨N(i l )) (¬N(i)∨¬L(lv(i))∨N(i h )) Step 4-2: lv(i)+1=lv(i l ), otherwise lv(i)+1 <t<lv(i l ), generate the following partial CNF formula:
[0057] (¬N(i)∨L(lv(i))∨¬L(t)) Step 4-3: lv(i)+1=lv(i h ), otherwise lv(i)+1 <t<lv(i h ), generate the following partial CNF formula:
[0058] (¬N(i)∨¬L(lv(i))∨¬L(t)) Step 4-4: Generate the following partial CNF formula:
[0059] (N(i)∨L(lv(i))∨¬L(lv(i l ))∨L(lv(i)+1)∨···∨L(lv(i l )-1)) where L(lv(i)+1)∨∨∨L(lv(i l )-1) part is lv(i)+1 <t<lv(i l ) and lv(i)+1=lv(i l ), it is empty.
[0060] Step 4-5: Generate the following partial CNF formula:
[0061] (N(i)∨L(lv(i))∨¬L(lv(i h ))∨L(lv(i)+1)∨···∨L(lv(i h )-1)) where L(lv(i)+1)∨∨∨L(lv(i h )-1)) part is lv(i)+1 <t<lv(i h ) and lv(i)+1=lv(i h), it is empty.
[0062] Step 4-6: A CNF logical formula is generated by connecting the partial CNF logical formulas generated in steps 4-1 to 4-5 above with a conjunction ∧. This CNF logical formula is the output of ZDD-CNF conversion unit 204.
[0063] The CNF generation unit 205 generates a target number of steps (hereinafter, S t ) and ZDD t1 and ZDD src1 and ZDD dst1 and are input, and the ZDD-CNF conversion unit 204 converts the CNF logical formulas CNF0 and CNF s and CNF S_t and then creates a CNF logical formula by connecting these CNF logical formulas with a conjunction ∧. The CNF generation unit 205 can create such a CNF logical formula by the following steps 5-1 to 5-4. In the following, F is assumed to be a sufficiently large constant.
[0064] Step 5-1: ZDD src1 and offset e =0 and offset o =F is input to the ZDD-CNF conversion unit 204 to generate a CNF logical formula. This CNF logical formula is called CNF0.
[0065] Step 5-2: 2≦s≦S t Repeat the following for all integers s that satisfy
[0066] ZDD t1 and offset e = (s-1) × F and offset o = s × F is input to the ZDD-CNF conversion unit 204 to generate a CNF logical formula. s Let's say.
[0067] Step 5-3: ZDD dst1 and offset e =(S t -1) × F and offset o =S t×F is input to the ZDD-CNF conversion unit 204 to generate a CNF logical formula. S_t Let's say.
[0068] Step 5-4: The CNF logical formulas CNF0 and CNF generated in steps 5-1 to 5-3 above are s and CNF S_t A CNF formula is created by connecting the above with the conjunction ∧. Below, this CNF formula is called a CNF T It is written as CNF. T is the output of the CNF generator 205.
[0069] The solution unit 206 solves the CNF formula CNF T It determines whether there is a logical variable assignment that satisfies the above, and outputs information indicating that the transition is impossible or information indicating that the transition is possible and a transition sequence as output data. T The conventional SAT solver is used to determine whether there is an assignment of logical variables that satisfies the above condition. T It is possible to give
[0070] If the SAT solver determines that the solution is unsatisfiable, for example, information indicating that the solution is unsatisfiable is output from the SAT solver. Therefore, in this case, the solution finding unit 206 outputs information indicating that the transition is impossible as output data.
[0071] On the other hand, if the SAT solver determines that the condition is satisfiable, for example, the SAT solver outputs the allocation results of the logical variables. Therefore, in this case, the solution finding unit 206 extracts the logical variables corresponding to the item variable numbers from among the logical variables to which 1 is assigned, and then obtains the corresponding number of steps for each of the extracted logical variables by dividing the number assigned to that logical variable by the constant F. This results in a transition sequence, and the solution finding unit 206 outputs information indicating that the transition is possible and the transition sequence as output data.
[0072] <Flow of combination transition solution process> The flow of the combination transition solution process in this embodiment will be described below with reference to Fig. 4. The combination transition solution device 10 includes a ZDD i and ZDD src and ZDD dst and the threshold th and the target number of steps S t (however, an integer greater than or equal to 2) is given as input data.
[0073] The one-step transition representation unit 201 is a ZDD i and th are used as inputs, and ZDD is generated by following steps 1-1 to 1-4 above. t1 is created (step S101).
[0074] Next, the initial transition method enumeration unit 202 src and ZDD t1 and ZDD is generated by the above steps 2-1 to 2-2. src1 is created (step S102).
[0075] Next, the final transition method enumeration unit 203 determines the target number of steps S t and ZDD dst and ZDD t1 and ZDD is generated by the above steps 3-1 to 3-2. dst1 is created (step S103).
[0076] Next, the CNF generation unit 205 calculates the target number of steps S t and ZDD t1 and ZDD src1 and ZDD dst1 and are input, and the CNF is generated by following steps 5-1 to 5-4 above. T is created (step S104).
[0077] Then, the solution-finding unit 206 calculates the CNF T is input, and information indicating the determination result as to whether or not the transition is possible and a transition sequence when it is determined that the transition is possible are output as output data (step S105).
[0078] [summary] As described above, the combination transition solving device 10 according to this embodiment compactly expresses a set of states that can be transitioned at one time among sets of states that satisfy constraint conditions, and combines it with a SAT solver, which is an existing technology known to enable efficient search. This makes it possible to handle it in the storage area (memory) of an existing computer, and enables efficient solution solving.
[0079] The present invention is not limited to the above-described specifically disclosed embodiments, and various modifications, changes, and combinations with known technologies are possible without departing from the scope of the claims. [Explanation of symbols]
[0080] 10 Combinatorial transition solving device 101 Input Device 102 Display device 103 External I / F 103a Recording media 104 Communication I / F 105 RAM 106 ROM 107 Auxiliary storage 108 processors 109 Bus 201 One-step transition expression 202 Initial Transition Method Enumeration 203 Final Transition Method Enumeration 204 ZDD-CNF conversion unit 205 CNF generation section 206 Solving section
Claims
1. A method for solving a combinatorial transition problem, comprising: Data D compactly expressing all combinations that satisfy the constraints of the combination transition problem i and a transition possibility condition that indicates the number of permissible combination changes in one step transition are input, and data D is a set of combinations that satisfy the constraint condition and compactly represents a set of two combinations that can be transitioned at once. t1 a one-step transition representation procedure for creating Data D compactly expressing the combinations that represent the initial state of the combination transition problem src and the data D t1 and a set of combinations that satisfy the constraints and that compactly represent a set of combinations that represent the initial state and a set of combinations that represent states that can be transitioned from the initial state at once. src1 an initial transition enumeration procedure that creates Data D compactly expressing the combinations that represent the final state of the combination transition problem dst a target step number representing the number of transitions from the initial state to the final state; and the data D t1 and the data D are input, and the data D compactly expresses a set of combinations that satisfy the constraint conditions and a set of combinations that express states that can transition from the state expressed by the combination to the final state at once. dst1 a final transition enumeration procedure that creates a The data D t1 and the data D src1 and the data D dst1 and the target number of steps are input, and the data D t1 The conjunctive normal form (CNF) corresponding to s and the data D src1 The conjunctive normal form (CNF) corresponding to 0 and the data D dst1 The conjunctive normal form (CNF) corresponding to S_t Conjunction normal form (CNF) T a CNF generation procedure for creating Conjunctive Normal Form (CNF) T A solution procedure for obtaining the solution using a SAT solver with the above input. A combinatorial transition solving method executed by a computer.
2. The data D i , the data D t1 , the data D src , the data D src1 , the data D dst , the data D dst1 2. The method for solving combinational transition problems according to claim 1, wherein each of the above equations is a BDD or a ZDD.
3. 3. The combination transition solution method according to claim 1, wherein, when a maximum allowable number of steps representing the number of transitions allowed from the initial state to the final state is given, the transition solution method repeats the one-step transition expression procedure, the initial transition method enumeration procedure, the final transition method enumeration procedure, the CNF generation procedure, and the solution procedure while increasing the target number of steps from 1 to the maximum allowable number of steps.
4. A combinatorial transition problem solving device for solving a combinatorial transition problem, comprising: Data D compactly expressing all combinations that satisfy the constraints of the combination transition problem i and a transition possibility condition that indicates the number of permissible combination changes in one step transition are input, and data D is a set of combinations that satisfy the constraint condition and compactly represents a set of two combinations that can be transitioned at once. t1 a one-step transition representation configured to create a one-step transition representation: Data D compactly expressing the combinations that represent the initial state of the combination transition problem src and the data D t1 and a set of combinations that satisfy the constraints and that compactly represent a set of combinations that represent the initial state and a set of combinations that represent states that can be transitioned from the initial state at once. src1 an initial transition method enumeration unit configured to create an initial transition method; Data D compactly expressing the combinations that represent the final state of the combination transition problem dst a target step number representing the number of transitions from the initial state to the final state; and the data D t1 and the data D are input, and the data D compactly expresses a set of combinations that satisfy the constraint conditions and a set of combinations that express states that can transition from the state expressed by the combination to the final state at once. dst1 a final transition method enumeration unit configured to create a final transition method; The data D t1 and the data D src1 and the data D dst1 and the target number of steps are input, and the data D t1 The conjunctive normal form (CNF) corresponding to s and the data D src1 The conjunctive normal form (CNF) corresponding to 0 and the data D dst1 The conjunctive normal form (CNF) corresponding to S_t Conjunction normal form (CNF) T a CNF generator configured to generate a CNF Conjunctive Normal Form (CNF) T a solution unit configured to receive an input and find the solution using a SAT solver; A combined transition solver having:
5. A method for solving a combinatorial transition problem, comprising: Data D compactly expressing all combinations that satisfy the constraints of the combination transition problem i and a transition possibility condition that indicates the number of permissible combination changes in one step transition are input, and data D is a set of combinations that satisfy the constraint condition and compactly represents a set of two combinations that can be transitioned at once. t1 a one-step transition representation procedure for creating Data D compactly expressing the combinations that represent the initial state of the combination transition problem src and the data D t1 and a set of combinations that satisfy the constraints and that compactly represent a set of combinations that represent the initial state and a set of combinations that represent states that can be transitioned from the initial state at once. src1 an initial transition enumeration procedure that creates Data D compactly expressing the combinations that represent the final state of the combination transition problem dst a target step number representing the number of transitions from the initial state to the final state; and the data D t1 and the data D are input, and the data D compactly expresses a set of combinations that satisfy the constraint conditions and a set of combinations that express states that can transition from the state expressed by the combination to the final state at once. dst1 a final transition enumeration procedure that creates a The data D t1 and the data D src1 and the data D dst1 and the target number of steps are input, and the data D t1 The conjunctive normal form (CNF) corresponding to s and the data D src1 The conjunctive normal form (CNF) corresponding to 0 and the data D dst1 The conjunctive normal form (CNF) corresponding to S_t Conjunction normal form (CNF) T a CNF generation procedure for creating Conjunctive Normal Form (CNF) T A solution procedure for obtaining the solution using a SAT solver with the above input. A program that causes a computer to execute a combination transition solution method including the above.
Citation Information
Patent Citations
Method for deciding boolean satisfiability and image computation method using boolean satisfiability and binary decision diagram
JP2003022261A
Optimal solution search method, optimal solution search program, and optimal solution search apparatus
JP2019046031A