Algoytmy dla tekstów zdeniowanych pzez samopodobie«stwo. 14 maja 2007
1 2 3 Run-length compession Lempel-Ziv 4 deteministyczne z wagami Podobazy
1 2 3 Run-length compession Lempel-Ziv 4 deteministyczne z wagami Podobazy
O czym b dzie: Wyszukiwanie wzoca w tekstach skompesowanych. Wyszukiwanie skompesowanego wzoca w tekstach skompesowanych. Spawdzanie czy na ustalonej pozycji wyst puje wzozec w tek±cie skompesowanym. Spawdzanie czy na ustalonej pozycji wyst puje skompesowany wzozec w tek±cie skompesowanym....
1 2 3 Run-length compession Lempel-Ziv 4 deteministyczne z wagami Podobazy
Denicja Pogamem SLP nazywamy nast puj cy zbió eguª: X 1 = exp 1 ; X 2 = exp 2 ;... ; X n = exp n, gdzie X i = a lub X i = X j X k dla j, k < i, a Σ.
Denicja Pogamem SLP nazywamy nast puj cy zbió eguª: X 1 = exp 1 ; X 2 = exp 2 ;... ; X n = exp n, gdzie X i = a lub X i = X j X k dla j, k < i, a Σ. Pzykªad Pi te sªowo Fibonacciego mo»na zdeniowa za pomoc SLP nast puj co:
Denicja Pogamem SLP nazywamy nast puj cy zbió eguª: X 1 = exp 1 ; X 2 = exp 2 ;... ; X n = exp n, gdzie X i = a lub X i = X j X k dla j, k < i, a Σ. Pzykªad Pi te sªowo Fibonacciego mo»na zdeniowa za pomoc SLP nast puj co: X 1 = b; X 2 = a; X 3 = X 2 X 1 ; X 4 = X 3 X 2 ; X 5 = X 4 X 3.
Twiedzenie Wyst pienia skompesowanego wzoca P w skompesowanym tek±cie T mo»na wyznaczy w czasie wielomianowym.
Twiedzenie Wyst pienia skompesowanego wzoca P w skompesowanym tek±cie T mo»na wyznaczy w czasie wielomianowym. Pzykªad Mo»na efektywnie wyznaczy liczb wyst pie«sªowa liczby Fibonacciego F 220 w dwusetnej liczbie Thue-Mose ψ 200 mimo,»e ich dªugo± jest znaczna: F 220 2 120, ψ 200 = 2 200.
Gªówne koki algoytmu, to: Obliczenie zbioów Ovelaps(X i, P) oaz Ovelaps(P, X i ) dla zmiennych X i opisuj cych T. Ovelaps(X, Y ) jest zbioem tych pozycji i, dla któych peks Y [1..i] jest suksem X.
Gªówne koki algoytmu, to: Obliczenie zbioów Ovelaps(X i, P) oaz Ovelaps(P, X i ) dla zmiennych X i opisuj cych T. Ovelaps(X, Y ) jest zbioem tych pozycji i, dla któych peks Y [1..i] jest suksem X. Nast pnie si spawdza, czy wzozec nie wyst puje wokóª punktów podziaªu. Wykozystuje si fakt,»e wyst pienia wzoca wokóª punktu podziaªu twoz pewien ci g aytmetyczny.
Denicja Ovelap(X, Y, k) jest pawdziwe, gdy Y [1..k] jest suksem X.
Denicja Ovelap(X, Y, k) jest pawdziwe, gdy Y [1..k] jest suksem X. OV [X i, X j ] := {k : Ovelap(X i, X j, k) zachodzi}.
Denicja Ovelap(X, Y, k) jest pawdziwe, gdy Y [1..k] jest suksem X. OV [X i, X j ] := {k : Ovelap(X i, X j, k) zachodzi}. PefExt(U, A, B) = {k + B : k U, A[1... k] B jest peksem A}.
Denicja Ovelap(X, Y, k) jest pawdziwe, gdy Y [1..k] jest suksem X. OV [X i, X j ] := {k : Ovelap(X i, X j, k) zachodzi}. PefExt(U, A, B) = {k + B : k U, A[1... k] B jest peksem A}. Solution(p, U, W ) dowolny i U, któy speªnia i + j = p dla pewnego j W.
Denicja Ovelap(X, Y, k) jest pawdziwe, gdy Y [1..k] jest suksem X. OV [X i, X j ] := {k : Ovelap(X i, X j, k) zachodzi}. PefExt(U, A, B) = {k + B : k U, A[1... k] B jest peksem A}. Solution(p, U, W ) dowolny i U, któy speªnia i + j = p dla pewnego j W. Funkcja Compess ª czy ozª czne liniowo upoz dkowane zbioy, póbuj c scali pa popzez doª czenie jednego zbiou jako kontynuacje popzedniego.
Algoytm Oblicz zbioy Ovelap. Oblicz OV [X i, X j ] dla ka»dej pay zmiennych teminalnych fo (i, j) //Zalo»enie: X i = X p X q U := OV [X p, X j ] U := PefExt(U, X j, X q ) W := OV [X j, X q ] OV [X i, X j ] := Compess(U W )
Algoytm Patten Matching Oblicz zbioy Ovelap. Fo k=1 to n do //Zaªo»enie: X k = X i X j pos := Solution( P, OV [X i, P], OV [P, X j ]) if pos 0 then etun tue;
Zdeniujmy pogam SLP dla pzypadku 2D. Potzebne s dodatkowe opeacje: Denicja Pozioma konkatenacja: A B C.
Zdeniujmy pogam SLP dla pzypadku 2D. Potzebne s dodatkowe opeacje: Denicja Pozioma konkatenacja: A B C. A = B C
Zdeniujmy pogam SLP dla pzypadku 2D. Potzebne s dodatkowe opeacje: Denicja Pozioma konkatenacja: Pionowa konkatenacja: A B C. A = B C A B C.
Zdeniujmy pogam SLP dla pzypadku 2D. Potzebne s dodatkowe opeacje: Denicja Pozioma konkatenacja: Pionowa konkatenacja: A B C. A = B C A B C. A = B C
Pzykªad Zdeniujmy kzyw Hilbeta. Potzebne s nam:
Pzykªad Zdeniujmy kzyw Hilbeta. Potzebne s nam: Symbole teminalne:,,,,,.
Pzykªad Zdeniujmy kzyw Hilbeta. Potzebne s nam: Symbole teminalne: Zmienne:,,,,,. i, i, i, i, i, i, i, i, i, i. i, i,
Pzykªad Zdeniujemy pzej±cia:
Pzykªad Zdeniujemy pzej±cia: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Pzykªad Zdeniujemy pzej±cia: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Dalej ekuencyjnie: i ( i 1 i 1 ) ( i 1 i 1 ) ( i ( i ( i 1 i 1 ) ( i 1 i 1 i 1 i 1), i 1), i 1).
Pzykªad Kzywa Hilbeta dla: 3
Pzykªad Kzywa Hilbeta dla: 3
Z pogamami SLP mo»emy stowazyszy wielomiany.
Z pogamami SLP mo»emy stowazyszy wielomiany. Twiedzenie Dla danego pogamu Z mo»emy w czasie wielomianowym obliczy pogam SLP, któy deniuje wielomian Poly Z.
Z pogamami SLP mo»emy stowazyszy wielomiany. Twiedzenie Dla danego pogamu Z mo»emy w czasie wielomianowym obliczy pogam SLP, któy deniuje wielomian Poly Z. Niech A i B b d SLP-obazami, wówczas A = B Poly A Poly B.
Twiedzenie Istnieje algoytm, któy w czasie wielomianowym stwiedzi, z pewnym pawdopodobie«stwem, ówno± 2d-tekstów na podstawie ich SLP-pogamów.
Twiedzenie Istnieje algoytm, któy w czasie wielomianowym stwiedzi, z pewnym pawdopodobie«stwem, ówno± 2d-tekstów na podstawie ich SLP-pogamów. Dowód Niech n b dzie ozmiaem skompesowanych tekstów A i B. Niech:
Twiedzenie Istnieje algoytm, któy w czasie wielomianowym stwiedzi, z pewnym pawdopodobie«stwem, ówno± 2d-tekstów na podstawie ich SLP-pogamów. Dowód Niech n b dzie ozmiaem skompesowanych tekstów A i B. Niech: deg = max {st(a), st(b)}, oaz deg c n dla pewnej staªej c.
Lemat Niech W b dzie niezeowym wielomianem o stopniu co najwy»ej d. Zaªó»my,»e ka»dej zmiennej z W pzypoz dkowali±my zmienn liczb ze zbiou Ω liczb caªkowitych o mocy R. Wtedy P(W (x) 0) 1 d R.
Lemat Niech W b dzie niezeowym wielomianem o stopniu co najwy»ej d. Zaªó»my,»e ka»dej zmiennej z W pzypoz dkowali±my zmienn liczb ze zbiou Ω liczb caªkowitych o mocy R. Wtedy P(W (x) 0) 1 d R. Dowód cd.. Wybieamy losowo x 0, y 0 z pzedziaªu [1... 4 deg] i spawdzamy czy y 1 = y 2, gdzie y 1 = W A (x 0, y 0 ) i y 2 = W B (x 0, y 0 ).
Lemat Niech W b dzie niezeowym wielomianem o stopniu co najwy»ej d. Zaªó»my,»e ka»dej zmiennej z W pzypoz dkowali±my zmienn liczb ze zbiou Ω liczb caªkowitych o mocy R. Wtedy P(W (x) 0) 1 d R. Dowód cd.. Wybieamy losowo x 0, y 0 z pzedziaªu [1... 4 deg] i spawdzamy czy y 1 = y 2, gdzie y 1 = W A (x 0, y 0 ) i y 2 = W B (x 0, y 0 ). Powtazaj c test logaytmiczn ilo± azy mamy zagwaantowane,»e pawdopodobie«stwo poa»ki wynosi co najwy»ej 1/n.
Lemat Niech W b dzie niezeowym wielomianem o stopniu co najwy»ej d. Zaªó»my,»e ka»dej zmiennej z W pzypoz dkowali±my zmienn liczb ze zbiou Ω liczb caªkowitych o mocy R. Wtedy P(W (x) 0) 1 d R. Dowód cd.. Wybieamy losowo x 0, y 0 z pzedziaªu [1... 4 deg] i spawdzamy czy y 1 = y 2, gdzie y 1 = W A (x 0, y 0 ) i y 2 = W B (x 0, y 0 ). Powtazaj c test logaytmiczn ilo± azy mamy zagwaantowane,»e pawdopodobie«stwo poa»ki wynosi co najwy»ej 1/n. Jednak»e y 1, y 2 mog by w stosunku do deg wykªadnicze oaz posiada wykªadnicz liczb bitów, wi c obliczenie ich nie b dzie o wielomianowej zªo»ono±ci.
Dowód cd.. Wybiezmy wi c liczb piewsz p z pzedziaªu [1... n 2 ] i obliczmy y 1 modp oaz y 2 modp.
Dowód cd.. Wybiezmy wi c liczb piewsz p z pzedziaªu [1... n 2 ] i obliczmy y 1 modp oaz y 2 modp. Wówczas je»eli y 1 modp i y 2 modp s ó»ne, to wielomiany s tak»e ó»ne.
Twiedzenie Wyszukiwanie jawnego wzoca P w skompesowanym tek±cie T jest poblemem NP-zupeªnym.
Twiedzenie Wyszukiwanie jawnego wzoca P w skompesowanym tek±cie T jest poblemem NP-zupeªnym. Dowód Powy»szy poblem mo»emy pzedstawi w postaci: (i,j) { k<length(p),l<width(p) P k,l = T i+k,j+l }. Waunek w nawiasach mo»na spawdzi w czasie wielomianowym. eby udowodni NP-tudno± kozysta si z edukcji z poblemu 3SAT.
Twiedzenie Wyszukiwanie jawnego wzoca P w skompesowanym tek±cie T jest poblemem NP-zupeªnym. Dowód Powy»szy poblem mo»emy pzedstawi w postaci: (i,j) { k<length(p),l<width(p) P k,l = T i+k,j+l }. Waunek w nawiasach mo»na spawdzi w czasie wielomianowym. eby udowodni NP-tudno± kozysta si z edukcji z poblemu 3SAT. Rozwa»my zbió klauzul C 0,..., C k 1, któa ka»da zawiea altenatyw tzech liteaªów ze zbiou zmiennych {x 0,..., x n 1 }.
Dowód Niech 0 x 2 n 1 oaz niech x b dzie binan epezentacj x. Klauzule C k taktujemy jako funkcje binane z agumentami z pzedziaªu {x 0,..., x n 1 }.
Dowód Niech 0 x 2 n 1 oaz niech x b dzie binan epezentacj x. Klauzule C k taktujemy jako funkcje binane z agumentami z pzedziaªu {x 0,..., x n 1 }. Wówczas poblem 3SAT wygl da nast puj co: czy istnieje x < 2 n takie,»e C i (x) = 1 dla i = 0,..., k 1.
Dowód Niech 0 x 2 n 1 oaz niech x b dzie binan epezentacj x. Klauzule C k taktujemy jako funkcje binane z agumentami z pzedziaªu {x 0,..., x n 1 }. Wówczas poblem 3SAT wygl da nast puj co: czy istnieje x < 2 n takie,»e C i (x) = 1 dla i = 0,..., k 1. Oznaczmy pzez ow(c i ) binane sªowo w i o dªugo±ci 2 n, takie»e w x = C i (x).
Dowód Niech 0 x 2 n 1 oaz niech x b dzie binan epezentacj x. Klauzule C k taktujemy jako funkcje binane z agumentami z pzedziaªu {x 0,..., x n 1 }. Wówczas poblem 3SAT wygl da nast puj co: czy istnieje x < 2 n takie,»e C i (x) = 1 dla i = 0,..., k 1. Oznaczmy pzez ow(c i ) binane sªowo w i o dªugo±ci 2 n, takie»e w x = C i (x). ow(c i ) mo»na pzedstawi jako jednowymiaowy pogam SLP o ozmiaze O(n).
Dowód Niech 0 x 2 n 1 oaz niech x b dzie binan epezentacj x. Klauzule C k taktujemy jako funkcje binane z agumentami z pzedziaªu {x 0,..., x n 1 }. Wówczas poblem 3SAT wygl da nast puj co: czy istnieje x < 2 n takie,»e C i (x) = 1 dla i = 0,..., k 1. Oznaczmy pzez ow(c i ) binane sªowo w i o dªugo±ci 2 n, takie»e w x = C i (x). ow(c i ) mo»na pzedstawi jako jednowymiaowy pogam SLP o ozmiaze O(n). Zdeniujmy k 2 n 2d-tekst A, któego wieszami s ow(c 1 ),..., ow(c 2 ).
Dowód Niech 0 x 2 n 1 oaz niech x b dzie binan epezentacj x. Klauzule C k taktujemy jako funkcje binane z agumentami z pzedziaªu {x 0,..., x n 1 }. Wówczas poblem 3SAT wygl da nast puj co: czy istnieje x < 2 n takie,»e C i (x) = 1 dla i = 0,..., k 1. Oznaczmy pzez ow(c i ) binane sªowo w i o dªugo±ci 2 n, takie»e w x = C i (x). ow(c i ) mo»na pzedstawi jako jednowymiaowy pogam SLP o ozmiaze O(n). Zdeniujmy k 2 n 2d-tekst A, któego wieszami s ow(c 1 ),..., ow(c 2 ). Poblem 3SAT spowadza si do pytania, czy A zawiea kolumn zawieaj c same jedynki.
Dowód. Poniewa» A mo»na pzedstawi jako n pionowo konkatenowanych sªów, badzo dobze kompesuj cych si, to mo»na go pzedstawi jako dwuwymiaowy SLP o wielomianowym ozmiaze.
Dowód. Poniewa» A mo»na pzedstawi jako n pionowo konkatenowanych sªów, badzo dobze kompesuj cych si, to mo»na go pzedstawi jako dwuwymiaowy SLP o wielomianowym ozmiaze. St d 3SAT spowadza si do wyszukania wzoca w skompesowanym tek±cie.
Twiedzenie Wyszukiwanie skompesowanego wzoca P w tek±cie skompesowanym tek±cie T jest Σ P 2 zupeªne.
Twiedzenie Wyszukiwanie skompesowanego wzoca P w tek±cie skompesowanym tek±cie T jest Σ P 2 zupeªne. Twiedzenie Spawdzenie na ustalonej pozycji obecno±ci skompesowanego wzoca P w skompesowanym tek±cie T jest poblemem co NP-zupeªnym.
Twiedzenie (Algoytm naiwny). Spawdzenie na ustalonej pozycji obecno±ci jawnego wzoca P w skompesowanym tek±cie T mo»na wykona w czasie O(n P ).
Twiedzenie (Algoytm naiwny). Spawdzenie na ustalonej pozycji obecno±ci jawnego wzoca P w skompesowanym tek±cie T mo»na wykona w czasie O(n P ). Twiedzenie Spawdzenie na ustalonej pozycji obecno±ci jawnego wzoca P w skompesowanym tek±cie T mo»na wykona w czasie:
Twiedzenie (Algoytm naiwny). Spawdzenie na ustalonej pozycji obecno±ci jawnego wzoca P w skompesowanym tek±cie T mo»na wykona w czasie O(n P ). Twiedzenie Spawdzenie na ustalonej pozycji obecno±ci jawnego wzoca P w skompesowanym tek±cie T mo»na wykona w czasie: O( P + mn) czyli O( P + n P ) dla wzoców kwadatowych,
Twiedzenie (Algoytm naiwny). Spawdzenie na ustalonej pozycji obecno±ci jawnego wzoca P w skompesowanym tek±cie T mo»na wykona w czasie O(n P ). Twiedzenie Spawdzenie na ustalonej pozycji obecno±ci jawnego wzoca P w skompesowanym tek±cie T mo»na wykona w czasie: O( P + mn) czyli O( P + n P ) dla wzoców kwadatowych, O( P + n + m log n log m), gdzie m = max{width(p), height(p)}.
Algoytm begin V 1, V 2,... V n zmienne z SLP(T ). Q := {(V n, p, P)} fo i := n downto 1 do Q 0 := {wszystkie V i zmienne z Q} Q := Q Q 0 if V i jest podstawowe then fo each q Q 0 if not popawne(q) then etun false else fo each q Q 0 Q := Q Split(q) etun tue end
V i jest podstawowy, gdy jest w postaci V i a, gdzie a Σ.
V i jest podstawowy, gdy jest w postaci V i a, gdzie a Σ. Funkcja popawne dla zapytania (V, p, R) zwaca wato± tue, gdy albo V a i p = (0, 0), R = [a], albo ekuencyjnie ozbijaj c V na skªadowe zmienne.
V i jest podstawowy, gdy jest w postaci V i a, gdzie a Σ. Funkcja popawne dla zapytania (V, p, R) zwaca wato± tue, gdy albo V a i p = (0, 0), R = [a], albo ekuencyjnie ozbijaj c V na skªadowe zmienne. Dla zmiennej: A B C lub A B C funkcja Split((A, p, R)) ozdziela na ównowa»ne B i C -zapytania.
Run-length compession Lempel-Ziv 1 2 3 Run-length compession Lempel-Ziv 4 deteministyczne z wagami Podobazy
Run-length compession Lempel-Ziv Denicja Niech T b dzie tekstem nad alfabetem Σ. Skompesowana posta RLC(T ) wygl da nast puj co: RLC(T ) = a 1 1 a 2 2... a k k, gdzie a i Σ i a i a i+1 dla 1 i < k.
Run-length compession Lempel-Ziv Denicja Niech T b dzie tekstem nad alfabetem Σ. Skompesowana posta RLC(T ) wygl da nast puj co: RLC(T ) = a 1 1 a 2 2... a k k, gdzie a i Σ i a i a i+1 dla 1 i < k. Twiedzenie (1D)Pzypu± my,»e mamy tekst T skompesowany za pomoc RLC oaz wzozec P. Niech n= RLC(T) oaz m= P. Wtedy czas znalezienia wyst pienia P w T wynosi O(n+m).
Run-length compession Lempel-Ziv Algoytm Pzypu± my,»e mamy nie tywialny tekst i wzozec (czyli zawieaj po dwa ózne znaki). Niech T = a 1 1 a 2 2... a k oaz P = k bt 1 1 b t 2 2... b t s s. Konstuujemy T = 2 3... k 1, P = t 2 t 3... t s 1, α(t ) = a 2 a 3... a k 1 i α(p) = b 2 b 3... b s 1. Wyszukujemy jednocze±nie wyst pienie P w T oaz α(p) w α(t ). Dla ka»dego znalezionego wyst pienia i spawdzamy w czasie staªym wyst pienie P w T na pozycji i.
Run-length compession Lempel-Ziv Algoytm Pzypu± my,»e mamy nie tywialny tekst i wzozec (czyli zawieaj po dwa ózne znaki). Niech T = a 1 1 a 2 2... a k oaz P = k bt 1 1 b t 2 2... b t s s. Konstuujemy T = 2 3... k 1, P = t 2 t 3... t s 1, α(t ) = a 2 a 3... a k 1 i α(p) = b 2 b 3... b s 1. Wyszukujemy jednocze±nie wyst pienie P w T oaz α(p) w α(t ). Dla ka»dego znalezionego wyst pienia i spawdzamy w czasie staªym wyst pienie P w T na pozycji i.
Run-length compession Lempel-Ziv Algoytm Pzypu± my,»e mamy nie tywialny tekst i wzozec (czyli zawieaj po dwa ózne znaki). Niech T = a 1 1 a 2 2... a k oaz P = k bt 1 1 b t 2 2... b t s s. Konstuujemy T = 2 3... k 1, P = t 2 t 3... t s 1, α(t ) = a 2 a 3... a k 1 i α(p) = b 2 b 3... b s 1. Wyszukujemy jednocze±nie wyst pienie P w T oaz α(p) w α(t ). Dla ka»dego znalezionego wyst pienia i spawdzamy w czasie staªym wyst pienie P w T na pozycji i.
Run-length compession Lempel-Ziv Algoytm Pzypu± my,»e mamy nie tywialny tekst i wzozec (czyli zawieaj po dwa ózne znaki). Niech T = a 1 1 a 2 2... a k oaz P = k bt 1 1 b t 2 2... b t s s. Konstuujemy T = 2 3... k 1, P = t 2 t 3... t s 1, α(t ) = a 2 a 3... a k 1 i α(p) = b 2 b 3... b s 1. Wyszukujemy jednocze±nie wyst pienie P w T oaz α(p) w α(t ). Dla ka»dego znalezionego wyst pienia i spawdzamy w czasie staªym wyst pienie P w T na pozycji i.
Run-length compession Lempel-Ziv Algoytm Pzypu± my,»e mamy nie tywialny tekst i wzozec (czyli zawieaj po dwa ózne znaki). Niech T = a 1 1 a 2 2... a k oaz P = k bt 1 1 b t 2 2... b t s s. Konstuujemy T = 2 3... k 1, P = t 2 t 3... t s 1, α(t ) = a 2 a 3... a k 1 i α(p) = b 2 b 3... b s 1. Wyszukujemy jednocze±nie wyst pienie P w T oaz α(p) w α(t ). Dla ka»dego znalezionego wyst pienia i spawdzamy w czasie staªym wyst pienie P w T na pozycji i.
Run-length compession Lempel-Ziv Twiedzenie (2D)Pzypu± my,»e mamy tekst T 2d skompesowany za pomoc RLC oaz wzozec 2D. Niech n= 2RLC(T) oaz M= P. Wtedy czas znalezienia wyst pienia P w T wynosi O(n+M).
Lempel-Ziv Run-length compession Lempel-Ziv Denicja Dany jest alfabet Σ. Dla danego sªowa w mamy faktoyzacje: w = c 1 f 1 c 2... f k c k+1, gdzie c 1 = w[1] oaz dla ka»dego 1 i k c i Σ i f i jest najdªu»szym peksem f i c i+1... f k c k+1 któy wyst puje w c 1 f 1 c 2... f i 1 c i.
Lempel-Ziv Run-length compession Lempel-Ziv Denicja Dany jest alfabet Σ. Dla danego sªowa w mamy faktoyzacje: w = c 1 f 1 c 2... f k c k+1, gdzie c 1 = w[1] oaz dla ka»dego 1 i k c i Σ i f i jest najdªu»szym peksem f i c i+1... f k c k+1 któy wyst puje w c 1 f 1 c 2... f i 1 c i. Pzykªad Faktoyzacja sªowa: aababbabbaababbabba#
Lempel-Ziv Run-length compession Lempel-Ziv Denicja Dany jest alfabet Σ. Dla danego sªowa w mamy faktoyzacje: w = c 1 f 1 c 2... f k c k+1, gdzie c 1 = w[1] oaz dla ka»dego 1 i k c i Σ i f i jest najdªu»szym peksem f i c i+1... f k c k+1 któy wyst puje w c 1 f 1 c 2... f i 1 c i. Pzykªad Faktoyzacja sªowa: aababbabbaababbabba# a a b ab b aab a ababbabba #
Lempel-Ziv Run-length compession Lempel-Ziv Denicja Dany jest alfabet Σ. Dla danego sªowa w mamy faktoyzacje: w = c 1 f 1 c 2... f k c k+1, gdzie c 1 = w[1] oaz dla ka»dego 1 i k c i Σ i f i jest najdªu»szym peksem f i c i+1... f k c k+1 któy wyst puje w c 1 f 1 c 2... f i 1 c i. Pzykªad Faktoyzacja sªowa: aababbabbaababbabba# a a b ab b aab a ababbabba # LZ(aababbabbaababbabba#)=a[1,1]b[1,2]b[4,6]a[2,10]#
Run-length compession Lempel-Ziv Lemat Dla dowolnego skompesowanego tekstu T mo»na skonstuowa pogam SLP geneuj c T o ozmiaze O(n 2 ) i gª boko±ci O(log n), gdzie n=lz(t ).
Run-length compession Lempel-Ziv Lemat Dla dowolnego skompesowanego tekstu T mo»na skonstuowa pogam SLP geneuj c T o ozmiaze O(n 2 ) i gª boko±ci O(log n), gdzie n=lz(t ). Pzykªad Niech T = abbabababba.
Run-length compession Lempel-Ziv Lemat Dla dowolnego skompesowanego tekstu T mo»na skonstuowa pogam SLP geneuj c T o ozmiaze O(n 2 ) i gª boko±ci O(log n), gdzie n=lz(t ). Pzykªad Niech T = abbabababba. LZ(T ) = ab[2, 2][1, 2][4, 5][1, 4].
Run-length compession Lempel-Ziv Lemat Dla dowolnego skompesowanego tekstu T mo»na skonstuowa pogam SLP geneuj c T o ozmiaze O(n 2 ) i gª boko±ci O(log n), gdzie n=lz(t ). Pzykªad Niech T = abbabababba. LZ(T ) = ab[2, 2][1, 2][4, 5][1, 4]. Pogam SLP:
Run-length compession Lempel-Ziv Lemat Dla dowolnego skompesowanego tekstu T mo»na skonstuowa pogam SLP geneuj c T o ozmiaze O(n 2 ) i gª boko±ci O(log n), gdzie n=lz(t ). Pzykªad Niech T = abbabababba. LZ(T ) = ab[2, 2][1, 2][4, 5][1, 4]. Pogam SLP: X 1 = a, X 2 = b, X 3 = X 1 X 2, X 4 = X 2 X 1, X 5 = X 3 X 4, X 6 = X 4 X 4, X 7 = X 5 X 6, X 8 = X 7 X 5.
Run-length compession Lempel-Ziv Pzykªad Inna konstukcja - w postaci gamatyki bezkontekstowej:
Run-length compession Lempel-Ziv Pzykªad Inna konstukcja - w postaci gamatyki bezkontekstowej: A = a, B = b, C = A B, D = B C, E = C D, F = D [2] E [4], G = E F. Gdzie X [i] oznacza peks X o dªugo±ci i, za± Y [j] oznacza suks Y o dªugo±ci j.
Run-length compession Lempel-Ziv Twiedzenie (1D) Wyszukiwanie jawnego wzoca P skompesowanym tek±cie T mo»na wykona w czasie O(n log 2 ( T /n) + P ).
Run-length compession Lempel-Ziv Twiedzenie (1D) Wyszukiwanie jawnego wzoca P skompesowanym tek±cie T mo»na wykona w czasie O(n log 2 ( T /n) + P ). Twiedzenie (1D) Wyszukiwanie skompesowanego wzoca P w skompesowanym tek±cie T mo»na wykona w czasie O(n log n log 2 T Eq(n log n)). Eq(m) - oznacza zªo»ono± czasow poównania dwóch tekstów skompesowanych o dªugo±ci m.
Run-length compession Lempel-Ziv Natualnym podej±ciem do kompesji obazów 2D jest pzedstawienie tekstu popzez liniow epezentacje.
Run-length compession Lempel-Ziv Natualnym podej±ciem do kompesji obazów 2D jest pzedstawienie tekstu popzez liniow epezentacje. Obaz mo»na pzegl da w specyczny sposób otzymuj c w ten liniow posta obazu.
Run-length compession Lempel-Ziv Natualnym podej±ciem do kompesji obazów 2D jest pzedstawienie tekstu popzez liniow epezentacje. Obaz mo»na pzegl da w specyczny sposób otzymuj c w ten liniow posta obazu. Pzykªadowo mo»na do uliniowienia tekstu 2d mo»na wykozysta kzyw Hilbeta.
Run-length compession Lempel-Ziv Pzykªad a a a a a a a a a a a a a a a a a a c c c c a a a a c c c c a a a a c c c c a a a a c c c c a a a a a a a a a a a a a a a a a a
Run-length compession Lempel-Ziv Pzykªad a a a a a a a a a a a a a a a a a a c c c c a a a a c c c c a a a a c c c c a a a a c c c c a a a a a a a a a a a a a a a a a a H linea(t ) = a 8 c 4 a 16 c 8 a 16 c 4 a 8
Run-length compession Lempel-Ziv Pzykªad a a a a a a a a a a a a a a a a a a c c c c a a a a c c c c a a a a c c c c a a a a c c c c a a a a a a a a a a a a a a a a a a H linea(t ) = a 8 c 4 a 16 c 8 a 16 c 4 a 8 2LZ(T ) = LZ(a 8 c 4 a 16 c 8 a 16 c 4 a 8 ) = a[1, 1][1, 2][1, 4]c[9, 9][9, 10][1, 8][1, 12][9, 32][1, 8].
Run-length compession Lempel-Ziv Twiedzenie Dla ka»dego obazu W m, takiego»e wielko± 2LZ(W m ) jest z du O(m) automat deteministyczny ozpoznaj cy ten obaz ma pzynajmniej 4 m 1 stanów.
deteministyczne z wagami Podobazy 1 2 3 Run-length compession Lempel-Ziv 4 deteministyczne z wagami Podobazy
deteministyczne z wagami Podobazy Niech A = ({0, 1, 2, 3}, Q, q 0, δ) b dzie deteministycznym automatem o gª boko±ci n. Automat A deniuje j zyk: L(A) = {w : δ(q 0, w) jest zdeniowane w = n i δ(q 0, w) jest akceptuj cy}.
deteministyczne z wagami Podobazy Niech A = ({0, 1, 2, 3}, Q, q 0, δ) b dzie deteministycznym automatem o gª boko±ci n. Automat A deniuje j zyk: L(A) = {w : δ(q 0, w) jest zdeniowane w = n i δ(q 0, w) jest akceptuj cy}. 1 3 0 2
deteministyczne z wagami Podobazy Obaz wygeneowany pzez: (0 1 2 3) 2 (0 2).
deteministyczne z wagami Podobazy Twiedzenie Wyszukiwanie jawnego wzoca w tek±cie T epezentowanego pzez automat deteministyczny jest z du wielomianowego.
deteministyczne z wagami Podobazy Twiedzenie Wyszukiwanie jawnego wzoca w tek±cie T epezentowanego pzez automat deteministyczny jest z du wielomianowego. Twiedzenie Spawdzenie obecno±ci skompesowanego wzoca w tek±cie T epezentowanego pzez automat deteministyczny jest z du wielomianowego.
deteministyczne z wagami Podobazy Twiedzenie Wyszukiwanie jawnego wzoca w tek±cie T epezentowanego pzez automat deteministyczny jest z du wielomianowego. Twiedzenie Spawdzenie obecno±ci skompesowanego wzoca w tek±cie T epezentowanego pzez automat deteministyczny jest z du wielomianowego. Twiedzenie Wyszukiwanie skompesowanego wzoca w tek±cie T epezentowanego pzez automat deteministyczny jest poblemem NP-zupeªnym.
deteministyczne z wagami Podobazy 1 2 3 Run-length compession Lempel-Ziv 4 deteministyczne z wagami Podobazy
deteministyczne z wagami Podobazy Denicja Automat z wagami ozpoznaj cy obazy mo»emy schaakteyzowa pzez:
deteministyczne z wagami Podobazy Denicja Automat z wagami ozpoznaj cy obazy mo»emy schaakteyzowa pzez: zbió stanów Q, alfabet Σ = {0, 1, 2, 3}, wagi W a : Q Q [, ], funkcj inicjuj c : I : Q [, ], funkcj nalizuj c : F : Q [, ].
deteministyczne z wagami Podobazy Denicja Automat z wagami ozpoznaj cy obazy mo»emy schaakteyzowa pzez: zbió stanów Q, alfabet Σ = {0, 1, 2, 3}, wagi W a : Q Q [, ], funkcj inicjuj c : I : Q [, ], funkcj nalizuj c : F : Q [, ]. Wag sªowa w = a 1 a 2... a k mo»na zdeniowa jako: W (w) = IW a 1 W a2... W a k F. Wato± W (w) mo»na zintepetowa jako kolo piksela w.
deteministyczne z wagami Podobazy Twiedzenie Wyszukiwanie jawnego wzoca w tek±cie T epezentowanego pzez automat z wagami jest poblemem NP-zupeªnym.
deteministyczne z wagami Podobazy 1 2 3 Run-length compession Lempel-Ziv 4 deteministyczne z wagami Podobazy
deteministyczne z wagami Podobazy
deteministyczne z wagami Podobazy
deteministyczne z wagami Podobazy Twiedzenie Dany jest obaz T zdeniowany za pomoc deteministycznego automatu. Niech n b dzie ozmiaem automatu. Skompesowan epezentacj podobazu R obazu T mo»na obliczy w czasie O(n 2,5 ).
deteministyczne z wagami Podobazy Twiedzenie Dany jest obaz T zdeniowany za pomoc deteministycznego automatu. Niech n b dzie ozmiaem automatu. Skompesowan epezentacj podobazu R obazu T mo»na obliczy w czasie O(n 2,5 ). Dla ka»dego podobazu R istnieje deteministyczny automat opisuj cy R o ozmiaze z du O(n 2,5 ).
deteministyczne z wagami Podobazy Twiedzenie Dany jest obaz T zdeniowany za pomoc deteministycznego automatu. Niech n b dzie ozmiaem automatu. Skompesowan epezentacj podobazu R obazu T mo»na obliczy w czasie O(n 2,5 ). Dla ka»dego podobazu R istnieje deteministyczny automat opisuj cy R o ozmiaze z du O(n 2,5 ). Istniej obazy T i ich podobazy R, dla któych najmniejszy deteministyczny automat ozpoznaj cy R posiada Ω(n 2,5 ) stanów.
deteministyczne z wagami Podobazy Twiedzenie Niech A b dzie automatem z wagami o n stanach m kaw dziach, deniuj cym obaz T. Niech R b dzie podobazem T. Wówczas automat A obliczaj cy R ma O(n) stanów oaz O(m) kaw dzi. Czas obliczenia nowego automatu jest liniowy
deteministyczne z wagami Podobazy Twiedzenie Niech A b dzie automatem z wagami o n stanach m kaw dziach, deniuj cym obaz T. Niech R b dzie podobazem T. Wówczas automat A obliczaj cy R ma O(n) stanów oaz O(m) kaw dzi. Czas obliczenia nowego automatu jest liniowy
deteministyczne z wagami Podobazy Twiedzenie Niech A b dzie automatem z wagami o n stanach m kaw dziach, deniuj cym obaz T. Niech R b dzie podobazem T. Wówczas automat A obliczaj cy R ma O(n) stanów oaz O(m) kaw dzi. Czas obliczenia nowego automatu jest liniowy
Dzi kuje za uwag.