Uproszczony dowod twierdzenia Fredricksona-Maiorany W. Rytter
Dla uproszczenia rozwa˙zamy tylko teksty binarne.
S lowa Lyndona sa zwartymi reprezentacjami liniowymi s l´ow cyklicznych. Dla s lowa x niech y bedzie minimalnym cyklicznym przesuni, eciem x. Wtedy pierwiastek pierwotny z s lowa y, jest s lowem Lyndona. S lowo jest Lyndona wtwg.mo˙ze powsta´c w ten spos´ob.
(Pierwiastek pierwotny y to najkr´otszy prefiks z s lowa y taki, ˙ze y jest naturalna pot, eg, a z.), Definicja r´ownowa˙zna, s lowo jest Lyndona je´sli jest leksykograficznie najmniejsze ze swoich przesunie´,c cyklicznych (r´ownowa˙znie, najmniejsze ze swoich sufiks´ow).
Dla danego n przez ext(x, n) oznaczmy rozszerzenie okresowe s lowa x do d lugo´sci n, oraz przez LastZero(x) oznaczamy najd lu˙zszy prefiks s lowa x ko´nczacy si, e zerem. Na przyk lad,
ext(00111, 13) = 00111 00111 001, LastZero(0010111) = 0010.
Nastepuj, acy algorytm generuje wszytkie s lowa Lyndona o d lugo´, sci co najwy˙zej n Algorytm FM (Fredricksona-Maiorany)
Generacja slow Lyndona;
x := ’0’ ; wypisz x;
while x <> ’1’ do
x := LastZero(ext(x,n)) ;
zamien ostatni symbol x na jedynke;
wypisz x;
Niech
L0 < L1 < L2 < . . . Ls
bedzie leks. posortowan, a sekwencj, a wszystkich binarnych s l´, ow Lyndona o d lugo´sci bed, acej, dzielnikiem n. Niech Lnoznacza konkatenacje,
Ln = L0· L1· L2· L3. . . Ls
Przyk lad. Dla n = 4 algorym FM wygeneruje:
0 0001 001 0011 01 011 0111 1 L4 = 0 0001 0011 01 0111 1 Powiemy, ˙ze Lk jest ”ma le” gdy |Lk| < n, w pp. jest ”du˙ze”.
Z poprawno´sci algorytmu FM (Fredricksona-Maiorany) wynikaja w lasno´, sci:
1. L0= 0, L1= 0n−11, Ls−1= 01n−1, Ls= 1;
2. je´sli Lk= βα oraz α zawiera zero, to β jest prefiksem Lk+1 3. Je´sli Lk jest ma le i k > 0 to
• Lk−1 jest du˙ze;
• Lk−1 ko´nczy sie co najmniej n − |L, k| jedynkami;
• Lk−1 jest bezpo´srednio wygenerowane przed Lk w algorytmie FM.
Twierdzenie Fredricksona-Maiorany (przypadek szczeg´olny-rozgrzewka)
Je´sli n jest liczba pierwsz, a to L, n zawiera (cyklicznie) ka˙zde binarne s lowo x d lugo´sci n.
Dowod.
Przypadek 1: x ∈ 1∗0∗. Wtedy x jest pods lowem Ls−1LsL0L1 = 1n0n.
Za l´o˙zmy, zatem (do ko´nca dowodu) ˙ze nie zachodzi przypadek 1. S lowo x jest cyklicz- nie r´ownowa˙zne pewnemu s lowu Lr (r´ownemu minimalnemu cyklicznemu przesunieciu x)., Wtedy dla pewnych α, β
x = αβ, Lr= βα Ustalmy do ko´nca dowodu α, β.
Przypadek 2: (α zawiera zero.) Wtedy β jest prefiksem Lr+1, zatem x jest podslo- wem LrLr+1 kt´orego prefiksem jest βαβ.
Przypadek 3: (α ∈ 1+.) Za l´o˙zmy ˙ze nie zachodzi przypadek 2. Wtedy β /∈ 0+. Istnieje zatem taki indeks k ˙ze β jest prefiksem Lk ale β nie jest prefiksem Lk−1. Niech γ bedzie prefiksem L, k−1 o d lugo´sci β. Zapiszmy Lk−1 = γ δ. Udowodnimy:
Fakt. δ ∈ 1+.
Dow´od nie wprost.
Przypu´s´cmy, ˙ze δ zawiera 0, wtedy zgodnie z algorytmem Fredricksona-Maiorany nastepne leksykograficznie s lowo Lyndona ma prefiks γ. Wiemy, ˙ze β 6= γ. Nato-, miast nastepnym s lowem z definicji jest L, k, kt´ore ma prefiks β 6= γ, o tej samej d lugo´sci co γ. Sprzeczno´s´c.
Z powy˙zszego faktu wynika ˙ze δ = α, poniewa˙z sa to s lowa tej samej d lugo´, sci sk ladajace, sie z samych jedynek. Zatem x jest pods lowem L, k−1Lk jako δβ, w konsekwencji x jest pods lowem ca lego s lowa Ln (Koniec dowodu).
Twierdzenie Fredricksona-Maiorany (przypadek og´olny, dowolne n) Ln zawiera (jako s lowo cykliczne) ka˙zde binarne s lowo x d lugo´sci n.
Dow´od
Przypadek 1: x ∈ 1∗0∗.
Dow´od bez zmian (w stosunku do dowodu przypadku szczeg´olnego).
Za l´o˙zmy, zatem (do ko´nca dowodu) ˙ze nie zachodzi przypadek 1.
W przypadkach 2-4 zak ladamy, ˙ze s lowo x jest pierwotne. Zak ladamy r´ownie˙z ˙ze x nie jest r´owne ˙zadnemu Lr. Wtedy x jest cyklicznie r´ownowa˙zne pewnemu s lowu Lr
(r´ownemu minimalnemu cyklicznemu przesunieciu x). Wtedy dla pewnych niepustych α, β, x = αβ, Lr= βα
Niech Lk bedzie leksykograf. pierwszym du˙zym s lowem o prefiksie β., Przypadek 2: (α /∈ 1+.) Dow´od bez zmian.
Przypadek 3: (α ∈ 1+, Lk−1 jest du˙ze) Dow´od bez zmian.
Przypadek 4: (α ∈ 1+, Lk−1 jest ma le.) Rozwa˙zamy podprzypadki A-C:
(A) (|β| < |Lk−1|) Wtedy Lk−2 jest du˙zym s lowem o prefiksie β co przeczy temu ˙ze Lk
jest najwcze´sniejsze. Zatem przypadek niemo˙zliwy.
(B) (Lk−1 ko´nczy sie co najmniej |α| jedynkami) i αβ = x jest pods lowem L, k−1Lk. (C) (Lk−1 ko´nczy sie mniej ni˙z |α| jedynkami) Z definicji operacji okresowego rozszerza-,
nia wynika, ˙ze Lk−1 jest okresem β. Jednocze´snie Lk−2 (du˙ze s lowo) ko´nczy sie co, najmniej n − |Lk−1| ≥ |α| jedynkami (gdy˙z |beta| ≥ |Lk−1| oraz |α| = n − β|). Zatem αβ = x jest pods lowem Lk−2Lk−1Lk.
Przypadek 5: (s lowo x nie jest pierwotne)
Wtedy dla pewnych k > 1, r, α, β mamy: x = (αβ)k, Lr = βα.
Je´sli α /∈ 1+ to poniewa˙z s lowo Lr jest ma le i rozszerzenie okresowe zostaje zaburzone dopiero w sotatnim α to Lr+1 jest du˙ze i ma prefiks (βα)k−1β jako prefiks. Zatem x jest pods lowem LrLr+1.
Je´sli α ∈ 1+ to Lr−1 ko´nczy sie na α (ma dostatecznie du˙zo jedynek), a poniewa˙z (z, rozszerzenia okresowego) Lr+1 ma prefiks (βα)k−1 to x jest pods lowem Lr−1LrLr+1.
Kilka wzor´ow
Niech zapisy Lyn(n), P ierw(n) oznaczaja liczb, e binarnych s l´, ow Lyndona oraz liczbe s l´, ow pierwotnych (nierozk ladalnych) d lugo´sci n. Niech µ bedzie funkcj, a Mobiusa, spe lnia ona, wz´or rekurencyjny:
X
d | n
µ(d) = [n = 1].
Niech φ bedzie funkcj, a Eulera (ile jest liczb mniejszych od n wzgl, ednie pierwszych z n)., Przyjmujemy φ(1) = 1.
U˙zytecznym narzedziem kombinatoryczznym jest formu la Mobiusa:,
∀ n f (n) = X
d | n
g(d) ⇒ ∀ n g(n) = X
d | n
µ(n/d) f (d)
Mamy te˙z wzory:
2n = X
d | n
P ierw(d), n = X
d | n
φ(d).
Z formu ly inwersyjnej Mobiusa i powy˙zszego wzoru wynikaja wzory:, P ierw(n) = X
d | n
µ(n/d) 2d; Lyn(n) = 1 n
X
d | n
µ(n/d) 2d
Je´sli Ln = L0· L1 · L2 · L3. . . Ls jest rozk ladem na s lowa Lyndona o d lugo´sci dzielacej, n to oznaczmy ||Ln|| = s + 1. Inaczej m´owiac ||L, n|| jest liczba s l´, ow d lugo´sci n cyklicznie nier´ownowa˙znych (liczba naszyjnik´ow binarnych z dok ladno´scia do obrotu). Korzystaj, ac z, poprzenich wzor´ow mo˙zna udowodni´c, ˙ze:
||Ln|| = 1 n
X
d | n
φ(n/d) 2d.
Na przyk lad:
Lyn(6) = 9, Lyn(3) = 2, Lyn(2) = 1, Lyn(1) = 2
|L6| = Lyn(1) + Lyn(2) + Lyn(3) + Lyn(6) = 14.
|L6| = 1
6 (φ(1) 26+ φ(2) 23+ φ(3) 22+ φ(6) 21) = 1
6 (1 · 26+ 1 · 23+ 2 · 22+ 2 · 21).
S luszno´s´c tych wzor´ow mo˙zna prz´sledzi´c na przyk ladzie:
L6 = 0 000001 000011 000101 000111 001 001011 001101 001111 01 01010111 011 011111 1
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 Lyn- dona, praca mgr. (2008)