0% found this document useful (0 votes)
81 views34 pages

Chapter 1 Introd. To Automata

This document provides an outline and overview of key concepts from the first chapter of an automata theory textbook. It introduces why automata theory is studied, different types of proofs, and the central concepts of alphabets, strings, and languages. Alphabets are finite sets of symbols. Strings are finite sequences of symbols from an alphabet. Languages are sets of strings over a common alphabet. The chapter defines these concepts and provides examples to illustrate them.

Uploaded by

aishaumair
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views34 pages

Chapter 1 Introd. To Automata

This document provides an outline and overview of key concepts from the first chapter of an automata theory textbook. It introduces why automata theory is studied, different types of proofs, and the central concepts of alphabets, strings, and languages. Alphabets are finite sets of symbols. Strings are finite sequences of symbols from an alphabet. Languages are sets of strings over a common alphabet. The chapter defines these concepts and provides examples to illustrate them.

Uploaded by

aishaumair
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 34

1

Chapter 1 Automata: the


Methods & the Madness
Angkor Wat,
Cambodia
Chapter 1 - 2
Outline
1.1 Why Study Automata Theory?
1.2 Introduction to Formal Proof
1.3 Additional Forms of Proof
1.4 Inductive Proofs
1.5 Central Concepts of Automata
Theory

Chapter 1 - 3
1.1 Why Study Automata Theory?
1.1.1 Introduction to Automata
Properties of finite-state systems
Having a finite number of states
Entire history cannot be remembered.
Good to implement with a fixed set of resources
Can be modeled by finite automata (FA)
Chapter 1 - 4
1.1 Why Study Automata Theory?
Example 1.1 --- an FA modeling an on/off switch



Example 1.2 --- an FA modeling recognition of the
keyword then in a lexical analyzer



The double circles specify the final or accepting state.
start
t
t

h
th

e
the

n
then

off

start on

push
push
Chapter 1 - 5
1.1 Why Study Automata Theory?
1.1.2 Structural Representation
Two other models (not automaton-like)
Grammar --- processing data with a recursive
structure
E.g., grammatical rule E E + E for generating
arithmetic expressions
Regular expression --- describing text strings
E.g., UNIX-style regular expression
[A-Z][a-z]*[ ][A-Z][A-Z] describes Ithaca NY,
Lafayette IN
Chapter 1 - 6
1.1 Why Study Automata Theory?
1.1.3 Automata and Complexity
What can a computer do? ---
Computability:
Studying problems which can be solved by
computer, called decidable problems.
Decidability is the main topic in computability.
Chapter 1 - 7
1.1 Why Study Automata Theory?
1.1.3 Automata and Complexity
What can a computer do efficiently? ---
Computational Complexity:
Studying tractable problems solvable with some
slowly growing function (like polynomial) of input
size, & intractable problems solvable with fast
growing function (like exponential).
Intractability is the main topic of computational
complexity.
Chapter 1 - 8
1.2 Introduction to Formal
Proof
1.2.0 Concepts ---
Formal proof techniques are indispensable
for proving theorems in theory of
computation.

Understanding workings of correct
programs is equivalent to proving theorems
by induction.
Chapter 1 - 9
1.2 Introduction to Formal
Proof
1.2.1 Deductive Proofs ()

Given facts (e.g. axioms), previous statements

Hypothesis deduced statements conclusion

Logic principles

Logic principles: modus ponens (
), syllogism ()

1.2.2~1.2.4 --- read by yourself
Chapter 1 - 10
1.2 Introduction to Formal
Proof
Modus ponens (
)
An example:
If it rains, the sidewalk will be wet.
It rains now.
So the sidewalk is wet.
Syllogism () (supplemental)
An example:
All humans will die.
Socrates is a human.
So, Socrates will die.
Chapter 1 - 11
1.3 Additional Forms of Proof
1.3.0 Some more proof techniques ---
Proofs about sets
Proofs by contradiction
Proofs by counterexamples

1.3.1~1.3.4 --- read by yourself
Chapter 1 - 12
1.4 Inductive Proofs ( )
1.4.1 Induction on Integers
To prove a statement S(n) about an integer n
by induction, we do:

Basis --- show S(i) true for a particular basis
integer i (0 or 1 usually)

Inductive step --- assume n > i (basis integer),
show that the statement if S(n), then S(n + 1)
is true.

1.4.2~1.4.4 --- read by yourself
Chapter 1 - 13
1.5 Central Concepts of
Automata Theory
1.5.0 Three basic concepts

Alphabet --- a set of symbols
Strings --- a sequence of symbols from an
alphabet
Language --- a set of strings from the same
alphabet
Chapter 1 - 14
1.5 Central Concepts of
Automata Theory
1.5.1 Alphabets
Definition ---
An alphabet is a finite, nonempty set
of symbols.

Conventional notation --- E
Chapter 1 - 15
1.5 Central Concepts of
Automata Theory
1.5.1 Alphabets
The term symbol is usually undefined.
Examples ---
Binary alphabet E = {0, 1}.
E = {a, b, , z}
Chapter 1 - 16
1.5 Central Concepts of
Automata Theory
1.5.2 Strings
Definition ---
A string (or word) is a finite sequence of
symbols from an alphabet.

Example ---
1011 is a string from alphabet E = {0, 1}

