Nghiên Cứu Thuật Toán Đối Sánh Mẫu Chính Xác Nhanh SSABS, TVSBS, FQS

Luận văn thạc sĩ toán học nghiên cứu hay một họ thuật toán đối sánh mẫu chính xác nhanh ssabs tvsbs fqs và thực nghiệm, khảo sát thực trạng, phân tích nguyên nhân, đề xuất giải

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2015

74
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ THUẬT TOÁN SÁNH MẪU

1.1. Bài toán sánh mẫu và phân loại

1.1.1. Bài toán sánh mẫu

1.1.2. Phân loại bài toán sánh mẫu

1.1.2.1. Sánh mẫu chính xác và sánh mẫu xấp xỉ
1.1.2.2. Sánh mẫu trực tuyến và sánh mẫu ngoại tuyến

1.2. Một số ứng dụng của bài 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. Kết luận chương 1

2. 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

2.2. Thuật toán đối sánh mẫu nhanh SSABS

2.3. Thuật toán TVSBS

2.4. Thuật toán Faster Quick Search

2.5. Kết luận chương 2

3. 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

3.1. Bộ công cụ Smart

3.2. Các thành phần chính trong bộ công cụ SMART

3.3. Sử dụng bộ công cụ Smart

3.4. Bộ trung gian PUTTY

3.5. Kết quả thực nghiệm và nhận xét

3.5.1. Thực nghiệm đánh giá hiệu năng hai thuật toán SSABS và TVSBS

3.5.2. Thực nghiệm về kết quả sánh mẫu của hai thuật toán SSABS và TVSBS

3.6. Kết luận chương 3

KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO

TÀI LIỆU THAM KHẢO

PHỤ LỤC

Tóm tắt

I. Tổng Quan Về Thuật Toán Đối Sánh Mẫu Chính Xác Nhanh

Thuật toán đối sánh mẫu chính xác nhanh là một lĩnh vực quan trọng trong khoa học máy tính. Nó giúp tìm kiếm các mẫu trong văn bản một cách hiệu quả. Các thuật toán như SSABS, TVSBS và FQS đã được phát triển để cải thiện hiệu suất sánh mẫu. Những thuật toán này không chỉ đơn thuần là tìm kiếm mà còn có ứng dụng rộng rãi trong nhiều lĩnh vực như xử lý văn bản, sinh học và hóa học tính toán.

1.1. Khái Niệm Cơ Bản Về Đối Sánh Mẫu

Đối sánh mẫu là quá trình tìm kiếm sự xuất hiện của một mẫu trong một văn bản. Mẫu được gọi là 'p' và văn bản là 't'. Việc tìm kiếm này có thể được thực hiện bằng nhiều phương pháp khác nhau.

1.2. Lịch Sử Phát Triển Thuật Toán Đối Sánh Mẫu

Từ những năm 1970, nhiều thuật toán đã được phát triển để giải quyết bài toán sánh mẫu. Các thuật toán truyền thống như Boyer-Moore và Quick Search đã đặt nền tảng cho các thuật toán hiện đại như SSABS và TVSBS.

II. Vấn Đề Và Thách Thức Trong Đối Sánh Mẫu

Mặc dù có nhiều thuật toán hiệu quả, nhưng vẫn tồn tại những thách thức trong việc tối ưu hóa thuật toán đối sánh mẫu. Các vấn đề như độ phức tạp tính toán và khả năng xử lý dữ liệu lớn là những yếu tố cần được xem xét. Đặc biệt, việc tìm kiếm mẫu trong các văn bản lớn có thể dẫn đến thời gian xử lý lâu hơn.

2.1. Độ Phức Tạp Tính Toán Của Các Thuật Toán

Độ phức tạp tính toán của các thuật toán đối sánh mẫu thường phụ thuộc vào độ dài của mẫu và văn bản. Các thuật toán như Boyer-Moore có thể đạt được hiệu suất tốt hơn trong trường hợp mẫu dài.

2.2. Khó Khăn Trong Việc Xử Lý Dữ Liệu Lớn

Khi làm việc với các tập dữ liệu lớn, thời gian tìm kiếm có thể tăng lên đáng kể. Điều này đòi hỏi các thuật toán phải được tối ưu hóa để xử lý hiệu quả hơn.

III. Phương Pháp Sử Dụng Thuật Toán SSABS TVSBS và FQS

Các thuật toán SSABS, TVSBS và FQS là những phương pháp tiên tiến trong lĩnh vực đối sánh mẫu. Chúng được thiết kế để cải thiện tốc độ và độ chính xác của quá trình tìm kiếm. Mỗi thuật toán có những ưu điểm riêng, phù hợp với các loại dữ liệu khác nhau.

