Alternating timed automaton

{{More citations needed|date=September 2024}}

An alternating timed automaton (ATA) is a modeling formalism that combines features of timed automaton{{Cite book |last1=Shankar |first1=Priti |url=https://books.google.com/books?id=a-TFCgAAQBAJ&q=timed+automaton+closure+intersection |title=Modern Applications Of Automata Theory |last2=D'souza |first2=Deepak |date=2012-05-24 |publisher=World Scientific |isbn=978-981-4468-32-9 |language=en}} and an alternating finite automaton{{Cite journal |last1=Chandra |first1=Ashok K. |last2=Kozen |first2=Dexter C. |last3=Stockmeyer |first3=Larry J. |date=January 1981 |title=Alternation |url=https://dl.acm.org/doi/10.1145/322234.322243 |journal=Journal of the ACM |language=en |volume=28 |issue=1 |pages=114–133 |doi=10.1145/322234.322243 |issn=0004-5411}} to succinctly express sets of timed event sequences. Classical timed automata only allow existential nondeterministic branching in their transitions, while alternating finite automata model discrete untimed behaviors. Unlike timed automata, alternating timed automata are closed under complementation. However, this increased expressive power comes at the cost of undecidability in their emptiness problem. A one clock alternating timed automaton (OCATA) is a restricted version of an ATA, limited to the use of a single clock. OCATAs can express timed languages that cannot be expressed using standard timed automata.{{cite journal |last1=Lasota |first1=SƗawomir |last2=Walukiewicz |first2=Igor |title=Alternating Timed Automata |journal=ACM Transactions on Computational Logic |date=2008 |volume=9 |issue=2 |pages=1–26 |doi=10.1145/1342991.1342994|arxiv=1208.5909 |s2cid=12319 }}

Definition

In automata theory, a timed automaton is a finite automaton extended with a finite set of real-valued clocks. During a run of a timed automaton, clock values increase all with the same speed. Along the transitions of the automaton, clock values can be compared to integers. These comparisons form guards that may enable or disable transitions and by doing so constrain the possible behaviors of the automaton are more expressive than timed automata.

An alternating timed automaton is defined as a timed automaton, where the transitions are more complex.

= Difference from a timed-automaton =

Given a set X, let \mathcal B^+(X) be the set of positive Boolean combination of elements of X, i.e. the set containing the elements of X, and containing \phi\land\psi and \phi\lor\psi, for \phi,\psi\in\mathcal B^+(X).

For each letter a and location \ell, let \mathcal B_{a,\ell} be a set of clock constraints such that their zones partition \mathbb R_{\ge 0}^

X
, with |X| being the number of clocks. Given a clock valuation \nu, let c(a,\ell,\nu) be the only clock constraint of \mathcal B_{a,\ell} which is satisfied by \nu.

An alternating timed-automaton contains a transition function, which associates to a 3-tuple (\ell,a,c), with c\in\mathcal B_{a,\ell}, to an element of \mathcal B^+(L\times\mathcal P(C)).

For example, (\ell_1,\emptyset)\lor((\ell_2,\{x\})\land(\ell_2,\{y\})) is an element of \mathcal B^+(L\times\mathcal P(C)) characterizing a condition over next locations and clocks to be reset. Intuitively, this means that a run (or, execution) of the automaton may existentially branch into two possibilities: 1) continue by moving to location \ell_1without resetting any clock, or 2) universally branch into two possibilities, both moving to location \ell_2 with one resetting clock x and the other resetting clock y.

= Formal definition =

Formally, an alternating timed automaton is a tuple \mathcal A=\langle \Sigma,L,L_0,C,F,E\rangle that consists of the following components:

  • Σ is a finite set called the alphabet or actions of \mathcal A.
  • L is a finite set. The elements of L are called the locations or states of \mathcal A.
  • C is a finite set called the clocks of \mathcal A.
  • L_0\subseteq L is the set of start locations.
  • F\subseteq L is the set of accepting locations.
  • E\subseteq L\times\Sigma\times\mathcal B(C)\to\mathcal B^+(L\times \mathcal P(C)) is the transitions function of \mathcal A.

Any Boolean expression can be rewritten into an equivalent expression in disjunctive normal form. In the representation of an ATA, each disjunction is represented by a different arrow. Each conjunct of a disjunction is represented by a set of arrows with the same tail and multiple heads. The tail is labelled by the letter and each head is labelled by the set of clocks it resets{{Example needed|date=September 2024}}.

Run

A run of an alternating timed automaton over a timed word w=(\sigma_1,t_1),(\sigma_2,t_2),\dots can be defined in one of two equivalent ways: as a tree or as a game.{{Citation needed|date=September 2024}}

