1 / 16

Lecture One: Automata Theory

Lecture One: Automata Theory. Amjad Ali. 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.

olive
Download Presentation

Lecture One: Automata Theory

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture One: Automata Theory Amjad Ali

  2. Automata theory • The word “Automata“ is the plural of “automaton" which simply means any machine. • automata theory is the study of abstract machinesand 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

  3. 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 timeparadigm. • abstract machines are often used in thought experiments regarding computability or to analyze the complexity of algorithms Automata Theory, Lecture 1, slide 3

  4. 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

  5. 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.

  6. 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 S = {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”

  7. 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

  8. 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

  9. Transitions from start state to end state transition Present state M,C,G,W = f • 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 river final state f =M,C,G,W

  10. Intermediate states Class assignment • (M,C,G,W=f) =………..= (f =M,C,G,W)

  11. 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 non-computable, e.g., the enhanced compiler. Automata Theory, Lecture 1, slide 11

  12. 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?

  13. Some devices we will see Automata Theory, Lecture 1, slide 13

  14. 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

  15. 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:

  16. 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 • Easy in principle: Try the cities in every possible order • Hard in practice: For 100 cities, this would take 100+ years even on the fastest computer!

More Related