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))n­0 = (sb (n) mod m)n­0
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

Podobne dokumenty