Using Sat solvers for synchronization issues in partial deterministic automata
We approach the task of computing a carefully synchronizing word of minimum length for a given partial deterministic automaton, encoding the problem as an instance of SAT and invoking a SAT solver. Our experimental results demonstrate that this approach gives satisfactory results for automata with up to 100 states even if very modest computational resources are used.
💡 Research Summary
The paper addresses the problem of finding a shortest carefully synchronizing word (CSW) for a given partial deterministic automaton (PFA). A carefully synchronizing word is a sequence of input letters that, when applied to the automaton, never triggers an undefined transition and brings all reachable states to a single state at the end of the word. This notion is particularly relevant for applications such as robotic feeders, sorting mechanisms, and error‑recovering prefix codes, where undefined transitions correspond to unsafe or illegal actions.
The authors first review existing synchronization concepts for complete deterministic automata (CFA) – the classic D₁, D₂, D₃ definitions – and show that, when restricted to PFAs, these three notions collapse to the same class of words. They then introduce the “careful” synchronization condition (C), which adds the requirement that every intermediate transition must be defined. The paper argues that, for PFAs, studying careful synchronization yields both lower and upper bounds that apply to the broader family of nondeterministic automata, making it a theoretically robust target.
The central computational problem is formalized as CSW(ℓ): given a PFA A and a positive integer ℓ (encoded in unary), decide whether A admits a carefully synchronizing word of length exactly ℓ. The authors note that with ℓ in binary the problem is PSPACE‑hard, but with unary ℓ it lies in NP, because a candidate word can be guessed and verified in polynomial time.
To solve CSW(ℓ), the paper proposes a reduction to Boolean satisfiability (SAT). The reduction introduces two families of Boolean variables:
- Letter variables xᵢ,ₜ (1 ≤ i ≤ m, 1 ≤ t ≤ ℓ) indicate whether the t‑th position of the candidate word is the alphabet symbol aᵢ.
- State variables yⱼ,ₜ (1 ≤ j ≤ n, 0 ≤ t ≤ ℓ) indicate whether state qⱼ is reachable after processing the first t letters of the candidate word.
The SAT instance consists of four groups of clauses:
- Initial clauses (I): enforce yⱼ,₀ = true for all states, reflecting that all states are initially active.
- Letter clauses (L): for each position t, enforce exactly one letter is chosen (a standard “exactly‑one” encoding using a disjunction of all xᵢ,ₜ and pairwise negative clauses ¬xᵣ,ₜ ∨ ¬xₛ,ₜ).
- Transition clauses (T): for each transition qⱼ —aᵢ→ qₖ in the automaton, add ¬yⱼ,ₜ₋₁ ∨ ¬xᵢ,ₜ ∨ yₖ,ₜ, which encodes the implication “if state qⱼ is active after t‑1 steps and aᵢ is the t‑th letter, then qₖ becomes active after t steps”. For undefined transitions, the clause ¬yⱼ,ₜ₋₁ ∨ ¬xᵢ,ₜ forbids selecting aᵢ at position t when qⱼ is active, thereby enforcing condition (C₁) and (C₂) of careful synchronization.
- Synchronization clauses (S): for the final step ℓ, add ¬yᵣ,ℓ ∨ ¬yₛ,ℓ for all distinct state pairs (r, s), ensuring that at most one state remains active after the whole word, which corresponds to condition (C₃).
The total number of variables is (m + n)·ℓ + n, and the total number of clauses is ℓ·
Comments & Academic Discussion
Loading comments...
Leave a Comment