introduction about " theory of automata "
TRANSCRIPT
![Page 2: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/2.jpg)
Course Intro• Course Instructor
Zainab YousufContact:
• Office HoursMonday, Tuesday, Wednesday, Thursday: 8:00 am to 1:00 pmFriday: 8:00 am to 12:00 pm
![Page 3: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/3.jpg)
Course Intro• Pre-requisite • Elementary set theory, relations, mappings, and some abstract
algebra is sufficient
• Course Ressources• Lectures slides, assignments (computer/written), solutions to
problems, research papers, projects.
![Page 4: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/4.jpg)
Course Intro
• Book
![Page 5: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/5.jpg)
What is Automata Theory?
![Page 6: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/6.jpg)
What is Automata Theory?
• The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting“.• A moving mechanical device made in imitation of a human
being.
![Page 7: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/7.jpg)
What is Automata Theory?
• Study of abstract computing devices, or “machines”• Automaton = an abstract computing device
A “device” need not even be a physical hardware!• A fundamental question in computer science: • Find out what different models of machines can do and cannot do• The theory of computation
• Computability vs. Complexity
![Page 8: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/8.jpg)
Alan Turing (1912-1954)
• Father of Modern Computer Science• English mathematician• Studied abstract machines called Turing machines even
before computers existed• Heard of the Turing test?
![Page 9: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/9.jpg)
Languages & Grammars
• Languages: “A language is a collection of sentences of finite length all constructed from a finite alphabet of symbols”• Grammars: “A grammar can be regarded
as a device that enumerates the sentences of a language” - nothing more, nothing less
• N. Chomsky, Information and Control, Vol 2, 1959
![Page 10: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/10.jpg)
The Chomsky Hierachy
• A containment hierarchy of classes of formal languages
Recursively-enumerable
Context sensitive
Context free
Regular DFA
![Page 11: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/11.jpg)
The Central Concepts of Automata Theory?
![Page 12: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/12.jpg)
AlphabetAn alphabet is a finite, non-empty set of symbols• We use the symbol ∑ (sigma) to denote an alphabet• Examples:• Binary: ∑ = {0,1} • All lower case letters: ∑ = {a,b,c,..z}• Alphanumeric: ∑ = {a-z, A-Z, 0-9}• DNA molecule letters: ∑ = {a,c,g,t}• …
![Page 13: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/13.jpg)
Strings
A string or word is a finite sequence of symbols chosen from ∑• Empty string is (or “epsilon”)
• Length of a string w, denoted by “|w|”, is equal to the number of (non- ) characters in the string• E.g., x = 010100 |x| = 6• x = 01 0 1 00 |x| = ?
• xy = concatentation of two strings x and y
![Page 14: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/14.jpg)
Powers of an alphabet
Let ∑ be an alphabet.
• ∑k = the set of all strings of length k
• ∑* = ∑0 U ∑1 U ∑2 U …
• ∑+ = ∑1 U ∑2 U ∑3 U …
![Page 15: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/15.jpg)
Languages
L is a said to be a language over alphabet ∑, only if L ∑* this is because ∑* is the set of all strings (of all possible length including 0)
over the given alphabet ∑Examples:
1. Let L be the language of all strings consisting of n 0’s followed by n 1’s: L = {, 01, 0011, 000111,…}
2. Let L be the language of all strings of with equal number of 0’s and 1’s: L = {, 01, 10, 0011, 1100, 0101, 1010, 1001,…}
Definition: Ø denotes the Empty language• Let L = {}; Is L=Ø?
![Page 16: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/16.jpg)
The Membership Problem
Given a string w ∑*and a language L over ∑, decide whether or not w L.
Example:Let w = 100011Q) Is w the language of strings with equal number of 0s and 1s?
![Page 17: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/17.jpg)
![Page 18: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/18.jpg)
Finite Automata
• Finite automata are finite collections of states with transition rules that take you from one state to another.• Finite automata have finite state space with finite
alphabets(symbols).• For a finite automata we have: MDFA = {S,∑ ,δ ,S0 , F}• Original application was sequential switching circuits, where
the “state” was the settings of internal bits.
![Page 19: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/19.jpg)
Action
State
![Page 20: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/20.jpg)
Representing Finite Automata
• Initial State• Dead state • Final state• Arcs indicate state transitions.• Labels on arcs tell what causes the transition
![Page 21: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/21.jpg)
Deterministic Finite Automata
• A Deterministic Finite Automaton (DFA) consists of:• Q ==> a finite set of states• ∑ ==> a finite set of input symbols (alphabet)• q0 ==> a start state• F ==> set of accepting states• δ ==> a transition function, which is a mapping between Q x ∑
==> Q• A DFA is defined by the 5-tuple: • {Q, ∑ , q0,F, δ }
![Page 22: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/22.jpg)
Example: DFA
• Build a DFA for the following language:• L = {w | w is a binary string that contains 01 as a substring}
• Steps for building a DFA to recognize L:• ∑ = {0,1}• Decide on the states: Q• Designate start state and final state(s)• δ: Decide on the transitions:
• “Final” states == same as “accepting states”• Other states == same as “non-accepting states”
![Page 23: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/23.jpg)
DFA for strings containing 01
• Q = {q0,q1,q2}• ∑ = {0,1}• start state = q0
• F = {q2} • Transition table
![Page 24: INTRODUCTION ABOUT " THEORY OF AUTOMATA "](https://reader035.vdocument.in/reader035/viewer/2022062821/58acf5341a28abca0c8b4fb1/html5/thumbnails/24.jpg)