Lecture One: Automata Theory Amjad Ali

Slides:



Advertisements
Similar presentations
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Advertisements

8/25/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 1 Theory of Computation Course information Overview of the area Finite Automata Sofya.
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Pages COMPUTABILITY THEORY.
C O N T E X T - F R E E LANGUAGES ( use a grammar to describe a language) 1.
Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Fall 2009.
Erik Jonsson School of Engineering and Computer Science CS 4384 – 001
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Introduction to Computability Theory
1 dKS, Spring Some practical information Lecturers: Kristoffer Arnsfelt Hansen and Peter Bro Miltersen. Homepage:
Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Fall 2008.
Quantum Automata Formalism. These are general questions related to complexity of quantum algorithms, combinational and sequential.
Topics Automata Theory Grammars and Languages Complexities
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Fall 2011.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Introduction to the Theory of Computation
1 An Introduction to Formal Languages and Automata Provided by : Babak Salimi webAdd:
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
REGULAR LANGUAGES.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Lecture 1 Computation and Languages CS311 Fall 2012.
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Part 1 – Pages COMPUTABILITY THEORY.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay 2 The D FlipFlop The RS flipflop stores one bit of information.
Models of Computation. Computation: Computation is a general term for any type of information processing information processing CPU memory.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
Copyright © Curt Hill Other Automata Pushdown through Turing machines.
Lecture 15: Theory of Automata:2014 Finite Automata with Output.
Theory of Computation Automata Theory Dr. Ayman Srour.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
WELCOME TO A JOURNEY TO CS419 Dr. Hussien Sharaf Dr. Mohammad Nassef Department of Computer Science, Faculty of Computers and Information, Cairo University.
Finite Automata.
Formal Languages, Automata and Models of Computation
Pushdown Automata.
Formal Foundations-II [Theory of Automata]
Chapter 12: Theory of Computation
Finite State Machines Dr K R Bond 2009
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Introduction to the Theory of Computation
Lexical analysis Finite Automata
CIS Automata and Formal Languages – Pei Wang
Course 1 Introduction to Formal Languages and Automata Theory (part 1)
PROPERTIES OF REGULAR LANGUAGES
G. Pullaiah College of Engineering and Technology
Pushdown Automata.
Chapter 7 PUSHDOWN AUTOMATA.
Pushdown Automata.
Jaya Krishna, M.Tech, Assistant Professor
Modeling Computation:
Chapter 9 TURING MACHINES.
Introduction to Automata Theory
Finite State Machines.
Jaya Krishna, M.Tech, Assistant Professor
Jaya Krishna, M.Tech, Assistant Professor
THEORY OF COMPUTATION Lecture One: Automata Theory Automata Theory.
Objective of This Course
Chapter Two: Finite Automata
4b Lexical analysis Finite Automata
Regular Expressions
4. Computational Problem Solving
4b Lexical analysis Finite Automata
Teori Bahasa dan Automata Lecture 9: Contex-Free Grammars
CSE S. Tanimoto Turing Completeness
Formal Languages and Automata Theory BODDEDA HARITHA LAKSHMI,
Automata theory and formal languages COS 3112 – AUTOMATA THEORY PRELIM PERIOD WEEK 1 AND 2.
Presentation transcript:

Lecture One: Automata Theory Amjad Ali 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 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” 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 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 Automata Theory, Lecture 1, slide 9

Intermediate states Class assignment (M,C,G,W=f) =………..= (f =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 non-computable, 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 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. 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 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! Automata Theory, Lecture 1, slide 16