Finite Automata & Regular Expressions, Chapter 2: Finite Automata, Finite Automata
Associativity of union
((R | S) | T) ≡ (R | (S | T))
Associativity of concatenation
((RS)T) ≡ (R(ST))
Right distributivity of concatenation over union
((S | T)R) ≡ ((SR | TR))
Right distributive law
(M + N) L = LM + LN
Commutativity of union.
(R | S) ≡ (S | R)
Left distributivity of concatenation over union
(R(S | T)) ≡ ((RS | RT))
DFA, NFA
___ is an ___. (DFA/NFA)
∅
a Regular Expression denoting an empty set of strings. (L (∅) = { })
ε
a Regular Expression that indicates the language containing an empty string. (L (ε) = {ε}) ≡ ∅* ≡ ε*
x
a Regular Expression where L={x} = {x}
String
a finite sequence of symbols taken from ∑.
Q
a finite set of states.
∑
a finite set of symbols, called the alphabet of the automaton.
q₀
the initial state from where any input is processed (q₀ ∈ Q).
Length of a String
the number of symbols present in a string. (Denoted by |S|).
δ
the transition function.
one
If a dead-state is required, only ___ is needed.
Length of the string
Is the number of positions for symbols in the string.
Left distributive law
L (M + N) = LM + LN
Union ( | )
L(R | S) = L(R) ∪ L(S). Identity: R ε = ε R = R Annihilator: ∅ L = L ∅ = ∅
(LR)*L =
L(RL)*
Concatenation
L(RS) Identity: R + ∅ = ∅ + R = R
reflexive, transitive
List two properties of the empty closure.
Automata Theory
Models of computation. Seeking a precise but concise definition of a computer. Asks "What is a computer?"
Idempotent law
R | R ≡ R
Orthogonal
Related to right angles
Computability Theory
What can and cannot a computer do? Computationally unsolvable vs solvable. Determining the truthfulness of a mathematical statement via computer algorithms. Asks "What can a computer do?"
Alphabet
any finite set of symbols.
(a + b)*
= (a*b*)* = (a* + b*)* = (a + b*)* = a*(ba*)*
Alphabet Σ
A finite and nonempty set of symbols. For example Σ={0,1} and Σ = {a,b,...,z}.
String
A finite sequence of symbols chosen from some alphabet.
Transition function
A function which takes as input the current state and most recent symbol. Determines which state to jump to next.
Set
A group of objects represented as a unit. May contain any type of object, including numbers, symbols, or even other sets.
DFA
A language model that allows exactly one transition from each state for each symbol.
NFA
A language model that allows exactly zero or more transition from each state for each symbol.
Automaton
A mathematical object that takes a word as input and decides to either accept or reject it. Essentially a finite collection of states and the functions needed to jump between those state.
Language
A set of strings. There can be rules that define what constitute legal strings for the set.
Multiset
A set which takes into account the number of occurrences of its members.
dead-end state
A state in which there is no path to any accepting state.
rejecting state
A state that is not accepting.
Empty String
A string with zero occurrences of symbols. Is a substring of any string.
Substring
A string x that appears consecutively within a larger string, w.
Infinite input automata
An automaton that accepts infinite words ( aka. strings of indefinite length).
Finite input automata
An automaton that accepts only finite sequences of symbols.
Finite state automata
An automaton that contains only a finite number of states.
Pushdown automata
An automaton that employs a stack.
Infinite state automata
An automaton that may not have a finite number of states, or even a countable number of states.
Non-deterministic automata
An automaton that, after reading an input symbol, may jump into any one of a number of state, as licensed by its transition relation.
Deterministic automata
For a given current state and an input symbol, the automaton can only jump to one and only one state
Star
For a language A, this is the set of all strings in a language that are legally valid. This should be infinite unless A = {ε} or A equals nothing.
Concatenation
For two languages A and B, this is the set of all items 'xy' where x is in A and y is in B.
Union
For two languages A and B, this is the set of all items which belong to either set. "Combine two sets A and B."
Alternation
Similar to tree automaton, but orthogonal in nature. The automaton may run its multiple copies on the same next-read symbol. Acceptance condition must satisfy all runs of such copies to accept the input.
Tree word input automata
The input may be a tree of symbols instead of a sequence of symbols.
Inifinite tree input automata
The input may be a tree with an infinite number of branches.
Language recognized by the automaton
The set of all strings/words accepted by an automaton
Kleene Star
The set ∑* is the infinite set of all possible strings of all possible lengths over ∑ including λ. ≡ R*R* ≡ (R*)* ≡ ε + RR* ≡ ε + R*R
Kleene Closure/Plus
The set ∑+ is the infinite set of all possible strings of all possible lengths over ∑ excluding λ. ≡ RR* ≡ R*R ≡ (RR* | ε)
True
The start state of the equivalent language models DFA M and NFA N is the same. (True/False)
subsets
The states of DFA M are _______ of the states of NFA N.
equivalent
Two language models are ________ if the set of languages they accept are equal.
Transition
Typically represented in figures by arrows. As the automaton sees a symbol of input, it does this and 'jumps' to another state according to some function.
State
Typically represented in figures by circles. This is what the automaton consists of.
Complexity Theory
What can a computer do efficiently? Computationally hard vs. easy. Which problems need be especially complex, such as cryptography. Asks "What can a computer do well?"
F
a set of final state/states of Q (F ⊆ Q).
Omega language
a set of infinite words
Pattern
a set of objects with some recognizable property
Infinite word
a string of infinite length
Language
a subset of ∑* for some alphabet ∑. It can be finite or infinite.