1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Kết chuỗi con trên dữ liệu chuỗi thời gian dựa vào việc tìm chuỗi con chung dài nhất của hai chuỗi, sử dụng cây hậu tố

99 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Kết chuỗi con trên dữ liệu chuỗi thời gian dựa vào việc tìm chuỗi con chung dài nhất của hai chuỗi, sử dụng cây hậu tố
Tác giả Nguyễn Trọng Nhân
Người hướng dẫn PGS. TS. Dương Tuấn Anh
Trường học Đại học Quốc gia TP.HCM
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2018
Thành phố Tp. HCM
Định dạng
Số trang 99
Dung lượng 30,36 MB

Cấu trúc

  • DR(Q,C) = VEG =6)? [5] (29)
    • CHUONG 3 CAC CONG TRINH LIEN QUAN (34)
    • CHUONG 4 PHƯƠNG PHÁP ĐÈ NGHỊ VÀ KET (67)
  • QUÁ THỰC NGHIỆM (67)
    • CHUONG 5 TONG KET (92)
  • TAI LIEU THAM KHAO (94)

Nội dung

Mục tiêu nghiên cứu bài toán kết chuỗi con trên dữ liệu chuỗi thời gian tậptrung vào các vân đề sau: s* Nghiên cứu cây hậu to, mảng hậu to, xử ly song song trên mang hậu to và các van dé

DR(Q,C) = VEG =6)? [5]

CAC CONG TRINH LIEN QUAN

Phân dau của chương giới thiệu vê câu trúc cây hậu to, mang hậu to va cách xây dựng hai câu trúc này phục vụ cho bài toán tim chudi con chung dai nhát của hai chuỗi ký tự.

Phân cuôi chương trình bày các công trình liên quan dén bài toán kêt chuôi con trên dữ liệu chuỗi thời gian Từ đó, chúng tôi dé xuất giải pháp cho dé tài.

Cây hậu to (suffix tree) là một cau trúc dữ liệu quan trọng được sử dụng trong nhiều thuật toán xử lý chuỗi ký tự Sức mạnh của cây hậu rổ nằm ở khả năng biểu diễn tat cả các hậu tố của một chuỗi và cung cấp nhiễu phép toán quan trong giúp nâng cao hiệu quả của giải thuật Cây hậu to lần đầu tiên được giới thiệu bởi Morison với tên gọi cây PATRICA [8] Tuy vậy Weiner mới là người chuẩn hóa cau trúc cây hậu tô dưới tên gọi compacted bi-tree và đưa ra thuật toán tuyến tính xây dựng cây [9], thuật toán sau đó được Donal Kruth bình chọn là “thuật toán của năm 1973”.

3.1.1 Định nghĩa cây hậu tổ Định nghĩa 3.1: Dat S = sị s„ là chuối ký tự được tạo thành từ bảng chữ cái Cây hậu tô ngâm T của chuỗi S là cây có hướng có gốc thỏa mãn các điều kiện sau.

% Cây có đúng n lá được đánh số từ 1 đến n.

% Mỗi cạnh được gán nhãn là các chuỗi con khác rỗng của S. s* Đường di từ nút gốc đến lá trơng ứng với các hậu tổ của S.

% Moi nút trong, trừ nút sốc, có ít nhất hai con. s* Nhãn của hai cạnh bất kì xuất phát từ một nút trong bắt dau bằng kí tự khác nhau.

Một vẫn đề được đặt ra là với định nghĩa trên một cây hậu to cho một chuỗi bat kì có luôn tồn tại Không may thay câu trả lời là không phải lúc nào cũng tồn tại Nếu hậu tổ của Š lại là một tiền tố của hậu tô khác thì đường đi từ gốc đến nó sẽ không kết thúc ở nút lá Chúng ta hãy xem xét chuỗi “banana”, hậu tố na là tiền tố của nana nên không có đường đi từ gốc đến lá tương ứng với na (Hình 3-1)