3.1. Thuật Toán SSABS Đặc Điểm Và Ứng Dụng

SSABS là một thuật toán tối ưu hóa cho việc tìm kiếm mẫu ngắn. Nó sử dụng các kỹ thuật tiên tiến để giảm thiểu thời gian xử lý và tăng độ chính xác.

3.2. Thuật Toán TVSBS So Sánh Với SSABS

TVSBS là một biến thể của SSABS, được thiết kế để xử lý các mẫu có độ dài lớn hơn. Nó cải thiện hiệu suất bằng cách sử dụng các phương pháp sánh mẫu thông minh hơn.

3.3. FQS Thuật Toán Nhanh Hơn Cho Mẫu Ngắn

FQS là một thuật toán mới, được phát triển để tối ưu hóa quá trình tìm kiếm mẫu ngắn. Nó cho thấy hiệu suất vượt trội trong các bài toán thực tế.

IV. Ứng Dụng Thực Tiễn Của Các Thuật Toán Đối Sánh Mẫu

Các thuật toán đối sánh mẫu chính xác nhanh có nhiều ứng dụng trong thực tiễn. Chúng được sử dụng trong các lĩnh vực như xử lý văn bản, phân tích dữ liệu và sinh học tính toán. Việc áp dụng các thuật toán này giúp cải thiện hiệu suất và độ chính xác trong các hệ thống tìm kiếm.

4.1. Ứng Dụng Trong Xử Lý Văn Bản

Trong xử lý văn bản, các thuật toán này giúp tìm kiếm thông tin nhanh chóng và chính xác. Chúng được sử dụng trong các công cụ tìm kiếm và phân tích dữ liệu.

4.2. Ứng Dụng Trong Sinh Học Tính Toán

Trong sinh học tính toán, các thuật toán đối sánh mẫu giúp xác định các mẫu gene và phân tích dữ liệu sinh học. Điều này có ý nghĩa quan trọng trong nghiên cứu y học và di truyền học.

V. Kết Luận Và Tương Lai Của Thuật Toán Đối Sánh Mẫu

Thuật toán đối sánh mẫu chính xác nhanh đã có những bước tiến đáng kể trong những năm qua. Tuy nhiên, vẫn còn nhiều thách thức cần được giải quyết. Tương lai của lĩnh vực này hứa hẹn sẽ có nhiều cải tiến và ứng dụng mới, đặc biệt trong bối cảnh dữ liệu ngày càng lớn.

5.1. Hướng Nghiên Cứu Tiếp Theo

Các nghiên cứu tiếp theo có thể tập trung vào việc tối ưu hóa hơn nữa các thuật toán hiện có và phát triển các phương pháp mới để xử lý dữ liệu lớn.

5.2. Tác Động Của Công Nghệ Mới

Công nghệ mới như trí tuệ nhân tạo và học máy có thể mang lại những cải tiến đáng kể cho các thuật toán đối sánh mẫu, mở ra nhiều cơ hội mới trong nghiên cứu và ứng dụng.

18/07/2025
Luận văn thạc sĩ hay một họ thuật toán đối sánh mẫu chính xác nhanh ssabs tvsbs fqs và thực nghiệm