= Run as a tree =

In this definition, a run is not merely a list of pairs, but a rooted tree. The nodes of the rooted tree are labelled by pairs with a location and a clock valuation. The tree is defined as follows:

  • The root of the tree is of the form (\ell_0,\nu_0) with \ell_0\in L_0,
  • Consider a node n of the tree at depth i, with label (\ell,\nu). Without loss of generality, let us assume that E(a_{i+1},\ell,c(a,\ell,\nu)) is in disjunctive normal form, i.e. it is of the form \bigvee_{i=1}^n\bigwedge_{j=1}^{m_i}(\ell_{i,j}, r_{i,j}). Then the node n has m_i children, for some 1\le i\le n. The j-th child is labelled by (\ell_{i,j},(\nu+t_{i+1}-t_{i})[r_{i,j}\to 0].

The definition of an accepting run differs depending on whether the timed word is finite or infinite. If the timed word is finite, then the run is accepting if the label of each leaf contains an accepting location. If the timed word is infinite, then a run is accepting if each branch contains an infinite number of accepting locations.

= Run as a game =

A run can also be defined as a two player game G_{A,w}, with the two players called "player" and "opponent." The goal of the player is to create an accepting run, and the goal of the opponent is to create a rejecting (non-accepting) run.

Each state of the game is a tuple composed of a location, a clock valuation, a position in the word, and potentially an element of \mathcal B^+(L\times\mathcal P(C)). Intuitively, a tuple (\ell,\nu,i,b) means that the run has read i letters, is in location \ell, with clock value \nu, and that the transition will be as described by b. The run is defined as follows:

  • The initial state is of the form (\ell_0,\nu_0, 0), for some \ell_0\in L_0.
  • Given a state (\ell,\nu,i), if the length of the word is i, the run ends. Otherwise, its successor state is (\ell,\nu,i,c(a_{i+1},\ell,\nu)).
  • The successor of a state (\ell,\nu,i,(\ell',r)) is the state (\ell',\nu+t_{i}-t_{i-1}[r\to0],i+1),
  • The successor of a state (\ell,\nu,i,\phi\lor\psi) is chosen by the player, it is either (\ell,\nu,i,\phi) or (\ell,\nu,i,\psi),
  • The successor of a state (\ell,\nu,i,\phi\land\psi) is chosen by the opponent, it is either (\ell,\nu,i,\phi) or (\ell,\nu,i,\psi).

The set of successive states starting in a state of the form (\ell,\nu,i) and ending before the next such state is called a phase.

The definition of an accepting run is the same as that for timed automata.

Subclass of ATA

= One clock alternating timed automaton =

A one clock alternating timed automaton (OCATA) is an alternating timed automaton using a single clock.

The expressivity of OCATAs and of timed-automata are incomparable.{{Clarify|date=September 2024}}

For example, the language over the alphabet \{a\} such that there is never exactly one time unit between two letters can not be recognized by a timed-automaton. However, the OCATA pictured accepts it. In this alternating timed automaton, two branches are started. A branch restarts the clock x, and ensures that each time in the future when a letter is emitted, the clock x is distinct from 1. This ensure that between this letter and the next ones, the time elapsed is not one. The second branch only waits for other letters to be emitted and does the same checking.

File:2019-03-31-213847 313x156 scrot.png

= Purely-Universal and Purely-Existential ATA =

An ATA is said to be purely-universal (respectively, purely-existential) if its transition function does not use disjunction (respectively, conjunction).

Purely-existential ATAs are as expressive as non-deterministic timed-automaton.

Closure

The class of language accepted by ATAs and by OCATAs is closed under complement. The construction is explained for the case where there is a single initial location.

Given an ATA \mathcal A=\langle \Sigma,L,\{q_0\},C,F,E\rangle accepting a timed language L, its complement language L^c is accepted by an automaton A^c which is essentially \langle \Sigma,L,\{q_0\},C,L\setminus F,E'\rangle, where E'(\ell,a,c) is defined as E(\ell,a,c)) where disjunction and conjunctions are reversed and E'(q_0,a,c) simulates the run from each of the locations of L_0 simultaneously.

It follows that the class of language accepted by ATAs and by OCATAs are accepted by unions and intersection. The union of two languages is constructed by taking disjoint copies of the automata accepting both languages. The intersection can be constructed from union and concatenation.

Complexity

The emptiness problem, the universality problem and the containability problem are undecidable for ATAs, but decidable for OCATAs, though it{{Ambiguous|date=September 2024}} is a nonelementary problem.

References