Hình 3-1 Cây hậu tô của chuôt “banana”. Đề giải quyết van dé trên người ta thường thêm một ki tự đặc biệt vào cuỗi chuỗi Š, gọi là ki kết thúc, dé không có bat kì hậu tố nào là tiền tô của hậu tố khác Kí tự này phải không xuất hiện trong chuỗi S, vì thế người ta thường chon một kí tự không có trong bảng chữ cái Trong luận văn này chúng ta sẽ sử dụng kí tự “#” làm kí tự kết thúc Cây hậu tổ của “banana” sau khi thêm ki tự kết thúc $

Hình 3-2 Cây hậu tổ của chuỗi “banana$”.

3.1.2 Xây dựng cây hậu tố bằng giai thuật đơn giản

Dữ liệu vào: Š = s¡ s„ là chuỗi ký tự được tạo thành từ bảng chữ cái. Đặt S’ = S$ ($ không xuất hiện trong chuỗi S).

Khởi tạo: 7 có sốc là r và có một cạnh có nhãn là S[1 n]$. for Ă := 2 to ứ do begin

Tìm đường đi dài nhất từ gốc của chuỗi S[i n]$. Điểm trùng cuối cùng của chuỗi S[i n]$ nếu:

- Kết thúc ở giữa (điểm w) của cạnh (u,v): thì tại điểm kết thúc ta tách thành hai nhánh, băng cách thêm một nút (nút w) và thêm một cạnh lá cho nút đó Cạnh (u,w) sẽ được gan nhãn là đường di trùng với chuỗi S[¿ |$, cạnh (w, v) được gan nhãn là đoạn còn lại trên nhánh ban đầu và cạnh (wv, i) là đoạn còn lại khác nhau cua chuỗi S[i n]$.

- Kết thúc ở một nút: thì ta chỉ cần tạo một cạnh (w, i) mới ngay tại nút đó và được gán nhãn là đoạn còn lại không trùng của chuỗi

Cuối cùng ta tạo thêm một nhánh có nhãn là $ ngay tai nút gốc.

Dữ liệu ra: Cây hdu rổ cho chuỗi S.

Sau đây là một số hình ảnh minh họa các bước chạy giải thuật cho chuỗi

Hình 3-3 Xây dựng cây cho chuỗi “banana”

Tiếp tục nghiên cứu của Weiner, các giải thuật tiếp tục được cải tiễn và đơn giản hóa, như giải thuật của McCreight năm 1976 [3], của Slissenko năm 1983 [19], của Kosaraju 1994 [20] và Ukkonen năm 1995 [25] Trong tài liệu này chúng tôi sử dụng giải thuật Ukkonen để xây dựng cây hậu tố. Để xây dựng cây hậu rổ bằng giải thuật Ukkonen chúng ta thực hiện hai bước sau:

* Dựng cây hậu tổ ngầm định.

* Chuyển cây hậu rổ ngầm định thành cây hậu rổ thực sự.

% Cây hậu rổ ngầm định là gì chúng ta sẽ tìm hiểu ngay sau đây.

3.1.3.1 Cây hậu tổ ngầm. Định nghĩa 3.2: Cây hậu tổ ngầm (implicit suffix tree) của chudi S là cây nhận được từ cây hậu tô của S sau khi thực hiện các bước sau: [21] s* Bước 1: Xóa tat cả các kí tự kết thúc trong các nhãn. s* Bước 2: Xóa các cạnh không có nhãn.

“* Bước 3: Xóa các nut có tt hon hai con.

Cây hậu to ngam của chuỗi “banana” (Hình 3-4).

Dựng cây hậu tổ ngâm định cho chuối S = sị S„,

Giải thuật Ukkonen xây dựng cây hậu rổ ngầm định cho mỗi tiền tố S[ /] của chuối S.

Cây hậu rổ ngầm định 7; „¡ được xây dựng dựa trên cây 7; Đầu tiên xây dựng 7; sử dụng ký tự đầu tiên Š¡ , sau đó xây dựng 7› sử dung ki tự thứ haiS2; , /„ sử dụng ky tự cuối cùng ,%.

Giải thuật được chia thành n pha Trong pha (i+1), cây 7; ; ¡ được xây dựng từ cây 7) Mỗi giai đoạn (i+1) được chia thành (7+1) bước mở rộng trong đó ta thêm kí tự Š;„ ¡ vào hậu tổ S[j i] của chuỗi S[1 i] Tại bước mở rộng thứ 7 đến bước mở rộng i, chúng ta thêm chuỗi S[j i + 1] vào cây Lúc này chuỗi S[j i] đã có sẵn trên cây (được thêm vảo trong pha trước) Chúng ta chỉ cần thêm ký tự thứ i+1 S[ù + 1] vào cõy (nếu chưa cú) Tại bước mở rộng cuối cựng Ă+1 chỳng ta thờm kí tự S[i+ 1] vào cây Nếu ký tự xuất hiện lần đầu chúng ta chỉ cần thêm một cạnh lá có nhãn S[i+ 1).

