340 likes | 453 Views
This document explores the concept of time complexity as it relates to deterministic Turing machines and the languages they can decide. It defines decision time, illustrates examples of polynomial and exponential time algorithms, and discusses tractable and intractable problems using examples like the Hamiltonian Path Problem and the Satisfiability Problem. The text emphasizes the distinction between polynomial and non-deterministic polynomial time, raising open questions about whether a polynomial time deterministic algorithm exists for NP-complete problems.
E N D
Time Complexity Costas Busch - RPI
Consider a deterministic Turing Machine which decides a language Costas Busch - RPI
For any string the computation of terminates in a finite amount of transitions Initial state Accept or Reject Costas Busch - RPI
Decision Time = #transitions Initial state Accept or Reject Costas Busch - RPI
Consider now all strings of length = maximum time required to decide any string of length Costas Busch - RPI
TIME STRING LENGTH Max time to accept a string of length Costas Busch - RPI
Time Complexity Class: All Languages decidable by a deterministic Turing Machine in time Costas Busch - RPI
Example: This can be decided in time Costas Busch - RPI
Other example problems in the same class Costas Busch - RPI
Examples in class: Costas Busch - RPI
Examples in class: CYK algorithm Matrix multiplication Costas Busch - RPI
Polynomial time algorithms: constant Represents tractable algorithms: for small we can decide the result fast Costas Busch - RPI
It can be shown: Costas Busch - RPI
The Time Complexity Class Represents: • polynomial time algorithms • “tractable” problems Costas Busch - RPI
Class CYK-algorithm Matrix multiplication Costas Busch - RPI
Exponential time algorithms: Represent intractable algorithms: Some problem instances may take centuries to solve Costas Busch - RPI
Example: the Hamiltonian Path Problem s t Question: is there a Hamiltonian path from s to t? Costas Busch - RPI
s t YES! Costas Busch - RPI
A solution: search exhaustively all paths L = {<G,s,t>: there is a Hamiltonian path in G from s to t} Exponential time Intractable problem Costas Busch - RPI
The clique problem Does there exist a clique of size 5? Costas Busch - RPI
The clique problem Does there exist a clique of size 5? Costas Busch - RPI
Example: The Satisfiability Problem Boolean expressions in Conjunctive Normal Form: clauses Variables Question: is the expression satisfiable? Costas Busch - RPI
Example: Satisfiable: Costas Busch - RPI
Example: Not satisfiable Costas Busch - RPI
exponential Algorithm: search exhaustively all the possible binary values of the variables Costas Busch - RPI
Non-Determinism Language class: A Non-Deterministic Turing Machine decides each string of length in time Costas Busch - RPI
Non-Deterministic Polynomial time algorithms: Costas Busch - RPI
The class Non-Deterministic Polynomial time Costas Busch - RPI
The satisfiability problem Example: Non-Deterministic algorithm: • Guess an assignment of the variables • Check if this is a satisfying assignment Costas Busch - RPI
Time for variables: • Guess an assignment of the variables • Check if this is a satisfying assignment Total time: Costas Busch - RPI
The satisfiability problem is an - Problem Costas Busch - RPI
Observation: Deterministic Polynomial Non-Deterministic Polynomial Costas Busch - RPI
Open Problem: WE DO NOT KNOW THE ANSWER Costas Busch - RPI
Open Problem: Example: Does the Satisfiability problem have a polynomial time deterministic algorithm? WE DO NOT KNOW THE ANSWER Costas Busch - RPI