Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
0,98 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN&TRUYỀN THƠNG Nguyễn Thị Phương Thảo MỘT HỌ THUẬT TỐN ĐỐI SÁNH MẪU CHÍNH XÁC NHANH SSABS - TVSBS - FQS VÀ THỰC NGHIỆM lu an n va to gh tn Chuyên ngành: Khoa học máy tính p ie Mã số: 60 48 01 01 oa nl w d LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH ll u nf va an lu oi m NGƯỜI HƯỚNG DẪN KHOA HỌC: z at nh PGS.TS Hà Quang Thụy z m co l gm @ an Lu n va Thái Nguyên - 2015 ac th si 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 lu liệu khoa học an n va tn to Học viên p ie gh d oa nl w nf va an lu Nguyễn Thị Phương Thảo z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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 lu an thông - Đại học Thái Nguyên giảng dạy truyền đạt kiến thức cho n va Tôi xin trân thành cảm ơn Ban giám hiệu trường Cao đẳng nghề Phú Thọ hoàn thành nhiệm vụ học tập gh tn to đồng nghiệp khoa Công nghệ thông tin tạo điều kiện giúp đỡ p ie Cuối cùng, xin cảm ơn người thân bạn bè chia sẻ, giúp đỡ w tơi hồn thành luận văn oa nl 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 cịn thiếu sót Kính mong nhận ý kiến d an lu đóng góp quý Thầy, Cô bạn bè đồng nghiệp nf va Tôi xin chân thành cảm ơn! z at nh oi lm ul Việt Trì, ngày 10 tháng 09 năm 2015 z Nguyễn Thị Phương Thảo m co l gm @ an Lu n va ac th si 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 TỐN SÁNH MẪU 1.1 Bài tốn sánh mẫu phân loại 1.1.1 Bài toán sánh mẫu lu an 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 n va 1.3.2 Thuật toán Quick Search 1.4 Khái quát thuật tố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 p ie gh tn to 1.3.1 Thuật toán Boyer–Moore d oa nl w lu an 2.2.1 Giới thiệu 13 nf va 2.2.2 Thuật toán 14 2.3 Thuật toán TVSBS 19 lm ul 2.3.1 Giới thiệu 19 z at nh oi 2.3.2 Thuật toán 19 2.3.3 Ví dụ 21 2.4 Thuật toán Faster Quick Search 24 z 2.4.1 Giới thiệu 24 @ 2.4.2 Thuật toán 24 gm m co l 2.4.3 Ví dụ 29 2.5 Kết luận chương 32 an Lu n va ac th si iv CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM HỌ THUẬT TỐ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 lu 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 an n va PHỤ LỤC p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT lu an n va 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 p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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 lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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 lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si MỞ ĐẦU Đối sánh xâu xác (exac string matching, sau gọi tắt “sánh xâu xác”), cịn gọi sánh mẫu xác (exac pattern matching) tố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 lu an n va p ie gh tn to 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 tốn (computational biology and chemistry) Bài tố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 tốn có từ trước năm 2000 [2] Hệ thống thuật tốn phân tích, đánh giá công phu [5, 6, 7] d oa nl w Theo Simone Faro Thierry Lecroq, nhóm thuật tố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 tốn sánh mẫu xác nhanh có nguồn gốc từ thuật tố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 nf va an lu lm ul z at nh oi 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: z m co l gm @ Chương Giới thiệu chung thuật tố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 tốn sánh mẫu xác nhanh an Lu n va ac th si Chương Họ thuật tốn sánh mẫu xác nhanh SSABS -TVSBS- FQS giới thiệu lớp thuật tốn sánh mẫu xác nhanh, trình bày phân tích họ thuật tố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 tố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 lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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 cịn 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 tốn có hạn chế chưa thi hành tất mẫu, số trường hợp chưa kết lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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 tố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 tố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 tốn hoạt động xác Hạn chế lu an 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, tơi chưa thể trình bày thực nghiệm thuật tốn FQS phạm vi luận văn n va gh tn to Hướng nghiên cứu p ie 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 d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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 lu [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 an va n [5] Simone Faro, Thierry Lecroq (2010) The Exact String Matching Problem: a Comprehensive Experimental Evaluation CoRR abs/1012.2547 p ie gh tn to [6] Simone Faro, Thierry Lecroq (2011) 2001-2010: Ten Years of Exact String Matching Algorithms Stringology 2011: 1-2 nl w [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 d oa [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 an lu nf va [9] Timo Raita (1992) Tuning the Boyer-Moore-Horspool String Searching Algorithm Softw., Pract Exper 22(10): 879-884 http://www-igm.univ-mlv.fr/~lecroq/lec_en.html http://www.dmi.unict.it/~faro/ (Simone Faro) (Thierry z at nh oi [10] lm ul Trang web: Lecroq) [11] Bộ công cụ smart trang web: http://www.dmi.unict.it/~faro/smart/, địa z tải công cụ:http://www.dmi.unict.it/~faro/smart/download.php @ m co l gm [12] http://www.chiark.greenend.org.uk/~sgtatham/putty/ an Lu n va ac th si 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 lu an n va p ie gh tn to /*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