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

Tiểu luận môn phân tích và đánh giá thuật toán thuật toán đối sánh mẫu thuật toán aho corasick

23 188 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

Phân tich đánh giá thuật toán Thuật toán Aho – Corasick LỜI MỞ ĐẦU PHẦN 1: KHÁI NIỆM CƠ BẢN VỀ ĐỐI SÁNH XÂU KÝ TỰ (STRING MATCHING) .3 1.1 Giới thiệu chung 1.2 Bài toán đối sánh chuỗi ký tự 1.3 Thuật toán đối sánh chuỗi ký tự đơn giản PHẦN 2: THUẬT TOÁN TÌM KIẾM AHO - CORASICK .9 2.1 Ý tưởng thuật toán AHO - CORASICK .9 2.2 Phân tích thuật toán .9 2.3 Đánh giá độ phức tạp thuật toán tìm kiếm AHO – CORASICK 19 2.4 Ứng dụng thuật toán tìm kiếm Aho- Corasick 19 KẾT LUẬN 21 TÀI LIỆU THAM KHẢO 22 MỤC LỤC 23 Đặng Việt Quang_HTTT25B Phân tich đánh giá thuật toán Thuật toán Aho – Corasick LỜI MỞ ĐẦU Cùng với phát triển vượt bậc ngành khoa học kỹ thuật nói chung Ngành khoa học máy tính có bước phát triển mạnh mẽ năm gần đây, góp phần quan trọng vào phát triển đời sống kinh tế xã hội, an ninh, quốc phòng…đồng thời quay trở lại phục vụ ngành khoa học Xã hội phát triển đồng nghĩa với việc số lượng thông tin lưu trữ lớn vấn đề tìm kiếm, nhận dạng thông tin trở thành toán phức tạp Khi đó, việc thực thủ công khó khăn, tốn nhiều thời gian, độ xác không cao…thậm chí giải vấn đề Bên cạnh đó, máy tính giải toán với khối lượng tính toán lớn, xử lý thuật toán tìm kiếm, xử lý văn xác… Những kiến thức ngành khoa học máy tính kiến thức phân tích thiết kế thuật toán chiếm vai trò quan trọng nhằm giải toán cách tối ưu Thuật toán thủ tục tính toán định nghĩa, sử dụng giá trị tập giá trị đó, thuật toán trình tự bước tính toán biến đổi dầu vào thành đầu Phân tích thuật toán để qua tiên liệu tài nguyên mà thuật toán yêu cầu như: tài nguyên nhớ, băng thông, tài nguyên ngoại vi…Song phần thời gian tính toán yếu tố quan trọng mà ta cần quan tâm đánh giá thuật toán thực Sau trình học tập môn “Phân tích đánh giá thuật toán” thân em học nhiều kiến thức bổ ích phục vụ cho trình học tập môn học khác công tác sau Theo phân công thầy em xin trình bày việc giải toán “Thuật toán đối sánh mẫu Thuật toán Aho - Corasick” Đặng Việt Quang_HTTT25B Phân tich đánh giá thuật toán Thuật toán Aho – Corasick Do kiến thức hạn chế, trình trình bày không tránh khỏi khiếm khuyết, mong nhận đóng góp ý kiến quý báu thầy giáo bạn Em xin bày tỏ kính trọng biết ơn chân thành đến thầy giáo PGS.TS Đào Thanh Tĩnh tận tình giúp đỡ em trình học tập môn học, trình thực tập PHẦN 1: KHÁI NIỆM CƠ BẢN VỀ ĐỐI SÁNH XÂU KÝ TỰ (STRING MATCHING) 1.1 Giới thiệu chung Hiện nay, máy tính thâm nhập vào tất lĩnh vực xã hội Việc số hóa liệu, lưu trữ xử lý văn máy tính việc làm quan trọng Trong hệ xử lý văn bản, thuật toán xử lý xâu ký tự coi yếu tố quan trọng việc nâng cao hiệu thời gian, độ xác xử lý văn Trong phép toán chuỗi ký tự, phép toán đối sánh chuỗi trọng phát triển, đặc biệt điều kiện liệu văn ngày nhiều Bài toán đối sánh chuỗi ký tự đặc trưng toán tìm kiếm, mẫu P xem khoá, nhiên thuật toán tìm kiếm thông thường không áp dụng cách trực tiếp mẫu P dài trải văn theo cách trước Đây toán thú vị có nhiều thuật toán khác Brute-Force (BF), Knuth-Morris-Pratt (KMP), Aho- Corasick, Boyer-Moore (BM), Karp- Rabin (KR), Franek-Jennings-Smyth (FJS) … 1.2 Bài toán đối sánh chuỗi ký tự Giả sử có văn T mảng có độ dài n (T[1 n]) chuỗi mẫu P có độ dài m (P[1 m]) Các phần tử T P ký tự tập hữu hạn alphabet Σ VD: Σ = {0,9} Σ = {a,b,c ,z,A,B,C,…,Z} Mảng ký tự S T gọi chuỗi ký tự Khi toán đối sánh chuỗi phát biểu sau: Cho chuỗi ban đầu T chuỗi mẫu P Đối sánh chuỗi ký tự việc tìm chuỗi mẫu P chuỗi ban đầu T Nếu chuỗi mẫu P tìm thấy chuỗi ban đầu T vị trí T mà chuỗi mẫu P tìm thấy Đặng Việt Quang_HTTT25B Phân tich đánh giá thuật toán Thuật toán Aho – Corasick Cụ thể hơn, chuỗi mẫu P tìm thấy với s lần dịch chuyển chuỗi ban đầu T Điều tương đương với việc chuỗi mẫu P tìm thấy vị trí s +1 chuỗi ban đầu T thỏa mãn điều kiện ≤ s ≤ n-m T(s+1, ,s+m) = P(1 m) tức T(s + j) = P(j) với 1≤ j ≤ m Nếu P tìm thấy T s gọi giá trị dịch chuyển Còn trường hợp ngược lại (tức không tìm thấy mẫu P T), s gọi giá trị dịch chuyển không hợp lệ Tóm lại: Bài toán đối sánh chuỗi ký tự toán tìm giá trị dịch chuyển s cho sau số lần dịch chuyển tìm chuỗi mẫu P chuỗi ban đầu T 1.3 Thuật toán đối sánh chuỗi ký tự đơn giản Thuật toán đối sánh chuỗi đơn giản thuật toán tìm tất giá trị dịch chuyển s, sử dụng vòng lặp để kiểm tra điều kiện P[1 m] = T[s+1, ,s+m] với ký tự từ 1… (n-m+1) T P: A b a b C  a b a b C  T: Ab a bA b c c a a b a b c  a b a b a b c c A a b a b a b c c a Tìm kiếm thành công 1.3.1 Thuật toán đối sánh chuỗi Match(P,T) Input: P T, chuỗi mẫu chuỗi văn gốc T Với điều kiện P.length

Ngày đăng: 03/10/2017, 00:46

Xem thêm: Tiểu luận môn phân tích và đánh giá thuật toán thuật toán đối sánh mẫu thuật toán aho corasick

TỪ KHÓA LIÊN QUAN

Mục lục

    PHẦN 1: KHÁI NIỆM CƠ BẢN VỀ ĐỐI SÁNH XÂU KÝ TỰ

    1.2. Bài toán đối sánh chuỗi ký tự

    1.3. Thuật toán đối sánh chuỗi ký tự đơn giản

    1.3.1. Thuật toán đối sánh chuỗi Match(P,T)

    1.3.2. Mô tả thuật toán

    1.3.3. Ví dụ minh họa cho thuật toán

    1.3.4. Phân tích thuật toán

    PHẦN 2: THUẬT TOÁN TÌM KIẾM AHO - CORASICK

    2.1. Ý tưởng thuật toán AHO - CORASICK

    2.2. Phân tích thuật toán

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w