theory of computing fall 2019 - university of notre damecpennycu/2019-2020/spring/cse34151... ·...

12
Theory of Computing Fall 2019 Dr. Corey Pennycuff http://cscrunch.com:8890

Upload: others

Post on 29-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

Theory of ComputingFall 2019

Dr. Corey Pennycuff

http://cscrunch.com:8890

Page 2: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

What isComputer Science?

How is it different from

Computer Programming?

What is a computer?

What does it mean to compute?

Is creativity a computation?

What resources are required for

computation?

What is the relationship between

a computer program and math?

Page 3: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

“I didn’t say that!”

- - -

(it was actually Michael R. Fellows, 1991)

“Computer Science is no

more about computers than

Astronomy is about

telescopes!”

-Edsger W. Dijkstra

Page 4: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

Post’s Correspondence Problem - 1946Wikipedia: https://en.wikipedia.org/wiki/Post_correspondence_problem

Game: https://www3.nd.edu/~dchiang/teaching/theory/2020/www/poco/

Special thanks to Dr. Chiang for writing this implementation!

An “easy” Decision problem.

How can we write a program to

solve this problem?

Page 5: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

Computability and Decidability

Given a computational problem:

● Is it possible to compute the

answer?

● How do you know?

● Is it possible to know whether

or not we can know?

● What type of machine could

(or could not) perform the

computation?

Down the rabbit hole…

Page 6: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

HILBERT’S ENTSCHEIDUNGSPROBLEM - 1928

Given a statement ϕ of first order

logic and some axioms,

is there an algorithm

that decides whether ϕ is

provable from the axioms?

Page 7: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

Halting Problem - 1936https://en.wikipedia.org/wiki/Halting_problem

In computability theory, the halting problem is the

problem of determining, from a description of an

arbitrary computer program and an input, whether

the program will finish running (i.e., halt) or

continue to run forever.

Page 8: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

Alan Turing (1912-1954)Influential in development of Theoretical Computer Science

Formalized concepts of Algorithms and Computation

Developed the idea of the Turing Machine

Portrayed by Benedict Cumberbatch.

Page 9: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

Turing MachinePowerful abstraction

Can compute anything that is computable

Doesn’t need electricity

https://www.youtube.com/watch?v=vo8izCKHiF0

https://www.youtube.com/watch?v=E3keLeMwfHY

&index=2&list=PLF87F259C658F6872&t=0s

Page 10: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

Problem:Turing machines are

too powerful!!!

Page 11: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

We Must Restrict Our Definitions!Complex

Turing Machines

Deterministic Context-Free Languages

Pushdown Automata

Context-Free Grammars

Regular Languages

Finite Automata

Simple

Begin with the simplest.

Build to the most powerful.

Understand the limitations.

Page 12: Theory of Computing Fall 2019 - University of Notre Damecpennycu/2019-2020/Spring/CSE34151... · 2020. 1. 16. · “I didn’t say that!” - - - (it was actually Michael R. Fellows,

But…Can a Turing machine solve Post’s Correspondence Problem?

How can you know for sure?