Deterministic finite automaton: Difference between revisions

Content deleted Content added
Local automata: prev sfn failed, how about lawson?
format citations
Line 78:
===Local automata===
 
A '''local automaton''' is a DFA, not necessarily complete, for which all edges with the same label lead to a single vertex. Local automata accept the class of [[Local language (formal language)|local languages]], those for which membership of a word in the language is determined by a "sliding window" of length two on the word.{{sfn|Lawson|2004|p=129}}<ref name=Sak228>{{sfn|Sakarovitch (|2009) |p.=228</ref>}}
 
A '''Myhill graph''' over an alphabet ''A'' is a [[directed graph]] with [[Vertex (graph theory)|vertex set]] ''A'' and subsets of vertices labelled "start" and "finish". The language accepted by a Myhill graph is the set of directed paths from a start vertex to a finish vertex: the graph thus acts as an automaton.{{sfn|Lawson|2004|p=129}} The class of languages accepted by Myhill graphs is the class of local languages.{{sfn|Lawson|2004| p=128}}
Line 93:
{{columns-list|colwidth=30em|
*Union
*Intersection{{sfn|Hopcroft|Ullman|1979|pp=59–60}} (see picture)
*Intersection<ref>{{cite book | isbn=0-201-02988-X | author=John E. Hopcroft and Jeffrey D. Ullman | title=Introduction to Automata Theory, Languages, and Computation | url=https://archive.org/details/introductiontoau00hopc | url-access=registration | ___location=Reading/MA | publisher=Addison-Wesley | year=1979 }}</ref>{{rp|59–60}} (see picture)
*Concatenation
*[[Complementation of automata#With deterministic finite automata|Complement]]
Line 147:
* the DFA with a minimum number of states for a particular regular language (Minimization Problem)
 
DFAs are equivalent in computing power to [[nondeterministic finite automata]] (NFAs). This is because, firstly any DFA is also an NFA, so an NFA can do what a DFA can do. Also, given an NFA, using the [[powerset construction]] one can build a DFA that recognizes the same language as the NFA, although the DFA could have exponentially larger number of states than the NFA.<ref name=Sak105>{{sfn|Sakarovitch (|2009) |p.105</ref><ref name=Law63>105}}{{sfn|Lawson (|2004) |p.=63</ref>}} However, even though NFAs are computationally equivalent to DFAs, the above-mentioned problems are not necessarily solved efficiently also for NFAs. The non-universality problem for NFAs is [[PSPACE complete]] since there are small NFAs with shortest rejecting word in exponential size. A DFA is universal if and only if all states are final states, but this does not hold for NFAs. The Equality, Inclusion and Minimization Problems are also PSPACE complete since they require forming the complement of an NFA which results in an exponential blow up of size.<ref>{{Cite web |last1=Esparza Estaun |first1=Francisco Javier |last2=Sickert |first2=Salomon |last3=Blondin |first3=Michael |date=16 November 2016 |orig-date= |title=Operations and tests on sets: Implementation on DFAs |url=https://www7.in.tum.de/um/courses/auto/ws1718/slides1718/04-Implementations_sets.pdf |url-status=dead |archive-url=https://web.archive.org/web/20180808171506/https://www7.in.tum.de/um/courses/auto/ws1718/slides1718/04-Implementations_sets.pdf |archive-date=8 August 2018 |website=Automata and Formal Languages 2017/18 }}</ref>
 
On the other hand, finite-state automata are of strictly limited power in the languages they can recognize; many simple languages, including any problem that requires more than constant space to solve, cannot be recognized by a DFA. The classic example of a simply described language that no DFA can recognize is bracket or [[Dyck language]], i.e., the language that consists of properly paired brackets such as word "(()())". Intuitively, no DFA can recognize the Dyck language because DFAs are not capable of counting: a DFA-like automaton needs to have a state to represent any possible number of "currently open" parentheses, meaning it would need an unbounded number of states. Another simpler example is the language consisting of strings of the form ''a<sup>n</sup>b<sup>n</sup>'' for some finite but arbitrary number of ''a''{{'}}s, followed by an equal number of ''b''{{'}}s.<ref name=Law46>{{sfn|Lawson (|2004) |p.=46</ref>}}
 
==DFA identification from labeled words==
Line 261:
 
==References==
* {{Hopcroft and Ullman 1979}}
* {{Hopcroft, Motwani, and Ullman 2006}}
* {{cite book | last=Lawson | first=Mark V. | title=Finite automata | publisher=Chapman and Hall/CRC | year=2004 | isbn=1-58488-255-7 | zbl=1086.68074 }}
Line 274 ⟶ 275:
|issue= 4
|pages= 115–133
|ref=MP43
|doi= 10.1007/BF02478259
|pmid= 2185863
Line 289:
|year= 1959
|pages= 114–125
|ref=RS59
|url=https://www.researchgate.net/publication/230876408|doi= 10.1147/rd.32.0114
}}
* {{cite book | last=Sakarovitch | first=Jacques | title=Elements of automata theory | others=Translated from the French by Reuben Thomas | ___location=Cambridge | publisher=[[Cambridge University Press]] | year=2009 | isbn=978-0-521-84425-3 | zbl=1188.68177 }}
===Further reading===
* {{Sipser 1997}} — '''1.1''': "Finite Automata" pp.&nbsp;31&ndash;47. '''4.1''': "Decidable Languages - Decidable Problems Concerning Regular Languages" pp.&nbsp;152&ndash;155. '''4.4''': DFA can accept only regular language