2- NHIỆM VỤ LUẬNVĂN: .Xây dựng một hệ thống tìm kiếm dựa trên những giai ñiệu ñược ngân nga bởi con người thông qua các phương pháp xử lý chuỗi thời gian .... Ví dụ: “tìm những khoảng th
Giới thiệu ủề tài
Dữ liệu chuỗi thời gian
Một chuỗi thời gian là một chuỗi số thực ủại diện cho cỏc phộp ủo của một biến thực tế tại các khoảng thời gian bằng nhau Dữ liệu chuỗi thời gian tồn tại trong nhiều ứng dụng thực tế, từ cỏc lĩnh vực khoa học kỹ thuật cho ủến kinh tế, tài chớnh Đặc biệt trong thời ủiểm hiện nay, việc khai phỏ thụng tin ngày càng ủa dạng và cần thiết Vỡ vậy, ủó cú nhiều nghiờn cứu nhằm mục ủớch quản lý, xử lý một cỏch hiệu quả những yờu cầu cú liờn quan ủến dữ liệu chuỗi thời gian
Cú rất nhiều dữ liệu cú yếu tố thời gian như dữ liệu về giỏ chứng khoỏn, ủiện tõm ủồ, mực nước, lưu lượng truyền trờn mạng, dữ liệu tài chớnh… Việc khai phỏ dữ liệu chuỗi thời gian ủó thu hỳt rất nhiều sự nghiờn cứu trờn thế giới Cụ thể là một số lĩnh vực nghiên cứu sau:
• L ậ p ch ỉ m ụ c (Indexing): cho một chuỗi thời gian truy vấn Q, và một hàm tính ủộ tương tự hoặc ủộ sai biệt D(Q,C), tỡm những chuỗi thời gian tương tự nhất với Q trong cơ sở dữ liệu DB nào ủú Phương phỏp này giỳp ta tổ chức dữ liệu và hổ trợ tìm kiếm nhanh nhất
• Gom c ụ m (clustering):tìm những sự phân nhóm theo tự nhiên của những chuỗi thời gian trong cơ sở dữ liệu DB theo một hàm tớnh ủộ tương tự D(Q,C)
• Phân l ớ p (Classification): cho một chuỗi thời gian chưa gán nhóm Q, gán nó vào một trong những nhúm ủó ủược ủịnh nghĩa trước
• Túm t ắ t (Summarization):cho chuỗi thời gian Q cú n ủiểm dữ liệu trong ủú n là con số rất lớn, tạo một sự xấp xỉ của Q ủể vừa khớt theo một giới hạn nào ủú (chẳng hạn màn hỡnh mỏy tớnh, trang giấy…) sao cho vẫn duy trỡ những ủặc trưng bản chất của nó
Tỡm kiếm dựa trờn giai ủiệu
• D ự đ ốn (Predict) : cho chuỗi thời gian Q với n điểm Dự đốn giá trị thứ n+1 của chuỗi
• Phát hi ệ n b ấ t th ườ ng (Anomaly detection): cho một chuỗi thời gian Q, và một vài mô hình hành vi bình thường (normal behavior), tìm tất cả những phần thuộc Q có chứa bất thường Ngoài ra còn có nhiều tên gọi khác cho lĩnh vực này như phát hiện những hành vi gây ngạc nhiên (surprising behavior), hành vi quan tõm (interesting behavior), hành vi khụng mong ủợi (unexpected behavior), hành vi lạ thường (novel behavior) Đồng thời cú rất nhiều ủịnh nghĩa như thế nào gọi là bất thường.
Biểu diễn chuỗi thời gian và bài toán so trùng mẫu con
Trong các bài toán về chuỗi thời gian, như thu giảm số chiều (dimensional reduction), lập chỉ mục (indexing), …, việc biểu diễn chuỗi dữ liệu ảnh hưởng rất lớn ủến hiệu suất cũng như kết quả của bài toỏn Do vậy, việc tỡm kiếm ra những phương pháp biểu diễn chuỗi thời gian hiệu quả cũng là một bài toán thách thức trong cộng ủồng nghiờn cứu về chuỗi thời gian
Biểu diễn chuỗi thời gian hợp lý sẽ giỳp khắc phục ủược những khú khăn ủặc thự của chuỗi thời gian như là dữ liệu quá lớn (tốn chí phí I/O và CPU khi truy xuất và tớnh toỏn), sự khụng ủồng nhất về dữ liệu, …Hỡnh 1.1 túm lược về cỏc cụng trỡnh biểu diễn chuỗi thời gian
Tỡm kiếm dựa trờn giai ủiệu
Hình 1.1 Các phương pháp biểu diễn chuỗi thời gian
Bài toán so trùng chuỗi thời gian là việc tìm ra phương pháp sao cho việc tìm kiếm chuỗi con vừa nhanh và hiệu quả Đây là bài toán rất cơ bản trong lĩnh vực nghiên cứu chuỗi thời gian Một số dạng truy vấn mà ta thường gặp :
• Tình hình tăng trưởng của công ty trong tháng
• Tỡm xem những giai ủiệu giống nhau trong một bài nhạc ủể cú thể ủỏnh giỏ trong việc quy phạm bản quyền
• Tìm những sản phẩm có chu kỳ bán giống nhau
Mặc dù có nhiều loại khác nhau nhưng các yêu cầu truy vấn trên dữ liệu chuỗi thời gian có thể chia làm 2 loại :
• So trùng toàn bộ (whole matching) : Đối với những truy vấn so trùng toàn bộ thỡ chiều dài của chuỗi truy vấn và chuỗi dài dữ liệu ban ủầu là bằng nhau Bài toán này người ta thường dùng trong việc gom cụm, hay phân loại dữ liệu chuỗi thời gian Ví dụ, “tìm giá chứng khoán của những công ty nào thay ủổi giống nhau”
Tỡm kiếm dựa trờn giai ủiệu
• So trùng chuỗi con (subsequence matching) : Trong trường hợp so trùng một phần thì chiều dài của dữ liệu truy vấn ngắn hơn rất nhiều so với chiều dài của dữ liệu ban ủầu Vỡ vậy, nhiệm vụ chớnh là tỡm những ủoạn trong dữ liệu ban ủầu tương tự với dữ liệu truy vấn Một số ứng dụng của bài toàn này là tỡm những mẫu dữ liệu quan trọng hay những thay ủổi bất thường trong dữ liệu ban ủầu Vớ dụ: “tỡm những khoảng thời gian mà giỏ của thị trường chứng khoỏn khụng ủổi trong một khoảng thời gian”,“tỡm những thời ủiểm mà giỏ chứng khoỏn giảm ủột ngột”, hay “những thời ủiểm nào mà giỏ chứng khoỏn thay ủổi theo dạng hỡnh răng cưa”, …
Biểu diễn giai ủiệu dưới dạng chuỗi thời gian
Cú nhiều ủịnh dạng tập tin nhạc như : midi, wma, mp3… Vỡ vậy việc tỡm kiếm dựa trờn giai ủiệu cũng cú nhiều hướng phỏt triển khỏc nhau Việc truy vấn dựa trờn giai ủiệu là một hỡnh thức truy vấn nội dung (“Query by content”) trong cơ sở dữ liệu truyền thụng Hiện tại thỡ việc truy vấn dựa trờn những biểu tượng của giai ủiệu thỡ tốt hơn là việc truy vấn dựa trờn õm thanh của giai ủiệu Vỡ vậy, việc truy xuất cỏc cơ sở dữ liệu dựa trờn õm thanh của giai ủiệu (Querying acoustic databases) là một vấn ủề rất ủược quan tõm ngày nay Hầu hết việc nghiờn cứu chỉ tập trung sử dụng cỏc khỏi niệm của “Contour” “Contour” trong giai ủiệu là tập cỏc khỏc biệt trong cường ủộ (pitch) giữa cỏc nốt nhạc kế tiếp nhau Người nghe cú thể nhận ra ủược sự khỏc biệt giữa cỏc nốt nhạc nhờ sự khỏc nhau về thụng tin “contour” ủú Tuy nhiờn, sự khú khăn trong phương phỏp này là tuy chỳng hoạt ủộng hiệu quả với dữ liệu õm thanh chuẩn do nhạc sĩ chuyên nghiệp hoặc chương trình máy tính trình diễn, nhưng lại khụng chớnh xỏc và hiệu quả khi thể hiện những giai ủiệu ủược con người ngõn nga, thường là khụng chuẩn và cú nhiều thụng tin nhiễu [40] Để giải quyết vấn ủề này, một phương pháp tiếp cận hiệu quả là sử dụng chuỗi thời gian, vì phương pháp này cho phộp biểu diễn chớnh xỏc cỏc thụng tin về ngõn ủộ và cao ủộ của nốt nhạc ngay cả khi người sử dụng ngân nga không “chuẩn” Kết quả thực nghiệm trong bài
Tỡm kiếm dựa trờn giai ủiệu
5 báo [4] của Zhu và Shasha cho thấy rằng giải pháp sử dụng chuỗi thời gian có kết quả tối ưu hơn so với phương pháp dựa trên contour hiện nay.
Mục tiờu và giới hạn của ủề tài
Chắc hẳn khi muốn tỡm một bài hỏt nào ủú bạn thường hay dựa vào tờn ca sĩ trỡnh bày hay tác giả của bài hát, hoặc cũng có thề tìm bài hát dựa trên lời của nó Tuy nhiờn trong trường hợp bạn chỉ nghe hoặc nhớ một ủoạn trong bài hỏt nhưng khụng biết bất cứ thụng tin gỡ về bài hỏt thỡ xem như việc tỡm kiếm bài hỏt ủú sẽ rất khú khăn
Hệ thống tỡm kiếm dựa trờn giai ủiệu sẽ cho người sử dụng cú thể tỡm những bài hỏt dựa trờn một phần giai ủiệu của nú Người sử dụng nhập vào một ủoạn bài hỏt và hệ thống sẽ trả về những bài hỏt cú giai ủiệu tương tự như giai ủiệu mà người sử dụng ủó nhập Việc tỡm kiếm dựa trờn giai ủiệu là một chủ ủề ớt phổ biến hơn việc xử lý ngôn ngữ tự nhiên nhưng nó sẽ rất phát triển trong tương lai gần
Luận văn tập trung giải quyết cỏc vấn ủề chớnh :
- Việc tìm kiếm dựa vào những nốt nhạc (contour matching) thì sẽ không chớnh xỏc và hiệu quả bởi vỡ dữ liệu của chỳng tụi là những giai ủiệu ủược con người ngõn nga Do ủú chỳng tụi ủó chuyển về dữ liệu chuỗi thời gian ủể số húa những giai ủiệu ủú một cỏch linh ủộng hơn
Tỡm kiếm dựa trờn giai ủiệu
- Dữ liệu tập thời gian quỏ lớn và khụng ủồng nhất Chỳng tụi ủó sử dụng phương phỏp PAA ủể nhằm thu giảm số chiều của dữ liệu và ủồng nhất về số chiều ủể việc tớnh toỏn trở nờn dễ dàng và hợp lý hơn
- Với những giai ủiệu khụng ủược tự nhiờn như là cú nhịp ủộ (tempo) nhanh hoặc chậm ; cường ủộ (pitch) cao hoặc thấp hơn bỡnh thường Chỳng tụi dựng cỏc phương phỏp tỉ lệ (scale) và tịnh tiến (shifting) ủưa chỳng về 0 ủể bảo ủảm dữ liệu khụng bị bất biến
- Vỡ tập dữ liệu tỡm kiếm là rất lớn, chỳng tụi ủó xõy dựng cỏc phương phỏp cận dưới khoảng cỏch ủể nhằm hạn chế vựng tỡm kiếm chuỗi tương ủồng
- Để hỗ trợ việc tỡm kiếm, chỳng tụi ủó sử dụng phương phỏp rời rạc húa SAX và cõy chỉ mục hậu tố ủể tỡm ra những chuỗi dữ liệu tương ủồng nhau
Hệ thống chưa xử lý ủược những tập tin dạng phức tạp với nhiều tạp õm (như tiếng bass, tiếng trống, ) Đề tài chưa thể thử qua hết tất cả các phương pháp nhằm hổ trợ tỡm kiếm giai ủiệu một cỏch tốt nhất Đề tài chỉ mới dừng lại là ủưa ra một số phương phỏp xử lý chuỗi thời gian và cú những bước cải tiến ủể xử lý việc tỡm kiếm dựa trờn giai ủiệu Ngoài ra việc biến ủổi dữ liệu nhiều sẽ cú thể ảnh hưởng ủến kết quả kém chính xác.
Túm lược những kết quả ủạt ủược
Trong giới hạn thời gian hiện thực, chỳng tụi ủó hiện thực hệ thống tỡm kiếm dựa trờn õm ủiệu gồm 4 mụủun chớnh: mụủun tạo tập dữ liệu thực nghiệm từ tập tin MIDI, mụủun biểu diễn dữ liệu chuỗi thời gian, mụủun cấu trỳc dữ liệu và mụủun tỡm kiếm chuỗi con tương ủồng
Trong mụủun thứ nhất, chỳng tụi rỳt trớch chuỗi thời gian từ tập tin midi Một bản nhạc bao gồm một bộ cỏc õm ủiệu (note) và khoảng thời gian cỏc õm ủiệu ủược ngân (duration)
Tỡm kiếm dựa trờn giai ủiệu
Trong mụủun thứ hai, chỳng tụi hiện thực phương phỏp thu giảm số chiều PAA và phương pháp rời rạc SAX
Mụủun thứ ba, chỳng tụi tạo cỏc cấu trỳc dữ liệu tương ứng với từng phương phỏp thu giảm số chiều và rời rạc hóa dữ liệu chuỗi thời gian Cụ thể, áp dụng phương pháp cận dưới ( lower bounding) of Keogh cho phương pháp thu giảm số chiều
PAA, cấu trúcchỉ mụccủa cây hậu tố cho phương pháp SAX Ở mụủun tỡm kiếm chuỗi con tương ủồng, chỳng tụi hiện thực giải thuật tỡm kiếm nhánh và cận trên cấu trúc chỉ mục cây hậu tố
Hệ thống của chúng tôi chạy thực nghiệm với các thông số khác nhau cho từng loại dữ liệu khỏc nhau ủể ủỏnh giỏ, so sỏnh ủộ hiệu quả giữa phương phỏp cận dưới của Keogh và một phương pháp cận dưới cải tiến từ ý tưởng Wedge [41] Và kết quả thực nghiệm khi dựng SAX và cõy chỉ mục hậu tố cho việc tỡm kiếm những ủoạn nhạc giống nhau tức là tỡm kiếm những chuỗi con tương ủồng.
Cấu trúc luận văn
Phần cũn lại của luận văn ủược tổ chức như sau:
Chương 2, trỡnh bày tổng quan cỏc cụng trỡnh liờn quan về cỏc hàm tớnh ủộ tương tự, các phương pháp thu giảm số chiều, các phương pháp rời rạc hóa dữ liệu chuỗi thời gian, các cấu trúc chỉ mục phổ biến, cùng các giải thuật phát hiện bất thường
Chương 3, làm rõ cơ sở lý thuyết nền tảng của các phương pháp biểu diễn và các giải thuật ủược chọn sau khi khảo sỏt cỏc cụng trỡnh cú liờn quan ở chương 2
Chương 4, chỳng tụi trỡnh bày về phương phỏp giải quyết vấn ủề, và cỏc giải thuật liờn quan Hệ thống hiện thực húa phương phỏp giải quyết vấn ủề cũng sẽ ủược giới thiệu trong chương 4
Chương 5, cỏc kết quả thực nghiệm ủược cụng bố và so sỏnh.Với cỏc thụng số ủiều chỉnh khỏc nhau sẽ cú kết quả thực nghiệm khỏc nhau Hệ thống ủưa ra những
Tỡm kiếm dựa trờn giai ủiệu
8 phương phỏp cải tiến và hiệu quả của cỏc phương phỏp ủú trong tỡm kiếm dựa trờn giai ủiệu
Chương 6 là một số kết luận và hướng mở rộng của ủề tài.
Tổng thuật các công trình liên quan
Cỏc cụng trỡnh về ủộ ủo tương tự
Trong mọi bài toỏn về chuỗi thời gian núi chung, việc tớnh toỏn ủộ tương tự (khoảng cỏch) của hai ủối tượng O 1 , O 2 là vấn ủề cơ bản và rất quan trọng Hai ủối tượng ủược xem là giống nhau khi khoảng cỏch của chỳng bằng 0, là tương tự nhau khi khoảng cỏch của chỳng nhỏ hơn một giỏ trị ngưỡng nào ủú và khỏc nhau khi khoảng cỏch ủú càng lớn Và với một hàm tớnh ủộ tương tự D(x, y), cỏc tớnh chất sau cần ủược thỏa món:
Tỡm kiếm dựa trờn giai ủiệu
Dễ dàng nhận thấy các tính chất này là cần thiết như thế nào Tính chất (1), (2) rất trực quan Tớnh chất (3) thể hiện ủược mối tương ủồng giữa hai ủối tượng O 1 ,
O 2 Tính chất (4) nhằm hỗ trợ kỹ thuật lập index Với kỹ thuật này có thể thu gọn khụng gian tỡm kiếm Do ủú, thời gian tớnh toỏn sẽ giảm
Dist(X,Y) trong ủú, p = 1 (ủộ ủo Manhattan) p = 2 (ủộ ủo Euclide) p = ∞ (ủộ ủo Max)
Mặc dù có nhiều sự lựa chọn khác nhau cho p, nhưng người ta thường chọnp = 2vì những ưu ủiểm sau: Ưu ủiểm:
• Có thể áp dụng trong các bài toán phân loại, gom cụm, tìm motif, … và các phương pháp thu giảm số chiều hay xấp xỉ như : PAA[1], DFT[2], DWT[3], v.v
• Nhạy cảm với dữ liệu
Tỡm kiếm dựa trờn giai ủiệu
• Khụng thể ỏp dụng cho cỏc chuỗi thời gian cú ủường cơ bản(base line)biến ủổi giống nhau nhưng lệch nhau về thời gian hoặc biờn ủộ (amplitude) khỏc nhau (xem Hình 2.1)
(1) Đườngcơ bản khỏc nhau (2) Biờnủộdaoủộng khỏcnhau
Hỡnh 2.1: Trường hợp 2 chuỗi cú ủường cơ bản lệch nhau và biờn ủộ dao ủộng khỏc nhau
Hướng giải quyết : ủể khắc phục nhược ủiểm này, trước khi tớnh toỏn ta cần chuẩn hóa chuỗi thời gian Có nhiều phương pháp chuẩn hóa chuỗi thời gian như : chuẩn hóa trung bình zero (Zero-Mean normalization), chuẩn hóa nhỏ nhất – lớn nhất (Min – Max normalization), …
2.1.2 Độ ủo xoắn thời gian ủộng (Dynamic Time Warping –DTW)
Việc so trựng 2 ủường biểu diễn dữ liệu bằng cỏch tớnh khoảng cỏch từng cặp ủiểm 1-1 (ủiểm thứ i của ủường thứ I so với ủiểm thứ i của ủường thứ II) là khụng phự hợp trong trường hợp hai ủường này khụng hoàn toàn giống nhau nhưng hỡnh dạng biến ủổi rất giống nhau Như trong hỡnh 2, hai ủường biểu diễn rất giống nhau về hình dạng nhưng lệch nhau về thời gian Trong trường hợp này, nếu tính khoảng
Tỡm kiếm dựa trờn giai ủiệu
11 cỏch bằng cỏch ỏnh xạ 1-1giữa 2 ủường thỡ kết quả rất khỏc nhau và cú thể dẫn ủến kết quả cuối cùng không giống như mong muốn
Vỡ vậy ủể khắc phục nhược ủiểm này, thỡ một ủiểm cú thể ỏnh xạ một với nhiều ủiểm và ỏnh xạ này khụng thẳng hàng (xem hỡnh 2b) Phương phỏp này gọi là xoắn thời gian ủộng (Dynamic Time Warping - DTW) ủược ủề xuất bởi Bernt và Clifford, 1994
(a) Tính theo khoảng cách Euclid e (b)Tính theo khoảng cách DTW
Hỡnh 2.2: Minh họa sự khỏc nhau giữa 2 ủộ ủo Euclide và DTW
Cỏch tớnh ủơn giản nhất của DWT là xõy dựng hai ma trận D mxn với m = |X| và n |Y| Khi ủú D ij = d(x i ,y i ) Sau khi xõy dựng ma trận D , ta tỡm ủường ủi từ ụ (0,0) ủến ụ (m,n) thỏa món những ràng buộc sau :
1 Khụng ủi qua trỏi hoặc ủi xuống
2 Đường ủi phải liờn tục
3 ễ (i, j) thuộc ủường ủi phải thỏa món |i - j| < w
Giả sử cú K ụ ủi từ ụ (0, 0) ủến ụ (m, n) thỏa món những ủiều kiện trờn khi ủú :
Tỡm kiếm dựa trờn giai ủiệu
Tuy nhiờn ta cú thể dựng quy hoạch ủộng ủể giải quyết bài toỏn này Trong ủú cụng thức truy hồi dựng ủể tớnh D(i,j) :
Hỡnh 2.3: Một vớ dụ ủường ủi xoắn Ưu ủiểm :
• Cho kết quả chớnh xỏc hơn ủộ ủo Euclide, ủặc biệt là với dữ liệu nhỏ
• Cho phép nhận dạng mẫu có hình dạng giống nhau nhưng về chiều dài hình dạng về thời gian có thể khác nhau
Tỡm kiếm dựa trờn giai ủiệu
• Thời gian chạy lõu Tuy nhiờn gần ủõy ủó cú những cụng trỡnh tăng tốc ủộ tỡm kiếm tương tự dựng ủộ ủo Euclide
• Dựng phộp ỏnh xạ ủể chuyển cỏch biểu diễn ban ủầu sang cỏch biểu diễn khỏc bằng cỏch nộn dữ liệu và giảm tần số lấy mẫu Khi ủú việc tớnh toỏn xấp xỉ theo DTW nhanh hơn
• Trong phương phỏp DTW trỡnh bày ở trờn ta dựng thụng số w ủể giới hạn miền tìm kiếm Cải tiến này gọi là cận dưới (lower bound) Miền tìm kiếm này có thể giới hạn bởi 2 ủường thẳng song song như hỡnh 3 hoặc cú thể cú hỡnh dạng khỏc (tùy theo từng trường hợp cụ thể) [12]
2.1.3 Phương pháp chuỗi con chung dài nhất (Longest Common Subsequence – LCS) Độ ủo chuỗi con chung dài nhất (longest common subsequence) ủược ủề xuất bởi Vlachos và các cộng sự năm 2004 ([8]) Điểm nổi bật của phương pháp chuỗi con chung dài nhất là nú cho phộp bỏ qua những ủiểm bất thường khi so sỏnh í tưởng chính của phương pháp này là tìm những chuỗi con chung Hai chuỗi có chuỗi con chung càng dài thì càng giống nhau Ví dụ, cho 2 chuỗi X, Y với X= 3, 2, 5, 7, 4, 8,
10, 7 và Y = 2, 5, 4, 7, 3, 10, 8, 6 Chuỗi con chung là LCS = 2, 5, 7, 10 và ủộ tương tự của X, Y: Sim(X, Y) = |LCS| = 4 Ưu ủiểm :
• Độ ủo này cú ưu ủiểm là thể hiện tớnh trực quan của dữ liệu và cho phộp bỏ qua những ủiểm bất thường
Tỡm kiếm dựa trờn giai ủiệu
• Dữ liệu nờn ủược chuẩn húa trước khi ỏp dụng phương phỏp này, nhằm trỏnh hiện tượng tịnh tiến (shifting) ủường cơ bản hay co gión (scaling) biờn ủộ.
Các công trình về biểu diễn chuỗi thời gian
Vì dữ liệu chuỗi thời gian là rất lớn, không thể xử lý trong bộ nhớ chính mà phải tốn nhiều lần truy cập ủĩa ngoài, chi phớ truy cập ủĩa ngoài là rất ủỏng kể so với chi phớ tính toán, thường gây ra hiện tượng thắt cổ chai khi thực hiện các nhiệm vụ khai phá dữ liệu Do ủú, nhiều phương phỏp ủược ủưa ra nhằm giảm bớt chi phớ tớnh toỏn và nâng cao hiệu suất xử lý bộ nhớ chính và giảm thiểu việc truy cập bộ nhớ ngoài Những phương pháp này gồm có những kỹ thuật thu giảm số chiều (dimensionality reduction) và phương pháp hổ trợ lập chỉ mục (indexing) Một số phương pháp vừa thu giảm số chiều vừa rời rạc húa dữ liệu chuỗi thời gian ủược gọi là phương phỏp rời rạc húa (discretization) Phương phỏp tổng quỏt ủể thu giảm số chiều cú thể tóm tắt như sau:
• Thiết lập ủộ ủo tương tự d thớch hợp với dữ liệu (cú thể là ủộ ủo Euclide hay xoắn thời gian ủộng)
• Thiết kế một kỹ thuật thu giảm số chiều ủể rỳt trớch một ủặc trưng cú chiều dài k (tức là một ủặc trưng gồm k giỏ trị), với k cú thể ủược xử lý một cỏch hữu hiệu nhờ một cấu trỳc chỉ mục khụng gian (ủa chiều)
• Cung cấp một ủộ ủo tương tự d k trờn khụng gian ủặc trưng k chiều trờn và chứng tỏ rằng nú thỏa ủiều kiện chặn dưới sau: d k (X’, Y’) ≤ d(X, Y) Điều kiện chặn dưới như trên có nghĩa là hàm khoảng cách tính trên không gian ủặc trưng (hay khụng gian thu giảm) của hai chuỗi thời gian ủó ủược biến ủổi X’, Y’ từ hai chuỗi ban ủầu X, Y phải chặn dưới khoảng cỏch thật của chỳng trờn khụng gian nguyờn thủy, ủiều này ủảm bảo khụng xảy ra false dismissal (những ủối tượng thỏa ủiều kiện nhưng bị bỏ sút)
Tỡm kiếm dựa trờn giai ủiệu
Hầu hết cỏc phương phỏp xấp xỉ ủều chỉ ra ủược hàm tớnh ủộ tương tự trờn khụng gian thu giảm sao cho nó là chặn dưới của khoảng cách thực của dữ liệu gốc Chỉ một số phương phỏp khụng thỏa món ủiều kiện chặn dưới này cho rằng phải hy sinh ủộ chớnh xỏc của kết quả tỡm ủược ủể tăng tốc ủộ tớnh toỏn và tỡm kiếm (xem hỡnh 4, phương phỏp Value-based và Slope-based) Sau khi cú ủược sự xấp xỉ của dữ liệu gốc, ủể tăng tốc ủộ tỡm kiếm và tớnh toỏn, cần thiết phải cú cơ chế lập chỉ mục cho dữ liệu xấp xỉ này
Trước khi trình bày một số phương pháp biểu diễn cụ thể, ta sẽ tìm hiểu sơ qua các nhúm phương phỏp biểu diễn phổ biến hiện nay Cỏc phương phỏp này ủược chia thành 4 nhóm:
• D ự a trên mô hình (Model based):
Phương pháp này dùng những mô hình toán học nổi tiếng như mô hình Markov ẩn, mụ hỡnh thống kờ… ủể xõy dựng mụ hỡnh cho dữ liệu ủó ủược quan sỏt trước (hay cũn gọi là dữ liệu huấn luyện) Sau ủú, sử dụng mụ hỡnh ủó xõy dựng ủược ủể tớnh xỏc suất xuất hiện của cỏc chuỗi con mới
• Thích nghi theo d ữ li ệ u (Data adaptive):
Phương phỏp này ủũi hỏi cỏc thành phần thụng số cần phải ủược thiết lập lại mỗi khi có dữ liệu mới thêm vào
• Không thích nghi theo d ữ li ệ u (Non data adaptive):
Cỏc thụng số ủược thiết lập trước và khụng cần phải thiết lập lại mỗi khi cú dữ liệu mới thêm vào
Cỏc thụng số ủược thiết lập bởi chớnh dữ liệu, người dựng khụng tự mỡnh thiết lập ủược
Sau ủõy là một số phương phỏp biểu diễn cụ thể
Tỡm kiếm dựa trờn giai ủiệu
2.2.1 Phương phỏp biến ủổi Fourier rời rạc DFT (Discrete Fourier
Phương phỏp DFT do R Agrawal và cộng sự ủề nghị năm 1993 [1] Trong phương phỏp này, ủường dữ liệu ban ủầu ủược biểu diễn bởi cỏc ủường cơ bản Nhưng ủường cơ bản trong trường hợp này là ủường sin và cosin (hỡnh 5)
• Có khả năng nén dữ liệu và chịu nhiễu tốt
• Cho phép so sánh gián tiếp hai chuỗi X, Y thông qua khoảng cách của 2 chuỗi X f , Y f ủó ủược biến ủổi do D(X,Y) ≥ αD(X f , Y f ) (trong ủú α là hằng số)
• Một số phương phỏp lập chỉ mục ủược ủề nghị như F-Index , ST-Index hỗ trợ việc tìm kiếm chuỗi con tương tự
• Độ phức tạp của giải thuật DFT là O(nlgn) với n là số lượng ủiểm
• Khú giải quyết khi cỏc ủường biểu diễn cú chiều dài khỏc nhau
Hình 2.4: Các phương pháp biểu diễn DFT, DWT, SVD
Tỡm kiếm dựa trờn giai ủiệu
2.2.2 Phương phỏp biến ủổi Wavelet rời rạc DWT (Discrete Wavelet
Phương phỏp thu giảm số chiều bằng biến ủổi rời rạc Wavelet rời rạc do K Chan và
W Fu ủề nghị năm 1999 ([5]) Phương phỏp DWT cũng giống phương phỏp DFT, tuy nhiờn ủường cơ bản của nú khụng phải là ủường lượng giỏc sin hay cosin mà là ủường haar như trong hỡnh 2.4 Đường Haar ủược ủịnh nghĩa theo cỏc cụng thức ψ j i như sau: ψ j i =ψ(2 j x – i) i=0,…, 2 j -1
Ngoài sử dụng ủường Haar, phương phỏp Wavelet cú thể sử dụng cỏc ủường cơ bản khỏc như ủường Daubechies, Coiflet, Symmlet … Tuy nhiờn, Haar Wavelet ủó ủược sử dụng rất nhiều trong khai phá dữ liệu chuỗi thời gian và lập chỉ mục
2.2.3 Phương phỏp xấp xỉ gộp từng ủoạn PAA (Piecewise Aggregate
Phương phỏp PAA do E Keogh và cộng sự ủề xuất năm 2000 [19] Phương phỏp PAA tuần tự xấp xỉ k giá trị liền kề nhau thành cùng một giá trị bằng trung bình cộng của k ủiểm ủú Quỏ trỡnh cứ tiếp tục như vậy từ trỏi sang phải Kết quả cuối cựng là ủường thẳng cú dạng bậc thang (hỡnh 2.5)
Vớ dụ cho chuỗi x j (j = 1,…,n), chuỗi biến ủổi X i (i = 1,…,N) (N là số chiều thu giảm) ủược tớnh theo cụng thức sau:
Tỡm kiếm dựa trờn giai ủiệu
Hình 2.5: Các phương pháp biểu diễn dữ liệu APCA, PAA, PLA Ưu ủiểm :
• Thời gian tính toán rất nhanh
• Hỗ trợ nhiều phương pháp tính khoảng cách (Khoảng cách Euclide, DWT,
• Hỗ trợ câu truy vấn có chiều dài khác nhau
• Xõy dựng lại chuỗi ban ủầu rất khú và thường sinh lỗi lớn
• Khụng quan tõm tới những ủiểm ủặc biệt ( ủiểm giỏ trị lớn nhất, nhỏ nhất,
…) trong từng ủoạn xấp xỉ
Tỡm kiếm dựa trờn giai ủiệu
2.2.4 Phương phỏp xấp xỉ từng ủoạn thớch nghi APCA (Adaptive
Phương phỏp APCA do E Keogh và cộng sự ủề xuất năm 2001 [20] Tương tự PAA, APCA xấp xỉ dữ liệu ban ủầu thành những ủoạn thẳng nằm ngang Tuy nhiờn,nú khỏc với PAA là cỏc ủoạn này cú kớch thước bằng nhau, cũn APCA thỡ kớch thước của cỏc ủoạn nằm ngang là khỏc nhau N hững thời ủiểm giỏ trị dao ủộng nhiều ủược biểu diễn bởi những phõn ủoạn dữ liệu ngắn (short segment), thời ủiểm giỏ trị ớt dao ủộng ủược biểu diễn bởi những phõn ủoạn dữ liệu dài (long segment) (Hình 2.5) Ưu ủiểm :
• Tỷ lệ nén cao hơn phương pháp PAA
• Tỷ lệ lỗi khi xây dựng lại dữ liệu nhỏ hơn PAA
• Hỗ trợ tìm kiếm xấp xỉ (approximate searching) và tìm kiếm chính xác Nhược ủiểm:
• Độ phức tạp phộp biến ủổi O(nlogn)
2.2.5 Phương phỏp xấp xỉ tuyến tớnh từng ủoạn PLA (Piecewise Linear
Phương phỏp PLA do E Keogh và cộng sự ủề nghị năm 1999 [24] Trong phương phỏp này ta sẽ biểu diễn dữ liệu ban ủầu bằng chuỗi cỏc ủoạn thẳng tuyến tớnh Cỏc ủoạn thẳng này cú thể rời nhau hoặc liờn tục (Hỡnh 2.5) Ưu ủiểm:
• Trực quan và có tỷ lệ lỗi thấp nhất trong quá trình xây dựng lại chuỗi dữ liệu
• Giải thuật tỡm cỏc chuỗi ủoạn thẳng thực hiện trong thời gian tuyến tớnh
• Hỗ trợ phép truy vấn mờ (fuzzy query)
Tỡm kiếm dựa trờn giai ủiệu
• Độ phức tạp khi tính toán khoảng cách trong cấu trúc chỉ mục cao
2.2.6 Phương pháp xấp xỉ gộp ký hiệu hóa SAX (Symbolic Aggregate Approximation)
Phương phỏp này do J Lin và cộng sự ủó ủề xuất năm 2003 [26] Dữ liệu ban ủầu ủược chia thành từng ủoạn dựng phương phỏp PAA Sau ủú, dựa trờn giỏ trị trung bỡnh cộng của từng ủoạn, ta sẽ biểu diễn ủặc trưng của ủoạn thành cỏc ký tự Khi ủú, chuỗi dữ liệu ban ủầu sẽ ủược mó húa rời rạc thành một chuỗi cỏc ký tự (Hỡnh 2.6)
Hình 2.6 : Phương pháp biểu diễn dữ liệu SAX Ưu ủiểm :
• Tương tỏc ủược cỏc dữ liệu lớn, lờn ủến hàng Terabyte
• Khai phỏ ủược cỏc kỹ thuật xử lý trờn dữ liệu chuỗi ủể thực hiện xử lý,phân tích dữ liệu
Tỡm kiếm dựa trờn giai ủiệu
• Bài toỏn nhận dạng cỏc mụ tớp cú thể ỏp dụng cỏc giải thuật ủó ủược nghiờn cứu trước ủõy trong lĩnh vực sinh học tớnh toỏn
• Một số phương pháp cải tiến như SAX mở rộng (Extended SAX) hay
SAX khả chỉ mục (indexable SAX – iSAX) ủược ủề nghị nhằm tăng ủộ chớnh xỏc và giảm chi phớ tớnh toỏn
• Cỏc ủiểm ngắt ủược xỏc ủịnh dựa trờn phõn phối Gauss, khụng cụ thể cho từng loại dữ liệu Do ủú, chỳng ta cần phải huấn luyện dữ liệu nhằm tỡm ra những ủiểm ngắt thớch hợp nhất tương ứng với mỗi loại dữ liệu
2.2.7 Phương pháp ESAX (Extended SAX)
Một sự mở rộng của SAX, gọi là ESAX, do Lkhagva và cỏc cộng sự ủề xuất năm
2006, ủem lại một cỏch rời rạc húa dữ liệu hữu hiệu hơn SAX khi ỏp dụng vào dữ liệu chuỗi thời gian trong lĩnh vực tài chính Phương pháp ESAX dựa trên quan sát rằng ủối với dữ liệu tài chớnh, cỏc ủiểm cú giỏ trị nhỏ nhất hay lớn nhất là rất quan trọng trong phõn tớch tài chớnh Mà phương phỏp SAX chỉ quan tõm ủến giỏ trị trung bỡnh, do ủú sẽ mất ủi thụng tin quan trọng của dữ liệu ban ủầu (Xem hỡnh 2.7) Để khắc phục nhược ủiểm này, sau khi ủạt ủược giỏ trị trung bỡnh của mỗi ủoạn bằng phương pháp PAA, cần thêm vào giá trị lớn nhất và giá trị nhỏ nhất của mỗi ủoạn Như vậy mỗi phõn ủoạn sẽ ủược thể hiện bằng một bộ ba (thứ tự của 3 giá trị này tùy thuộc vào thứ tự thực tế theo thời gian của chỳng), và sau ủú bộ ba này sẽ ủược mó húa thành 3 ký tự thay vỡ chỉ một ký tự như SAX Phương pháp ESAX sử dụng hàm tính khoảng cách và cấu trúc chỉ mục như SAX
Tỡm kiếm dựa trờn giai ủiệu
Hỡnh 2.7: Dữ liệu chuỗi thời gian trong lĩnh vực tài chớnh ủược biểu diễn bằng phương pháp SAX
2.2.8 Phương pháp SAX khả chỉ mục iSAX (Indexable SAX)
Các cấu trúc chỉ mục
Chuỗi thời gian cú chiều dài n cú thể ủược xem là một ủiểm trong khụng gian n chiều Nhờ việc thu giảm số chiều, chúng ta có thể sử dụng những cấu trúc chỉ mục trong cơ sở dữ liệu khụng gian (R-Tree, R*-Tree, K-D-Tree…) ủể ủỏnh chỉ mục cho chuỗi thời gian nhằm giảm chi phí trong việc tính toán Ngoài ra, cấu trúc chỉ mục R-Tree hay R*-Tree chỉ cho kết quả tốt trong khụng gian nhỏ hơn 20 chiều, do ủú nhu cầu thu giảm số chiều là rất cần thiết
2.3.1 Cấu trúc chỉ mục cây hậu tố
Cấu trỳc chỉ mục cõy hậu tố [37], do S Park và cỏc cộng sự ủề xuất năm 2000, cú cạnh ủược gỏn nhón là cỏc ký tự trong chuỗi và một nỳt cha cú thể cú nhiều nỳt con Nỳt lỏ là nỳtchứa số thứ tự i (ủối với trường hợp lập chỉ mục cho một chuỗi duy nhất) Cỏc nhón ủược gỏn trờn ủường ủi từ nỳt gốc ủến nỳt lỏ là một hậu tố từ vị trớ thứ i ủến vị trớ cuối của chuỗi ủược lập chỉ mục Trong trường hợp lập chỉ mục cho nhiều chuỗi, nỳt lỏ chứa số thứ tự i và một ủịnh danh Sxỏc ủịnh chuỗi ủang ủược lập chỉ mục Như vậy, ủường ủi từ nỳt gốc tới nỳt lỏ (S, i) xỏc ủịnh một hậu tố từ vị trớ thứ i trong chuỗi S ủến vị trớ cuối cựng của S[37] Độ phức tạp ủể xõy dựng cõy hậu tố là tuyến tính theo chiều dài của chuỗi
Tỡm kiếm dựa trờn giai ủiệu
Hình 2.9: Cây hậu tố cho các chuỗi S 1 =babab, S 2 =aab, S 3 =baa
2.3.2 Cấu trúc chỉ mục R-tree
Cấu trỳc R-tree do A Guttman ủề nghị năm 1984 là cấu trỳc cõy cõn bằng dựa trờn cõy B-tree Mỗi nỳt trong cõy chứa từ m ủến M dữ liệu (hai thụng số này ủược xỏc ủịnh trong quỏ trỡnh xõy dựng cõy R-tree) Mỗi ủiểm dữ liệu trong khụng gian ủược chứa bởi một hình chữ nhật bao nhỏ nhất (minimum bounding rectangle – MBR) Cỏc MBR này cú thể giao nhau (ủõy cũng là một nhược ủiểm của R-tree vỡ nú làm chậm quỏ trỡnh tỡm kiếm, do ủú yờu cầu là cỏc MBR này càng ớt giao nhau càng tốt) Mỗi nút lá chứa con trỏ tới dữ liệu thật sự
Tỡm kiếm dựa trờn giai ủiệu
Hình 2.10: Minh họa cấu trúc R-tree cho dữ liệu không gian
2.3.3 Framework GEMINI (GEneric Multimedia INdexIng)
Phương phỏp GEMINI [15], do C Faloutsos và cỏc cộng sự ủề xuất năm 1994, tổng quát hóa cách lập chỉ mục cho dữ liệu chuỗi thời gian, kết hợp sử dụng bất kỳ phương pháp thu giảm số chiều nào và bất kỳ phương pháp lập chỉ mục không gian nào Kỹ thuật này ủược giới thiệu ủầu tiờn cho dữ liệu chuỗi thời gian, nhưng ủó ủược mở rộng thành cụng cho nhiều loại dữ liệu khỏc
Algorithm BuildIndex(Y,n); //Y là tập dữ liệu, n là kích thước cửa sổ
For i = 1 to K //Duyệt cỏc chuỗi ủược lập chỉ mục
Y i Y i – mean(Y i ); //Tùy chọn: loại bỏ giá trị trung bình của Y i
Y i ’ Phương phỏp biến ủổi (Y i ); //Bất kỳ kỹ thuật thu giảm chiều nào
Thêm Y i ’ vào phương pháp truy cập không gian với 1 pointer tới Y i trờn ủĩa
Mã giả giải thuật xây dựng chỉ mục GEMINI
Tỡm kiếm dựa trờn giai ủiệu
Kỹ thuật tỡm kiếm dựa trờn giai ủiệu
Tập dữ liệu của hệ thống là những giai ủiệu Một giai ủiệu gồm một tập cỏc chuỗi số bao gồm cỏc giai ủiệu (note) và thời gian ngõn nga của giai ủiệu ủú (duration) Chỳng ta cú một bộ cỏc tập (N 1 , d 1 ), (N 2 , d 2 ), …, (N k ,d k ) mụ tả giai ủiệu này bắt ủầu từ nốt N 1 kéo dài trong d 1 thời gian, nốt N 2 kéo dài trong d 2 thời gian, …Chúng tôi khụng quan tõm tới thời gian nghỉ (rest) giữa cỏc giai ủiệu vỡ thời gian này rất biến ủộng Nú tựy thuộc rất nhiều vào người hỏt Hỡnh 2.11 mụ tả biểu diễn chuỗi thời gian của bài hỏt “Hey Judy” của The Beatle Nếu một bài hỏt mà ủỳng õm ủiệu chuẩn thỡ chỉ cần sử dụng ủộ ủo Euclide ủể cú thể tỡm ra ủược những giai ủiệu tương ủồng với nú Điều khú khăn của bài toỏn là những giai ủiệu thường khụng ủược ngõn nga ủỳng nhịp ủộ Cỏc cụng trỡnh liờn quan ủến việc xử lý giai ủiệu như [9] [40] ủều ủưa ra cỏc hướng giải quyết cho vấn ủề trờn Cỏc cụng trỡnh ủều xoay quanh vấn ủề chuẩn húa dữ liệu dữ liệu như ủiều chỉnh tỉ lệ (scale) hoặc dựng phương phỏp tịnh tiến (shifting) Bờn cạnh ủú cỏc phương phỏp hổ trợ tỡm kiếm tương ủồng cũng ủược ủặt lờn hàng ủầu
Tỡm kiếm dựa trờn giai ủiệu
Hỡnh 2.11 Biểu ủiễn chuỗi thời gian của bài hỏt “Hey Jude”
Bởi vỡ những giai ủiệu nhập từ người sử dụng thường cú cường ủộ và nhịp ủộ thường khụng chớnh xỏc Hệ thống nờn linh ủộng trong việc xử lý những trường hợp khụng chớnh xỏc ủú
• Cường ủộ tuyệt ủối (absolute pitch): Chỉ khoảng 1 trờn 1000 người cú thể hỏt ủược chớnh xỏc cỏc giai ủiệu [4] Đõy là một tỉ lệ rất thấp Mọi người ở những lứa tuổi, giới tính và thậm chí là tâm trạng khác nhau thì mặc dù hỏt cựng một bài hỏt nhưng cường ủộ sẽ khỏc nhau Nếu ủo cường ủộ ở mức tương ủối thỡ nú sẽ chớnh xỏc hơn Để cú thể giải quyết vấn ủề này thỡ kỹ thuật tớnh tiến (shifting) ủược ỏp dụng
• Nhịp ủộ (tempo) : một bài hỏt cú thể hỏt nhanh hoặc chậm Khi nhịp ủộ thay ủổi thỡ khoảng thời gian ngõn nga của một nốt nhạc cũng cú thể bị
Tỡm kiếm dựa trờn giai ủiệu
28 thay ủổi Để giải quyết vấn ủề này người ta ủó sử dụng phương phỏp tỉ lệ ( scale) hoặc xoắn thời gian ủồng nhất (Uniform Time Warping)
• Cường ủộ tương ủối (relative pitch) : ủõy là vấn ủề khụng nghiờm trọng so với cường ủộ tuyệt ủối nhưng nú khụng phải là ớt xảy ra Những nốt nhạc thỉnh thoảng sẽ ủược ngõn hơi thấp hoặc hơi cao một chỳt Hay cú thể là cú những nốt ủi sai nhịp Để giải quyết vấn ủề ủú tỡm kiếm lõn cận ủược ủưa ra ( Nearest Neighbors query)
2.4.2 Phương pháp tỉ lệ (scale) và tịnh tiến (shifting)
Cho chuỗi thời gian v = (v 1 , v 2 , ,v i ) Tỉ lệ (scale) của chuỗi vectơ v ủược ủịnh nghĩa như sau :
Và tịnh tiến của chuỗi vectơ v ủược ủịnh nghĩa như sau :
Trong ủú vectơ N song song với vectơ v Chu và Wong [26] ủó ủịnh nghĩa thành một hàm duy nhất cho cả hai phương pháp trên : Fa,b(v) = av + bN , a, b € R Họ cũng ủưa ra hàm tớnh khoảng cỏch giữa hai chuỗi thời gian u và v như sau : d(u,v) = mina,b € R{D2(Fa,b(u),v)}
Hay núi cỏch khỏc, khoảng cỏch giữa u và v ủược ủịnh nghĩa như là khoảng cỏch Euclide nhỏ nhất v và tỉ lệ hoặc tịnh tiến của u Trong bài toán tìm kiếm dựa trên giai ủiệu người ta ủó dựng phương phỏp tỉ lệ và tịnh tiến ủể giải quyết những giai ủiệu cú cường ủộ và nhịp ủộ khụng ủược chuẩn so với giai ủiệu gốc Đối với những giai ủiệu quỏ nhanh, người ta dựng phương phỏp tỉ lệ ủể thu giảm Cũn ủối với
Tỡm kiếm dựa trờn giai ủiệu
29 những giai ủiệu cú cường ủộ quỏ cao hay quỏ thấp người ta dựng phương phỏp tịnh tiến ủể chuẩn húa dữ liệu
2.4.3 Hàm chận dưới khoảng cách
Cỏc nghiờn cứu về kỹ thuật tỡm kiếm dựa trờn giai ủiệu ủều cú những cụng trỡnh liờn quan tới hàm chận dưới khoảng cỏch này Zhu và Shasha [9] ủó cú những ủề xuất cho phương pháp tính hàm cận dưới Với chuỗi thời gian X r
= x i với i=1, ,n và N là số chiều cần giảm Bao ủúng cận trờn và bao ủúng cận dưới ủược ủịnh nghĩa như sau :
Env k L ( X r )= x i L , i = 1, , n; x i L = min-k r // giá trị rời bỏ sớm abandon = true; end end
So với cỏc cụng trỡnh nghiờn cứu trước ủõy về xõy dựng hàm chận dưới cho bài toỏn tỡm kiếm dựa trờn giai ủiệu [4], thỡ ý tưởng xõy dựng hàm cận dưới của chỳng tụi thoỏt khỏi hẳn những ủịnh nghĩa hàm cận trờn và cận dưới của Keogh Và hiệu quả rất khả quan so với những ý tưởng trước ủõy Điều ủú sẽ ủược chứng minh qua phần
5 thực nghiệm của hệ thống
4.2.4 Xây dựng chỉ mục dựa trên cây hậu tố
Sau khi mó húa bằng phương phỏp SAX, ủể thực hiện việc so trựng nhanh chúng, cấu trỳc cõy hậu tố ủược ỏp dụng
Giả sử có chuỗi S = abcbcabcaa Ta có cây hậu tố như phía dưới :
Tỡm kiếm dựa trờn giai ủiệu
Hình 4.5 Cây hậu tố của chuỗi S = abcbcabcaa
Quá trình tìm kiếm trên cây hậu tố :
Mục ủớch xõy dựng cõy hậu tố là tỡm chuỗi con trong chuỗi ban ủầu Trong ứng dụng này, thỡ dữ liệu ban ủầu S ủược mó húa bằng phương phỏp SAX thành chuỗi ký tự S” Dữ liệu truy vấn Q cũng ủược mó húa thành chuỗi ký tự S” Bõy giờ ta cần tìm chuỗi con Si trong chuỗi S” sao cho khoảng cách 2 chuỗi này nhỏ hơn khoảng cách giới hạn R cho trước Nghĩa là:
Trong quá trình tìm kiếm, nếu khoảng cách của chuỗi tại vị trí hiện tại so với S” vượt quỏ R thỡ ta sẽ dừng lại và chuyển qua ủi nhỏnh khỏc Như vậy, giải thuật này giỳp ta loại bỏ những lối ủi mà khụng cú thể tỡm ủược lời giải Vỡ vậy, sẽ rỳt ngắn ủược thời gian tỡm kiếm
Tỡm kiếm dựa trờn giai ủiệu
Ví dụ: cho chuỗi S= abcbcabcaa, R=1 và bảng khoảng cách các ký tự là: a b c a 0 1 2 b 1 0 1 c 2 1 0
Thực nghiệm
So sánh 2 phương pháp cận dưới
Bảng phía dưới là kết quả các lần chạy qua 2 phương pháp tính hàm cận dưới khoảng cách
Tên phương pháp Thời gian chạy lần
Hàm cận dưới của chúng tôi
Tỡm kiếm dựa trờn giai ủiệu
Hình 5.1 Mô tả kết quả của 2 cách tính hàm cận dưới
Như vậy nếu r thông số rời bỏ sớm càng lớn thì thời gian chạy càng lâu Điều này cũng ủỳng vỡ khi ủú khoảng cỏch cận dưới của chỳng ta càng lớn thỡ số lượng dữ liệu tương ủồng trả về càng nhiều.
Tỷ lệ thu giảm truy xuất (pruning power)
Để kiểm tra hiệu quả lập chỉ mục, ta cần xem xột ủến hệ số thu giảm truy xuất (pruning power) Hệ số này sẽ tính dựa trên số lần kiểm tra trực tiếp trên dữ liệu ban ủầu với tổng số lần cần phải kiểm tra
Trên thực tế, 0< P