Giải thuật 3.2: Giải thuật xây dựng cây hậu tổ ngắm [21].

Input : $ = s¡ s„ là chuỗi ký tự được tạo thành từ bảng chữ cái.

Khởi tạo : Xây dựng cây 7) với một cạnh duy nhất chứa S¡. for ¡ :=1ton-1do begin {bat đầu pha i+ 1} for j:= 1 toi+1 begin {bước mở rộng 7}

Tìm điểm kết thúc của đường đi từ gốc có nhãn là $S[/ /] trên cây hiện tại.và Mở rộng đường đi bang cách thêm ký tự S[i + 1] nếu chưa co; end; end;

Có ba luật mở rộng:

% Luật 1: Nếu đường đi từ gốc có nhãn S[7 /] kết thúc tại lá (S; là ký tự cuối cùng trên cạnh của lá) thì ký tự S[i+ 1] được thêm vào cuối của nhãn trên cạnh lá.

% Luật 2: Nếu đường đi từ gốc có nhãn S[/ /] không kết thúc tại lá (còn một vài ký tự sau ký tự S;) và ký tự kế tiếp khác S[i + 1], thì tạo một nhánh mới cho ký tự S[r + 1] Một nút trong có thé được tạo thành nếu S$ L7 r kết thúc giữa cạnh.

QUÁ THỰC NGHIỆM

TONG KET

Chương nay diém lại toàn bộ công việc của luận van bao gôm: tông két về bài toán kêt chuỗi con trên chuỗi dữ liệu thời gian dựa vào việc tim chuỗi con chung đài nhát cua hai chuôi ky tự, những đóng góp của đề tai và hướng phat trién trong tương lai.

5.1 Tổng kết nội dung của luận văn Điểm qua các công trình liên quan, bài toán kết chuỗi con được chia thành hai giai đoạn: tiền xử lý dữ liệu chuỗi thời gian bằng việc thu giảm số chiều thông qua phương pháp xdp xi gdp từng đoạn (PAA), biễn đỗi chuỗi thời gian thành tràn ký tự băng phương pháp xdp xi gdp ký hiệu hóa (SAX) Sau đó dựa vào việc tim chuỗi con chung dài nhất của hai chuỗi ký tự dé xác định chuỗi con chung tương quan nhất của hai chuỗi thời gian Hiện thực và thực nghiệm trên các bộ dữ liệu chuỗi thời gian thực tế.

5.2 _ Những kết quả dat được của dé tài

Thứ nhất, giải quyết bài toán tim chudi con chung dài nhất của hai chuỗi ký tự băng phương pháp: Cây hậu tổ, mảng hậu tổ và xử lý song song trên mảng hậu rõ Đôi với phương pháp sử dụng cây hậu to chúng tôi đã sử dụng giải thuật Ukkonen dé xây dựng cây hậu rổ trong thời gian tuyến tính Đối với phương pháp mang hậu to chúng tôi áp dụng việc xử lý song song trong quá trình tìm kiếm chuôi con chung dài nhat cua hai chuôi.

Thứ hai, chúng tôi đã giải quyết bài toán tìm chuỗi con tương quan nhất giữa hai chuỗi thời gian Cụ thé là biến đối dữ liệu chuỗi thời gian thành tràng ký tự rồi kết hợp với phương pháp tim chuỗi con chung dài nhất của hai chuỗi ký tự trên để giải quyết bài toán.

