1.1 FINITE AUTOMATA (endanleg stöðuvél) Flashcards
What is finite automata good for ?
They are good models for computers with extremely limited amount of memory
What are finite automata and their probabilistic counterpart Markov chains useful for?
Attempting to recognize patterns in data.
What is a state diagram ?
It has a start state indicated by an arrow pointing from nowhere, an accept state with a double circle and the arrows going from one state to another are called transitions
The output of finite automata ?
accept or reject
The formal definition says that a finite automaton is a list of those five objects:
set of states, input alphabet, rules for moving, start state, and accept states.
In mathematical language, a list of five elements is often called
a 5-tuple.
A finite automaton is a 5-tuple (Q, Σ, δ, q0, F ), where
- Q is a finite set called the states,
- Σ is a finite set called the alphabet,
- δ : Q × Σ−→ Q is the transition function, 4. q0 ∈ Q is the start state, and
- F ⊆ Q is the set of accept states.
If A is the set of all strings that machine M accepts, we say
that A is the language of machine M and write L(M ) = A.
We say that M recognises A or that M accepts A.
A machine may accept several strings, but it always recognizes only one language. If the machine accepts no strings, it still recognizes one language
the empty language ∅.
A language is called a regular language if some finite automaton recognizes it.
We define three operations on languages, called the regular operations, and use them to study properties of the regular languages.
They are union, concatenation, and star
Union
A∪B={x|x∈A or x∈B}.
It simply takes all the strings in both A and B and lumps them together into one language.
Concatenation
A◦B={xy|x∈A and y∈B}.
It attaches a string from A in front of a string from B in all possible ways to get the strings in the new language.
Star
A∗ ={x1x2…xk|k≥0 and each xi ∈A}.
The star operation is a bit different from the other two because it applies to a single language rather than to two different languages. That is, the star oper- ation is a unary operation instead of a binary operation. It works by attaching any number of strings in A together to get a string in the new language. Because “any number” includes 0 as a possibility, the empty string ε is always a member
of A∗, no matter what A is.
When we say that N is closed under multiplication, we mean
that for any x and y in N, the product x × y also is in N.