360 likes | 590 Views
Theory of Automata. By: Fasee Ullah MS(IT) from SZABIST~ Islamabad 4 International Publications. Background. 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 .
E N D
Theory of Automata By: Fasee Ullah MS(IT) from SZABIST~ Islamabad 4 International Publications
Background • 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
Background • 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)
Background • 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
Background • 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
Background • 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”
Background • 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
Year of IntroductionTransistors • 4004 1971 2,250 • 8008 1972 2,500 • 8080 1974 5,000 • 8086 1978 29,000 • 286 1982 120,000 • Intel386™ processor 1985 275,000 • Intel486™ processor 1989 1,180,000 • Intel® Pentium® processor 1993 3,100,000 • Intel® Pentium® II processor 1997 7,500,000 • Intel® Pentium® III processor 1999 24,000,000 • Intel® Pentium® 4 processor 2000 42,000,000 • Intel® Itanium® processor 2002 220,000,000 • Intel® Itanium® 2 processor 2003 410,000,000
Background • 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
What is theory? • The word “theory” shows to study abstraction of computing system • In Abstraction, irrelevant complications dropped • In order to isolate important concepts
What does automata mean? • 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
Automaton • It accepts input, produces output, may have some temporary storage and can make decisions in transforming the input into the output
What is Automata Theory? • 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.
A simple computer • input: switch • output: light bulb • actions: flip switch • states: on, off SWITCH BATTERY
SWITCH BATTERY A simple “computer” • input: switch • output: light bulb • actions:f for “flip switch” • states: on, off f on start off f
Different kinds of automata • 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?
Some devices finite automata Devices with a finite amount of memory.Used to model “small” computers. push-down automata Devices with infinite memory that can be accessed in a restricted way. Used to model parsers, etc. Turing Machines Devices with infinite memory. Used to model any computer. time-bounded Turing Machines Infinite memory, but bounded running time.Used to model any computer program that runs in a “reasonable” amount of time.
Introduction to languages There are two types of languages • Formal Languages (Syntactic languages) • Informal Languages (Semantic languages)
Formal Language • 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
Formal Language • 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
Central Concepts of Automata Theory • 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
Central Concepts of Automata Theory • Alphabets • An ALPHABET is a nonempty set of symbols • It is denoted by S • Example: S = {a,b} where a and b are symbols
Central Concepts of Automata Theory • 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
Central Concepts of Automata Theory 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
Central Concepts of Automata Theory 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
Reverse of the string • The reverse of a string is obtained by writing the symbols in reverse order. • Example wR = anan-1an-2……………a0 Where w=a0a1a2……………an
Length of the string • 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+andS* • 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+ • S+ is the set of allstrings obtained by concatenating one or more symbols • S ={y} • S+ ={y,yy,yyy,yyyy,…}
Language • 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.