Trích đoạn nội dung tài liệu

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 gồm việc tìm ra tất cả những lần xuất hiện của một mẫu đối sánh (p) trong một văn bản (t). Đây là một trong những bài toán được nghiên cứu rộng rãi nhất trong khoa học máy tính, chủ yếu vì các ứng dụng trực tiếp của nó cho rất nhiều lĩnh vực khác LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12 nhau như xử lý văn bản - hình ảnh - tín hiệu (text, image and signal processing), phân tích và nhận dạng giọng nói (speech analysis and recognition), truy hồi thông tin (information retrieval), nén dữ liệu (data 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. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 13 CHƯƠNG 2: HỌ THUẬT TOÁN SÁNH MẪU CHÍNH XÁC NHANH SSABS - TVSBS – FQS 2. 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 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 gian trong trường hợp xấu nhất là O(nm) với n, m tương ứng là kích thước của mẫu và xâu văn bản. - Thuật toán Franek-Jennings-Smyth được công bố năm 2007 là một thuật toán kết hợp đơn giản các trường hợp độ phức tạp thời gian tồi nhất của thuật toán Knuth-Morris-Pratt với các hành vi trung bình tốt hơn của thuật toán QS. - Thuật toán Forward BOM (Forward-Backward-Oracle-Matching) được công bố năm 2008 là một thuật toán kết hợp các ý tưởng tiến bộ của thuật toán Extended-BOM và thuật toán QS.

Luận văn này tập trung vào một nhóm thuật toán biến thể của thuật toán Quick Search mà được kiểm định là có lợi thế khi mẫu ngắn với bảng chữ nhỏ hoặc mẫu dài với bảng chữ lớn [6] với đại diện là thuật toán TVSBS. Các mục dưới đây trình bày lần lượt ba thuật toán thuộc nhóm này là SSABS (Sheik-Sumit-Anindya- Balakrishnan-Seka) [8], TVSBS (Thathoo-Virmani-Sai-Balakrishnan-Sekar) [4] và FQS (faster quick search) [3]. Thuật toán đối sánh mẫu nhanh SSABS 2. Giới thiệu Thuật toán SSABS được S.

Sheik và cộng sự công bố vào năm 2004 [8] và được đặt tên theo tên năm tác giả S. Aggarwal - Anindya Poddar - N. Sheik và cộng sự, hầu hết các thuật toán sánh mẫu nổi tiếng làm việc theo hai giai đoạn: giai đoạn tiền xử lý và giai đoạn tìm kiếm. Trong giai đoạn tiền xử lý, các thuật toán này xử lý mẫu và sử dụng thông tin này trong giai đoạn tìm kiếm để giảm thiểu tổng số lượng so sánh ký tự và do đó giảm thời gian thực hiện tổng thể.

Hiệu quả của một thuật toán chủ yếu phụ thuộc vào giai đoạn tìm kiếm. Mục tiêu chính của các thuật toán đối sánh mẫu là để giảm thiểu số lượng so LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 14 sánh ký tự giữa mẫu và văn bản nhằm làm tăng hiệu quả tổng thể. Sự cải tiến trong hiệu quả của một tìm kiếm có thể đạt được bằng cách thay đổi trật tự các ký tự được so sánh mỗi lần thử nghiệm và bằng việc lựa chọn yếu tố dịch chuyển cho phép bước nhảy của một số ký tự được xác định trước trong văn bản sau mỗi lần thử nghiệm. Các thuật toán đối sánh mẫu quét văn bản với sự hỗ trợ của một cửa sổ, có kích thước tương đương với độ dài của mẫu.

Bước đầu tiên là gắn kết các phần cuối cùng bên trái của cửa sổ và văn bản, sau đó so sánh với các ký tự tương ứng của cửa sổ và mẫu. Sau mỗi một đối sánh hoặc lỗi đối sánh của mẫu, cửa sổ văn bản được dịch chuyển sang bên phải. Vấn đề đặt ra ra là có bao nhiêu ký tự được yêu cầu dịch chuyển cửa sổ trên văn bản. Các giá trị dịch chuyển này dựa trên phương pháp luận được sử dụng bởi các thuật toán khác nhau.

Quy trình đó được lặp đi lặp lại cho tới khi phần cuối cùng bên phải của cửa sổ nằm trong phần cuối cùng bên phải của văn bản. 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ử nghiệm, bước nhảy của cửa sổ đạt được bằng giá trị dịch chuyển qsBc đối với ký tự được đặt ở vị trí liền kề với cửa sổ.

Do sự phụ thuộc của các ký tự lân cận mạnh hơn so với các ký tự khác nên cần so sánh ký tự cuối cùng trước tiên và ký tự đầu tiên thứ hai sau đó tiếp tục so sánh các ký tự theo trình tự từ phải sang trái của mẫu và cửa sổ. Vì vậy, sẽ tốt hơn nếu tạm dừng việc so sánh các ký tự lân cận nhau. Xác xuất việc đánh giá một đối sánh chính xác giữa mẫu với cửa sổ được tăng lên với một lượng tối thiểu so sánh bằng cách kết hợp sự tương đồng ban đầu. Thêm vào đó, sự tối đa hóa bước nhảy cho cửa sổ giúp giảm thiểu số lượng so sánh ký tự với ký tự và làm tăng hiệu suất.

Giai đoạn tiền xử lý: Giai đoạn này được thực hiện bằng việc sử dụng hàm dịch chuyển qsBc đối với tất cả các ký tự trong bảng chữ cái được thiết lập. Một bảng được hình thành với cỡ σ, chứa ký tự và giá trị bước nhảy tương ứng của nó. Giá trị qsBc cho một bảng chữ cái cụ thể được xác định như vị trí của ký tự trong mẫu từ phải sang trái, nếu điều đó không diễn ra trong mẫu thì giá trị sẽ bằng (m+1). Giá trị bước nhảy cho mỗi ký tự được lưu trữ trong bảng qsBc được sử dụng trong giai đoạn tìm kiếm.

Trong giai đoạn tìm kiếm, sau mỗi lần thử, bước nhảy của cửa sổ được tính toán LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 15 bằng việc đạt được giá trị dịch chuyển của ký tự ngay sau cửa sổ. Giá trị bước nhảy tối đa đối với cửa sổ được nhận ra khi ký tự (ký tự ngay sau cửa sổ) không có mặt ở trong mẫu. Xác suất của một ký tự xuất hiện trong mẫu ít hơn khi cỡ bảng chữ cái lớn điều đó giúp cho việc đạt được bước nhảy tối đa của cửa sổ. Trong thuật toán này ta xem xét hàm dịch chuyển qsBC của Quick-search vì những lí do sau: (1) Giá trị qsBc thường được xác định ≥ 1, do đó nó có thể làm việc một cách độc lập và ra một thuật toán nhanh.

Mặt khác, bmBc đôi khi mang lại giá trị dịch chuyển ≤ 0 và trong các trường hợp như vậy nó không được sử dụng một cách độc lập. Do vậy, nó phải làm việc cùng với bmGs (dịch chuyển khớp của Boyer-Moore) để tính toán bước nhảy của cửa sổ. (2) qsBC = bmBC, trừ các ký tự cuối cùng trong mẫu. Do đó, qsBc luôn luôn có giá trị dịch chuyển nhiều hơn bmBc trong thực tế.

(3) qsBc không phụ thuộc vào trật tự các so sánh giữa mẫu và cửa sổ. Vì qsBc được xác định liên quan tới một ký tự nằm ngoài phạm vi so sánh hiện tại của mẫu. Giai đoạn tìm kiếm: Bước 1 và bước 2 của giai đoạn này giải quyết trật tự so sánh ký tự với ký tự giữa cửa sổ và mẫu. Bước 1: Để tìm ra sự tương đồng ban đầu giữa mẫu và cửa sổ, trước tiên, ký tự cuối cùng của mẫu và cửa sổ được so sánh, trong trường hợp có đối sánh, ký tự đầu tiên của mẫu và ký tự tương ứng trong cửa sổ được so sánh.

Nếu những ký tự này đối sánh, thuật toán đi vào bước tiếp theo, nếu không nó sẽ đi tới bước cuối cùng. Bước 2: Sau khi tạo một sự tương đồng ban đầu giữa cửa sổ và mẫu, các ký tự còn lại được so sánh theo trật tự từ phải sang trái cho đến khi một lỗi đối sánh xảy ra hoặc tất cả các ký tự (m – 2) đối sánh. Nếu tất cả các ký tự đối sánh, thuật toán hiển thị vị trí tương ứng (j) của cửa sổ trên văn bản. Sau đó thuật toán đi vào bước cuối cùng.

Bước 3: Trong bước này, sự tính toán khoảng cách mà cửa sổ được dịch chuyển được tính toán sử dụng qsBc, đã được tạo ra trong suốt giai đoạn tiền xử lý, đối với ký tự đầu tiên ngay sau cửa sổ. Quy trình này lặp lại cho tới khi cửa sổ đạt được vị trí ngoài (n - m +1). Phân tích thuật toán: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 16 Trong giai đoạn tiền xử lý: Thời gian tính toán của của thuật toán là O(m + σ) và độ phức tạp không gian là O(σ). Trong giai đoạn tìm kiếm: Trong trường hợp tốt nhất độ phức tạp thời gian là O([(n/(m + 1))]).

Các ký tự không xảy ra trong mẫu có giá trị dịch chuyển (m+1) được xác định bởi qsBc được tính toán trong suốt giai đoạn tiền xử lý. Việc xem xét trường hợp tốt nhất là các ký tự trong mẫu hoàn toàn khác so với các ký tự trong văn bản, đối sánh m ký tự của mẫu trong văn bản thu được giá trị dịch chuyển (m+1) tại mỗi lần thử nghiệm và do đó độ phức tạp thời gian là O([(n/(m + 1))]). Trong trường hợp xấu nhất độ phức tạp thời gian là O(m(n-m+1)). Thực tế tất cả các ký tự trong văn bản được đối sánh không hơn m thời gian, tổng số các so sánh ký tự đối với n ký tự của văn bản không thể nhiều hơn m(n+1); Sự dịch chuyển bằng 1 và các ký tự được đối sánh trong mỗi lần thử nghiệm.

Điều này được nhận ra khi các ký tự trong mẫu tương đồng chính xác với các ký tự trong văn bản.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