- 46 Views
- Uploaded on
- Presentation posted in: General

Theory of Automata

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Theory of Automata

By: Fasee Ullah

MS(IT) from SZABIST~ Islamabad

4 International Publications

- Twentieth century has given the most incredible shocks and surprises e.g,
- The rise and fall of communism
- Nuclear war
- Television
- Moon walks
- Inherited engineering
- etc

- Due to these great novels
- Our development moved towards calculating device(s)
- In the 1930’s, A. Turing studied an “ abstract machine”
- That had all the capabilities of today’s machines(computers)

- His abstract machine to define the upper bound and lower bound,
- What could do and what couldn’t
- was beneficial for turning machine
- Also his conclusion is for today’s real machines
- In the 1940’s and 1950’s, a machine invented

- Studied by a number of researchers
- Currently called “Finite Automata”
- Proposed to model the brain function
- Also used for variety of other purposes
- In late 1950’s, the Linguist N. Chomsky
- Introduced new formal grammar
- Not defined for machines at that time

- Has close relationship to abstract automata
- Also important in development of software components and compilers
- In 1969’s, S. Cook extended the theory of Turing “what could solve and what couldn’t”
- S. Cook separated the solvable problems from those that can in principle be solved
- Latter class of problems called “intractable or NP-hard”

- Moore’s Law
- says that chip density doubles every eighteen months, This means that memory sizes, processor power increases,
- Number of transistors on a chip will double every year

- 400419712,250
- 800819722,500
- 808019745,000
- 8086197829,000
- 2861982120,000
- Intel386™ processor1985275,000
- Intel486™ processor19891,180,000
- Intel® Pentium® processor19933,100,000
- Intel® Pentium® II processor19977,500,000
- Intel® Pentium® III processor199924,000,000
- Intel® Pentium® 4 processor200042,000,000
- Intel® Itanium® processor2002220,000,000
- Intel® Itanium® 2 processor2003410,000,000

- Due to theoretical approaches, what computer scientists do today, e.g
- Finite Automata, formal grammars, turning machines etc
- Helps in design and construction of different softwares and what we can expect from our softwares

- The word “theory” shows to study abstraction of computing system
- In Abstraction, irrelevant complications dropped
- In order to isolate important concepts

- It is the plural of automaton, and it means “something that works automatically”
- Automata heavily used in compilers, text editors, circuits, AI etc
- Shows how simple operations performed with help of set theoretic operations on language

- It accepts input, produces output, may have some temporary storage and can make decisions in transforming the input into the output

- Study of mathematical models that describe with varying degrees of accuracy, parts of computers, types of mathematical computers and similar machines
- The term Automata Theory, therefore, is used to refer to the study of such ‘Machines’ whose boundaries of capabilities could be predefined.

- input: switch
- output: light bulb
- actions: flip switch
- states: on, off

SWITCH

BATTERY

SWITCH

BATTERY

- input: switch
- output: light bulb
- actions:f for “flip switch”
- states: on, off

f

on

start

off

f

- This was only one example of a computational device, and there are others
- We will look at different devices, and look at these kinds of questions:
- What kinds of problems can a given type of device solve?
- What things are impossible for this kind of device?
- Is one type of device more powerful than another?

finite automataDevices with a finite amount of memory.Used to model “small” computers.

push-down automataDevices with infinite memory that can be accessed in a restricted way.

Used to model parsers, etc.

Turing MachinesDevices with infinite memory.

Used to model any computer.

time-bounded Turing MachinesInfinite memory, but bounded running time.Used to model any computer program that runs in a “reasonable” amount of time.

There are two types of languages

- Formal Languages (Syntactic languages)
- Informal Languages (Semantic languages)

- It is an abstraction of the general characteristics of programming languages
- It consists of a set of symbols and some rules of formation of sentences
- Sentences are formed by grouping the symbols

- A formal language is the set of all strings permitted by the rules of formation
- Study of formal languages is very useful in learning about the different programming languages

- Three basic concepts
- Alphabet --- a set of symbols
- Strings --- a list of symbols from an alphabet
- Language--- a set of strings from the same alphabet

- Alphabets
- An ALPHABET is a nonempty set of symbols
- It is denoted by S
- Example:
S = {a,b}

where a and b are symbols

- Strings are constructed from the individual symbols
- Strings are finite sequences of symbols from the alphabet
- Example : aabba, ababaaa, abbbaaa, etc are the strings formed by t he symbols of the alphabet

Assumptions

- Lower case letters a,b,c,… are used for elements of the alphabet
- Lower case letters u,v,w,… for string names eg w=aabbaba
- This indicates that w is a string having specific value aabbaba

Concatenation of the strings

- Two strings are concatenated by appending the symbols of one string to the end of the other string
- Example u=aaabbb
v=abbabba

Concatenated string uv=aaabbbabbabba

- The reverse of a string is obtained by writing the symbols in reverse order.
- Example
wR = anan-1an-2……………a0

Where w=a0a1a2……………an

- The length of the string is the number of symbols in the string
- |w| = 5 if w = aabaa
- Empty String has no symbols and is denoted by l
- |l| = 0

- S is an alphabet
- S* is the set of allstrings obtained by concatenating zero or more symbols fromS
- S ={a,b,c}
- S*={e, a,b,c,aa,ab,ac,ba,bb,bc,ca,cb,cc,aaa,…}

- S+ is the set of allstrings obtained by concatenating one or more symbols
- S ={y}
- S+ ={y,yy,yyy,yyyy,…}

- A set of strings of characters from alphabet
Grammar

- Set of rules defining a language
- Enable us to decide in a finite time
- Given string of alphabet is or isn’t in the language.