Content deleted Content added
→DFA identification from labeled words: a footnote shouldn't be part of a sentence's grammatical structure (2x); wikilink Gold |
m clean up, typo(s) fixed: above mentioned → above-mentioned, a augmented → an augmented |
||
Line 117:
* 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>Sakarovitch (2009) p.105</ref><ref name=Law63>Lawson (2004) p.63</ref> However, even though NFAs are computationally equivalent to DFAs, the above
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>Lawson (2004) p.46</ref>
Line 136:
Another research direction is the application of [[evolutionary algorithm]]s: the smart state labeling evolutionary algorithm<ref>{{Cite journal |doi = 10.1109/TPAMI.2005.143|pmid = 16013754|title = Learning deterministic finite automata with a smart state labeling evolutionary algorithm|journal = IEEE Transactions on Pattern Analysis and Machine Intelligence|volume = 27|issue = 7|pages = 1063–1074|year = 2005|last1 = Lucas|first1 = S.M.|last2 = Reynolds|first2 = T.J.|s2cid = 14062047}}</ref> allowed to solve a modified DFA identification problem in which the training data (sets <math>S^+</math> and <math>S^-</math>) is ''noisy'' in the sense that some words are attributed to wrong classes.
Yet another step forward is due to application of [[Boolean satisfiability problem|SAT]] solvers by [[Marijn Heule|Marjin J. H. Heule]] and S. Verwer: the minimal DFA identification problem is reduced to deciding the satisfiability of a Boolean formula.<ref name=HW1>{{cite conference|last1=Heule|first1=M. J. H.|title=Grammatical Inference: Theoretical Results and Applications |author-link=Marijn Heule|chapter=Exact DFA Identification Using SAT Solvers|series=Lecture Notes in Computer Science |conference=Grammatical Inference: Theoretical Results and Applications. ICGI 2010. Lecture Notes in Computer Science|date=2010|volume=6339|pages=66–79|doi=10.1007/978-3-642-15488-1_7|isbn=978-3-642-15487-4 |ref=Heule2010}}</ref> The main idea is to build
Though this approach allows finding the minimal DFA, it suffers from exponential blow-up of execution time when the size of input data increases.
Therefore, Heule and Verwer's initial algorithm has later been augmented with making several steps of the EDSM algorithm prior to SAT solver execution: the DFASAT algorithm.<ref>{{Cite journal |doi = 10.1007/s10664-012-9222-z|title = Software model synthesis using satisfiability solvers|journal = Empirical Software Engineering|volume = 18|issue = 4|pages = 825–856|year = 2013|last1 = Heule|first1 = Marijn J. H.|author-link=Marijn Heule|last2 = Verwer|first2 = Sicco|hdl = 2066/103766|s2cid = 17865020|url = https://lirias.kuleuven.be/handle/123456789/370182|hdl-access = free}}</ref>
|