Badanie regularnosci w słowach - Przypadek sekwencyjny
Transkrypt
Badanie regularnosci w słowach - Przypadek sekwencyjny
Badanie regularności w słowach Przypadek sekwencyjny Marcin Piątkowski Wydział Matematyki i Informatyki Uniwersytet Mikołaja Kopernika Edsger Wybe Dijkstra (1930 – 2002) Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes. Science is not about tools, it is about how we use them and what we find out when we do. Badanie regularności w słowach N 2 / 41 Wstęp Alfabety i słowa alfabet Σ – skończony zbiór symboli słowo – skończony ciąg symboli ze zbioru Σ Przykłady Σ = {1, 2, 3, 4, 5, 6, 7, 8, 9} 15432, 48, 5830281, 301528 Σ = {a, b, c, d , e, f , g , h, i, j, k, l , m, n, o, p, r , s, t, u, w , z} kot, pies, dom, drzewo Σ = {♠, F, , z, ♣, -} FFzFz, ♣-F, ♠-♣-, -Fz N Badanie regularności w słowach 3 / 41 Wstęp Monoid słów Σ∗ – zbiór wszystkich skończonych słów nad alfabetem Σ Konkatenacja: a1 a2 . . . am · b1 b2 . . . bn = a1 a2 . . . am b1 b2 . . . bn Łączność: (x · y ) · z = x · (y · z) Element neutralny ε (słowo puste): x · ε = ε · x = x Badanie regularności w słowach N 4 / 41 Wstęp Faktor Słowo w jest faktorem słowa u jeśli u = x · w · y Przykład: faktor: ababaabababaabababaabababaababaab prefiks: ababaabababaabababaabababaababaab sufiks: ababaabababaabababaabababaababaab Badanie regularności w słowach N 5 / 41 Wstęp Morfizm φ : M1 −→ M2 ∀x, y ∈ M φ(x · y ) = φ(x) ◦ φ(y ) Przykład M1 = (Σ∗ , ·), M2 = (Z, +) φ : M1 −→ M2 φ(x) = |x| Badanie regularności w słowach N 6 / 41 Maksymalne powtórzenia Maksymalne powtórzenia ababaabababaabababaabababaababaab Badanie regularności w słowach N 7 / 41 Maksymalne powtórzenia Maksymalne powtórzenia ababaabababaabababaabababaababaab Badanie regularności w słowach N 7 / 41 Maksymalne powtórzenia Maksymalne powtórzenia ababaabababaabababaabababaababaab Badanie regularności w słowach N 7 / 41 Maksymalne powtórzenia Maksymalne powtórzenia ababaabababaabababaabababaababaab Oznaczenia ρ(w ) – liczba maksymalnych powtórzeń w słowie w n o ρ(n) = max ρ(w ) : |w | = n Badanie regularności w słowach N 7 / 41 Maksymalne powtórzenia a b a b a a b a b a b a a b a b a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b Badanie regularności w słowach N 8 / 41 Maksymalne powtórzenia Wartości ρ(n) dla 10 ¬ n ¬ 20 n 10 11 12 13 14 15 16 17 18 19 20 ρ(n) 6 7 8 8 10 10 11 12 13 14 15 ρ(n)/n 0.6 0.636364 0.666667 0.615385 0,714286 0.666667 0.6875 0.705882 0.722222 0.736842 0.75 Słowo aabaabbaab aabaabbaabb aabaabbaabaa aaabaabbaabaa aabaabbaabaabb aaabaabbaabaabb aabaabbaabaabbaa aabaababbabaababb aabaabbaabaabbaabb aabaabbaabaabbaabaa aababaababbabaababaa Badanie regularności w słowach N 9 / 41 Maksymalne powtórzenia Wartości ρ(n) dla 21 ¬ n ¬ 31 n 21 22 23 24 25 26 27 28 29 30 31 ρ(n) 15 16 17 18 19 20 21 22 23 24 25 ρ(n)/n 0.714286 0.727273 0.73913 0.75 0.76 0.769231 0.777778 0.785714 0.793103 0.8 0.806457 Słowo aaababaababbabaababaa aabaababaababbabaababb aabaababaababbabaababaa aabaabbaabaabbabbaabbabb aabaabbaabaaabaabbaabaabb aababaababbabaababaababbab aabaababaababbabaababaababb aababaababbabaababaababbabaa aababaababbabaababaababbababb aababbabaababbababbabaababbaba aababaababbabaababaababbabaabab Badanie regularności w słowach N 10 / 41 Maksymalne powtórzenia – oszacowanie R. Kolpakov, G. Kucherov (1999) ∀n>0 ρ(n) ¬ c · n Algorytm znajdowania wszystkich maksymalnych powtórzeń w słowie długości n działający w czasie O(n) Hipoteza ∀n>0 ρ(n) ¬ n Badanie regularności w słowach N 11 / 41 Maksymalne powtórzenia – oszacowanie n Badanie regularności w słowach N 12 / 41 Maksymalne powtórzenia – oszacowanie 5n Rytter (2006) n Badanie regularności w słowach N 12 / 41 Maksymalne powtórzenia – oszacowanie 5n Rytter (2006) 3.44n Rytter (2007) n Badanie regularności w słowach N 12 / 41 Maksymalne powtórzenia – oszacowanie 5n Rytter (2006) 3.48n Puglisi et al. (2008) 3.44n Rytter (2007) n Badanie regularności w słowach N 12 / 41 Maksymalne powtórzenia – oszacowanie 5n Rytter (2006) 3.48n Puglisi et al. (2008) 3.44n Rytter (2007) 1.6n Crochemore, Ilie (2008) n Badanie regularności w słowach N 12 / 41 Maksymalne powtórzenia – oszacowanie 5n Rytter (2006) 3.48n Puglisi et al. (2008) 3.44n Rytter (2007) 1.6n Crochemore, Ilie (2008) n 1.048n Crochemore et al. (2008) Badanie regularności w słowach N 12 / 41 Maksymalne powtórzenia – oszacowanie 5n Rytter (2006) 3.48n Puglisi et al. (2008) 3.44n Rytter (2007) 1.6n Crochemore, Ilie (2008) 1.048n Crochemore et al. (2008) n 0.927. . . n Franek et al. (2003) Badanie regularności w słowach N 12 / 41 Maksymalne powtórzenia – oszacowanie 5n Rytter (2006) 3.48n Puglisi et al. (2008) 3.44n Rytter (2007) 1.6n Crochemore, Ilie (2008) 1.048n Crochemore et al. (2008) n 0.944542. . . n Kusano et al. (2008) 0.927. . . n Franek et al. (2003) Badanie regularności w słowach N 12 / 41 Maksymalne powtórzenia – oszacowanie 5n Rytter (2006) 3.48n Puglisi et al. (2008) 3.44n Rytter (2007) 1.6n Crochemore, Ilie (2008) 1.048n Crochemore et al. (2008) 0.944542. . . n Kusano et al. (2008) 0.927. . . n Franek et al. (2003) Badanie regularności w słowach N 12 / 41 Miary regularności słów Liczba maksymalnych powtórzeń 0.944n ¬ ρ(n) ¬ 1.048n Badanie regularności w słowach N 13 / 41 Miary regularności słów Liczba maksymalnych powtórzeń 0.944n ¬ ρ(n) ¬ 1.048n Liczba maksymalnych powtórzeń kubicznych 0.41n ¬ ρ(3) (n) ¬ 0.5n (Crochemore et al., 2010) Badanie regularności w słowach N 13 / 41 Miary regularności słów Liczba maksymalnych powtórzeń 0.944n ¬ ρ(n) ¬ 1.048n Liczba maksymalnych powtórzeń kubicznych 0.41n ¬ ρ(3) (n) ¬ 0.5n (Crochemore et al., 2010) Suma wykładników maksymalnych powtórzeń 2.035n ¬ se(n) ¬ 4.1n (Crochemore et al., 2011) Badanie regularności w słowach N 13 / 41 Miary regularności słów Liczba maksymalnych powtórzeń 0.944n ¬ ρ(n) ¬ 1.048n Liczba maksymalnych powtórzeń kubicznych 0.41n ¬ ρ(3) (n) ¬ 0.5n (Crochemore et al., 2010) Suma wykładników maksymalnych powtórzeń 2.035n ¬ se(n) ¬ 4.1n (Crochemore et al., 2011) Całkowita długość maksymalnych powtórzeń n2 47n2 ¬ TRL(n) ¬ 8 72 (Glenn et al., 2013) Badanie regularności w słowach N 13 / 41 Słowa Fibonacciego Definicja F−1 = b F0 = a Fn = Fn−1 · Fn−2 Przykład F1 = ab f1 = 2 F2 = aba f2 = 3 F3 = abaab f3 = 5 F4 = abaababa f4 = 8 F5 = abaababaabaab f5 = 13 F6 = abaababaabaababaababa f6 = 21 F7 = abaababaabaababaababaabaababaabaab f7 = 34 Badanie regularności w słowach N 14 / 41 Słowa Fibonacciego R. Kolpakov, G. Kucherov (1999) ∀n4 ρ(Fn ) = 2|Fn−2 | − 3 Asymptotyka lim n→∞ ρ(Fn ) = 0.763932 . . . |Fn | Badanie regularności w słowach N 15 / 41 Słowa standardowe Słowa Fibonacciego F−1 = b F0 = a Fk = Fk−1 · Fk−2 Słowa standardowe – Sw(γ0 , γ1 , . . . , γn ) x−1 = b x0 = a xk = xk−1 · xk−1 · . . . · xk−1 ·xk−2 | {z } γk−1 Badanie regularności w słowach N 16 / 41 Słowa standardowe γ = (1, 2, 1, 3, 1) x−1 = b x0 = a x1 = (x0 )1 · x−1 = a · b x2 = (x1 )2 · x0 = ab · ab · a x3 = (x2 )1 · x1 = ababa · ab x4 = (x3 )3 · x2 = ababaab · ababaab · ababaab · ababa x5 = (x4 )1 · x3 = ababaabababaabababaabababa · ababaab Sw(1, 2, 1, 3, 1) = ababaabababaabababaabababaababaab Badanie regularności w słowach N 17 / 41 Słowa standardowe Definicja Dla ciągu kierunkowego γ = (γ0 , γ1 , . . . , γn ) określamy ( hγi : a −→ aγi b b −→ a dla 0 ¬ i ¬ n. Badanie regularności w słowach N 18 / 41 Słowa standardowe Definicja Dla ciągu kierunkowego γ = (γ0 , γ1 , . . . , γn ) określamy a −→ aγi b ( hγi : b −→ a Sw(1) = h1 (a) Sw(3, 1) = h3 Sw(1) dla 0 ¬ i ¬ n. = ab = aaaba Sw(1, 3, 1) = h1 Sw(3, 1) = abababaab Sw(2, 1, 3, 1) = h2 Sw(1, 3, 1) = aabaaabaaabaaabaaba Sw(1, 2, 1, 3, 1) = h1 Sw(2, 1, 3, 1) = ababaabababaabababaabababaababaab Badanie regularności w słowach N 18 / 41 |w| = 33 |w|a = 19 |w|b = 14 a b b a b a Słowo Christoffela (dolne): a b a a a b a bababaabababaabababaabababaababaa b a b a b b a b a a Słowo Christoffela (górne): a b a a b a b b a b b a aababaabababaabababaabababaababab a a a Słowa standardowe: b a a b a b b a ababaabababaabababaabababaababaab a a b b b a a b a ababaabababaabababaabababaabababa a a a b a b a b a a b Badanie regularności w słowach N 19 / 41 |w| = 33 28 |w|a = 19 0 14 |w|b = 14 b 19 5 9 24 23 10 4 29 18 15 32 1 13 20 27 6 8 25 11 22 3 30 17 16 31 2 12 26 7 21 b Badanie regularności w słowach N 20 / 41 |w| = 33 28 |w|a = 19 0 14 b |w|b = 14 19 a 5 9 24 23 10 4 29 18 15 32 1 13 20 27 6 8 25 11 22 3 30 17 16 31 2 12 26 7 21 ba Badanie regularności w słowach N 20 / 41 |w| = 33 28 |w|a = 19 0 14 b |w|b = 14 19 a 5 b 9 24 23 10 4 29 18 15 32 1 13 20 27 6 8 25 11 22 3 30 17 16 31 2 12 26 7 21 bab Badanie regularności w słowach N 20 / 41 |w| = 33 28 |w|a = 19 0 14 b |w|b = 14 19 a 5 b 9 24 a 23 10 4 29 18 15 32 1 13 20 27 6 8 25 11 22 3 30 17 16 31 2 12 26 7 21 baba Badanie regularności w słowach N 20 / 41 |w| = 33 28 |w|a = 19 0 14 b |w|b = 14 19 a 5 b 9 24 a 10 b 29 23 4 18 15 32 1 13 20 27 6 8 25 11 22 3 30 17 16 31 2 12 26 7 21 babab Badanie regularności w słowach N 20 / 41 |w| = 33 28 |w|a = 19 0 14 b |w|b = 14 19 a 5 b 9 24 a 10 b 29 23 4 a 18 15 32 1 13 20 27 6 8 25 11 22 3 30 17 16 31 2 12 26 7 21 bababa Badanie regularności w słowach N 20 / 41 |w| = 33 28 |w|a = 19 0 14 b |w|b = 14 19 a 5 b 9 24 a 10 b 29 23 4 a 18 15 a 32 1 13 20 27 6 8 25 11 22 3 30 17 16 31 2 12 26 7 21 bababaa Badanie regularności w słowach N 20 / 41 |w| = 33 |w|a = 19 a b 28 a 14 0 b 19 a |w|b = 14 5 b a 9 b 24 a 23 10 b 29 a 4 a 18 15 a a 1 32 b b 13 20 a a 6 27 b b 8 25 a a 11 22 b 3 a 30 17 a 31 b 12 16 2 a b a 21 b a 26 b 7 a bababaabababaabababaabababaababaa Badanie regularności w słowach N 20 / 41 Ułamki łańcuchowe Definicja Ułamkiem łańcuchowym nazywamy wyrażenie postaci: 1 a0 + , 1 a1 + a2 + 1 a3 + . .. + 1 an zapisywane w uproszczeniu jako [a0 ; a1 , a2 , a3 , . . . , an ]. Badanie regularności w słowach N 21 / 41 Ułamki łańcuchowe Przykład 19 14 Badanie regularności w słowach N 22 / 41 Ułamki łańcuchowe Przykład 19 5 = 1+ 14 14 Badanie regularności w słowach N 22 / 41 Ułamki łańcuchowe Przykład 19 5 = 1+ = 1+ 14 14 1 2+ 4 5 Badanie regularności w słowach N 22 / 41 Ułamki łańcuchowe Przykład 19 5 = 1+ = 1+ 14 14 1 2+ 4 5 1 = 1+ 2+ 1 1+ 1 4 [1; 2, 1, 4] Badanie regularności w słowach N 22 / 41 Ułamki łańcuchowe Przykład 19 5 = 1+ = 1+ 14 14 1 2+ 4 5 1 = 1+ 2+ 1 1+ 1 = 1+ 1 4 1 2+ 1+ 1 3+ 1 1 [1; 2, 1, 4] [1; 2, 1, 3, 1] Badanie regularności w słowach N 22 / 41 Słowa standardowe Fakt Dla qp = [γ0 ; γ1 , . . . , γn ], gdzie p, q są względnie pierwsze, istnieje jednoznacznie wyznaczone słowo w ∈ {a, b}∗ takie, że: 1 |w |a = p − 1 2 |w |b = q − 1 3 Słowo b · w · a jest dolnym słowem Christoffela. 4 Słowo a · w · b jest górnym słowem Christoffela. 5 Jedno ze słów w · a · b lub w · b · a jest słowem standardowym zadanym przez ciąg kierunkowy γ = (γ0 , . . . , γn ) Badanie regularności w słowach N 23 / 41 Słowa Sturma Definicja Słowa Sturma to nieskończone słowa binarne, które zawierają dokładnie n + 1 różnych podsłów długości n 0. ababaabababaabababaabababaababaab ... 1 ababaabababaabababaabababaababaab... 2 ababaabababaabababaabababaababaab ... 3 ababaabababaabababaabababaababaab ... 4 ababaabababaabababaabababaababaab ... Badanie regularności w słowach N 24 / 41 Słowa standardowe – maksymalne powtórzenia P. Baturo, M. Piątkowski, W. Rytter – 2008 Okres każdego maksymalnego powtórzenia w słowie standardowym Sw(γ0 , γ1 , . . . , γn ) jest postaci u = (xi )j · xi−1 , gdzie 0 ¬ i ¬ n oraz 0 ¬ j < γi . Oznaczenia: Maksymalne powtórzenia z okresem nie dłuższym niż |x1 | nazywamy krótkimi Maksymalne powtórzenia z okresem dłuższym niż |x2 | nazywamy długimi Pozostałe maksymalne powtórzenia nazywamy średnimi Badanie regularności w słowach N 25 / 41 Słowa standardowe – maksymalne powtórzenia a b a b a a b a b a b a a b a b a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b Badanie regularności w słowach N 26 / 41 Słowa standardowe – maksymalne powtórzenia Zliczanie maksymalnych powtórzeń Wzór na liczbę krótkich maksymalnych powtórzeń wyznaczony w sposób bezpośredni. Wzór na liczbę średnich maksymalnych powtórzeń wyznaczony w sposób bezpośredni. Rekurencyjna zależność dla długich maksymalnych powtórzeń. Badanie regularności w słowach N 27 / 41 Słowa standardowe – maksymalne powtórzenia i-partition Każde słowo standardowe Sw(γ0 , . . . , γn ) może być reprezentowane w jednej z dwóch postaci: xiα1 xi−1 xiα2 xi−1 . . . xiαs xi−1 xi lub xiβ1 xi−1 xiβ2 xi−1 . . . xiβs xi−1 , gdzie αk , βk ∈ {γi , γi + 1}. x1 x1 x0 x1 x1 x1 x0 x1 x1 x1 x0 x1 x1 x1 x0 x1 x1 x0 x1 a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b x2 x1 x3 x2 x1 x3 x2 x2 x1 x3 x2 x2 x1 x3 a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b x4 x3 Badanie regularności w słowach N 28 / 41 Słowa standardowe – maksymalne powtórzenia Fakt Struktura wystąpień bloków xi (równoważnie xi−1 ) w reprezentacji i-partition słowa standardowego Sw(γ0 , . . . , γn ) odpowiada strukturze wystąpień liter a (równoważnie liter b) w słowie Sw(γm , . . . , γn ). i i-partition Sw(γm , . . . , γn ) 1 2 3 4 aabaaabaaabaaabaaba abababaab aaaba ab ab·ab·a·ab·ab·ab·a·ab·ab·ab·a·ab·ab·ab·a·ab·ab·a·ab ababa·ab·ababa·ab·ababa·ab·ababa·ababa·ab ababaab·ababaab·ababaab·ababa·ababaab ababaabababaabababaabababa·ababaab Badanie regularności w słowach N 29 / 41 Słowa standardowe – maksymalne powtórzenia P. Baturo, M. Piątkowski, W. Rytter – 2008 Okresy długich maksymalnych powtórzeń w słowach standardowych synchronizują się z morfizmami hi aaba a a b a a a b a a a b a a a b a a b a a b a b a a b a b a b a a b a b a b a a b a b a b a a b a b a a b h0 aba ababa ababaab Badanie regularności w słowach N 30 / 41 Słowa standardowe – maksymalne powtórzenia P. Baturo, M. Piątkowski, W. Rytter – 2008 ρ(w ) = 2A + 2B + ∆(γ) − 1 γ0 = γ1 = 1 (γ1 + 2)A + B + ∆(γ) − odd(n) γ0 = 1; γ1 > 1 2A + 3B + ∆(γ) − even(n) (2γ + 1)A + 2B + ∆(γ) 1 γ0 > 1; γ1 = 1 γ0 > 1; γ1 > 1 A = |Sw(γ2 , γ3 , . . . , γn )|a B = |Sw(γ3 , γ4 , . . . , γn )|a ∆(γ) = n − 1 − (γ1 + . . . + γn ) − unary(γn ) Badanie regularności w słowach N 31 / 41 Słowa standardowe – maksymalne powtórzenia Wyznaczenie wartości |Sw(γ0 , . . . , γn )|a |x−1 |a ← 0 |x0 |a ← 1 |x1 |a ← γ0 |x0 |a + |x−1 |a |x2 |a ← γ1 |x1 |a + |x0 |a .. . |xn+1 |a ← γn |xn |a + |xn−1 |a Badanie regularności w słowach N 32 / 41 Słowa standardowe – maksymalne powtórzenia Wyznaczenie wartości |Sw(γ0 , . . . , γn )|a |x−1 |a ← 0 |x0 |a ← 1 |x1 |a ← γ0 |x0 |a + |x−1 |a |x2 |a ← γ1 |x1 |a + |x0 |a .. . |xn+1 |a ← γn |xn |a + |xn−1 |a (n + 1) razy Badanie regularności w słowach N 32 / 41 Słowa standardowe – maksymalne powtórzenia Słowa z dużą liczbą maksymalnych powtórzeń vk = Sw (1, 2, k, k) vk = (ababa)k ab k ababa |vk | = 5k 2 + 2k + 5 ρ(vk ) = 4k 2 − k + 3 ρ(vk ) 8 −→ |vk | 10 Badanie regularności w słowach N 33 / 41 Słowa standardowe – maksymalne powtórzenia P. Baturo, M. Piątkowski, W. Rytter – 2008 ∀n>0 ρ(n) ¬ 0.8 n lim n→∞ ρ(n) = 0.8 n Badanie regularności w słowach N 34 / 41 Słowa standardowe – maksymalne powtórzenia P. Baturo, M. Piątkowski, W. Rytter – 2008 ∀n>0 ρ(n) ¬ 0.8 n lim n→∞ ρ(n) = 0.8 n M. Piątkowski, W. Rytter – 2011 Zwarty wzór na liczbę maksymalnych powtórzeń kubicznych w słowach standardowych ρ(3) (n) = 0.36924841 . . . n→∞ n lim Badanie regularności w słowach N 34 / 41 Burrows-Wheeler Transform BWT Podstawy teoretyczne – David Wheeler, 1983 Zastosowanie praktyczne – Michael Burrows, 1994 Podstawa algorytmu kompresji bzip2 Badanie regularności w słowach N 35 / 41 Burrows-Wheeler Transform Algorytm ABRAKADABRA Wyznacz macierz M zawierającą wszystkie cykliczne przesunięcia słowa wejściowego Posortuj wiersze M leksykograficznie Zwróć zawartość ostatniej kolumny M oraz numer wiersza zawierającego słowo wejściowe Badanie regularności w słowach N 36 / 41 Burrows-Wheeler Transform Algorytm ABRAKADABRA Wyznacz macierz M zawierającą wszystkie cykliczne przesunięcia słowa wejściowego AABRAKADABR Posortuj wiersze M leksykograficznie ABRAABRAKAD Zwróć zawartość ostatniej kolumny M oraz numer wiersza zawierającego słowo wejściowe DABRAABRAKA RAABRAKADAB BRAABRAKADA ADABRAABRAK KADABRAABRA AKADABRAABR RAKADABRAAB BRAKADABRAA Badanie regularności w słowach N 36 / 41 Burrows-Wheeler Transform Algorytm AABRAKADABR Wyznacz macierz M zawierającą wszystkie cykliczne przesunięcia słowa wejściowego ABRAABRAKAD Posortuj wiersze M leksykograficznie AKADABRAABR Zwróć zawartość ostatniej kolumny M oraz numer wiersza zawierającego słowo wejściowe BRAABRAKADA ABRAKADABRA ADABRAABRAK BRAKADABRAA DABRAABRAKA KADABRAABRA RAABRAKADAB RAKADABRAAB Badanie regularności w słowach N 36 / 41 Burrows-Wheeler Transform Algorytm AABRAKADABR Wyznacz macierz M zawierającą wszystkie cykliczne przesunięcia słowa wejściowego ABRAABRAKAD Posortuj wiersze M leksykograficznie AKADABRAABR Zwróć zawartość ostatniej kolumny M oraz numer wiersza zawierającego słowo wejściowe BRAABRAKADA ABRAKADABRA ADABRAABRAK BRAKADABRAA DABRAABRAKA KADABRAABRA Wynik (R D A K R A A A A B B, 3) RAABRAKADAB RAKADABRAAB Badanie regularności w słowach N 36 / 41 Burrows-Wheeler Transform Własności BWT Można pozbyć się numeru wiersza w wyniku dodając na końcu kodowanego słowa znak specjalny. Użycie samej tranformaty nie powoduje kompresji. Zmienia strukturę przetwarzanych danych powodując grupowanie identycznych znaków w bloki. Pozwala zwiększyć stopień kompresji przy użyciu innych algorytmów. Badanie regularności w słowach N 37 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście R D A K R A A A A B B (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A A A A A B B D K R R R D A K R A A A A B B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - - - - - A A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - - - - - A A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - - - - RA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - - - - RA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - - - BRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - - - BRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - - ABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - - ABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - DABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - - DABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - ADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - - ADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - KADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - - KADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - AKADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- - AKADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- RAKADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D A- RAKADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – odwracanie Wejście (R D A K R A A A A B B, 3) Algorytm Umieść słowo wejściowe w ostatniej kolumnie macierzy M Odzyskaj pierwszą kolumnę przez sortowanie zawartości ostatniej Wykorzystując dwie znane kolumny odzyskaj kolejne elementy wiersza zawierającego słowo wejściowe A R A D ABRAKADABRA A K A R B A B A D A K A R B R B Badanie regularności w słowach N 38 / 41 Burrows-Wheeler Transform – słowa standardowe abaababaabaab Badanie regularności w słowach N 39 / 41 Burrows-Wheeler Transform – słowa standardowe a b a a b a a b a b a a b b a b a a b a a b a b a a a b a b a a b a a b a b a a a b a b a a b a a b a b b a a b a b a a b a a b a a b a a b a b a a b a a b b a b a a b a b a a b a a a b a b a a b a b a a b a a a b a b a a b a b a a b b a a b a b a a b a b a a a b a a b a b a a b a b a a a b a a b a b a a b a b b a a b a a b a b a a b a Badanie regularności w słowach N 39 / 41 Burrows-Wheeler Transform – słowa standardowe a b a a b a a b a b a a b b a b a a b a a b a b a a a b a b a a b a a b a b a a a b a b a a b a a b a b b a a b a b a a b a a b a a b a a b a b a a b a a b b a b a a b a b a a b a a a b a b a a b a b a a b a a a b a b a a b a b a a b b a a b a b a a b a b a a a b a a b a b a a b a b a a a b a a b a b a a b a b b a a b a a b a b a a b a a a a a a a a a b b b b b a a a b b b b b a a a a a b b b a a a a a a a a b b a a a a a a b b b b b a a a b b b b b a a a a a a a b a a a a a a a a b b b b a a a a b b b b b a a a a b b b b a a a a a a a a b a a a a a a a b b b b b a a a b b b b b a a a a a a b b a a a a a a a a b b b Badanie regularności w słowach N a a a a a b b b b b a a a b b b b b a a a a a a a a 39 / 41 Burrows-Wheeler Transform – słowa standardowe a b a a b a a b a b a a b b a b a a b a a b a b a a a b a b a a b a a b a b a a a b a b a a b a a b a b b a a b a b a a b a a b a a b a a b a b a a b a a b b a b a a b a b a a b a a a b a b a a b a b a a b a a a b a b a a b a b a a b b a a b a b a a b a b a a a b a a b a b a a b a b a a a b a a b a b a a b a b b a a b a a b a b a a b a a a a a a a a a b b b b b a a a b b b b b a a a a a b b b a a a a a a a a b b a a a a a a b b b b b a a a b b b b b a a a a a a a b a a a a a a a a b b b b a a a a b b b b b a a a a b b b b a a a a a a a a b a a a a a a a b b b b b a a a b b b b b a a a a a a b b a a a a a a a a b b b Badanie regularności w słowach N a a a a a b b b b b a a a b b b b b a a a a a a a a 39 / 41 Burrows-Wheeler Transform – słowa standardowe Fakt Dla dowolnego słowa standardowego w : BWT (w ) = bn ak Badanie regularności w słowach N 40 / 41 Dziękuję za uwagę