Complexity of Well-Quasi-Orderings and Well-Structured Transition Systems Part II: Fast-Growing Complexity Philippe Schnoebelen LSV, CNRS & ENS Cachan + Oxford 1-year visitor Oxford Dept. Comp. Sci, Feb. 23rd, 2012
I F YOU MISSED P ART I ( X , � ) is a well-quasi-ordering (a WQO) if any infinite sequence x 0 , x 1 , x 2 ... over X contains an increasing pair x i � x j (for some i < j ) Examples. 1. ( N k , � prod ) is a WQO (Dickson’s Lemma) where, e.g., � 3 , 2 , 1 � � � 5 , 2 , 2 � but � 1 , 2 , 3 � � � 5 , 2 , 2 � 2. ( Σ ∗ , ⊑ ) is a WQO (Higman’s Lemma) where, e.g., abc ⊑ bacbc but cba � bacbc Intuition motivating this course: Analyzing the complexity of algorithms based on WQO-theory ≃ Bounding the index j (in the increasing pair above) as a function of some relevant parameters 2/17
I F YOU MISSED P ART III def Def. A sequence x 0 , x 1 ,... over X is bad ⇔ there is no increasing pair NB. Over a WQO, a bad sequence is necessarily finite Length Function Theorem. Any bad sequence x 0 , x 1 ,..., x l over X has length l � L ( X ,... ) Next Talk: Definition of L ( X ,... ) and proof of the Length Function Theorem Plan for this talk: 1. Some intuition of why L can be big, using examples of bad sequences 2. The Fast-Growing Hierarchy (where L lives) 3. A bit of context: who else is lost up there? 3/17
M AKING LONG BAD SEQUENCES Consider X = N and start with x 0 = 5 (for example) Puzzle. Longest bad sequence? has length 6 5 , 4 , 3 , 2 , 1 , 0 Now start with some other x 0 , say “ m ” Longest bad sequence is m , m − 1 , m − 2 ,..., 1 , 0 has length m + 1 Conclusion. There exist arbitrarily long bad sequences (if one can choose the starting point x 0 ) Conclusion. x 0 must be a parameter : l � L ( X , x 0 ,... ) 4/17
M AKING LONG BAD SEQUENCES —2 Consider now X = N 2 and fix x 0 = � 5 , 2 � Some possible bad sequences: � 5 , 2 � , � 6 , 1 � , � 7 , 0 � , � 6 , 0 � , � 5 , 0 � , � 4 , 0 � , � 3 , 0 � , � 2 , 0 � , � 1 , 0 � , � 0 , 0 � � 5 , 2 � , � 6 , 1 � , � 7 , 0 � , � 6 , 0 � , � 4 , 999999 � , ··· � 4 , 0 � , � 3 , 99 .. 9999999 � , ··· Note. Sequence can be made arbitrarily long even with fixed x 0 . Note also. Not only the length can be chosen arbitrarily large, but one can choose several times, and arbitrarily late, for arbitrarily large remaining sequence. Conclusion. Choosing arbitrarily large x 0 (at start) or x k + 1 (after some x k along the sequence) is not effective. Such arbitrarily large choices cannot be performed by a nondeterministic algorithm (or said “algorithm” may fail to terminate). Conclusion. The (class of) processes that generate the long bad sequence must be a parameter : l � L ( X , x 0 , C ) . 5/17
M AKING LONG BAD SEQUENCES —3 Consider X = N k and assume that the sequence is generated by a counter machine M with k counters using simple instructions like c:=c+1 , c:=c-1 and c:=c’ M can be programmed to generate, e.g., a decreasing (hence bad) sequence for the lexicographic ordering: � 5 , 2 � , � 5 , 1 � , � 5 , 0 � , � 4 , 5 � , � 4 , 4 � , � 4 , 3 � , � 4 , 2 � , � 4 , 1 � , � 3 , 4 � , ... � 1 , 0 � , � 0 , 1 � , � 0 , 0 � has length 23. Starting from x 0 = � a , b � , M generates a bad sequence of length 2 a 2 + 3 1 2 a + b + 1 , i.e., O ( n 2 ) when n = | x 0 | . In general, length is O ( n k ) for k counters. One can do much worse 6/17
M AKING LONG BAD SEQUENCES —4 Add one extra counter that keeps increasing. Use it when restarting a counter. � 5 , 2 , 0 � , � 5 , 1 , 1 � , � 5 , 0 , 2 � , � 4 , 2 , 3 � , � 4 , 1 , 4 � , � 4 , 0 , 5 � , � 3 , 5 , 6 � , � 3 , 4 , 7 � , � 3 , 3 , 8 � , ... � 3 , 0 , 11 � , � 2 , 11 , 12 � , ... � 2 , 0 , 23 � , � 1 , 23 , 24 � , ... � 1 , 0 , 47 � , � 0 , 47 , 48 � , ... � 0 , 0 , 95 � More generally � n , a , 0 � , ... � n , 0 , a � , � n − 1 , a , a + 1 � , ... � n − 1 , 0 , 2 a + 1 � , � n − 1 , 2 a + 1 , 2 a + 2 � , ... � n − 2 , 0 , 4 a + 3 � , ... � 0 , 0 , 2 n ( a + 1 ) − 1 � And now with one more counter: � n , a , a , 0 � , ... � n , a , 0 , a � , � n , a − 1 , a , a + 1 � , ... � n , a − 2 , 2 a + 1 , 2 a + 2 � , ... � n , 0 , 0 , 2 a ( a + 1 ) − 1 � , � n − 1 , 2 a ( a + 1 ) − 1 , 2 a ( a + 1 ) − 1 , 2 a ( a + 1 ) � , ... a . . � n − 2 , 0 , 0 , > 2 2 a + 1 � , ... � 0 , 0 , 0 , > 2 2 . � With 3 + 1 counters, M takes nonelementary time! 7/17
T HE F AST -G ROWING H IERARCHY A.k.a. The (Extended) Grzegorczyk Hierarchy For α = 0 , 1 , 2 ,... define F α : N → N with: def F 0 ( n ) = n + 1 (D1) n + 1 times � ������������� �� ������������� � def = F n + 1 F α + 1 ( n ) ( n ) = F α ( F α ( ... F α ( n ) ... )) (D2) α 2 � F 1 ( n ) = 2 n + 1 . This yields: F 2 ( n ) = ( n + 1 ) 2 n + 1 − 1 and n times . F 3 ( n ) > 2 2 . F 4 is . . . impossible to grasp intuitively (at least for me). Though each F α is a simple 2-line program. Back to M and lexicographic descent: With k + 1 counters, M halts def after ≈ F k ( n ) steps, where n = | x 0 | . 8/17
L ONG BAD SEQUENCES OVER Σ ∗ WITH SUBWORD ORDERING Consider now another WQO: ( Σ ∗ , ⊑ ) , with Σ = { a , b } (say). How long can a bad sequence be? Start with x 0 = ab p q � ��� �� ��� � � ��� �� ��� � We can make arbitrarily long bad sequences: ab , bb ... bb aa ... aa , .. Here, and as with X = N k before, it is unreasonable to allow choosing an arbitrarily large x k + 1 (irrespectively of the start x 0 ,..., x k ) when continuing a bad sequence In reality, the sequence is generated by a machine that can only perform computations of “limited” complexity. For example “ x k + 1 ∈ Σ ∗ is obtained from x 0 ,..., x k in polynomial-time” 9/17
L ONG BAD SEQUENCES OVER ( Σ ∗ , ⊑ ) Start with x 0 = aaabbba If we retain the 3 b ’s, never adding adding/removing a b , the a ’s can be used to simulate a sequence over N 4 : aaabbba encodes � 3 , 0 , 0 , 1 � aaabbba , aabababaa , aababbaaa , aabbaaabaaaa , . . . , , aabbbaaaaaaa abaaaaaaabaaaaaaabaaaaaaaa � �������������� �� �������������� � � ������������������������������������ �� ������������������������������������ � � 2 , 0 , 0 , 7 � � 1 , 7 , 7 , 8 � Note. The simulated sequence is bad (over N 4 ) iff the “3- b ’s” sequence is bad (over Σ ∗ ) More generally, if we start with x 0 = abb .. bb , this process M generates a bad sequence of length F | x 0 | − 1 ( 1 ) . This complexity dominates any F k ( | x 0 | ) . In fact n �→ F n ( 1 ) is Ackermann’s function, or its twin brother. 10/17
T HE F AST -G ROWING H IERARCHY — CONTINUED Define F α : N → N for α = 0 , 1 , 2 , . . . , ω , ω + 1 , . . . , ω · 2 , ω · 2 + 1 , . . . , ω 2 , ω 2 + 1 , . . . , ω ω , ω ω + 1 , . . . [S.Wainer et al.] Recall that ordinals up to ε 0 can be written in Cantor Normal Form (i.e., with 0 , sum, and ω -exponentiation) α ≡ ω α 1 + ··· + ω α p with α > α 1 � α 2 � ··· � α p (and the α i ’s themselves in normal form) α above is — 0 , “zero”, iff p = 0 , — a “successor” ordinal, “ β + 1 ”, iff α p = 0 , — a “limit” ordinal, “ λ ”, iff α p > 0 , Every limit λ is the limit of an increasing sequence λ 0 < λ 1 < λ 2 < ··· 11/17
L IMIT ORDINALS AND FUNDAMENTAL SEQUENCES We fix an “assignment of fundamental sequences” ( λ ) : n �→ λ n and such that λ = lim n ∈ N λ n For λ = ω , the fundamental sequence is 1 , 2 , 3 , ... For λ = ω · 2 , the fundamental sequence is ω + 1 , ω + 2 , ω + 3 , ... For λ = ω ω 5 , the fundamental sequence is ω ω 4 , ω ω 4 · 2 , ω ω 4 · 3 , ... For λ = ω ω ω + ω · 3 , the fundamental sequence is ω ω ω + ω · 2 + 1 , ω ω ω + ω · 2 + 2 , ω ω ω + ω · 2 + 3 , ... More formally, we let def = γ + ω β · ( n + 1 ) def γ + ω β + 1 � γ + ω λ � = γ + ω λ n � � n n This is a standard choice (and it can be extended beyond ε 0 ) 12/17
T HE F AST -G ROWING H IERARCHY — CONTINUED def F 0 ( n ) = n + 1 (D1) n + 1 times � ������������� �� ������������� � def = F n + 1 F α + 1 ( n ) ( n ) = F α ( F α ( ... F α ( n ) ... )) (D2) α def F λ ( n ) = F λ n ( n ) (D3) This gives: — F ω ( n ) = F n + 1 ( n ) . F ω is Ackermannian! n + 1 times � �������������� �� �������������� � — F ω + 1 ( n ) = F ω ( F ω ( ... F ω ( n ) ... )) n + 1 times � ������������������������ �� ������������������������ � — F ω · 2 ( n ) = F ω + n + 1 ( n ) = F ω + n ( F ω + n ( ... F ω + n ( n ) ... )) — F ω ω ( n ) = F ω n + 1 ( n ) = F ω n · ( n + 1 ) ( n ) = F ω n · n + ω n − 1 · ( n + 1 ) ( n ) = ··· = F ω n · n + ω n − 1 · n + ··· + ω · n + n + 1 ( n ) Prop. F α dominates all F α ′ s.t. α ′ < α . 13/17
Recommend
More recommend