• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
LCS Problem
 

LCS Problem

on

  • 1,340 views

Longest common subsequence

Longest common subsequence

Statistics

Views

Total Views
1,340
Views on SlideShare
1,340
Embed Views
0

Actions

Likes
0
Downloads
39
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    LCS Problem LCS Problem Presentation Transcript

    • TÌM CHUỖI CON CHUNG DÀI NHẤT Hoang V.Nguyen
    • Nội dung  Đặc tả bài toán  Đánh giá các giải pháp  Giải pháp đề xuất  Demo  Tài liệu tham khảo  Thảo luậnHoang V.Nguyen 7/1/2010 2
    • Đặc tả bài toán  Khái niệm chuỗi con: Cho chuỗi X=x1x2x3 …xn. S là chuỗi thu được từ X bằng cách bỏ đi một vài ký tự trong X được gọi là chuỗi con của X.  Ví dụ: X= computer science. S= co u r s e => course Trình tự các ký tự được đảm bảo không thay đổiHoang V.Nguyen 7/1/2010 3
    • Đặc tả bài toán Cho X={x1, x2, x3, …, xn} là tập các chuỗi.  Khái niệm chuỗi con chung: CS là chuỗi con chung của các chuỗi trong X nếu CS là chuỗi con của tất các các chuỗi trong X.  LCS là chuỗi con chung dài nhất của các chuỗi trong X nếu:  LCS là chuỗi con chung của các chuỗi trong X.  Và LCS có chiều dài lớn nhất.Hoang V.Nguyen 7/1/2010 4
    • Đặc tả bài toán Bài toán: Tìm chuỗi con chung dài nhất  Input: Tập các chuỗi X={x1, x2, x3, …, xn}.  Output:  Liệt kê tất cả(1) LCS của các chuỗi trong X.  Xác định chiều dài của LCS. ==> Edit Distance.Hoang V.Nguyen 7/1/2010 5
    • Đánh giá các giải pháp Giải pháp 1 - Vét cạn(Bruteforce)  Ý tưởng: Với mỗi chuỗi con của xâu x1 đem kiểm tra với tất cả các xâu còn lại. |X |  Độ phức tạp thời gian: O(2 n1 n ) i 2 i Không có giá trị trong thực hành!Hoang V.Nguyen 7/1/2010 6
    • Đánh giá các giải pháp Giải pháp 2 – Quy hoạch động  Ý tưởng: dựa trên quan hệ đệ quy  Chỉ áp dụng được khi |X| là hằng số: N. N  Độ phức tạp thời gian và không gian: O( n ) i 1 i Chỉ có ý nghĩa với N nhỏ(N=2)Hoang V.Nguyen 7/1/2010 7
    • Đánh giá các giải pháp Giải pháp 2 – Quy hoạch động - C A C A G T A G - 0 0 0 0 0 0 0 0 0 L<i-1,j-1> L<i-1,j> A 0 0 1 1 1 1 1 1 1 G 0 0 1 1 1 2 2 2 2 C 0 1 1 2 2 2 2 2 2 L<i,j-1> L<i,j> T 0 1 1 2 2 2 3 3 3 G 0 1 1 2 2 3 3 3 4 Có tính chất cục bộ A 0 1 2 2 3 3 3 4 4 C 0 1 2 3 3 3 3 4 4 G 0 1 2 3 3 4 4 4 5 O(2m) để tính chiều dài của LCSHoang V.Nguyen 7/1/2010 8
    • Đánh giá các giải pháp Giải pháp 2 – Quy hoạch động - C A C A G T A G Có một phép phân - 0 0 0 0 0 0 0 0 0 hoạch dựa trên độ A 0 0 1 1 1 1 1 1 1 dài của dãy con chung dài nhất. G 0 0 1 1 1 2 2 2 2 C 0 1 1 2 2 2 2 2 2 Dãy con chung là T 0 1 1 2 2 2 3 3 3 một dãy “tăng dần” các điểm “match”. G 0 1 1 2 2 3 3 3 4 A 0 1 2 2 3 3 3 4 4 Trong số các điểm C 0 1 2 3 3 3 3 4 4 match chỉ một vài điểm là quan trọng. G 0 1 2 3 3 4 4 4 5 => Giảm một phần độ phức tạp không gian và thời gianHoang V.Nguyen 7/1/2010 9
    • Đánh giá các giải pháp Luật xác định các match quan trọng: - C A C A G T A G <i,j> là một k-match - 0 0 0 0 0 0 0 0 0 quan trọng nếu j là A 0 0 1 1 1 1 1 1 1 giá trị nhỏ nhất thỏa a[i]=b[j] và chỉ nếu G 0 0 1 1 1 2 2 2 2 low<j<high với: C 0 1 1 2 2 2 2 2 2 +) high = min j T 0 1 1 2 2 2 3 3 3 của <i’,j’> k-match. +) low=min j của G 0 1 1 2 2 3 3 3 4 <i’,j’> (k-1)-match. A 0 1 2 2 3 3 3 4 4 Với i’<i. C 0 1 2 3 3 3 3 4 4 G 0 1 2 3 3 4 4 4 5Hoang V.Nguyen 7/1/2010 10
    • Giải pháp đề xuất  Ý tưởng:  Chỉcó những ký hiệu “match” là thuộc LCS.  Sử dụng tiếp cận tham lam: lấy tối ưu cục bộ. A G C T G A C G A G C T G A C G C A C A G T A C A C A G T AHoang V.Nguyen 7/1/2010 11
    • Giải pháp đề xuất  Thuật toán:  Tiềnxử lý => tạo danh sách các vị trí trong xâu thứ 2.  Vét xâu thứ nhất để xây dựng lcs.  Độ phức tạp thuật toán: O(nlogs) time và O(n) space.Hoang V.Nguyen 7/1/2010 12
    • DemoHoang V.Nguyen 7/1/2010 13
    • Tài liệu tham khảo 1. L. Bergroth, et all A Survey of Longest Common Subsequence Algorithms IEEE 2000 2. D.S. Hirschberg Algorithms for the Longest Common Subsequence Problem ACM 1977 3. D.S. Hirschberg A Linear Space Algorithm for Computing Maximal Common Subsequences ACM 1975 4. Wagner & Fischer The String-to-String Correction Problem ACM1974Hoang V.Nguyen 7/1/2010 14
    • Thảo luậnHoang V.Nguyen 7/1/2010 15