Uproszczony dowod twierdzenia Fredricksona-Maiorany W. Rytter Dla uproszczenia rozważamy tylko teksty binarne. S lowa Lyndona sa zwartymi reprezentacjami liniowymi s lów cyklicznych. Dla s lowa x niech y b edzie minimalnym cyklicznym przesuni eciem x. Wtedy pierwiastek pierwotny z s lowa y jest s lowem Lyndona. S lowo jest Lyndona wtwg.może powstać w ten sposób. (Pierwiastek pierwotny y to najkrótszy prefiks z s lowa y taki, że y jest naturalna poteg a z.) Definicja równoważna, s lowo jest Lyndona jeśli jest leksykograficznie najmniejsze ze swoich przesuni eć cyklicznych (równoważnie, najmniejsze ze swoich sufiksów). Dla danego n przez ext(x, n) oznaczmy rozszerzenie okresowe s lowa x do d lugości n, oraz przez LastZero(x) oznaczamy najd luższy prefiks s lowa x kończacy sie zerem. Na przyk lad ext(00111, 13) = 00111 00111 001, LastZero(0010111) = 0010. Nastepuj acy algorytm generuje wszytkie s lowa Lyndona o d lugości co najwyżej n Algorytm FM (Fredricksona-Maiorany) Generacja slow Lyndona; Niech x := 0 ; wypisz x; while x <> 1 do x := LastZero(ext(x,n)) ; zamien ostatni symbol x na jedynke; wypisz x; L 0 < L 1 < L 2 <... L s bedzie leks. posortowana sekwencja wszystkich binarnych s lów Lyndona o d lugości bed acej dzielnikiem n. Niech L n oznacza konkatenacje L n = L 0 L 1 L 2 L 3... L s Przyk lad. Dla n = 4 algorym FM wygeneruje: 0 0001 001 0011 01 011 0111 1 L 4 = 0 0001 0011 01 0111 1 Powiemy, że L k jest ma le gdy L k < n, w pp. jest duże. Z poprawności algorytmu FM (Fredricksona-Maiorany) wynikaja w lasności: 1
1. L 0 = 0, L 1 = 0 n 1 1, L s 1 = 01 n 1, L s = 1; 2. jeśli L k = βα oraz α zawiera zero, to β jest prefiksem L k+1 3. Jeśli L k jest ma le i k > 0 to L k 1 jest duże; L k 1 kończy si e co najmniej n L k jedynkami; L k 1 jest bezpośrednio wygenerowane przed L k w algorytmie FM. Twierdzenie Fredricksona-Maiorany (przypadek szczególny-rozgrzewka) Jeśli n jest liczba pierwsza to L n zawiera (cyklicznie) każde binarne s lowo x d lugości n. Dowod. Przypadek 1: x 1 0. Wtedy x jest pods lowem L s 1 L s L 0 L 1 = 1 n 0 n. Za lóżmy, zatem (do końca dowodu) że nie zachodzi przypadek 1. S lowo x jest cyklicznie równoważne pewnemu s lowu L r (równemu minimalnemu cyklicznemu przesunieciu x). Wtedy dla pewnych α, β x = αβ, L r = βα Ustalmy do końca dowodu α, β. Przypadek 2: (α zawiera zero.) Wtedy β jest prefiksem L r+1, zatem x jest podslowem L r L r+1 którego prefiksem jest βαβ. Przypadek 3: (α 1 +.) Za lóżmy że nie zachodzi przypadek 2. Wtedy β / 0 +. Istnieje zatem taki indeks k że β jest prefiksem L k ale β nie jest prefiksem L k 1. Niech γ b edzie prefiksem L k 1 o d lugości β. Zapiszmy L k 1 Fakt. δ 1 +. Dowód nie wprost. = γ δ. Udowodnimy: Przypuśćmy, że δ zawiera 0, wtedy zgodnie z algorytmem Fredricksona-Maiorany nast epne leksykograficznie s lowo Lyndona ma prefiks γ. Wiemy, że β γ. Natomiast nast epnym s lowem z definicji jest L k, które ma prefiks β γ, o tej samej d lugości co γ. Sprzeczność. Z powyższego faktu wynika że δ = α, ponieważ sa to s lowa tej samej d lugości sk ladajace sie z samych jedynek. Zatem x jest pods lowem L k 1 L k jako δβ, w konsekwencji x jest pods lowem ca lego s lowa L n (Koniec dowodu). 2
Twierdzenie Fredricksona-Maiorany (przypadek ogólny, dowolne n) L n zawiera (jako s lowo cykliczne) każde binarne s lowo x d lugości n. Dowód Przypadek 1: x 1 0. Dowód bez zmian (w stosunku do dowodu przypadku szczególnego). Za lóżmy, zatem (do końca dowodu) że nie zachodzi przypadek 1. W przypadkach 2-4 zak ladamy, że s lowo x jest pierwotne. Zak ladamy również że x nie jest równe żadnemu L r. Wtedy x jest cyklicznie równoważne pewnemu s lowu L r (równemu minimalnemu cyklicznemu przesunieciu x). Wtedy dla pewnych niepustych α, β x = αβ, L r = βα Niech L k b edzie leksykograf. pierwszym dużym s lowem o prefiksie β. Przypadek 2: (α / 1 +.) Dowód bez zmian. Przypadek 3: (α 1 +, L k 1 jest duże) Dowód bez zmian. Przypadek 4: (α 1 +, L k 1 jest ma le.) Rozważamy podprzypadki A-C: (A) ( β < L k 1 ) Wtedy L k 2 jest dużym s lowem o prefiksie β co przeczy temu że L k jest najwcześniejsze. Zatem przypadek niemożliwy. (B) (L k 1 kończy si e co najmniej α jedynkami) i αβ = x jest pods lowem L k 1 L k. (C) (L k 1 kończy si e mniej niż α jedynkami) Z definicji operacji okresowego rozszerzania wynika, że L k 1 jest okresem β. Jednocześnie L k 2 (duże s lowo) kończy si e co najmniej n L k 1 α jedynkami (gdyż beta L k 1 oraz α = n β ). Zatem αβ = x jest pods lowem L k 2 L k 1 L k. Przypadek 5: (s lowo x nie jest pierwotne) Wtedy dla pewnych k > 1, r, α, β mamy: x = (αβ) k, L r = βα. Jeśli α / 1 + to ponieważ s lowo L r jest ma le i rozszerzenie okresowe zostaje zaburzone dopiero w sotatnim α to L r+1 jest duże i ma prefiks (βα) k 1 β jako prefiks. Zatem x jest pods lowem L r L r+1. Jeśli α 1 + to L r 1 kończy si e na α (ma dostatecznie dużo jedynek), a ponieważ (z rozszerzenia okresowego) L r+1 ma prefiks (βα) k 1 to x jest pods lowem L r 1 L r L r+1. (Koniec dowodu) 3
Kilka wzorów Niech zapisy Lyn(n), P ierw(n) oznaczaja liczbe binarnych s lów Lyndona oraz liczbe s lów pierwotnych (nierozk ladalnych) d lugości n. Niech µ bedzie funkcja Mobiusa, spe lnia ona wzór rekurencyjny: µ(d) = [n = 1]. Niech φ bedzie funkcja Eulera (ile jest liczb mniejszych od n wzglednie pierwszych z n). Przyjmujemy φ(1) = 1. Użytecznym narz edziem kombinatoryczznym jest formu la Mobiusa: n f(n) = g(d) n g(n) = µ(n/d) f(d) Mamy też wzory: 2 n = P ierw(d), n = φ(d). Z formu ly inwersyjnej Mobiusa i powyższego wzoru wynikaja wzory: P ierw(n) = µ(n/d) 2 d ; Lyn(n) = 1 n µ(n/d) 2 d Jeśli L n = L 0 L 1 L 2 L 3... L s jest rozk ladem na s lowa Lyndona o d lugości dzielacej n to oznaczmy L n = s + 1. Inaczej mówiac L n jest liczba s lów d lugości n cyklicznie nierównoważnych (liczba naszyjników binarnych z dok ladnościa do obrotu). Korzystajac z poprzenich wzorów można udowodnić, że: L n = 1 n φ(n/d) 2 d. Na przyk lad: Lyn(6) = 9, Lyn(3) = 2, Lyn(2) = 1, Lyn(1) = 2 L 6 = Lyn(1) + Lyn(2) + Lyn(3) + Lyn(6) = 14. L 6 = 1 6 (φ(1) 26 + φ(2) 2 3 + φ(3) 2 2 + φ(6) 2 1 ) = 1 6 (1 26 + 1 2 3 + 2 2 2 + 2 2 1 ). S luszność tych wzorów można przśledzić na przyk ladzie: L 6 = 0 000001 000011 000101 000111 001 001011 001101 001111 01 01010111 011 011111 1 4
Literatura [1] H. Fredricksen, J.Maiorana, Necklaces of beads in k colors and k-ary de Bruijn sequences, Discrete Math. 23, 1978 [2] D. E. Knuth, The Art of Computer Programming, Volume 4, Fascicle 2, Addison-Wesley, 2005 [3] E. Moreno, On the theorem of Fredricksen and Maiorana about De Bruijn sequences, Adv. in Appl. Math., 2004 [4] E. Moreno, M. Matamala, Minimum de Bruijn Sequence in a Language with Fo [5] J. Radoszewski, Generowanie minimalnych leksykograficznie cigw de Bruijna za pomoc sw Lyndona, praca mgr. (2008) 5