Automata Theory Quiz 1 Review
Let E be a regular expression and the language represented by E is L(E) then...
(E) = E L(E+F) = L(E) U L(F) L(EF) = L(E) L(F) L(E*) = L(E))*
Associative
(E+F) + G = E + (F+G) (EG)G = E(FG)
Precedence of Operators (Highest to Lowest)
* . +
Advantages and Caveats for NFA
- Great for modeling regular expressions i.e. string processing
Finite Automation (FA)
- Informally, a state diagram that comprehensively captures all possible states and transitions that a machines can take while responding to a stream or sequence of input symbols - Recognizer for "Regular Languages"
Equivalency of DFA, NFA, E-NFA
A language L is accepted by some E-NFA if and only if L is accepted by some DFA
Alphabet
Finite, non-empty Set of symbols Use sigma to denote an alphabet {0,1}
Correctness of subset construction
If D is the DFA constructed from NFA N by subset construction then L(D) = L(N)
Lemme
Intermediate result that we show to prove a larger result
Concatenation of two languages
L . M = all strings that are of the form xy LM is the same as L.M
Union of two languages
L U M= all strings that are either in L or M Note: a union of two languages produces a third language
Language of a DFA
accepts string w if there is path from q0 to an accepting (or final) state that is labeled by w
Language of an NFA
accepts w if there exists at least one path from the start state to an accepting (or final) state that is labeled by w
O*
epsilon
epsilon* =
epsilon
E? =
epsilon + E
01* + 1 =
(0. ((1)*) + 1
Language
Collection of sentences of finite length all constructed from a finite alphabet of symbols {000, 0100, 0010,...} said to be a language over alaphabet E, only if L subset E^*
Idempotent
E + E = E
Commutative
E + F = F + E
Identity
E + O = E eE = Ee = E
(E*)* =
E*
FA with E- Transitions
E-NFAs are those NFAs with at least one explicit and E-transition defined
E+ =
EE*
Theorem
Major result
Let L = {E}; Is L = Empty Language?
No
Annihilator
OE = EO = O
Regular Expressions
Offers a declarative way to express the pattern of any string we want to accept. More program syntax like ex: 01^* + 10^*
Strings
Or word is a finite sequence of symbols chosen from sigma. Empty is E or epsilon
A Deterministic Finite Automaton (DFA) and Non-Deterministic Fintie Automa (NFA) consists and is defined of
Q => a finite set of states sigma => a finite set of input symbols q0 => a start state F => set of accepting states epsilon => a transition function, which is mapping between Q x sigma ==>Q
Grammer
Regarded as a device that enumerates the sentences of a language. It is a finite list of rules defining a language. Ex: S->0A B->1B A->1A
The Chomsky Hierachy
Regular (DFA) ->Context Free (PDA) -> Context sensitive (LBA) -> Recursively enumerable (TM)
Corollary
Result that follows from an already proven result
Sentences
Strings of symbols 0,1,00,01,10,1
Automata Theory
Study of abstract computing devices, or "machines"
Equivalence of DFA and NFA
The language L is accepted by a DFA if and only if it is accepted by an NFA
Non-deterministic Finite Automata (NFA)
The machine can exist in multiple states at the same time
Deterministic Finite Automata (DFA)
The machine can exist in only one state at any given time
Theorems that show that finite automata and regular expressions are interchangeable
Theorem 1: For every DFA A there exists a regular expression R such that L(R) = L(A) Theorem 2: For every regular expression R there exists an e-NDA E such that L(E) = L(R)