# Lecture One: Automata Theory

Automata Theory, Lecture 1, slide 1

Automata theory 

The word Automata is the plural of automaton" which simply means any machine. automata theory is the study of abstract machines and problems they are able to solve. Automata theory is closely related to formal language theory as the automata are often classified by the class of formal languages they are able to recognize.  

Automata Theory, Lecture 1, slide 2

Abstract Machine 

An abstract machine, also called an abstract computer, is a theoretical model of a computer hardware or software system used in Automata theory. Abstraction of computing processes is used in both the computer science and computer engineering disciplines and usually assumes discrete time paradigm. abstract machines are often used in thought experiments regarding computability or to analyze the complexity of algorithms
Automata Theory, Lecture 1, slide 3  

What do we do here?   

We construct abstract models of computers and computations These models possess the important features that are common to both hardware and software These features are essential to many of the special and complex constructs we encounter while working with computers

Automata Theory, Lecture 1, slide 4

Models  

The construction of models is one of the essentials of any scientific discipline. The usefulness of a discipline is often dependent on the existence of simple, yet powerful, theories and laws.

Automata Theory, Lecture 1, slide 5

Automaton   



An automaton is an abstract model of a digital computer It has a mechanism to read input (string over a given alphabet, e.g. strings of 0 s and 1 s on 7 = {0,1}) written on an input file. A finite automaton has a set of states Its control moves from state to state in response to external inputs

Automata Theory, Lecture 1, slide 6

Automaton    

With every automaton, a transition function is associated which gives the next state in terms of the current state An automaton can be represented by a graph in which the vertices give the internal states and the edges transitions The labels on the edges show what happens (in terms of input and output) during the transitions An automaton operates in discrete time frame

Automata Theory, Lecture 1, slide 7

Components of an automaton   

Input file : Contains strings of input symbols Storage unit: consists of an unlimited number of cells, each capable of holding a single symbol from an alphabet Control unit : can be in any one of a finite number of internal states and can change states in defined manner

Automata Theory, Lecture 1, slide 8

Transitions from start state to end state transition
Present state

M,C,G,W = J
There are 4 objects Cabbage, Man, Wolf and Goat on one bank and there is a boat All 4 have to cross the river so that (C,G) or (W,G) are not left at one place Man rows the boat and takes one at a time final state

J= M,C,G,W

Automata Theory, Lecture 1, slide 9

Intermediate states Class assignment 

(M,C,G,W=J =

..= (J=M,C,G,W)

Automata Theory, Lecture 1, slide 10

Applications of Automata 
  

A variety of properties concerning the models, grammars, and languages will be proven. The existence or non-existence of algorithms for processing languages and language processors will be proven. These algorithms form the basis of tools for processing languages, e.g., parsers, compilers, assemblers, etc. Other algorithms will form the basis of tools that automatically construct language processors, e.g., yacc, lex, etc. 

Note that our perspective will be similar to, yet different from a compiler class. 

Additionally, some things will be proven to be noncomputable, e.g., the enhanced compiler.

Automata Theory, Lecture 1, slide 11

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?

Automata Theory, Lecture 1, slide 12

Some devices we will see

finite automata push-down automata Turing Machines time-bounded Turing Machines

Devices with a finite amount of memory. Used to model ³small´ computers. Devices with infinite memory that can be accessed in a restricted way. Used to model parsers, etc. Devices with infinite memory. Used to model any computer. Infinite memory, but bounded running time. Used to model any computer program that runs in a ³reasonable´ amount of time.

Automata Theory, Lecture 1, slide 13

Some highlights of the course  

Finite automata  We will understand what kinds of things a device with finite memory can do, and what it cannot do  Introduce simulation: the ability of one device to imitate another device  Introduce nondeterminism: the ability of a device to make arbitrary choices Push-down automata  These devices are related to grammars, which describe the structure of programming (and natural) languages

Automata Theory, Lecture 1, slide 14

Some highlights of the course 

Turing Machines 

This is a general model of a computer, capturing anything we could ever hope to compute But there are many things that computers cannot 

do:

Automata Theory, Lecture 1, slide 15

Some highlights of the course 

Time-bounded Turing Machines  

Many problems are possible to solve on a computer in principle, but take too much time in practice Traveling salesman: Given a list of cities, find the shortest way to visit them and come back home

Automata Theory, Lecture 1, slide 16