SlideShare a Scribd company logo
1 of 25
Download to read offline
Computer
Science
Foundations
Turing Machine Edition


Jason Dew
Geezeo / Catamorphic Labs
Alan
Turing
Entscheidungsproblem




             David
            Hilbert
Alphabet
any set of symbols

examples:
● {a, b, c, d, ..., z}

● {0, 1, 2, 3, ..., 9}

● {0, 1}
String
sequence of symbols from the alphabet

examples:
● foobar

● 0101001

● (empty string)
Formal Language
any set of strings over an alphabet

examples:
● {foo, bar, baz}

● {00, 01, 10, 11}

● {b, ab, aab, aaab, aaaab, ... }
Deterministic
Finite Automata




    http://15mmvsf.bagofmice.com/vsf/prev_robot.htm
Formal Definition
● an alphabet

● a set of states
   ○ one denoted as a "starting state"
   ○ one or more denoted as "accepting states"

● a transition function
   ○ takes a symbol and a state and returns a new state
DFA accepting
multiples of 3
Nondeterministic
Finite Automata
Formal Definition
● an alphabet

● a set of states
   ○ one denoted as a "starting state"
   ○ one or more denoted as "accepting states"

● a transition function
  ○ takes a symbol and a state and returns
      zero or more states
Example NFA
Theorem


 Any NFA can be converted
  into an equivalent DFA.
Regular Language


    Any language which
   can be recognized by
  some finite automaton.
Regular Expressions
Theorem


  A language is regular
       if and only if
 some regular expression
       describes it.
Turing machines
Formal Definition                      (slightly simplified)



● two alphabets
  ○ one for reading, the input alphabet
  ○ one for writing, the output (or tape) alphabet

● a set of states
   ○ one starting state
   ○ one accepting state
   ○ one rejecting state

● a transition function
     takes a symbol and a state and returns
       a new state, a symbol to write, and Left or Right
Example TM
Let's call it M

It accepts strings whose length is a power of 2

Accepted strings: "0", "00", "0000"

Rejected strings: "", "000", "000000"
A description of M




                     Attribution: Sipser, Figure 3.8
Running on "00"
                  tape   state

                  .00_   q1

                  _.0_   q2

                  _x._   q3

                  _.x_   q5

                  ._x_   q5

                  _.x_   q2

                  _x._   q2

                  _x_.   qaccept
Running on "0000"
tape     state

.0000_   q1      tape     state

_.000_   q2      _.x0x_   q2

_x.00_   q3      _x.0x_   q2

_x0.0_   q4      _xx.x_   q3
                                  tape     state
_x0x._   q3      _xxx._   q3      _.xxx_   q2

_x0.x_   q5      _xx.x_   q5      _x.xx_   q2

_x.0x_   q5      _x.xx_   q5      _xx.x_   q2

_.x0x_   q5      _.xxx_   q5      _xxx._   q2

._x0x_   q5      ._xxx_   q5      _xxx_.   qaccept
Wrapping up


Why do we care about
 Turing machines?
References
Deterministic finite automaton. (2012, March 11). Retrieved from http://en.wikipedia.
org/wiki/Deterministic_finite_automaton

Nondeterministic finite automaton. (2012, April 20). Retrieved from http://en.
wikipedia.org/wiki/Nondeterministic_finite_automaton

Petzold, C. (2008). The annotated turing. Indianapolis: Wiley Publishing, Inc.

Sipser, M. (2006). Introduction to the theory of computation. (2nd ed.). Boston:
Thompson Course Technology.

Turing machine. (2012, April 17). Retrieved from http://en.wikipedia.
org/wiki/Turing_machine
Come work with me!

More Related Content

What's hot (9)

Exotic bird disease and treatment
Exotic bird disease and treatmentExotic bird disease and treatment
Exotic bird disease and treatment
 
Cockatiels
CockatielsCockatiels
Cockatiels
 
Veterinary laws and ethics
Veterinary laws and ethicsVeterinary laws and ethics
Veterinary laws and ethics
 
Top 10 chief legal officer interview questions and answers
Top 10 chief legal officer interview questions and answersTop 10 chief legal officer interview questions and answers
Top 10 chief legal officer interview questions and answers
 
1-1.pdf
1-1.pdf1-1.pdf
1-1.pdf
 
Ectoparasites
EctoparasitesEctoparasites
Ectoparasites
 
C.haemolyticum
C.haemolyticumC.haemolyticum
C.haemolyticum
 
Veterinary Medicine Introduction
Veterinary Medicine IntroductionVeterinary Medicine Introduction
Veterinary Medicine Introduction
 
