What would be the highest number of states a DFA would have for a language L*? Is it possible to define a worst-case scenario here?
A DFA for Kleene star operation
847 Views Asked by Veronica At
1
There are 1 best solutions below
Related Questions in DFA
- how to handle Unicode dot in table driven FSM?
- i want dfa that accept string of{a,b,c} that starting with a and ending with c and have even no. of b
- How to design a regex used for searching a pattern, rather than validating a pattern?
- Difference Between KMP and Regex/DFA-based Searching
- Deterministic Finite State Automaton (DFA) Exam Q
- Converting DFA to RE
- Deterministic Finite Automata with 6 states
- Create Syntax tree from given Regular Expressions (For RE to DFA)
- If pref(L) is regular, does that imply L is also regular?
- Suggestions to implement a DFA to classify binary strings with a genetic algorithms strategy
- Python: Converting a list of sets to a set
- Can final and non-final states having identical configurations be merged together in a minimal DFA?
- Regex Matching a string
- How to convert a DFA to a Turing machine?
- how to intuitively think while Designing an NFA
Related Questions in AUTOMATON
- Design NFA with changing alphabet and language
- A pushdown automaton that recognizes the negation of a language
- If pref(L) is regular, does that imply L is also regular?
- Scalability of aho corasick
- Deterministic automaton whose input length is divisible by 3 or 5?
- recognizing a date in the form: 03/02 for February 3 , For simplicity, we consider that each month is made up of 30 days
- Build a Turing Machine that counts a's and b's
- Design a nondeterministic finite automata in c++ (incorrect output)
- Why does my c++ program crashes at with a particular input?
- how would I build a generalized DFA for decimal Multiples of k?
- Moving from state to state in this automaton via HashMap
- How should I implement this HashMap's equals and hashCode methods to represent an automaton state?
- How can a Stack of Push Down Automata accept a string of Indefinitely Large?
- Stack around the variable 'userStr' was corrupted (C)
- Automaton DFA implementation not working using Java
Related Questions in KLEENE-STAR
- Why can't the Kleene closure construction for an NFA be simplified?
- Determining if two languages are equal [Regular expression]
- How to evaluate this regular expression?
- I need help finding all strings not included in (a*b)*
- Regex allow asterisk(*) only once time and in the end
- Kleene star in programming. Difference between (a|b)* and a*b*?
- Shunting yard algorithm for parsing basic regular expressions with the Kleene star
- Converting dot-star regular expression into NFA
- How to apply Kleene star on automata?
- How to use a kleene star operator (*) or it's variant (+) with variables in sparql?
- String length after kleen's closure in finite-autometa theory
- Kleene star semantics and set comparison
- A DFA for Kleene star operation
- Need help about recursive definition for two languages S* and T* where S={aa,b} and T={w1,w2,w3,w4}
- Deterministic Finite Automaton of Kleene Star
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
As Welbog points out, L* can have any number of states. This is not necessarily obvious though, so we might as well try to prove it. The proof is simple: we will describe a sequence of regular languages such that the minimum number of states in a DFA for the Nth language is equal to N.
Our regular languages will be {a}, {aa}, {aaa}, ..., that is, the sequence of finite regular languages consisting of a single non-empty string taken from the language a*, in ascending order of length.
A minimal DFA for the language {a}* has one state (assuming alphabet {a}) which loops to itself on a.
A minimal DFA for the language {aa}* has two states: the initial state is still accepting but we need a non-accepting state to accept strings with a number of a's not evenly divisible by two.
Generally, a minimal DFA for the language {a^n}* has n states: the initial state is still accepting but we need n-1 non-accepting states to keep track of the value of |w| % n. We must keep track of this value so that we can know if we have seen a number of a's that is evenly divisible by n, and in a DFA the only way to keep track of the number of a's seen so far is by changing to a new unique state.
This constructive proof allows us to offer evidence that there is no upper limit on the size of a minimal DFA for L*: if there were such a limit with m states, we'd simply point out that the language (a^(m+1))* must have a larger DFA.