+ All Categories
Home > Education > INTRODUCTION ABOUT " THEORY OF AUTOMATA "

INTRODUCTION ABOUT " THEORY OF AUTOMATA "

Date post: 22-Feb-2017
Category:
Upload: muhammad-huzaifa-chaudhary
View: 7 times
Download: 2 times
Share this document with a friend
24
Theory of Automata INTRODUCTION Zainab Yousuf Department of CS NUML, Islamabad [email protected]
Transcript
Page 1: INTRODUCTION ABOUT " THEORY OF AUTOMATA "

Theory of AutomataINTRODUCTION

Zainab YousufDepartment of CSNUML, Islamabad

[email protected]

Page 2: INTRODUCTION ABOUT " THEORY OF AUTOMATA "

Course Intro• Course Instructor

Zainab YousufContact:

[email protected]

• 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 "

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 "

Course Intro

• Book

Page 5: INTRODUCTION ABOUT " THEORY OF AUTOMATA "

What is Automata Theory?

Page 6: INTRODUCTION ABOUT " THEORY OF AUTOMATA "

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 "

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 "

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 "

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 "

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 "

The Central Concepts of Automata Theory?

Page 12: INTRODUCTION ABOUT " THEORY OF AUTOMATA "

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 "

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 "

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 "

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 "

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 "
Page 18: INTRODUCTION ABOUT " THEORY OF AUTOMATA "

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 "

Action

State

Page 20: INTRODUCTION ABOUT " THEORY OF AUTOMATA "

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 "

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 "

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 "

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 "

Recommended