Kết quả thực nghiệm trên năm cặp dữ liệu chuỗi thời gian mẫu cho thấy việc áp dụng bài toán phát hiện chuỗi con chung dài nhất của hai chuỗi ký tự dựa vào cây háu tô, mang háu tô và xu lý song son trên mang hậu to vào công tac tim phân đoạn tương quan với nhau nhat trên hai chuôi thời gian là rat hiệu qua và có độ phức tạp tính toán thấp hơn.

Kết quả thực nghiệm trên nhiều bộ dữ liệu đều khá chính xác Tuy nhiên, dữ liệu áp dụng cho bài toán nay là dir liệu ngoại tuyến (offline data) Do đó, hướng phát triển tiếp theo của dé tài sẽ tập trung vào những van dé sau đây:

Huong đến việc cải thiện các giải thuật được sử dụng trong cau trúc dữ liệu cây hậu to và mang hậu to Bên cạnh đó sẽ nghiên cứu thêm các giải thuật sử dụng cau trúc cây hậu tổ và mang hậu tổ có sử dụng bộ nhớ phụ.

Chúng tôi sẽ cải thiện hiệu suất của giải thuật nhằm mục đích tôi ưu thời gian thực thi, đồng thời mở rộng bài toán phân tích trên nhiều chuỗi thời gian khác nhau.

Mở rộng phương pháp kết chuỗi con chung dài nhất sao cho phù hợp với dữ liệu chuối thời gian dang luông (streaming time series) dé cập trong công trình của Lian va Chan [12].

Hướng đến sử dung kỹ thuật GPU (Graphics Processing Unit) dé giúp việc tính toán tốt hơn, xử lí được nhiều thông tin đa luồng, song song và bộ nhớ tốc độ cao hơn trong tương lai.

TAI LIEU THAM KHAO

Gunopulos, D., Das, G and Mannila, H (1997), “Finding similar time series” In Proceedings of the 1° European Symposium on Principles of

Data Mining and Knowledge Discovery, PKDD97, Trondheim, Norway, pp 88-100.

Lin, Y (2008) “Subseries Join and Compression of Time Series Data Based on Non-uniform Segmentation” PhD Thesis, University of Waterloo, Ontario, Canada.

Mcreight, E.M (1976) “A space-economical suffix tree construction algorithm” Journal of the ACM , 23,2 (Apr 1976), pp 262-272.

“The UCR Time Series _ Classification/Clustering” Homepage: http://www.cs.ucr.edu/~eamonn/time_series_data/.

Lin, J., Keogh, E., Lonardi, S and Chiu, B (2003) “A Symbolic Representation of Time Series, with Implications for Streaming Algorithms” In Proceedings of the 6th ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery San Diego, CA.

Keogh, E and Kasetty, S (2002) “On the Need for Time Series Data Mining Benchmarks: A Survey and Empirical Demonstration” /n Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining July 23 - 26, 2002 Edmonton, Alberta, Canada pp 102-111.

“Physionet ATM” Homepage: https://physionet.org/cgi-bin/atm/ATM.

Morrison, D.R (1968) “PATRICIA - Practical algorithm to retrieve information coded in alphanumeric” Journal of the ACM , 15, 4, pp.

