Você está na página 1de 31

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
2

Background

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

Background

His abstract machine to define the upper bound and lower bound, What could do and what couldnt was beneficial for turning machine Also his conclusion is for todays real machines In the 1940s and 1950s, a machine invented
4

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 1950s, the Linguist N. Chomsky Introduced new formal grammar Not defined for machines at that time
5

Background

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

Background

Moores 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 Introduction Transistors


4004 8008 8080 8086 286 Intel386 processor Intel486 processor Intel Pentium processor Intel Pentium II processor Intel Pentium III processor Intel Pentium 4 processor Intel Itanium processor Intel Itanium 2 processor

1971 1972 1974 1978 1982 1985 1989 1993 1997 1999 2000 2002 2003

2,250 2,500 5,000 29,000 120,000 275,000 1,180,000 3,100,000 7,500,000 24,000,000 42,000,000 220,000,000 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
10

What is theory?

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

11

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
12

Automaton

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

13

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.

14

A simple computer

BATTERY

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

A simple computer
f

start
BATTERY

off
f

on

input: switch output: light bulb actions: f for flip switch states: on, off
16

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?
17

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.

18

Introduction to languages
There are two types of languages

Formal Languages (Syntactic languages)


Informal Languages (Semantic languages)

19

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

20

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

21

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

22

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
23

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
24

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
25

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
26

Reverse of the string

The reverse of a string is obtained by writing the symbols in reverse order.


Example wR = anan-1an-2a0 Where w= a0a1a2an

27

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

28

+ S

and

* S

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

+ S

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

30

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 isnt in the language.

31

Você também pode gostar