Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
809,51 KB
Nội dung
i LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung luận văn thực hướng dẫn trực tiếp thầy giáo hướng dẫn PGS TS Hà Quang Thụy Mọi tham khảo luận văn trích dẫn rõ ràng tác giả, tên công trình, thời gian, địa điểm công bố Tôi xin cam đoan luận văn sản phẩm chép tài liệu khoa học Học viên Nguyễn Thị Phương Thảo ii LỜI CẢM ƠN Đầu tiên xin gửi lời cảm ơn sâu sắc tới PGS TS Hà Quang Thụy người hướng dẫn khoa học, tận tình bảo, giúp đỡ thực luận văn Tôi xin lời lời cám ơn trân thành tới PGS TS Nguyễn Trí Thành anh chị em Phòng Thí nghiệm Khoa học liệu Công nghệ Tri thức, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội giúp đỡ tạo điều kiện hỗ trợ Tôi xin cảm ơn thầy cô trường Đại học Công nghệ thông tin Truyền thông - Đại học Thái Nguyên giảng dạy truyền đạt kiến thức cho Tôi xin trân thành cảm ơn Ban giám hiệu trường Cao đẳng nghề Phú Thọ đồng nghiệp khoa Công nghệ thông tin tạo điều kiện giúp đỡ hoàn thành nhiệm vụ học tập Cuối cùng, xin cảm ơn người thân bạn bè chia sẻ, giúp đỡ hoàn thành luận văn Mặc dù cố gắng hoàn thành luận văn với tất nỗ lực thân, luận văn thiếu sót Kính mong nhận ý kiến đóng góp quý Thầy, Cô bạn bè đồng nghiệp Tôi xin chân thành cảm ơn! Việt Trì, ngày 10 tháng 09 năm 2015 Nguyễn Thị Phương Thảo iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v DANH MỤC CÁC BẢNG vi DANH MỤC CÁC HÌNH VẼ vii MỞ ĐẦU CHƯƠNG GIỚI THIỆU CHUNG VỀ THUẬT TOÁN SÁNH MẪU 1.1 Bài toán sánh mẫu phân loại 1.1.1 Bài toán sánh mẫu 1.1.2 Phân loại toán sánh mẫu 1.2 Một số ứng dụng toán sánh mẫu 1.3 Một số thuật toán sánh mẫu truyền thống 1.3.1 Thuật toán Boyer–Moore 1.3.2 Thuật toán Quick Search 1.4 Khái quát thuật toán sánh mẫu xác 10 1.5 Kết luận chương 11 CHƯƠNG 2: HỌ THUẬT TOÁN SÁNH MẪU CHÍNH XÁC NHANH SSABS TVSBS – FQS 13 2.1 Giới thiệu biến thể thuật toán Quick Search 13 2.2 Thuật toán đối sánh mẫu nhanh SSABS 13 2.2.1 Giới thiệu 13 2.2.2 Thuật toán 14 2.3 Thuật toán TVSBS 19 2.3.1 Giới thiệu 19 2.3.2 Thuật toán 19 2.3.3 Ví dụ 21 2.4 Thuật toán Faster Quick Search 24 2.4.1 Giới thiệu 24 2.4.2 Thuật toán 24 2.4.3 Ví dụ 29 2.5 Kết luận chương 32 iv CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM HỌ THUẬT TOÁN ĐỐI SÁNH MẪU CHÍNH XÁC NHANH VỚI BỘ CÔNG CỤ SMART 33 3.1 Giới thiệu 33 3.2 Bộ công cụ Smart 33 3.2.1 Các thành phần công cụ SMART 33 3.2.2 Sử dụng công cụ Smart 43 3.3 Bộ trung gian PUTTY 44 3.4 Kết thực nghiệm nhận xét 45 3.4.1 Thực nghiệm đánh giá hiệu hai thuật toán SSABS TVSBS 45 3.4.2 Thực nghiệm kết sánh mẫu hai thuật toán SSABS TVSBS 49 3.5 Kết luận chương 51 KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO 53 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT MP70 Morris-Pratt BM Boyer-Moore CLRS01 CLRS01 BDM CR94 ACR99 Bakward-Oracle BDM BNDM QS Quick Search KMP Knuth-Morris-Pratt brBc Berry-Ravindran vi DANH MỤC CÁC BẢNG Bảng 2.1 Các giá trị dịch chuyển cho = đưa hàm brBc 22 Bảng 2.2 Các hàng ES, next shift cho mẫu ví dụ 30 Bảng 3.1 Danh sách tất thuật toán sánh xâu từ năm 1970 SMART 34 Bảng 3.2 Bộ kho ngữ liệu thử nghiệm 38 Bảng 3.3 Bảng kết thử nghiệm 46 vii DANH MỤC CÁC HÌNH VẼ Hình 3.1 Đăng nhập trung gian PUTTY 45 Hình 3.2 Kết thực nghiệm 46 Hình 3.3 Kết thực nghiệm tìm mẫu chuỗi 50 Hình 3.4 Kết thực nghiệm tìm mẫu file 51 MỞ ĐẦU Đối sánh xâu xác (exac string matching, sau gọi tắt “sánh xâu xác”), gọi sánh mẫu xác (exac pattern matching) toán tìm tất xuất xâu p cho trước văn t, p, t xâu văn theo bảng chữ cái; p gọi “mẫu” (pattern) t gọi “văn đích” (target text) [3, 8] Một ví dụ gần gũi cho truy vấn p trang web t, kiểm tra xem p có xuất nội dung t hay không Theo Simone Faro Thierry Lecroq [8], 40 năm gần đây, đối sánh xâu toán nghiên cứu rộng rãi khoa học máy tính, chủ yếu ứng dụng trực tiếp cho nhiều lĩnh vực khác xử lý văn - hình ảnh - tín hiệu (text, image and signal processing), phân tích nhận dạng giọng nói (speech analysis and recognition), truy hồi thông tin (information retrieval), nén liệu (data compression), sinh học hóa học tính toán (computational biology and chemistry) Bài toán sánh xâu xác trực tuyến (onlineexac string matching) nhận quan tâm lớn cộng đồng nghiên cứu Trong thập kỷ 2001-2010, 50 thuật toán đưa ra, mở rộng thêm số lượng khoảng 40 thuật toán có từ trước năm 2000 [2] Hệ thống thuật toán phân tích, đánh giá công phu [5, 6, 7] Theo Simone Faro Thierry Lecroq, nhóm thuật toán sánh mẫu nhanh có nguồn gốc từ thuật toán QS [9] chứng tỏ lợi thế, đặc biệt mẫu đối sánh có độ dài ngắn Chính lý đó, luận văn định hướng nghiên cứu số thuật toán sánh mẫu xác nhanh có nguồn gốc từ thuật toán QS, tập trung vào họ thuật toán SSABS [8] – TVSBS [4] - FQS [3] thuật toán tỏ ưu việt toán sánh mẫu ngắn Họ thuật toán nhánh thuật toán khác với thuật toán [1], nữa, thuật toán FQS công bố vào năm 2014 Nội dung chủ yếu luận văn nghiên cứu, phân tích chi tiết thuật toán sánh mẫu SSABS – TVSBS - FQS, khai thác công cụ [11] để tiến hành thực nghiệm Nội dung luận văn gồm phần mở đầu, bốn chương nội dung, phần kết luận Nội dung bốn chương nội dung giới thiệu sơ sau: Chương Giới thiệu chung thuật toán sánh mẫu trình bày khái niệm đặc trưng toán sánh mẫu, ứng dụng sánh mẫu, khái quát thuật toán sánh mẫu xác nhanh Chương Họ thuật toán sánh mẫu xác nhanh SSABS -TVSBS- FQS giới thiệu lớp thuật toán sánh mẫu xác nhanh, trình bày phân tích họ thuật toán SSABS-TVSBS- FQS Đồng thời, bước tiến hóa hiệu suất ba thuật toán giới thiệu Chương Chương trình thực nghiệm họ thuật toán đối sánh mẫu xác nhanh với công cụ Smart Phần kết luận tổng kết kết hạn chế luận văn, đồng thời, ý tưởng nghiên cứu giới thiệu CHƯƠNG GIỚI THIỆU CHUNG VỀ THUẬT TOÁN SÁNH MẪU 1.1 Bài toán sánh mẫu phân loại 1.1.1 Bài toán sánh mẫu Theo Simone Faro Thierry Lecroq [6, 7, 8], toán sánh mẫu phát biểu sau “Cho bảng chữ S cỡ s, văn T với độ dài n mẫu p với độ dài m, toán sánh mẫu việc tìm tất lần xuất mẫu p văn T cho’’ Như giới thiệu, ứng dụng trực tiếp nhiều lĩnh vực xử lý văn bản, hình ảnh tín hiệu, phân tích giọng nói nhận dạng, truy hồi thông tin, nén liệu, sinh học tính toán hóa học tính toán toán sánh mẫu nghiên cứu rộng rãi khoa học máy tính Từ năm 1970 tới có 80 thuật toán sánh mẫu đề xuất 50% thuật toán đưa 10 năm qua [6, 7, 8] Thời gian gần đây, toán sánh mẫu trở nên quan trọng quan tâm nhiều tăng trưởng nhanh chóng hệ thống truy hồi thông tin (information retrieval) hệ thống tin - sinh học (bioinformatics) Một lý nữa, người ngày không đối mặt với lượng tài nguyên thông tin khổng lồ mà đòi hỏi yêu cầu tìm kiếm ngày phức tạp Các mẫu đưa vào không đơn xâu ký tự mà chứa ký tự thay thế, khoảng trống biểu thức quy Sự “tìm thấy” không đơn giản xuất xác mẫu văn mà cho phép “một xấp xỉ” mẫu xuất văn Từ đó, bên cạnh vấn đề kinh điển “tìm kiếm xác”, nảy sinh hướng nghiên cứu "sánh mẫu xấp xỉ/tìm kiếm xấp xỉ” (approximate pattern match/search) v.v 1.1.2 Phân loại toán sánh mẫu 1.1.2.1 Sánh mẫu xác sánh mẫu xấp xỉ Phát biểu toán sánh mẫu trình bày mục [5] thực chất phát biểu cho toán sánh mẫu xác Với toán sánh mẫu xác, việc tìm tất lần xuất chuỗi mẫu thi hành lần quét nhất, diễn với nhiều lần thử đoạn khác văn đích T Trong lần thử, chương trình kiểm tra giống mẫu với cửa sổ thời Độ phức tạp thuật toán tìm tất lần xuất P T O (mn) 52 công toán sánh mẫu với thời gian hợp lý Khi chạy thực nghiệm chương trình SMART tính hiệu để biết vị trí mẫu trùng với vị trí văn Không có vậy, Thực nghiệm tiến hành thực nghiệm để tìm xuất mẫu văn mẫu file liệu mà cho số lần xuất hiện, bổ sung đếm lên 1, vị trí xuất mẫu chuỗi, file in kết từ vị trí mẫu tìm thấy cuối văn việc phải vào liệu gốc để chỉnh sửa Tuy nhiên thuật toán có hạn chế chưa thi hành tất mẫu, số trường hợp chưa kết 53 KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO Kết luận văn đạt Luận văn trình bày nội dung toán sánh mẫu ứng dụng toán sánh mẫu Luận văn tập trung khảo sát nhóm ba thuật toán sánh mẫu xác SSABS, TVSBS, FQS Đồng thời, luận văn nghiên cứu công cụ phần mềm nguồn mở sánh mẫu SMART Luận văn tiến hành thực nghiệm sở liệu công cụ SMART để từ có số nhận xét so sánh thuật toán sánh mẫu nhanh SSABS TVSBS thời gian thực thuật toán Luận văn tiến hành thực nghiệm trực quan hoạt động hai thuật toán kết cho thấy hai thuật toán hoạt động xác Hạn chế Thuật toán thứ ba họ thuật toán sánh mẫu xác luận văn đề cập (thuật toán FQS) đề xuất năm 2014 nên chưa đưa vào công cụ SMART Vì vậy, lực thân thời gian có hạn, chưa thể trình bày thực nghiệm thuật toán FQS phạm vi luận văn Hướng nghiên cứu Nếu điều kiện cho phép, tiếp tục nghiên cứu thuật toán thứ FQS để thi hành thử nghiệm thuật toán công cụ sánh mẫu SMART 54 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Nguyễn Thị Thúy (2012) Một họ thuật toán sánh mẫu WU-MANBER thực nghiệm Luận văn Thạc sỹ, Trường Đại học Công nghệ Tiếng Anh: [2] C Charras and T Lecroq (2004) Handbook of exact string matching algorithms King’s College Publications [3] Jie Lin, Donald A Adjeroh, Yue Jiang (2014) A Faster Quick Search Algorithm Algorithms 7(2): 253-275 [4] Rahul Thathoo and Ashish Virmani and Sai S Lakshmi, and N Balakrishnan, and K Sekar (2006) TVSBS: A fast exact pattern matching algorithm for biological sequences Current Science 91 (1) pp 47-53 [5] Simone Faro, Thierry Lecroq (2010) The Exact String Matching Problem: a Comprehensive Experimental Evaluation CoRR abs/1012.2547 [6] Simone Faro, Thierry Lecroq (2011) 2001-2010: Ten Years of Exact String Matching Algorithms Stringology 2011: 1-2 [7] Simone Faro, Thierry Lecroq (2013) The exact online string matching problem: A review of the most recent results ACM Comput Surv 45(2): 13 [8] S S Sheik, Sumit K Aggarwal, Anindya Poddar, N Balakrishnan, Krishna Sekar (2004) A FAST Pattern Matching Algorithm Journal of Chemical Information and Modeling 44(4): 1251-1256 [9] Timo Raita (1992) Tuning the Boyer-Moore-Horspool String Searching Algorithm Softw., Pract Exper 22(10): 879-884 Trang web: [10] http://www-igm.univ-mlv.fr/~lecroq/lec_en.html http://www.dmi.unict.it/~faro/ (Simone Faro) (Thierry Lecroq) [11] Bộ công cụ smart trang web: http://www.dmi.unict.it/~faro/smart/, địa tải công cụ:http://www.dmi.unict.it/~faro/smart/download.php [12] http://www.chiark.greenend.org.uk/~sgtatham/putty/ PHỤ LỤC Phụ lục Phiên thi hành thuật toán SSABS TVSBS SMART Phụ lục 1.1 Thuật toán SSABS /*SSABS * SMART: string matching algorithms research tool * Copyright 2012Simone Faro and Thierry Lecroq * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version of the License, or *(at your option) any later version * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the * GNU General Public License for more details * You should have received a copy of the GNU General Public License * along with this program.If not, see * contact the authors at: faro@dmi.unict.it, thierry.lecroq@univ-rouen.fr * download the tool at: http://www.dmi.unict.it/~faro/smart/ */ #include "include/define.h" #include "include/main.h" void preQsBc (unsigned char *P, int m, int qbc[]) { int i; for (i=0;i[...]... vấn đề đối sánh chuỗi chính xác Hơn nữa nó cung cấp bổ sung hầu hết tất cả các thuật toán đối sánh chuỗi và một dữ liệu vùng đệm văn bản mở rộng 1.5 Kết luận chương 1 Chương 1 trình bày các nghiên cứu về các bài toán sánh mẫu Bài toán sánh mẫu có thể chia làm 2 loại là: sánh mẫu chính xác và sánh mẫu xấp xỉ; hoặc sánh mẫu trực tuyến và sánh mẫu ngoại tuyến Trong đó, bài toán sánh xâu chính xác bao... chính xác, đưa ra mười lớp tình huống sánh mẫu chính xác và tương ứng là 10 thuật toán điển hình cho từng tình huống bài toán sánh mẫu Các thuật toán sánh mẫu chính xác được phát triển dựa trên một số thuật toán sánh mẫu truyền thống mà điển hình là các Boyer–Moore và Quick Search như giới thiệu dưới đây 6 1.3.1 Thuật toán Boyer–Moore Boyer–Moore (BM) là một thuật toán tìm kiếm xâu hiệu quả được Boyer... compression), sinh học và hóa học tính toán (computational biology and chemistry) Chương này tập trung nghiên cứu và trình bày các thuật toán sánh mẫu truyền thống là thuật toán Boyer - Moore và thuật toán QuickSearch 13 CHƯƠNG 2: HỌ THUẬT TOÁN SÁNH MẪU CHÍNH XÁC NHANH SSABS - TVSBS – FQS 2.1 Giới thiệu về các biến thể của thuật toán Quick Search Trong [7], Simone Faro và Thierry Lecroq cung cấp một khái quát... so sánh ký tự tương ứng trong suốt giai đoạn tìm kiếm đối với SSABS Các giá trị được thực hiện bởi thuật toán TVSBS cho thấy hiệu quả của phương pháp luận đã được triển khai 2.4 Thuật toán Faster Quick Search 2.4.1 Giới thiệu Thuật toán Faster Quick Search (FQS) do Jie Lin và cộng sự công bố vào năm 2014 [3] Thuật toán FQS là một thuật toán cải tiến dựa trên thuật toán đối sánh mẫu chính xác QS FQS. .. như vậy là bài toán sánh mẫu "nặng" để phân biệt với bài toán sánh mẫu "nhẹ" mà độ dài mẫu không quá 30 Thực tiễn cũng chỉ ra rằng hầu hết các ứng dụng của sánh mẫu là sánh mẫu nhẹ 1.1.2.2 Sánh mẫu trực tuyến và sánh mẫu ngoại tuyến Sánh mẫu ngoại tuyến (offline pattern matching) là trường hợp bài toán sánh mẫu khi mà cả mẫu P và văn bản T đã có sẵn Một trường hợp đặc biệt chính là cả mẫu P và văn bản... cung cấp một khái quát về các thuật toán sánh mẫu được phát triển dựa trên thuật toán Quick Search Một số thuật toán điển hình như sau: - Thuật toán SSABS được công bố năm 2004 [8] là một kết hợp chiến lược chuyển dịch của thuật toán QS và chiến lược kiểm thử nghiệm của thuật toán Raita Thuật toán TVSBS được công bố năm 2006 [4] là phiên bản cải tiến của SSABS Hai thuật toán này có độ phức tạp thời... cửa sổ Các thuật toán sánh mẫu là khác nhau ở trật tự so sánh ký tự trên mẫu và khoảng cách mà cửa sổ được di chuyển trên văn bản sau mỗi lần kiểm tra Nhiều thuật toán sánh mẫu đã được đề xuất mà mỗi thuật toán có những ưu, nhược điểm tùy theo độ dài mẫu, sự thiết lập chu kỳ và bảng chữ cái Simone Faro và Thierry Lecroq [6] đã trình bày một phân tích đánh giá 85 thuật toán sánh mẫu chính xác, đưa ra... dụng thuật toán Berry-Ravindran và giai đoạn tìm kiếm sử dụng thuật toán SSABS là tốt nhất 2.3.2 Thuật toán Hàm dịch chuyển xuất hiện brBc (Berry-Ravindran) hiệu quả trong giai đoạn tiền xử lý Giai đoạn tìm kiếm của thuật toán này tương tự như thuật toán SSABS Trật tự so sánh được thực hiện bằng việc so sánh ký tự cuối cùng của cửa sổ và mẫu đến khi chúng có sự đối sánh, sau đó thuật toán so sánh ký... [6, 8] Thuật toán BM được xếp là loại thuật toán đo lường đạt chuẩn trong tài liệu về sánh xâu chính xác kể từ khi nó được giới thiệu Thuật toán BM xử lý trước mẫu P và sử dụng thông tin thu thập được trong suốt bước tiền xử lý để bỏ qua các khối văn bản trong khi đối sánh, kết quả đạt được nhanh hơn rất nhiều thuật toán sánh xâu khác Nhìn chung, thuật toán BM chạy nhanh hơn khi chiều dài của mẫu tăng... bên phải của văn bản 2.2.2 Thuật toán Trật tự các so sánh được thực hiện bằng việc so sánh ký tự cuối cùng của cửa sổ và mẫu, sau khi đối sánh, thuật toán tiếp tục so sánh ký tự đầu tiên của cửa sổ và mẫu Như vậy, một sự tương đồng ban đầu có thể được thiết lập giữa mẫu và cửa sổ, các ký tự còn lại được so sánh từ phải qua trái cho tới khi đối sánh hoàn toàn hoặc lỗi đối sánh xảy ra Sau mỗi lần thử