Finite Automata Theory and Formal Languages: Lec01: Introduction
Finite Automata Theory and Formal Languages: Lec01: Introduction
Lec01: Introduction
Humera Azam | Introduction 1
Textbook:
• Introduction To Computer Theory
Daniel I. A. Cohen
Welcome to BSSE-413
I. Theory of Automata
II. Theory of Context-Free Languages
III. Theory of Turing Machines
Some Important Questions to Ask
Basic questions
What do theoretical models of a computer look like?
What can we compute and what can’t we compute
with today’s computers as well as computers of the
future?
Why?
We study some precise answers.
In particular, we formulate precise questions with
mathematical statements and rigorous proofs.
Course Objectives
The major objective of this course is to introduce the student to the concepts of
theory of computation in computer science. The student should acquire insights
into the relationship among formal languages, formal grammars, and automata.
Upon successful completion of this course, students will be able to:
Apply a number of proof techniques to theorems in language design.
Develop a clear understanding of un-decidability.
Understand the equivalence between Nondeterministic Finite State
Automata and Deterministic Finite State Automata.
Understand the equivalence between Context-Free Grammars and
Nondeterministic Pushdown Automata.
Appreciate the power of the Turing Machine, as an abstract automaton, that
describes computation, effectively and efficiently .
finite automata Devices with a finite amount of memory.
Used to model “small” computers.
10
Automata Theory :
Alternate form:
L1 : = { xn for n = 1, 2, 3, ………………}
String Operations:
Concatenation: The concatenation of two strings is the
string resulting from putting them together from left to
right.
• reverse(xxx)=xxx
• reverse(157)=751
PALINDROME:
• Σ={a, b}
• PALINDROME:={Λ and x|reverse(x) = x}
The + Operation:(Positive Closure)
: or S+ the set of all possible strings from alphabet except
a, b
* , a, b, aa, ab, ba, bb, aaa, aab,
*
a, b, aa, ab, ba, bb, aaa, aab,
Even and odd numbers
Alphabet
{ 0,1,2, ,9}
Languages:
EVEN { 0,2,4,6, }
ODD {1,3,5,7, }
The * Operation(Kleene Closure)
Given an alphabet S , the closure of S (or Kleene star), denoted S *, is the language
containing all words made up of finite sequences of letters from S , including the
empty string S .