AUTOMATA THEORY Reference Introduction to Automata Theory Languages

  • Slides: 19
Download presentation
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani

AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani

Automata Theory Automata theory is the abstract computing device or machine. Finite automata involves

Automata Theory Automata theory is the abstract computing device or machine. Finite automata involves states and transitions among states in response to inputs. Finites automata are a useful model for many important kinds of h/w and s/w.

Why Study Automata Theory? § There are several reasons why the study of automata

Why Study Automata Theory? § There are several reasons why the study of automata and complexity is an important part of the core of Computer science.

Why Study Automata Theory? Some of the most important kinds : 1. Software for

Why Study Automata Theory? Some of the most important kinds : 1. Software for designing and checking the behavior of digital circuits. 2. The “lexical analyzer” of a typical compiler, that is, the compiler component that breaks the input text into logical units, such as identifiers, keywords and punctuations.

Why Study Automata Theory? 3. Software for scanning large bodies of text, such as

Why Study Automata Theory? 3. Software for scanning large bodies of text, such as collections of web pages, to find occurrences of words, phrases, or other patterns. 4. Software for verifying systems of all types that have a finite number of distinct states, such as communications protocols or protocols for secure exchange of information.

A finite automata modeling on/off switch push start off push o n The devices

A finite automata modeling on/off switch push start off push o n The devices remember whether it is in the “on” state or “off” state and it allows the user to press a button whose effect is different.

A finite automata modeling on/off switch ØThe states are represented by circles, In this

A finite automata modeling on/off switch ØThe states are represented by circles, In this example two states “on” and “off”. ØOne of the states is designated by the start states. ØIt is often necessary to indicate one or more states as “final” or “accepting” states.

A finite Automation modeling recognition of then start t t h th e the

A finite Automation modeling recognition of then start t t h th e the n then This figure shows finite automation that could be part of a lexical analyzer. The job of this automation is to recognize the keyword then.

Introduction to Finite Automata Ø A finite Automation has a set of states and

Introduction to Finite Automata Ø A finite Automation has a set of states and its control moves from one state to another in response to external inputs. Ø One of the crucial distinction among classes of finite automata is whether that control is “deterministic” meaning that the automation cannot be in more than one state at one time or “nondeterministic” meaning that it may be in several states at one.

Automata and Complexity ØWhat can a computer do? --Ø Computability: ØStudying problems which can

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.

Automata and Complexity Ø What can a computer do efficiently? --Ø Computational Complexity: Complexity

Automata and Complexity Ø What can a computer do efficiently? --Ø Computational Complexity: 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.

Central Concepts of Automata Theory ØThree basic concepts ØAlphabet --- a set of symbols

Central Concepts of Automata Theory Ø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

Central Concepts of Automata Theory ØAlphabets : Ø finite, nonempty set of symbols. Ø

Central Concepts of Automata Theory ØAlphabets : Ø finite, nonempty set of symbols. Ø Conventional notation --- S Ø Ex: 1. ∑ = {0, 1} the binary alphabet, Ø 2. ∑ = {a, b, c, . . . z} Ø 3. The set of all ASCII characters

Contd. ØStrings: Ø finite sequences of symbols chosen from some alphabet Ø Ex: 01101

Contd. ØStrings: Ø finite sequences of symbols chosen from some alphabet Ø Ex: 01101 is string from the binary alphabet ∑ = {0, 1}. ØEmpty string e --- a string with zero occurrences of symbols ØLength |w| of string w --- the number of positions for symbols in w ØExamples --- |0111|=4, |e|=0, …

Central Concepts of Automata Theory Powers of an Alphabets: ∑º={€} ∑ 1={0, 1} ∑

Central Concepts of Automata Theory Powers of an Alphabets: ∑º={€} ∑ 1={0, 1} ∑ 2={00, 01, 10, 11} ∑ 3={000, 001, 010, 011, 100, 101, 110, 111}

Central Concepts of Automata Theory Language: A language is set of strings all of

Central Concepts of Automata Theory Language: A language is set of strings all of which chosen from ∑*. Example: 1. The language of all strings consisting of n 0’s followed by n 1’s: {€, 01, 0011, 000111, …. . }

Central Concepts of Automata Theory 2. The set of strings of 0’s and 1’s

Central Concepts of Automata Theory 2. The set of strings of 0’s and 1’s with an equal number each: {€, 01, 10, 0011, 0101, 1001…. . } 3. The set of binary number whose value is prime: {10, 11, 101, 111, 1011, …. . }

Central Concepts of Automata Theory Problem: In automata theory, a problem is the question

Central Concepts of Automata Theory Problem: In automata theory, a problem is the question of deciding whether a given string is a member of some particular language.

 End of Class

End of Class