formalising computation
play

Formalising Computation Matvey Soloviev (Cornell University) CS - PowerPoint PPT Presentation

Formalising Computation Matvey Soloviev (Cornell University) CS 4820, Summer 2020 1 Last time Last time: The fastest algorithm that solves a problem is a measure Reductions: use a solution to one problem as a building block (subroutine) to


  1. Formalising Computation Matvey Soloviev (Cornell University) CS 4820, Summer 2020 1

  2. Last time Last time: The fastest algorithm that solves a problem is a measure Reductions: use a solution to one problem as a building block (subroutine) to solve another. have a hard problem. But how do we know that any problem is hard? Want a subroutine that lots of problems can be reduced to. One of them is bound to be hard, and that would be enough to imply that the subroutine is hard. 2 of how hard it is. Start with a hard problem, only do a little work ⇒ still

  3. Today Hope to find a subroutine that works for all problems that have solutions a computer can verify to be correct in poly-time. No reason to assume that all of these would be easy. Need a formal definition of what it means for a computer to do stuff. 3

  4. Goals We want something that is Powerful enough that it can run any algorithm, but simple enough that we can define it formally and reason about it mathematically. 4

  5. Goals We want something that is Powerful enough that it can run any algorithm, but simple enough that we can define it formally and reason about it mathematically. 4

  6. Enter Turing Machines A Turing Machine is an idealised abstract model of computation that satisfies the two. The second point will become apparent when we define them. Church-Turing Thesis Every algorithm that can be run on any physically real- isable computer can be run on a Turing machine with 5 The first one is the subject of another scientific claim: at most polynomial overhead.

  7. of a yes-or-no problem using binary search. Specifically, we comparison string s is part of the input. The problem of language (1) In the context of complexity theory, we often make our formal like a serious limitation, but actually isn’t: Any problem that asks for a solution that can be written out as a string can be reduced to a logarithmic number of instances can reduce any problem of the form “find a solution s ”, where s is a string, to “does there exist a solution s s ?”, where the 6 life easier by only looking at yes-or-no problems. This sounds

  8. The problem of language (1) In the context of complexity theory, we often make our formal like a serious limitation, but actually isn’t: Any problem that asks for a solution that can be written out as a string can be reduced to a logarithmic number of instances can reduce any problem of the form “find a solution s ”, where s 6 life easier by only looking at yes-or-no problems. This sounds of a yes-or-no problem using binary search. Specifically, we is a string, to “does there exist a solution s < s ′ ?”, where the comparison string s ′ is part of the input.

  9. an integer n and a list of integers m 1 m 2 n m 1 m 2 m 3 m k . Then the language corresponding to n m i 1 i k m k n m 1 S the problem is the set The problem of language (2) For historical reasons, we also call yes-or-no problems Suppose we encode the input as a string n ?” sum of the list m k , is the The corresponding yes-or-no (decision) problem is: “given integers in decimal notation”. For example: consider the problem “find the sum of a list of the answer is “yes”. languages, and identify them with the set of strings on which 7

  10. n m 1 m 2 m 3 m k . Then the language corresponding to the problem is the set n m i 1 i k m k n m 1 S The problem of language (2) For historical reasons, we also call yes-or-no problems Suppose we encode the input as a string The corresponding yes-or-no (decision) problem is: “given integers in decimal notation”. For example: consider the problem “find the sum of a list of the answer is “yes”. languages, and identify them with the set of strings on which 7 an integer n and a list of integers m 1 , m 2 , . . . , m k , is the sum of the list ≤ n ?”

  11. The problem of language (2) The corresponding yes-or-no (decision) problem is: “given k the problem is the set For historical reasons, we also call yes-or-no problems Suppose we encode the input as a string integers in decimal notation”. For example: consider the problem “find the sum of a list of the answer is “yes”. languages, and identify them with the set of strings on which 7 an integer n and a list of integers m 1 , m 2 , . . . , m k , is the sum of the list ≤ n ?” n ; m 1 , m 2 , m 3 , . . . , m k . Then the language corresponding to ∑ S = { n ; m 1 , . . . , m k | m i ≤ n } . i = 1

  12. Turing machines, roughly (1) A Turing Machine is a state machine that operates by reading and writing from a tape that is partitioned into discrete cells, At any point in time, the machine is in one state from a set 8 and unbounded in one direction. Each cell of the tape contains exactly one symbol from the set Σ = { ▷, ⊔ , . . . } . Q = { q 1 , q 2 , . . . } or one of the two special states q yes and q no , and points at one cell of the tape.

  13. q yes or q no . Turing machines, roughly (2) Depending on the contents of the cell and its current state, it: Picks a new symbol to replace the contents of the cell it is pointing at with; Chooses a new state to transition to: Moves the head either left or right by one cell, or stays in place. Execution stops when the machine reaches either the state 9

  14. q yes or q no . Turing machines, roughly (2) Depending on the contents of the cell and its current state, it: Picks a new symbol to replace the contents of the cell it is pointing at with; Chooses a new state to transition to: Moves the head either left or right by one cell, or stays in place. Execution stops when the machine reaches either the state 9

  15. q yes or q no . Turing machines, roughly (2) Depending on the contents of the cell and its current state, it: Picks a new symbol to replace the contents of the cell it is pointing at with; Chooses a new state to transition to: Moves the head either left or right by one cell, or stays in place. Execution stops when the machine reaches either the state 9

  16. q yes or q no . Turing machines, roughly (2) Depending on the contents of the cell and its current state, it: Picks a new symbol to replace the contents of the cell it is pointing at with; Chooses a new state to transition to: Moves the head either left or right by one cell, or stays in place. Execution stops when the machine reaches either the state 9

  17. Turing machines, roughly (2) Depending on the contents of the cell and its current state, it: Picks a new symbol to replace the contents of the cell it is pointing at with; Chooses a new state to transition to: Moves the head either left or right by one cell, or stays in place. Execution stops when the machine reaches either the state 9 q yes or q no .

  18. Turing machines (picture) Switch to camera view :) 10

  19. Q is a set of states including special states q yes and q no ; q yes q no L R S is the current contents of the tape. is the current state, p is the position of the head and t is the , where q Q Turing machine configurations q p t For every Turing machine, there is a corresponding set of transition function. Turing machines, formally Q Q Q is the starting state; s ; and is a set of symbols including special symbols 11 Formally, a Turing machine is a tuple M = ( Q , Σ , s , δ ) , where

  20. q yes q no L R S is the current contents of the tape. is the current state, p is the position of the head and t is the , where q Q Turing machine configurations q p t For every Turing machine, there is a corresponding set of transition function. Turing machines, formally Q Q Q is the starting state; s ; and is a set of symbols including special symbols 11 Formally, a Turing machine is a tuple M = ( Q , Σ , s , δ ) , where Q is a set of states including special states q yes and q no ;

  21. q yes q no Turing machines, formally transition function. current contents of the tape. is the current state, p is the position of the head and t is the , where q Q Turing machine configurations q p t For every Turing machine, there is a corresponding set of L R S is the Q Q Q is the starting state; s 11 Formally, a Turing machine is a tuple M = ( Q , Σ , s , δ ) , where Q is a set of states including special states q yes and q no ; Σ is a set of symbols including special symbols ▷ and ⊔ ;

  22. q yes q no Turing machines, formally For every Turing machine, there is a corresponding set of current contents of the tape. is the current state, p is the position of the head and t is the , where q Q Turing machine configurations q p t L R S is the transition function. Q Q 11 Formally, a Turing machine is a tuple M = ( Q , Σ , s , δ ) , where Q is a set of states including special states q yes and q no ; Σ is a set of symbols including special symbols ▷ and ⊔ ; s ∈ Q is the starting state;

  23. transition function. Turing machines, formally For every Turing machine, there is a corresponding set of Turing machine configurations q p t Q , where q is the current state, p is the position of the head and t is the current contents of the tape. 11 Formally, a Turing machine is a tuple M = ( Q , Σ , s , δ ) , where Q is a set of states including special states q yes and q no ; Σ is a set of symbols including special symbols ▷ and ⊔ ; s ∈ Q is the starting state; δ ∈ ( Q × Σ) → ( Q ∪ { q yes , q no } ) × Σ × { L , R , S } is the

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend