Universal Algebra and Computational Complexity Lecture 1 Ross Willard University of Waterloo, Canada Třešť, September 2008 Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 1 / 23
Outline Lecture 1: Decision problems and Complexity Classes Lecture 2: Nondeterminism, Reductions and Complete problems Lecture 3: Results and problems from Universal Algebra Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 2 / 23
Three themes: problems, algorithms, efficiency A Decision Problem is . . . A YES/NO question parametrized by one or more inputs . Inputs must: range over an infinite class. be “finitistically described” What we seek: An algorithm which correctly answers the question for all possible inputs. What we ask: How efficient is this algorithm? Is there a better (more efficient) algorithm? Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 3 / 23
Directed Graph Reachability problem (PATH) INPUT: A finite directed graph G = ( V , E ) Two distinguished vertices v start , v end ∈ V . QUESTION: Does there exist in G a directed path from v start to v end ? Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 4 / 23
An Algorithm for PATH v start = v start = v start = Answer: “NO” v end = Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 5 / 23
Efficiency of this algorithm How long does this algorithm take? I.e., how many steps . . . . . . as a function of the size of the input graph. I’ll give three answers to this. Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 6 / 23
First answer – Heuristics Only action is changing a vertex’s color. Only changes possible are white ⇒ red red ⇒ green green ⇒ blue. So if n = | V | , then the algorithm requires at most 3 n vertex-color changes. Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 7 / 23
Second answer – pseudo-code Simplifying assumptions: V = { 0 , 1 , . . . , n − 1 } E is encoded by the adjacency matrix M E = [ e i , j ] where � 1 if ( i , j ) ∈ E , e i , j = 0 else. Auxiliary variables: i , j will range over { 0 , 1 , . . . , n − 1 } . For i < n let c i be a variable recording the color of vertex i . Let GreenVar be a variable storing whether there are green-colored vertices. Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 8 / 23
Second answer – pseudo-code Algorithm: Input n , M E , start and end . For i = 0 to n − 1 set c i := white . Set c start = green . Set GreenVar := yes . n loops MAIN LOOP: While GreenVar = yes do: n 2 cases For i = 0 to n − 1; for j = 0 to n − 1 if e i , j = 1 and c i = green and c j = white then set c j := red . For i = 0 to n − 1 If c i = green then set c i := blue Set GreenVar := no O ( n 3 ) steps For i = 0 to n − 1 if n = | V | If c i = red then (set c i := green and set GreenVar := yes ) If c end = blue then output YES; else output NO. Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 9 / 23
Third answer – machine implementation Again assume V = { 0 , 1 , . . . , n − 1 } . Assume also that v start = 0 and v end = 1. Assume the adjacency matrix is presented as a binary string of length n 2 . Implement the algorithm on a Turing machine . Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 10 / 23
Turing machine Input (ROM): . . . 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 R/W Tape 1: . . . a a c e c a a e c a e e a c a e e a c c c e c e c a a e a a c . . . R/W Tape 2: 7 0 3 2 5 3 0 0 1 6 7 2 3 0 1 5 1 5 0 0 0 6 7 2 3 1 3 4 0 1 0 R/W Tape 3: . . . x o x x o o o o x x o x x o R/W Tape 4: . . . ∗ S E ND ∗ H E L P ∗ A AC HX X OO 1 P L E A S E R G G HH . . . R/W Tape 5: 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 Tape 3 In 1 2 3 4 5 state Output bit: char 1 c 1 x E 1 st ? � Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 11 / 23
Implementing the algorithm for PATH Input: . . . 0 0 # 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 � �� � [ e i , j ] . . . Tape 1: # � �� � � c i � . . . Tape 2: 0 0 1 1 # � �� � n Tape 3: . . . 0 0 0 0 # � �� � i . . . Tape 4: 0 0 0 0 # � �� � j Tape 5: . . . 1 = GreenVar Main loop: For i , j = 0 to n − 1 . . . Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 12 / 23
Pseudo-code revisited Point: overhead needed to keep track of i , j , c i , c j . Thus: While GreenVar = yes do: n loops n 2 cases For i = 0 to n − 1; for j = 0 to n − 1 if e i , j = 1 and c i = green and c j = white O ( n log n ) steps then set c j := red . SUMMARY: on an input graph G = ( V , E ) with | V | = n , our algorithm decides the answer to PATH using: Heuristics 3 n color changes O ( n 3 ) operations Pseudo-code O ( n 4 log n ) steps (Time) Turing machine O ( n ) memory cells (Space) Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 13 / 23
Turing machine complexity Let f : N → N be given. Definition A decision problem D (with a specified encoding of its inputs) is: 1 in TIME ( f ( N )) if there exists a Turing machine solving D in at most O ( f ( N )) steps on inputs of length N . 2 in SPACE ( f ( N )) if there exists a Turing machine solving D requiring at most O ( f ( N )) memory cells (not including the input tape) on inputs of length N . Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 14 / 23
Complexity of PATH Recall that our Turing machine solves PATH on graphs with n vertices in Time: O ( n 4 log n ) steps Space: O ( n ) memory cells. Since “length N of input” = n 2 (when n = | V | ), this at least proves Theorem TIME ( N 2 + ǫ ) PATH ∈ √ PATH ∈ SPACE ( N ) (Question: can we do better?. . . ) Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 15 / 23
Another problem: Boolean Formula Value ( FVAL ) INPUT: A boolean formula ϕ in propositional variables x 1 , . . . , x n . A sequence c = ( c 1 , . . . , c n ) ∈ { 0 , 1 } n . QUESTION: Is ϕ ( c ) = 1? Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 16 / 23
An algorithm for FVAL ϕ = (((( x 2 ∨ x 4 ) ∨ ( ¬ ( x 3 ))) ∧ (( x 1 ∧ x 4 ) → ( x 3 ∨ x 2 ))) → ( ¬ ( x 3 ∧ ( x 1 ∨ x 3 )))) , c = ( 1 , 0 , 1 , 1 ) . 0 → 1 0 ¬ ∧ 1 1 1 ∨ ∧ → 1 0 ¬ 1 1 1 x 3 1 ∨ ∧ ∨ ∨ 0 1 1 1 1 1 0 1 1 x 2 x 4 x 3 x 1 x 4 x 3 x 2 x 1 x 3 Seems to use TIME ( N ) and SPACE ( N ) . But space can be re-used. In this example, 3 memory bits suffice. Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 17 / 23
Complexity of FVAL In general, a bottom-up computation, always computing a larger subtree first, can be organized to need only O ( log | ϕ | ) intermediate values. A careful implementation on a Turing machine yields: Theorem (Nancy Lynch, 1977) TIME ( N 2 + ǫ ) FVAL ∈ FVAL ∈ SPACE ( log N ) . Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 18 / 23
A third problem: Graph 3-Colorability (3 COL ) INPUT: a finite graph G = ( V , E ) . QUESTION: Is it possible to color the vertices red , green or blue , so that no two adjacent vertices have the same color? Equivalently: does there exist a homomorphism ? χ : K 3 G Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 19 / 23
An algorithm for 3 COL Brute force search algorithm: For each function √ 3 | V | = 2 O ( N ) loops χ : V → K 3 : O ( N 2 ) time, √ Test if χ works. O ( N ) space Theorem This at least proves: √ TIME ( 2 O ( N ) ) 3COL ∈ √ 3COL ∈ SPACE ( N ) (Question: can we do better?. . . ) Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 20 / 23
A fourth problem: Clone membership ( CLO ) INPUT: A finite algebra A . An operation g : A k → A . QUESTION: Is g a term operation of A ? All known algorithms essentially generate the full k -generated free algebra in V ( A ) , F k ≤ A ( A k ) and test whether g ∈ F k . In the worst case this could require as much as O ( | A ( A k ) | ) = 2 ( | A | k ) 1 + ǫ time and space. I.e., exponential in the size of the input. (More on this in Lecture 3.) Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 21 / 23
Some important complexity classes Definition 1 P = PTIME = � ∞ k = 1 TIME ( N k ) = TIME ( N O ( 1 ) ) . 2 PSPACE = � ∞ k = 1 SPACE ( N k ) = SPACE ( N O ( 1 ) ) . Problems known to be in P are said to be feasible or tractable . Definition 3 EXPTIME = � ∞ k = 1 TIME ( 2 N k ) = TIME ( 2 N O ( 1 ) ) . 4 L = LOGSPACE = SPACE ( log ( N )) . L ⊆ P ⊆ PSPACE ⊆ EXPTIME ∈ ∈ ∈ ∈ PATH 3 COL CLO FVAL Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 22 / 23
Tomorrow L ⊆ P ⊆ PSPACE ⊆ EXPTIME ∈ ∈ ∈ ∈ PATH 3 COL CLO FVAL In tomorrow’s lecture I will: Introduce “nondeterministic” versions of these 4 classes. Introduce problems which are “hardest” for each class. Ross Willard (Waterloo) Algebra and Complexity Třešť, September 2008 23 / 23
Recommend
More recommend