Skip to content
Surf Wiki
Save to docs
general/finite-state-machines

From Surf Wiki (app.surf) — the open knowledge base

Alternating finite automaton


In automata theory, an alternating finite automaton (AFA) is a nondeterministic finite automaton whose transitions are divided into existential and universal transitions. For example, let A be an alternating automaton.

  • For an existential transition (q, a, q_1 \vee q_2), A nondeterministically chooses to switch the state to either q_1 or q_2, reading a. Thus, behaving like a regular nondeterministic finite automaton.
  • For a universal transition (q, a, q_1 \wedge q_2), A moves to q_1 and q_2, reading a, simulating the behavior of a parallel machine.

Note that due to the universal quantification a run is represented by a run tree. A accepts a word w, if there exists a run tree on w such that every path ends in an accepting state.

A basic theorem states that any AFA is equivalent to a deterministic finite automaton (DFA), hence AFAs accept exactly the regular languages.

An alternative model which is frequently used is the one where Boolean combinations are in disjunctive normal form so that, e.g., {{q_1},{q_2,q_3}} would represent q_1 \vee (q_2 \wedge q_3). The state tt (true) is represented by {\emptyset} in this case and ff (false) by \emptyset. This representation is usually more efficient.

Alternating finite automata can be extended to accept trees in the same way as tree automata, yielding alternating tree automata.

Formal definition

An alternating finite automaton (AFA) is a 5-tuple, (Q, \Sigma, q_0, F, \delta), where

  • Q is a finite set of states;
  • \Sigma is a finite set of input symbols;
  • q_0\in Q is the initial (start) state;
  • F\subseteq Q is a set of accepting (final) states;
  • \delta\colon Q\times\Sigma\times{0,1}^Q\to{0,1} is the transition function.

For each string w\in\Sigma^*, we define the acceptance function A_w\colon Q\to{0,1} by induction on the length of w:

  • A_\epsilon(q)=1 if q\in F, and A_\epsilon(q)=0 otherwise;
  • A_{aw}(q)=\delta(q,a,A_w).

The automaton accepts a string w\in\Sigma^* if and only if A_w(q_0)=1.

This model was introduced by Chandra, Kozen and Stockmeyer.

State complexity

Main article: State complexity

Even though AFA can accept exactly the regular languages, they are different from other types of finite automata in the succinctness of description, measured by the number of their states.

Chandra et al. proved that converting an n-state AFA to an equivalent DFA requires 2^{2^n} states in the worst case, though a DFA for the reverse language can be constructued with only 2^n states. Another construction by Fellah, Jürgensen and Yu. converts an AFA with n states to a nondeterministic finite automaton (NFA) with up to 2^n states by performing a similar kind of powerset construction as used for the transformation of an NFA to a DFA.

Computational complexity

The membership problem asks, given an AFA A and a word w, whether A accepts w. This problem is P-complete. This is true even on a singleton alphabet, i.e., when the automaton accepts a unary language.

The non-emptiness problem (is the language of an input AFA non-empty?), the universality problem (is the complement of the language of an input AFA empty?), and the equivalence problem (do two input AFAs recognize the same language) are PSPACE-complete for AFAs.

References

References

  1. (1981). "Alternation". Journal of the ACM.
  2. (1990). "Constructions for alternating finite automata∗". International Journal of Computer Mathematics.
  3. (2011-03-01). "Descriptional and computational complexity of finite automata—A survey". Information and Computation.
Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about Alternating finite automaton — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report