Weiner, P (1973) “Linear pattern matching algorithms” /n Proceedings of the 14th Annual Symposium on Switching and Automata Theory (Washington, DC, USA 1973), [EEE Computer Society, pp 1-11.

Bockenhauer, H.J and Bongartz, D (1998) “Algorithmic Aspects of Bioinformatics” ACM Computing Classification, pp 58-79.

Karkkainen, J., Sanders, P and Burkhardt, S (2006) “Linear Work Suffix Array Construction” Journal of the ACM, Vol 53, No 6, November 2006, pp 918-936.

Lian, X., and Chen, L (2009) “Efficient Similarity Join over Multiple Stream Time Series” JEEE Transactions on Knowledge and Data Engineering, Vol 20, No TT, November.

Brinkhoff, T., Kriegel, H.P and Seeger, B (1993) “Efficient Processing of Spatial Joins Using R-Trees” Proc ACM SIGMOD.

Guttman, A (1984) “R-trees: A Dynamic Index Structure for Spatial Searching” Proc ACM SIGMOD.

Lo, M.L and Ravishankar, C.V (1996) “Spatial Hash-Joins” Proc ACM SIGMOD.

Huang, Y.W., Jing, N., and Rundensteiner, E.A (1997) “Spatial Joins Using R-Trees: Breadth-First Traversal with Global Optimizations”.

Proc 23rd Int'l Conf Very Large Data Bases (VLDB).

Keogh, E (2002) “Exact indexing of dynamic time warping” In 28”

International Conference on Very Large Data Bases, (pp 406-417) Hong Kong.

Mueen, A., Hamooni, H and Estrada, T (2014) “Time Series Join on Subsequence Correlation” In Data Mining (ICDM), 2014 IEEE International Conference on pp 450-459.

Slissenko, A.O (1983) “Detection of periodicities and string-matching in real time” Journal of Soviet Mathematics, 22,3, pp 1316-1386.

Kosaraju, S.R (1994) “Real-time pattern matching and quasi-real-time construction of suffix trees” Jn Proceedings of the 26th annual ACM symposium on theory of computing, ACM, pp 310-316.

Dan, G (1997) “Algorithms on Strings, Trees, and Sequences”.

University of California, Davis Cambridge University Press, pp 94-107.

Vinh, V.D and Anh, D.T (2016) “Efficient subsequence join over time series under dynamic time warping” Recent Developments in Intelligent Information and Database Systems, Studies in Computational Intelligence, Studies in Computational Intelligence 642 D.Krol, L Madeyski, N.T.

Do, L.V and Anh, D.T (2017) “Time series motif discovery based on subsequence join under Dynamic Time Warping” DMICT’17, Phuket, Thailand, 25-27.

Ratanamahatana, C A and Keogh, E (2012) “Searching and Mining Trillions of Time Series Subsequences under Dynamic Time Warping”.

Ukkonen, E (1995) “On-line construction of suffix trees” Algorithmica.

Springer-Verlag New York Inc 1995 14: 249-260.

Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Viết tắt Piecewise Aggregate Approximation | Xấp xỉ gộp từng đoạn PAA Symbolic Aggregate Approximation | Xap xi gdp ký hiệu hóa SAX Suffix Tree Cây hậu tố

Suffix Array Mang hậu tô Join on Correlation Kết dựa trên độ tương quan Jocor Time series data Dữ liệu chuỗi thời gian

Subsequence Chuỗi con Nested Loop Join Kết hai vòng lặp lồng nhau

Non-uniform segmentation Phân đoạn không đồng nhất Dynamic Time Warping Xoăn thời gian động DTW Time series data mining Khai phá dữ liệu chuỗi thời gian EA

Euclidean Distance Khoang cach Euclid ED Subsequence join Kết chuoi con

Sliding window Cua so truot Offline/ static data Dữ liệu ngoại tuyên Streaming data Dữ liệu luồng

Dimensionality reduction Thu giảm sô chiêu Discretization Rời rạc hóa

False dismissal Loi tìm sót Vector Approximation File Tập tin xấp xỉ hóa Vector

Raw data Dữ liệu thô

Noise values Gia tri nhiêu Data normalization Chuẩn hóa dữ liệu

Zeno-mean Normalization Chuan hoa zero

Base line Duong căn ban

Word Từ Feature Đặc trưng

Implicit suffix tree Cây hậu tổ ngầm

Suffix link Liên kết hậu tố

Inverse suffix array Mang hậu tô nghịch đảo Depth-first-search Duyệt theo chiêu sâu DFS Breadth-first-search Duyệt theo chiêu rộng BFS Minimal polynomial envelope Da thitc bao nho nhat

University California Riverside Dai hoc California Riverside UCR Correlation D6 tuong quan

Parallel Xu ly song song

Mô hình lập trình truyền thông

Message Passing Interface MPI điệp Data parallelism Song song về dit liệu

Control parallelism Song song lệnh Multi-Core Vi xử lý đa nhan

Graphics Processing Unit Don vị xử ly đồ họa GPU

Ngày đăng: 09/09/2024, 00:12

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

TÀI LIỆU LIÊN QUAN