Advertisement

More Related Content

Advertisement

Rabin-Karp algoritmi.ppt

  1. Rabin & Karp Algoritmi
  2. Rabin-Karp – g‘oyasi  Satrlarning o'zi emas, balki satr xesh qiymatlarini solishtiradi.  Samaradorlik uchun matndagi keyingi pozitsiyaning xesh qiymati joriy pozitsiyaning xesh qiymati orqali osongina hisoblab chiqiladi..
  3. Rabin-Karp algoritmi qanday ishlaydi  Ikkala T va P massivlardagi belgilar radix- S yozuvidagi raqamlar bo'lsin. (S = (0,1,...,9)  P dagi belgilarning qiymati p bo'lsin  Hisoblarni tezlashtirish uchun kompyuter so'ziga mos keladigan q tub sonini tanlang.  Hisoblash (p mod q)  P mod q qiymati biz Tdagi P naqshining barcha mosliklarini topish uchun foydalanadigan narsadir.
  4. Rabin-Karp algoritmi qanday ishlaydi  Hisoblash (T[s+1, .., s+m] mod q) for s = 0 .. n-m  P ga nisbatan faqat T dagi bir xil (mod q) qiymatga ega bo'lgan ketma-ketliklarni sinab ko'ring  (T[s+1, .., s+m] mod q) yuqori tartibli raqamni ayirish, siljitish, past tartibli bitni qo‘shish, barchasi q arifmetika modulida bosqichma-bosqich hisoblanishi mumkin.
  5. Rabin-Karp algoritmi uchun misol  Berilgan T = 31415926535 va P = 26  Biz q = 11 deb tanladik  P mod q = 26 mod 11 = 4 1 3 1 4 9 5 6 2 3 5 5 1 3 1 4 9 5 6 2 3 5 5 14 mod 11 = 3 natijasi 4 ga teng emas 31 mod 11 = 9 natijasi 4 ga teng emas 1 3 1 4 9 5 6 2 3 5 5 41 mod 11 = 8 natijasi 4 ga teng emas
  6. Rabin-Karp misol davomi 1 3 1 4 9 5 6 2 3 5 5 15 mod 11 = 4 ga teng 4 -> noto’g’ri moslik 1 3 1 4 9 5 6 2 3 5 5 59 mod 11 = 4 ga teng4 -> noto’g’ri moslik 1 3 1 4 9 5 6 2 3 5 5 92 mod 11 = 4 ga teng 4 -> noto’g’ri moslik 1 3 1 4 9 5 6 2 3 5 5 26 mod 11 = 4 ga teng 4 -> moslik to’g’ri keladi!! 1 3 1 4 9 5 6 2 3 5 5 65 mod 11 = 10 natijasi 4 ga teng emas
  7. Rabin-Karp misol davomi 1 3 1 4 9 5 6 2 3 5 5 53 mod 11 = 9 natijasi 4 ga teng emas 1 3 1 4 9 5 6 2 3 5 5 35 mod 11 = 2 nonatijasi 4 ga teng emas Ko'rib turganimizdek, natija topilganda, natija haqiqatan ham topilganligiga ishonch hosil qilish uchun qo'shimcha sinovlar o'tkaziladi.
  8. 8 Tahlil  Algoritmning eng yomon senariyda ishlashi yomon. Lekin u yaxshi qisqa vaqt ichida samaradorlikga ega.  O(mn) eng yomon holatda  O(n) agar biz optimistikroq bo'lsak … Nima uchun? Biz qancha jarayonlarni kutamiz?
  9. 9 Bir nechta naqsh mosligi  T=T1…Tn matni va S alifbosi ustidagi P1…Pk naqshlar to‘plami berilgan bo‘lsa, har bir naqsh uzunligi m bo‘lsa, T dagi naqshlardan biriga mos keladigan barcha indekslarni toping.  Har bir naqsh uchun KMP-ni alohida ishga tushirishimiz mumkin.  O(kn)  Biz yaxshiroq qila olamizmi?
  10. 10 Bloom filtrlari  Biz O (k) o'lchamdagi xesh jadvalini (naqshlar soni) ushlab turamiz  Matndagi har bir ofset uchun biz uning xesh qiymati har qanday naqshga mos kelishini tekshiramiz.
  11. Tahlil  Kutilayotgan: O(maks(mk, n)) 11
Advertisement