introduction automata

Upload: tariqravian

Post on 30-May-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Introduction Automata

    1/18

    Fall 2005 Costas Busch - RPI 1

    CSCI-2400

    Models of Computation

  • 8/9/2019 Introduction Automata

    2/18

    Fall 2005 Costas Busch - RPI 2

    Syllabus: tentative class schedule

    can be found in course web page

    http://www.cs.rpi.edu/~buschc/courses/modcomp/fall2005

    Grading: Weekly Homeworks: 34%

    3 Exams: 66% (each 22%)

    Instructor: Costas Busch

    General Info for the Course

  • 8/9/2019 Introduction Automata

    3/18

    Fall 2005 Costas Busch - RPI 3

    Book: Introduction to the

    Theory of Computation

    Michael Sipser, 2nd edition

    Chapters that will be covered: 1-5,7

  • 8/9/2019 Introduction Automata

    4/18

    Fall 2005 Costas Busch - RPI 4

    Computation

    CPU memory

    Outline of the course contents

  • 8/9/2019 Introduction Automata

    5/18

    Fall 2005 Costas Busch - RPI 5

    CPUinput

    output

    Program memory

    temporary memory

  • 8/9/2019 Introduction Automata

    6/18

    Fall 2005 Costas Busch - RPI 6

    CPUinput

    output

    Program memory

    temporary memory

    3)( xxf !

    compute xx

    compute

    xx

    2

    Example:

  • 8/9/2019 Introduction Automata

    7/18

    Fall 2005 Costas Busch - RPI 7

    CPU

    input

    output

    Program memory

    temporary memory

    3)( xxf !

    compute xx

    compute

    xx

    2

    2!

    x

  • 8/9/2019 Introduction Automata

    8/18

    Fall 2005 Costas Busch - RPI 8

    CPU

    input

    output

    Program memory

    temporary memory 3)( xxf !

    compute xx

    compute

    xx

    2

    2!

    x

    42*2 !!z

    82*)( !! zxf

  • 8/9/2019 Introduction Automata

    9/18

    Fall 2005 Costas Busch - RPI 9

    CPU

    input

    outputProgram memory

    temporary memory 3)( xxf !

    compute xx

    compute

    xx

    2

    2!

    x

    42*2 !!z

    82*)( !! zxf

    8)( !xf

  • 8/9/2019 Introduction Automata

    10/18

    Fall 2005 Costas Busch - RPI 10

    Automaton

    CPUinput

    output

    Program memory

    temporary memory

    Automaton

  • 8/9/2019 Introduction Automata

    11/18

    Fall 2005 Costas Busch - RPI 11

    Automaton

    input

    output

    temporary memory

    Automaton

    state

    transition

  • 8/9/2019 Introduction Automata

    12/18

    Fall 2005 Costas Busch - RPI 12

    Different Kinds of Automata

    Automata are distinguished by the temporary memory

    Finite Automata: no temporary memory

    Pushdown Automata: stack

    Turing Machines: random access memory

  • 8/9/2019 Introduction Automata

    13/18

    Fall 2005 Costas Busch - RPI 13

    input

    output

    temporary memory

    FiniteAutomaton

    Finite Automaton

    Example: Vending Machines

    (small computing power)

  • 8/9/2019 Introduction Automata

    14/18

    Fall 2005 Costas Busch - RPI 14

    input

    output

    Stack

    Pushdown

    Automaton

    Pushdown Automaton

    Example: Compilers for Programming Languages

    (medium computing power)

    Push, PopTemp.

    memory

  • 8/9/2019 Introduction Automata

    15/18

    Fall 2005 Costas Busch - RPI 15

    input

    output

    Random Access Memory

    Turing

    Machine

    Turing Machine

    Examples: Any Algorithm

    (highest computing power)

    Temp.memory

  • 8/9/2019 Introduction Automata

    16/18

    Fall 2005 Costas Busch - RPI 16

    Finite

    AutomataPushdownAutomata

    TuringMachine

    Power of Automata

    Less power More power

    Solve more

    computational problems

    Simpleproblems

    More complexproblems

    Hardestproblems

  • 8/9/2019 Introduction Automata

    17/18

    Fall 2005 Costas Busch - RPI 17

    Turing Machine is the most powerful

    computational model known

    Question:A

    re there computationalproblems that a Turing Machine

    cannot solve?

    Answer: Yes (unsolvable problems)

  • 8/9/2019 Introduction Automata

    18/18

    Fall 2005 Costas Busch - RPI 18

    Time Complexity of Computational Problems:

    NP-complete problems

    P problems

    Believed to take exponential

    time to be solved

    Solved in polynomial time