Chapter 1 - 17
1.5 Central Concepts of
Automata Theory
1.5.2 Strings
Empty string c --- a string with zero
occurrences of symbols
Length |w| of string w --- the number of
positions for symbols in w
Examples --- |0111|=4, |c|=0,
Chapter 1 - 18
1.5 Central Concepts of
Automata Theory
1.5.2 Strings
Power of an alphabet E
k
---
a set of all strings of length k
Examples ---
given E

= {0, 1}, we have
E
0
= {c}, E
2
= {00, 01, 10, 11}
Supplemental --- 1
0
= c, (01)
0
= c,
Chapter 1 - 19
1.5 Central Concepts of
Automata Theory
1.5.2 Strings
Set of all strings over E --- denoted as E
-

It is not difficult to know that
E
-
= E
0
E
1
E
2

Chapter 1 - 20
1.5 Central Concepts of
Automata Theory
1.5.2 Strings
E
+
= set of nonempty strings from E
= E
-
{c}
Therefore, we have
E
+
= E
1
E
2
E
3



E
-
= E
+
{c}

Chapter 1 - 21
1.5 Central Concepts of
Automata Theory
1.5.2 Strings
Concatenation of two strings x and y --- xy
Example ---
if x = 01101, y = 110, then
xy = 01101110, xx = x
2
= 0110101101,
c is the identity for concatenation
since cw = wc = w.
Chapter 1 - 22
1.5 Central Concepts of
Automata Theory
1.5.2 Strings (supplemental)
Power of a string ---
Defined by concatenation ---
x
i
= xxx (x concatenated i times)
Defined by recursion ---
x
0
= c (by definition)
x
i
= xx
i-1
Chapter 1 - 23
1.5 Central Concepts of
Automata Theory
1.5.3 Languages
Definition ---
a language is a set of strings all chosen
from some E
*

If E is an alphabet, and L_E
*
, then L is a
language over E.
Chapter 1 - 24
1.5 Central Concepts of
Automata Theory
1.5.3 Languages

Examples ---
The set of all legal English words is a
language. Why? What is the alphabet here?
Answer: the set of all letters

A legal program of C is a language. Why?
What is the alphabet here?
Answer: a subset of the ASCII characters.
Chapter 1 - 25
1.5 Central Concepts of
Automata Theory
1.5.3 Languages
More examples of languages ---
The set of all strings of n 0s followed by n 1s
for n> 0:
{c, 01, 0011, 000111, }

E
*
is an infinite language for any alphabet E.
Chapter 1 - 26
1.5 Central Concepts of
Automata Theory
1.5.3 Languages
More examples of languages (contd) ---
| = the empty language (not the empty string c)
is a language over any alphabet.

{c} is a language over any alphabet (consisting
of only one string, the empty string c).
Chapter 1 - 27
1.5 Central Concepts of
Automata Theory
1.5.3 Languages
Ways to describe languages (1/3) ---
Description by exhaustive listing ---
L1 = {a, ab, abc} (finite language; listed one by one)
L2 = {a, ab, abb, abbb, ...} (infinite language; listed
partially)
L3 = L(ab*) (infinite language; expressed by a regular
expression)
Chapter 1 - 28
1.5 Central Concepts of
Automata Theory
1.5.3 Languages
Ways to define languages (2/3) ---
Description by generic elements ---
L4 = {x | x is over V = {a, b}, begins with a,
followed by any number of b, possible none}
(note: L4 = L3 = L2)
Chapter 1 - 29
1.5 Central Concepts of
Automata Theory
1.5.3 Languages
Ways to define languages (3/3) ---
Description by integer parameters ---
L5 = {ab
n
| n > 0}
(note: L5 = L4 = L3 = L2)
*** b
n
= power of a symbol

Chapter 1 - 30
1.5 Central Concepts of
Automata Theory
1.5.3a Operations on Languages (supplemental)(1/2)
Languages are sets, and operations of sets may be
applied to them:
(1) union --- AB = {a | a e A or a e B}
(2) intersection --- AB = {a | a e A and a eB}
(3) difference --- A B = {a | a e A and a e B}
A
Chapter 1 - 31
1.5 Central Concepts of
Automata Theory
1.5.3a Operations on Languages (supplemental)(2/2)
Languages are sets, and operations of sets may be
applied to them:
(4) product --- A B = {(a, b) | a e A and b e B}
(5) complement --- = {a | a e U and a e A}
(6) power set --- 2
A
= {B | B c A}
Note: U is the universal set, like E
-
which is the closure of an
alphabet
A
Chapter 1 - 32
1.5 Central Concepts of
Automata Theory
1.5.3b More Operations on Languages
(supplemental)(1/2)
Concatenation of two languages L
1
and L
2
---
L
1
L
2
= {x
1
x
2
| x
1
e L
1
and x
2
e L
2
}
Power of a language L ---
Defined directly ---
L
k
= {x
1
x
2
x
k
| x
1
, x
2
, , x
k
e L}
Defined by recursion ---
L
0
= {c}
L
i
= LL
i-1
A
Chapter 1 - 33
1.5 Central Concepts of
Automata Theory
1.5.3b More Operations on Languages
(supplemental)(2/2)
Closure of language L ---
L
*
= = L
0
L
1
L
2

Positive closure of a language L ---
L
+
= L
-
L
0
= L
-
{c}
A
0
i
i
L

=
Chapter 1 - 34
1.5 Central Concepts of
Automata Theory
1.5.4 Problems
A problem in automata theory ---
a question of deciding whether a given string is
a member of some particular language.

That is, if E is an alphabet, and L is a
language over E, the problem L is:

given a string w in E
*
, decide if w e L or not.

You might also like