6/ 1. d.dudá Lázó Mző omuok Fd: y do P m öz őfoduáák máá y do T zövb. P T kk yá v mű Σ áb j. Ipu: T zöv, p.: T= k bdúók = hoz(t) = 17 P m, p.: P= bd m = hoz(p) = 5 Oupu: oákk, myk P m T zövb máhó: T[+1..+m] = P[1..m] 0 =< <= -m; 9... k = 7 b d ú ó k b d 12..m Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
Vzá omu ípuok Eyzű mző omu Rb-Kp mző omu Kuh-Mo-P mző omu Eyzű mző omu Md oá mvzá 0<= <= vumb. Eyzű_mző(T, P) hoz(t) m hoz(p) fo 0 o -m do j 1 wh j<=m d T[ + j ] = P[ j ] do j j + 1 f j = m+1 p 6/ 2. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
6/ 3. d.dudá Lázó Pdák z Eyzű mző omu működ = 0 = 1 = 2 = 3 f b d b d 1 2345 f b d b d 1 2345 f b d b d 12345 f b d b d 12345 = T = P = 0 = 1 = 2 = 3 b b b b b 1 2345 b b b b b 1 2345 b b b b b 1 2345 b b b b b 1 2345 Özhoíáok = 9 Özhoíáok = 4 = 0 = 1 = 2 = 3 12345 12345 12345 12345 Özhoíáok = 20
Az Eyzű mző omu mz Lozbb Fo ku: (-m+1) Wh ku: (m) m-özhoíá Öz m-özhoíá: (-m+1)*m Em-özhoíá áyo fuá dő Θ((-m+1)*m ) Ljobb Fo ku: (-m+1) Wh ku: (1) m-özhoíá Öz m-özhoíá: (-m+1)*1 Em-özhoíá áyo fuá dő Θ((-m+1)) Áo A zöv m kk y v ozáúk Ο(-m), hkoy Lád 2. 6/ 4. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
Rb-Kp mző omu Apodo: h zöv m k zámokbó á, vm m zámjykk y öbbjyű zámk khk, hoó zöv mhozy z y-y zámkk pzáhák, kko mk -m+1 pb vzhő... 1 0 2 2 3 0 1 0 2 7 2 T= P= 10223 2230 22301 23010 30102 1027 10272 1027 0 1 0 2 7 12345 6/ 5. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
Rb-Kp mző omu.. Jök: Az áb Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, Σ = 10 A m zámjykk zámk ázámíó füvy: f(p) Ho m kmzááv O(m) dőb kzámíhó, f(p)= P[m] +10*(P[m-1] + 10*(P[m-2] + + 10*(P[2] + 10*(P[1])) )) P.: f( 01027 )= 7+10*(2+10*(0+10*(1+10*(0)))) = 1027 H do, vy z őző módz zámív dkz á T zöv oáú, mhozúáú zk zámk f, kko f +1 O(1) dő zámíhó: f +1 =10*(f 10 m-1 * T[ +1 ]) + T[ +m+1 ] f P.: T= 10223010272; =2; f = 22301; f +1 = 10*(22301-10 4 *2)+0= 23010 f +1 A j T zöv kk vó ákíáák dj há O(m+-m) Mv k O(-m+1) djű, j omu dj = O(m + + -m+1) = O(2+1) 6/ 6. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
6/ 7. d.dudá Lázó Rb-Kp mző omu.. Az omu Rb_Kp(T, P) fp f(p) f f(t[1..m]) fo 0 o m do f fp = f p T[+1] f <-m h f =10*(f 10 m-1 * T[ +1 ]) + T[ +m+1 ] Pobm: h m y, z f() füvykk ábázoá küö omu y, f() kk m O(1) djű. Modá: z f() kk hy zámíuk hzájuk zok q- v moduójá, q zű oy pímzám, hoy Σ *q m pp ábázohó. H fp mod q f mod q fp f d fp mod q = f mod q fp = f. P.: 65 mod 11 = 10 89 mod 11 = 1 65 89 d 65 mod 11 = 10 = 87 mod 11 = 10 65 = 87, zz mdkyzk ovább vzáo kívák. Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999 f f +1 T[+m+1]
Modoáok Fhzá moduo zooáok (+b) mod q = ( mod q + b mod q) mod q (* b) mod q = ( mod q)*(b mod q) mod q Eőfdoozá d = Σ, zámdz pzám = áb mzám, q >d fpm = (P[m] + d*(p[m-1] + d*(p[m-2]+ + d*(p[2] + d*p[1]) ))) mod q = (d*((d* ((d*((d*0+p[1]) mod q)+p[2]) mod q)+ + P[m-1]) mod q)+p[m]) mod q Hoó zámídó fm T[1..m] zövzbő. P.: P= 1234 ; d=10; q=11; 1234 mod 11 = 2 = (10*((10*((10*(1 mod 11)+2) mod 11)+3) mod 11)+4) mod 11 = 2 K, T[+1] kp, T[+m+1] bp fm +1 =(d*(fm h* T[ +1 ]) + T[ +m+1 ]) mod q, ho h= d m-1 mod q zámíhó z őfdoozáb. 6/ 8. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
A módoío Rb-Kp mző omu Rb_Kp_Moduo(T, P, d, q) m hoz(p) hoz(t) h d m-1 mod q // vójáb (d mod q) zozá ömáv kub fpm 0 // m kk moduój fm 0 // zöv oáú z kk moduój fo 1 o m do fpm (d*fpm+p[ ]) mod q fm (d*fm+t[ ]) mod q fo 0 o -m do // k f fpm=fm h // k hő, őz k j 1 // z k ká k őz wh j<=m d T[ + j ] = P[ j ] do j j + 1 f j = m+1 p f < -m h fm (d*(fm h* T[ +1 ]) + T[ +m+1 ]) mod q // p 6/ 9. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
A módoío Rb-Kp mző omu dőkompxá Lozbb Ck yf kk máb zövb Fuá dő Θ((-m+1)*m ), md oá vőz Ááo Ááo b z vy oáok zám k Fuá dő O() + O(m*(v+/q)), ho v z vy oáok zám H q >=, z z dő O() Mjyz Az omu köy kjzhő kdmzó mk T= P= 6/ 10. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
6/ 11. d.dudá Lázó Kuh-Mo-P mző C: zöv md y kk k yz fhzá özhoíáb Az Eyzű mző fj küő ku őző pb á z zkd oá bokáb kü fomáók: P.: T= káduk káduók hykb P= káduó Mv k y k v P-b, z ő dó pozíób uohuk z oá. T= bbbbkb P= bbk Mkko yobb uá P oááb, my m hy k yz? Tojuk á háuó P má T x fá z, hoy yobb yz kpjuk: T= bbbbkb P= bbk Ezk, mák öm kzd háuó vó áohóáá vokozó fomáók z őkzí fázb őáíhók! Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
A π pfx füvy A π(q) pfx füvy mdj, hoy P m q hozúáú ő z má háuó m j áov z fjbb háy kk hozhó fdb. π(1) y 0. Pd: P= bbk π(1) = 0 π(6) = 3 π(2) = 0 π(3) = 0 π(4) = 1 π(5) = 2 1234 56789 b b k b b k 12345 6789 b b k b b k π(7) = 0 π(8) = 0 π(8) = 0 123456 789 b b k b b k 6/ 12. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
A π pfx füvy omu A pfx füvy k P m mb z őkzíő fázb mháozhók Pfx_füvy_zámíá(P) m hoz(p) π[1] 0 k 0 fo q 2 o m do wh k>0 d P[k+1] P[q] do k π[k] f P[k+1] = P[q] h k k+1 π[q] k u π A Pfx füvy zámíá fuá dj O(m). 6/ 13. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999
A Kuh-Mo-P mző omu A pfx füvy kk mb z omu áuohj zo oáok vzáá, myk v vyk. KMP_mző m hoz(p) hoz(t) π Pfx_füvy_zámíá(P) q 0 fo 1 o do wh q > 0 d P[q+1] T[ ] do q π[ q ] f P[q+1] = T[ ] h q q+1 f q = m h p -m+1 q π[ q ] A KMP mző fuá dj O(m+), kdvző. 6/ 14. d.dudá Lázó Foá: 1. Smo Š: Advd Aohm D d Ay (Lu 3) 2. Com-Lo-Rv: Aomuok Műzk Köyvkdó, 1999