Transformata Burrowsa-Wheelera uogólnionych slów Thuego
Transkrypt
Transformata Burrowsa-Wheelera uogólnionych slów Thuego
Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Morse’a Paweł Papis Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego 13 listopada 2008 Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Dygresja ortograficzna „Nazwiska zakończone na -e nieme (tzn. niewymawiane) otrzymują polskie końcówki po apostrofie” - Słownik Ortograficzny PWN Wniosek: Morse’a, a nie Morsa „Nazwiska kończące się w wymowie na e (...) odmieniamy w liczbie pojedynczej jak przymiotniki” Stąd: Thuego Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Transformata Burrowsa-Wheelera Jest podstawą algorytmu BZIP2, alternatywą dla opatentowanego w USA kodowania arytmetycznego. Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT(barackobama) barackobama abarackobam mabarackoba amabarackob bamabaracko obamabarack kobamabarac ckobamabara ackobamabar rackobamaba arackobamab Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT(barackobama) abarackobam ackobamabar amabarackob arackobamab bamabaracko barackobama ckobamabara kobamabarac mabarackoba obamabarack rackobamaba Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT(barackobama) abarackoba m ackobamaba r amabaracko b arackobama b bamabarack o barackobam a ckobamabar a kobamabara c mabarackob a obamabarac k rackobamab a Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT(barackobama) 0 abarackoba m 1 ackobamaba r 2 amabaracko b 3 arackobama b 4 bamabarack o 5 barackobam a 6 ckobamabar a 7 kobamabara c 8 mabarackob a 9 obamabarac k 10 rackobamab a Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT(barackobama) BWT (barackobama) = mrbboaacaka iBWT (barackobama) = 5 Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Definicja Słowo Thuego-Morse’a: 011010011001011010010110011010011001011001101001011... Słowem Thuego-Morse’a nazywamy ciąg postaci (sn )n∈N , gdzie: sn = ( 0 1 jeśli n ma parzystą liczbę jedynek w zapisie binarnym jeśli n ma nieparzystą liczbę jedynek w zapisie binarnym Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Kilka prostych własności s2i = si oraz s2i +1 = 1 − si , co pociąga za sobą (s2n )n∈N = (1 − s2n+1 )n∈N = (sn )n∈N Jeśli si = si +1 , to i jest nieparzyste W pięciu kolejnych literach słowa Thuego-Morse’a istnieją dwa takie same następujące po sobie znaki (nie ma podsłów: 01010 oraz 10101) Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Rozważane słowa Prefiksy (sn )n∈N o długościach 2i : tm(0) = 0 tm(1) = 01 tm(2) = 0110 tm(3) = 01101001 tm(4) = 0110100110010110 tm(5) = 01101001100101101001011001101001 ... Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Rozważane słowa Prefiksy (sn )n∈N o długościach 2i : tm(0) = 0 tm(1) = 0 1 tm(2) = 01 10 tm(3) = 0110 1001 tm(4) = 01101001 10010110 tm(5) = 0110100110010110 1001011001101001 ... bo s2k +n = 1 − sn , jeśli n < 2k Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Morfizm deiniujący słowa Thuego-Morse’a Przypomnienie faktu sprzed paru chwil: s2i = si oraz s2i +1 = 1 − si , a skoro tak, zdefiniujmy następujący morfizm: φ: ( 0 → 01 1 → 10 Wówczas (sn )n∈N = φk (0) przy k → ∞, dodatkowo: tm(k) = φk (0) Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT słów Thuego-Morse’a tm(0) = 0, BWT (tm(0)) = 0 tm(1) = 01, BWT (tm(1)) = 10 tm(2) = 0110, BWT (tm(2)) = 1010 tm(3) = 01101001, BWT (tm(3)) = 12 010102 tm(4) = 0110100110010110, BWT (tm(4)) = 14 02 101012 04 tm(5) = 01101001100101101001011001101001, BWT (tm(5)) = 18 04 12 010102 14 08 BWT (tm(6)) = 116 08 14 02 101012 04 18 016 ... Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT słów Thuego-Morse’a BWT (tm(0)) = 0 BWT (tm(1)) = 10 BWT (tm(2)) = 1010 BWT (tm(3)) = 12 010102 BWT (tm(4)) = 14 02 101012 04 BWT (tm(5)) = 18 04 12 010102 14 08 BWT (tm(6)) = 116 08 14 02 101012 04 18 016 ... Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT słów Thuego-Morse’a BWT (tm(k)) = v (k)v̄ (k)R , gdzie: k−2 v (k) = 12 2k−2 v (k) = 1 k−3 02 2k−3 0 . . . 14 02 10, gdy k parzyste . . . 04 12 01, gdy k nieparzyste Dlaczego BWT słów Thuego-Morse’a jest postaci v v̄ R ? Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Twierdzenie Twierdzenie: Jeśli w ∈ {0, 1}∗ , to BWT (w w̄ ) = v v̄ R . Trochę definicji: cshift(w0 w1 . . . wn−1 , i ) = wi wi +1 . . . wn−1 w0 w1 . . . wi −1 CShift(w0 w1 . . . wn−1 ) = S = i =0,...,n−1 {cshift(w0 w1 . . . wn−1 , i )} Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Twierdzenie - dowód Twierdzenie: Jeśli w ∈ {0, 1}∗ , to BWT (w w̄ ) = v v̄ R . Niech w ′ będzie cyklicznym przesunięcia słowa w w̄ : w w̄ = w0 w1 . . . wn−1 (1 − w0 )(1 − w1 ) . . . (1 − wn−1 ), wtedy: dla 0 ¬ i ¬ n − 1: ′ w ′ = w0′ w1′ . . . w2n−1 = cshift(w w̄, i) = = wi . . . wn−1 (1 − w0 )(1 − w1 ) . . . (1 − wn−1 )w0 . . . wi −1 , dla n ¬ i ¬ 2n − 1: ′ w ′ = w0′ w1′ . . . w2n−1 = cshift(w w̄, i) = = (1−wi −n )(1−wi −n+1) . . . (1−wn−1)w0 w1 . . . wn−1 (1−w0 ) . . . . . . (1 − wi −n−1). Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Twierdzenie - dowód Twierdzenie: Jeśli w ∈ {0, 1}∗ , to BWT (w w̄ ) = v v̄ R . Zatem dla wszystkich przesunięć cyklicznych słowa w w̄ jest spełnione: wi′ = 1 − wi′+n . Z czego wynika, że dla każdego w ′ ∈ CShift(w w̄) istnieje słowo w̄ ′ ∈ CShift(w w̄): w̄ ′ = cshift(w ′ , n). Ponieważ #0 (w w̄ ) = #1 (w w̄ ), to dokładnie n słów będących cyklicznymi przesunięciami w w̄ zaczyna się od 1, tyle samo zaczyna się od 0. Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Twierdzenie - dowód Twierdzenie: Jeśli w ∈ {0, 1}∗ , to BWT (w w̄ ) = v v̄ R . Niech u będzie i -tym w porządku cyklicznym przesunięciem w w̄ , zaczynającym się od 0. Wówczas ū = cshift(u, n) (rozpoczynające się 1) będzie i tym w porządku cyklicznym przesunięciem, czyli 2n − i + 1-szym w porządku . Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Twierdzenie - dowód Twierdzenie: Jeśli w ∈ {0, 1}∗ , to BWT (w w̄ ) = v v̄ R . Niech v (i ) będzie ostatnim znakiem i -tego w porządku przesunięcia cyklicznego w w̄ . Wówczas v (i ) = 1 − v (2n − i + 1). Wynika z tego: BWT (w w̄ ) = v (1)v (2) . . . v (2n) = v (1)v (2) . . . v (n)(1−v (n))(1−v (n−1)) . . . (1−v (2))(1−v (1)) = v v̄ R Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Fakt Jeśli x, y ∈ {0, 1}∗ i x y , to φ(x) φ(y ). Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Przykład φ(0011) = 01011010 φ(0110) = 01101001 φ(1001) = 10010110 φ(1100) = 10100101 Jeśli x kończy się na 0/1, φ(x) kończy się na 1/0 Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Przykład φ(0011) = 01011010 10110100 φ(0110) = 01101001 11010010 φ(1001) = 10010110 00101101 φ(1100) = 10100101 01001011 Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a 00 . . . i 0100 . . . Ile jest cyklicznych przesunięć tm(k) zaczynających się od 00 / 0100? Czy zawsze kończą się 1? Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Indeksy BWT słów Thuego-Morse’a (numerowane od 0) iBWT (tm(0)) = 0 iBWT (tm(1)) = 0 iBWT (tm(2)) = 1 iBWT (tm(3)) = 3 iBWT (tm(4)) = 7 iBWT (tm(5)) = 15 ... iBWT (tm(k)) = 2k−1 − 1 (dla k 1) Wniosek: tm(k) jest ostatnim w porządku leksykograficznym elementem CShift(tm(k)) zaczynającym się od 0. Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Definicja sb (n) – suma cyfr zapisu liczby n w systemie liczbowym o podstawie b Uogólnione słowa Thuego-Morse’a: (utmb,m (n))n0 = (sb (n) mod m)n0 Słowa Thuego-Morse’a są szczególnym przypadkiem: (przy b = 2 oraz m = 2) Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Definicja - morfizm φb,m : 0 → (0 mod m)(1 mod m) . . . ((b − 1) mod m) 1 → (1 mod m)(2 mod m) . . . (b mod m) 2 → (2 mod m)(3 mod m) . . . ((b + 1) mod m) ... m − 1 → ((m − 1) mod m) . . . ((m + b − 2)) mod m) Wówczas (utmb,m (n))n∈N = φkb,m (0) przy k → ∞ Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Definicja - morfizm, przykład Dla b = 4 i m = 3: φb,m : 0 → 0120 1 → 1201 2 → 2012 (utm4,3 (n))n∈N = 0120120120120120120120120120 . . . Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Rozważane słowa Prefiksy uogólnionych słów Thuego-Morse’a długości b i . Niech tb,m (i ) oznacza prefiks słowa (utmb,m (n))n∈N = φkb,m (0) długości b i . Gdy b = 4 i m = 3: t3,4 (1) = 0120, BWT (t3,4 (1) = 202 1 t3,4 (2) = (012)5 0, BWT (t3,4 (2) = 25 06 15 t3,4 (3) = (012)21 0, BWT (t3,4 (3) = 221 022 121 Podobna sytuacja ma miejsce zawsze, gdy b ≡ 1 (mod m). Jaki jest iBWT w takim przypadku? Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT (t4,2) BWT (t4,2 (1)) = 12 02 BWT (t4,2 (2)) = 14 02 12 02 12 04 BWT (t4,2 (3)) = 116 02 12 02 12 02 16 06 12 02 12 02 12 016 BWT (t4,2 (4)) = 164 06 16 010 12 02 12 02 12 06 126 026 16 02 12 02 12 02 110 06 16 064 BWT (t4,2 (5)) = 1256 026 126 038 16 06 110 02 12 02 12 02 16 026 1102 0102 126 06 12 02 12 02 12 010 16 06 138 026 126 0256 Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT (t6,2) BWT (t6,2 (1)) = 13 03 BWT (t6,2 (2)) = 19 03 16 06 13 09 BWT (t6,2 (3)) = 154 03 16 06 13 06 130 030 16 03 16 06 13 054 BWT (t6,2 (4)) = 1324 015 130 039 13 06 16 03 16 030 1186 0186 130 06 13 06 16 03 139 030 115 0324 BWT (t6,2 (5)) = 11944 093 1186 0231 115 030 139 03 16 06 13 06 130 0186 11110 01110 1186 030 16 03 16 06 13 039 130 015 1231 0186 193 01944 Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a BWT (t8,2) BWT (t8,2 (1)) = 14 04 BWT (t8,2 (2)) = 116 04 112 012 14 016 BWT (t8,2 (3)) = 1128 04 112 012 14 012 184 084 112 04 112 012 14 0128 BWT (t8,2 (4)) = 11024 028 184 0100 14 012 112 04 112 084 1684 0684 184 012 14 012 112 04 1100 084 128 01024 BWT (t8,2 (5)) = 18192 0228 1684 0796 128 084 1100 04 112 012 14 012 184 0684 15460 05460 1684 084 112 04 112 012 14 0100 184 028 1796 0684 1228 08192 Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Hipoteza dla m = 2 Jeśli b = 4k + 2 dla k 0, to istnieje w takie, że tb,2 (i ) = w w̄ . Jeśli b = 4k, to tb,2 (i ) = ww . BWT (tb,2 (i )) dla b 4 parzystych ma następującą postać: BWT (tb,2 (i )) = vb,2 (i )v̄b,2 (i ))R , Gdzie: vb,2 (i ) = 1ki ,1 0ki ,2 1ki ,3 . . . 0ki ,4i −6 1ki ,4i −5 (składa się z 4i − 5 spójnych bloków 0 lub 1 dla i 2 i z jednego bloku dla i = 1) Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Hipoteza dla m = 2 Długość pierwszego bloku: bi b , ki ,1 = dla i 2. 2 4 Długość drugiego bloku: b 2 k2,2 = , ki ,2 = · ki ,3 dla i 2. 2 b−2 Długość trzeciego bloku: k1,1 = b 2 − 2b , ki ,3 = ki −1,4i −9 dla i 3. 4 Długość czwartego bloku: k2,3 = ki ,4 = k2,3 ki −1,4 · b + k i −1,4 · b − b 2 b 2 Paweł Papis dla i = 3, dla i 4 parzystych, dla i 5 nieparzystych. Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Hipoteza dla m = 2 Długość bloków od piątego do przedostatniego: ki ,j = ki −1,j−3 dla 5 ¬ j ¬ 4i − 6, i 3. Długość ostatniego bloku: ki ,4i −5 = b2 −2b 4 ki −1,4i −9 · b − ki −1,4i −9 · b + Paweł Papis b2 −2b 4 b2 −2b 4 dla i = 2, dla i 3 nieparzystych, dla i 4 parzystych. Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor Transormata Burrowsa-Wheelera Słowa Thuego-Morse’a Uogólnione słowa Thuego-Morse’a Cele pracy Postawienie jak największej liczby hipotez dotyczących postaci transformaty Burrowsa-Wheelera uogólnionych słów Thuego-Morse’a. Podjęcie próby udowodnienia postawionych hipotez. Paweł Papis Transformata Burrowsa-Wheelera uogólnionych słów Thuego-Mor