Table of Contents
Fetching ...

Constructing Deterministic Parity Automata from Positive and Negative Examples

León Bohn, Christof Löding

TL;DR

A polynomial time algorithm that constructs a deterministic parity automaton (DPA) from a given set of positive and negative ultimately periodic example words is presented and it is shown that this algorithm is complete for the class of $\omega$-regular languages, that is, it can learn a DPA for each regular $\omeg$-language.

Abstract

We present a polynomial time algorithm that constructs a deterministic parity automaton (DPA) from a given set of positive and negative ultimately periodic example words. We show that this algorithm is complete for the class of $ω$-regular languages, that is, it can learn a DPA for each regular $ω$-language. For use in the algorithm, we give a definition of a DPA, that we call the precise DPA of a language, and show that it can be constructed from the syntactic family of right congruences for that language (introduced by Maler and Staiger in 1997). Depending on the structure of the language, the precise DPA can be of exponential size compared to a minimal DPA, but it can also be a minimal DPA. The upper bound that we obtain on the number of examples required for our algorithm to find a DPA for $L$ is therefore exponential in the size of a minimal DPA, in general. However we identify two parameters of regular $ω$-languages such that fixing these parameters makes the bound polynomial.

Constructing Deterministic Parity Automata from Positive and Negative Examples

TL;DR

A polynomial time algorithm that constructs a deterministic parity automaton (DPA) from a given set of positive and negative ultimately periodic example words is presented and it is shown that this algorithm is complete for the class of -regular languages, that is, it can learn a DPA for each regular -language.

Abstract

We present a polynomial time algorithm that constructs a deterministic parity automaton (DPA) from a given set of positive and negative ultimately periodic example words. We show that this algorithm is complete for the class of -regular languages, that is, it can learn a DPA for each regular -language. For use in the algorithm, we give a definition of a DPA, that we call the precise DPA of a language, and show that it can be constructed from the syntactic family of right congruences for that language (introduced by Maler and Staiger in 1997). Depending on the structure of the language, the precise DPA can be of exponential size compared to a minimal DPA, but it can also be a minimal DPA. The upper bound that we obtain on the number of examples required for our algorithm to find a DPA for is therefore exponential in the size of a minimal DPA, in general. However we identify two parameters of regular -languages such that fixing these parameters makes the bound polynomial.
Paper Structure (6 sections, 24 theorems, 10 equations, 7 figures, 1 table, 1 algorithm)

This paper contains 6 sections, 24 theorems, 10 equations, 7 figures, 1 table, 1 algorithm.

Key Result

Lemma 2.1

Let ${\mathcal{A}} = (Q,\Sigma,\iota,\delta,\kappa)$ be a normalized DPA, $q \in Q$ and $u \in \Sigma^+$ be such that $\mathcal{A}\xspace_{\mathop{\mathrm{\mathrm{min}}}\nolimits}(q,u) = i$.

Figures (7)

  • Figure 4: The leading right congruence underlying the language $L$ from \ref{['ex:twoclasses']} is depicted on the far left. We have $L(\mathcal{B}) = P_{0,\varepsilon}^{{\sim}_L}(L) = P_{0,a}^{{\sim}_L}(L)$, $L(\mathcal{C}) = P_{2,\varepsilon}^{{\sim}_L}(L) = P_{1,a}^{{\sim}_L}(L)$ and $L(\mathcal{D}) = P_{1,\varepsilon}^{{\sim}_L}(L)$. We omit the depiction of a DFA for $P_{3,\varepsilon}^{{\sim}_L}(L) = P_{2,a}^{{\sim}_L}(L) = \Sigma^+$.
  • Figure 5: On the left-hand side a Mealy machine ${\mathcal{M}}$ that computes $\pi_\varepsilon^{\sim}$ for $L$ and ${\sim}$ from \ref{['ex:pisets']} is shown. The DFAs $\mathcal{D}_i$ for $i \in \{0,1\}$ in the middle accept precisely the words that are assigned priority $\le i$ by ${\mathcal{M}}$. On the right-hand side the precise DPA that is obtained from the $\mathcal{D}_i$ is depicted.
  • Figure 6: On the left, the priority mapping $\pi_\varepsilon^\sim$ associated with the FWPM $(\pi_c)_{c \in [\sim]}$ from \ref{['ex:pisets']} is shown. The table on the right displays the values of $\pi^\sim_{p_0\dotsc p_{j-1}}(p_{j}\dotsc p_{i})$ where $i$ is the length of a prefix of $p$ and $j$ is a possible first position inside the looping part of the guessed ultimately periodic word. In each column, we mark the value(s) that are not yet covered by underlining them.
  • Figure 7: The precise DPA for the language $L$ from example \ref{['ex:twoclasses']}. The DPA is built using the right congruence ${\sim}_L$ and DFAs for the sets $P_{c,i}^{{\sim}_L}(L)$ for $i \leq 3$ and $d \in [{\sim}_L]$, which are depicted in \ref{['fig:twoclassexampleparts']}. The states of ${\mathcal{A}}_L$ are tuples, where the $i$-th position from the front is a state belonging to the component for priority $i$, i.e. a DFA which keeps track of level $i$ of the parity decomposition. We omit a component if the corresponding DFA accepts $\Sigma^+$ and also do not include the last component, instead depicting states belonging to class $[\varepsilon]_{{\sim}_L}$ in blue and those belonging to $[a]_{{\sim}_L}$ in green. Note that reading $a$ from the initial state, the first component is not reset, as the corresponding DFA still waits on completing an infix $aa$. The DFA $\mathcal{C}$ from \ref{['fig:twoclassexampleparts']} tracks priority $2$ from $[\varepsilon]_{{\sim}_L}$ and priority $1$ from $[a]_{{\sim}_L}$. Hence its states appear in two different positions in the tuples. The DFA $\mathcal{B}$ tracks priority $0$ for both classes, so the component for priority $0$ is reset to $p_0$ for both classes on transitions with priority $0$ (the orange and purple$a$-transitions).
  • Figure 8: The PRC ${\simeq}_\varepsilon$ of the syntactic FORC for the language from \ref{['ex:pisets']}. The colors code the idempotent classes that are positive ($aba$ and $a$) and negative.
  • ...and 2 more figures

Theorems & Definitions (35)

  • Lemma 2.1
  • definition 3.1
  • Example 3.2
  • Example 3.3
  • Lemma 3.4
  • definition 3.5
  • Theorem 3.6
  • definition 3.7
  • Lemma 3.8
  • Lemma 3.9
  • ...and 25 more