Tick identification guide
Tick identification guideTick identification guide
Tick identification guide
 

Similar to Computer Science Fundamentals - Turing Machines (10)

FF and Latches.ppt
FF and Latches.pptFF and Latches.ppt
FF and Latches.ppt
 
Theory of computation:Finite Automata, Regualr Expression, Pumping Lemma
Theory of computation:Finite Automata, Regualr Expression, Pumping LemmaTheory of computation:Finite Automata, Regualr Expression, Pumping Lemma
Theory of computation:Finite Automata, Regualr Expression, Pumping Lemma
 
13.ppt
13.ppt13.ppt
13.ppt
 
3.pdf
3.pdf3.pdf
3.pdf
 
TuringMachines.pdf
TuringMachines.pdfTuringMachines.pdf
TuringMachines.pdf
 
flat unit1
flat unit1flat unit1
flat unit1
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Module 1 ppt class.pptx
Module 1 ppt class.pptxModule 1 ppt class.pptx
Module 1 ppt class.pptx
 
Module ppt class.pptx
Module ppt class.pptxModule ppt class.pptx
Module ppt class.pptx
 
2012 mdsp pr06  hmm
2012 mdsp pr06  hmm2012 mdsp pr06  hmm
2012 mdsp pr06  hmm
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Computer Science Fundamentals - Turing Machines

  • 3. Entscheidungsproblem David Hilbert
  • 4. Alphabet any set of symbols examples: ● {a, b, c, d, ..., z} ● {0, 1, 2, 3, ..., 9} ● {0, 1}
  • 5. String sequence of symbols from the alphabet examples: ● foobar ● 0101001 ● (empty string)
  • 6. Formal Language any set of strings over an alphabet examples: ● {foo, bar, baz} ● {00, 01, 10, 11} ● {b, ab, aab, aaab, aaaab, ... }
  • 7. Deterministic Finite Automata http://15mmvsf.bagofmice.com/vsf/prev_robot.htm
  • 8. Formal Definition ● an alphabet ● a set of states ○ one denoted as a "starting state" ○ one or more denoted as "accepting states" ● a transition function ○ takes a symbol and a state and returns a new state
  • 11. Formal Definition ● an alphabet ● a set of states ○ one denoted as a "starting state" ○ one or more denoted as "accepting states" ● a transition function ○ takes a symbol and a state and returns zero or more states
  • 13. Theorem Any NFA can be converted into an equivalent DFA.
  • 14. Regular Language Any language which can be recognized by some finite automaton.
  • 16. Theorem A language is regular if and only if some regular expression describes it.
  • 18. Formal Definition (slightly simplified) ● two alphabets ○ one for reading, the input alphabet ○ one for writing, the output (or tape) alphabet ● a set of states ○ one starting state ○ one accepting state ○ one rejecting state ● a transition function takes a symbol and a state and returns a new state, a symbol to write, and Left or Right
  • 19. Example TM Let's call it M It accepts strings whose length is a power of 2 Accepted strings: "0", "00", "0000" Rejected strings: "", "000", "000000"
  • 20. A description of M Attribution: Sipser, Figure 3.8
  • 21. Running on "00" tape state .00_ q1 _.0_ q2 _x._ q3 _.x_ q5 ._x_ q5 _.x_ q2 _x._ q2 _x_. qaccept
  • 22. Running on "0000" tape state .0000_ q1 tape state _.000_ q2 _.x0x_ q2 _x.00_ q3 _x.0x_ q2 _x0.0_ q4 _xx.x_ q3 tape state _x0x._ q3 _xxx._ q3 _.xxx_ q2 _x0.x_ q5 _xx.x_ q5 _x.xx_ q2 _x.0x_ q5 _x.xx_ q5 _xx.x_ q2 _.x0x_ q5 _.xxx_ q5 _xxx._ q2 ._x0x_ q5 ._xxx_ q5 _xxx_. qaccept
  • 23. Wrapping up Why do we care about Turing machines?
  • 24. References Deterministic finite automaton. (2012, March 11). Retrieved from http://en.wikipedia. org/wiki/Deterministic_finite_automaton Nondeterministic finite automaton. (2012, April 20). Retrieved from http://en. wikipedia.org/wiki/Nondeterministic_finite_automaton Petzold, C. (2008). The annotated turing. Indianapolis: Wiley Publishing, Inc. Sipser, M. (2006). Introduction to the theory of computation. (2nd ed.). Boston: Thompson Course Technology. Turing machine. (2012, April 17). Retrieved from http://en.wikipedia. org/wiki/Turing_machine