1. Trang chủ
  2. » Giáo án - Bài giảng

Bài thuyết trình: Thuật toán Karp-Rabin

11 122 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Slide 1

  • Nội dung

  • Giới thiệu thuật toán Karp-Rabin

  • Ý tưởng thuật toán

  • Giải thuật thuật toán(1)

  • Giải thuật thuật toán(2)

  • Mã hóa thuật toán

  • Độ phức tạp thuật toán Karp-Rabin

  • Kiểm nghiệm thuật toán(1)

  • Kiểm nghiệm thuật toán(2)

  • CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ THEO DÕI !!!

pf7">Mã hóa thuật toán

  • Độ phức tạp thuật toán Karp-Rabin

  • Kiểm nghiệm thuật toán(1)

  • Kiểm nghiệm thuật toán(2)

  • CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ THEO DÕI !!!

  • Nội dung

    Giới thiệu thuật toán Karp-Rabin; ý tưởng thuật toán Karp-Rabin; giải thuật thuật toán; mã hóa thuật toán;... là những nội dung chính mà Bài thuyết trình: Thuật toán Karp-Rabin hướng đến trình bày.

    TRÍ TUỆ NHÂN TẠO Thuật tốn Karp-Rabin Giảng viên hướng dẫn : TS Từ Minh Phương Lớp: Hệ thống thông tin Nhóm 3: Trần Thị Hạnh Mẫn Hồng Dương Dương Văn Đồn Nội dung Giới thiệu thuật tốn Karp­Rabin Ý tưởng thuật tốn Karp­Rabin Giải thuật thuật tốn Mã hóa thuật tốn Độ phức tạp của thuật tốn Kiểm nghiệm thuật tốn Giới thiệu thuật tốn KarpRabin Thuật tốn mang tên hai nhà khoa học phát minh ra nó  Michael O. Rabin (sinh năm 1931, người Đức) and  Richard M. Karp (sinh năm 1931, người Mỹ), đều được  giải Turing Award, giải thưởng uy tín nhất trong nghành  khoa học máy tính và cơng nghệ thơng tin Ý tưởng thuật tốn Hàm băm:  hash(w[0…m­1]) = h = (w[0]*2m­1 + w[1]*2m­2 +… w[m­ 1]*20) mod q  Việc tính lại hàm băm như sau:          Rehash(a,b,h)=h = ((h – a*2m­1)*2 + b)mod q Hàm băm tốt:  các thao tác cơ bản được thực hiện hiệu quả khi băm hai xâu con khác nhau có cùng độ dài mm, xác suất hai  giá trị băm giống nhau là nhỏ Giải thuật thuật tốn(1) Giải thuật thuật toán(2) 1. function Rabin_Karp(string T[1 n], string P[1 m]) 2. hsub := hash(P[1 m]) // giá trị băm của xâu P 3. hs := hash(T[1 m]) // giá trị băm của xâu T 4. for i from 1 to n­m+1 5. if hs = hsub 6. if T[i i+m­1] = P 7. return i 8. hs := hash(T[i+1 i+m]) // giá trị băm của xâu T[i+1 i+m] 9. return not found Mã hóa thuật tốn Độ phức tạp thuật tốn Karp-Rabin Độ phức tạp về thời gian trong giai đoạn tiền xử lý là  O(M) Khi tính giá trị băm cho T[i+1 i+m] ta mất thời gian là  O(m), do cơng việc này được thực hiện trong (n­m+1) lần Độ phức tạp trong giai đoạn tìm mẫu là O(M*N) Kiểm nghiệm thuật tốn(1) Kiểm nghiệm thuật toán(2) CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ THEO DÕI !!! ... Giới thiệu thuật tốn Karp­Rabin Ý tưởng thuật tốn Karp­Rabin Giải thuật thuật tốn Mã hóa thuật tốn Độ phức tạp của thuật tốn Kiểm nghiệm thuật tốn Giới thiệu thuật tốn KarpRabin Thuật tốn mang tên hai nhà khoa học phát minh ra nó ... khi băm hai xâu con khác nhau có cùng độ dài mm, xác suất hai  giá trị băm giống nhau là nhỏ Giải thuật thuật toán( 1) Giải thuật thuật toán( 2) 1. function Rabin_Karp(string T[1 n], string P[1 m]) 2. hsub := hash(P[1... 8. hs := hash(T[i+1 i+m]) // giá trị băm của xâu T[i+1 i+m] 9. return not found Mã hóa thuật tốn Độ phức tạp thuật tốn Karp-Rabin Độ phức tạp về thời gian trong giai đoạn tiền xử lý là  O(M) Khi tính giá trị băm cho T[i+1

    Ngày đăng: 29/01/2020, 23:36

    TỪ KHÓA LIÊN QUAN

    w