SlideShare a Scribd company logo
1 of 15
Download to read offline
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ận
Hoang 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 đổi

Hoang 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 LCS
Hoang 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 gian
Hoang 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   5



Hoang 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 A




Hoang 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
Demo




Hoang 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   ACM1974




Hoang V.Nguyen                                                           7/1/2010   14
Thảo luận




Hoang V.Nguyen    7/1/2010   15

More Related Content

What's hot

Tính toán khoa học - Chương 6: Bài toán giá trị ban đầu với phương trình vi p...
Tính toán khoa học - Chương 6: Bài toán giá trị ban đầu với phương trình vi p...Tính toán khoa học - Chương 6: Bài toán giá trị ban đầu với phương trình vi p...
Tính toán khoa học - Chương 6: Bài toán giá trị ban đầu với phương trình vi p...Chien Dang
 
Gt khong gian_metric Nguyen Hoang
Gt khong gian_metric Nguyen HoangGt khong gian_metric Nguyen Hoang
Gt khong gian_metric Nguyen HoangBui Loi
 
Quản lý học sinh và giáo viên trong một trường phổ thông
Quản lý học sinh và giáo viên trong một trường phổ thôngQuản lý học sinh và giáo viên trong một trường phổ thông
Quản lý học sinh và giáo viên trong một trường phổ thôngBent Nc
 
Bai7 khai trien_taylor
Bai7 khai trien_taylorBai7 khai trien_taylor
Bai7 khai trien_taylorljmonking
 
Topo daicuong1[1]
Topo daicuong1[1]Topo daicuong1[1]
Topo daicuong1[1]Bui Loi
 
Ứng dụng tích phân tính giới hạn của dãy số
Ứng dụng tích phân tính giới hạn của dãy sốỨng dụng tích phân tính giới hạn của dãy số
Ứng dụng tích phân tính giới hạn của dãy sốSirô Tiny
 
Đồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức Long
Đồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức LongĐồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức Long
Đồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức Longthaihoc2202
 
Bài toán số học liên quan tới lũy thữa
Bài toán số học liên quan tới lũy thữaBài toán số học liên quan tới lũy thữa
Bài toán số học liên quan tới lũy thữaThế Giới Tinh Hoa
 
Bài giảng qui hoạch tuyến tính phương pháp đơn hình
Bài giảng qui hoạch tuyến tính phương pháp đơn hìnhBài giảng qui hoạch tuyến tính phương pháp đơn hình
Bài giảng qui hoạch tuyến tính phương pháp đơn hìnhThanh Hoa
 
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂUPHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂUSoM
 
Lap trinh huong doi tuong
Lap trinh huong doi tuongLap trinh huong doi tuong
Lap trinh huong doi tuongDuc Nguyen
 
PHÂN PHỐI CHUẨN HAI BIẾN _ BIVARIATE NORMAL DISTRIBUTION
PHÂN PHỐI CHUẨN HAI BIẾN _ BIVARIATE NORMAL DISTRIBUTIONPHÂN PHỐI CHUẨN HAI BIẾN _ BIVARIATE NORMAL DISTRIBUTION
PHÂN PHỐI CHUẨN HAI BIẾN _ BIVARIATE NORMAL DISTRIBUTIONSoM
 
Dạy học theo dự án - Tin học 10
Dạy học theo dự án - Tin học 10Dạy học theo dự án - Tin học 10
Dạy học theo dự án - Tin học 10xuyenntk
 
Bảng công thức tích phân + mũ lôga
Bảng công thức tích phân + mũ lôgaBảng công thức tích phân + mũ lôga
Bảng công thức tích phân + mũ lôgaPhương Thảo Nguyễn
 
Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệHưởng Nguyễn
 

What's hot (20)

Bài tập hàm biến phức
Bài tập hàm biến phứcBài tập hàm biến phức
Bài tập hàm biến phức
 
Tính toán khoa học - Chương 6: Bài toán giá trị ban đầu với phương trình vi p...
Tính toán khoa học - Chương 6: Bài toán giá trị ban đầu với phương trình vi p...Tính toán khoa học - Chương 6: Bài toán giá trị ban đầu với phương trình vi p...
Tính toán khoa học - Chương 6: Bài toán giá trị ban đầu với phương trình vi p...
 
Gt khong gian_metric Nguyen Hoang
Gt khong gian_metric Nguyen HoangGt khong gian_metric Nguyen Hoang
Gt khong gian_metric Nguyen Hoang
 
Chuong3
Chuong3Chuong3
Chuong3
 
Quản lý học sinh và giáo viên trong một trường phổ thông
Quản lý học sinh và giáo viên trong một trường phổ thôngQuản lý học sinh và giáo viên trong một trường phổ thông
Quản lý học sinh và giáo viên trong một trường phổ thông
 
Bai7 khai trien_taylor
Bai7 khai trien_taylorBai7 khai trien_taylor
Bai7 khai trien_taylor
 
Topo daicuong1[1]
Topo daicuong1[1]Topo daicuong1[1]
Topo daicuong1[1]
 
Ứng dụng tích phân tính giới hạn của dãy số
Ứng dụng tích phân tính giới hạn của dãy sốỨng dụng tích phân tính giới hạn của dãy số
Ứng dụng tích phân tính giới hạn của dãy số
 
Đồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức Long
Đồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức LongĐồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức Long
Đồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức Long
 
Bài toán số học liên quan tới lũy thữa
Bài toán số học liên quan tới lũy thữaBài toán số học liên quan tới lũy thữa
Bài toán số học liên quan tới lũy thữa
 
Bài giảng qui hoạch tuyến tính phương pháp đơn hình
Bài giảng qui hoạch tuyến tính phương pháp đơn hìnhBài giảng qui hoạch tuyến tính phương pháp đơn hình
Bài giảng qui hoạch tuyến tính phương pháp đơn hình
 
Hinh hoc-affine
Hinh hoc-affineHinh hoc-affine
Hinh hoc-affine
 
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
Phân Tích Thiết Kế Hệ Thống Thông Tin -  Quản Lý ĐiểmPhân Tích Thiết Kế Hệ Thống Thông Tin -  Quản Lý Điểm
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
 
Chuong04
Chuong04Chuong04
Chuong04
 
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂUPHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
 
Lap trinh huong doi tuong
Lap trinh huong doi tuongLap trinh huong doi tuong
Lap trinh huong doi tuong
 
PHÂN PHỐI CHUẨN HAI BIẾN _ BIVARIATE NORMAL DISTRIBUTION
PHÂN PHỐI CHUẨN HAI BIẾN _ BIVARIATE NORMAL DISTRIBUTIONPHÂN PHỐI CHUẨN HAI BIẾN _ BIVARIATE NORMAL DISTRIBUTION
PHÂN PHỐI CHUẨN HAI BIẾN _ BIVARIATE NORMAL DISTRIBUTION
 
Dạy học theo dự án - Tin học 10
Dạy học theo dự án - Tin học 10Dạy học theo dự án - Tin học 10
Dạy học theo dự án - Tin học 10
 
Bảng công thức tích phân + mũ lôga
Bảng công thức tích phân + mũ lôgaBảng công thức tích phân + mũ lôga
Bảng công thức tích phân + mũ lôga
 
Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệ
 

Viewers also liked

Greedy method class 11
Greedy method class 11Greedy method class 11
Greedy method class 11Kumar
 
Longest Common Subsequence
Longest Common SubsequenceLongest Common Subsequence
Longest Common SubsequenceSwati Swati
 
Activity selection problem
Activity selection problemActivity selection problem
Activity selection problemSumita Das
 
lecture 24
lecture 24lecture 24
lecture 24sajinsc
 
Longest common subsequence lcs
Longest common subsequence  lcsLongest common subsequence  lcs
Longest common subsequence lcsShahariar Rabby
 
Activity selection problem class 12
Activity selection problem class 12Activity selection problem class 12
Activity selection problem class 12Kumar
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16Kumar
 
Greedy Algorithm
Greedy AlgorithmGreedy Algorithm
Greedy AlgorithmWaqar Akram
 
Dynamic Programming - Matrix Chain Multiplication
Dynamic Programming - Matrix Chain MultiplicationDynamic Programming - Matrix Chain Multiplication
Dynamic Programming - Matrix Chain MultiplicationPecha Inc.
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programmingShakil Ahmed
 
Back tracking and branch and bound class 20
Back tracking and branch and bound class 20Back tracking and branch and bound class 20
Back tracking and branch and bound class 20Kumar
 
Longest Common Subsequence (LCS) Algorithm
Longest Common Subsequence (LCS) AlgorithmLongest Common Subsequence (LCS) Algorithm
Longest Common Subsequence (LCS) AlgorithmDarshit Metaliya
 
Matrix chain multiplication
Matrix chain multiplicationMatrix chain multiplication
Matrix chain multiplicationRespa Peter
 
8 queens problem using back tracking
8 queens problem using back tracking8 queens problem using back tracking
8 queens problem using back trackingTech_MX
 

Viewers also liked (20)

Greedy method class 11
Greedy method class 11Greedy method class 11
Greedy method class 11
 
Longest Common Subsequence
Longest Common SubsequenceLongest Common Subsequence
Longest Common Subsequence
 
Activity selection problem
Activity selection problemActivity selection problem
Activity selection problem
 
lecture 24
lecture 24lecture 24
lecture 24
 
Longest common subsequence lcs
Longest common subsequence  lcsLongest common subsequence  lcs
Longest common subsequence lcs
 
Activity selection problem class 12
Activity selection problem class 12Activity selection problem class 12
Activity selection problem class 12
 
Activity selection problem
Activity selection problemActivity selection problem
Activity selection problem
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16
 
Greedy Algorithm
Greedy AlgorithmGreedy Algorithm
Greedy Algorithm
 
Dynamic Programming - Matrix Chain Multiplication
Dynamic Programming - Matrix Chain MultiplicationDynamic Programming - Matrix Chain Multiplication
Dynamic Programming - Matrix Chain Multiplication
 
Greedymethod
GreedymethodGreedymethod
Greedymethod
 
Greedy
GreedyGreedy
Greedy
 
Greedy Algorihm
Greedy AlgorihmGreedy Algorihm
Greedy Algorihm
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
Back tracking and branch and bound class 20
Back tracking and branch and bound class 20Back tracking and branch and bound class 20
Back tracking and branch and bound class 20
 
Greedy algorithm
Greedy algorithmGreedy algorithm
Greedy algorithm
 
Longest Common Subsequence (LCS) Algorithm
Longest Common Subsequence (LCS) AlgorithmLongest Common Subsequence (LCS) Algorithm
Longest Common Subsequence (LCS) Algorithm
 
Greedy Algorithms
Greedy AlgorithmsGreedy Algorithms
Greedy Algorithms
 
Matrix chain multiplication
Matrix chain multiplicationMatrix chain multiplication
Matrix chain multiplication
 
8 queens problem using back tracking
8 queens problem using back tracking8 queens problem using back tracking
8 queens problem using back tracking
 

Similar to LCS Problem

Goi y-mon-toan-tot-nghiep-thpt-2012
Goi y-mon-toan-tot-nghiep-thpt-2012Goi y-mon-toan-tot-nghiep-thpt-2012
Goi y-mon-toan-tot-nghiep-thpt-2012Gia sư Đức Trí
 
Dc ôn tâp hkii
Dc ôn tâp hkiiDc ôn tâp hkii
Dc ôn tâp hkiintquangbs
 
Bai giang phuong tring luong giac
Bai giang phuong tring luong giacBai giang phuong tring luong giac
Bai giang phuong tring luong giactotoanms
 
Dc ôn tâp hkii
Dc ôn tâp hkiiDc ôn tâp hkii
Dc ôn tâp hkiintquangbs
 
Dc ôn tâp hkii
Dc ôn tâp hkiiDc ôn tâp hkii
Dc ôn tâp hkiintquangbs
 
Đáp Án Siêu Chi Tiết Môn Toán Học THPT Quốc Gia 2016 - Megabook.vn
Đáp Án Siêu Chi Tiết Môn Toán Học THPT Quốc Gia 2016 - Megabook.vnĐáp Án Siêu Chi Tiết Môn Toán Học THPT Quốc Gia 2016 - Megabook.vn
Đáp Án Siêu Chi Tiết Môn Toán Học THPT Quốc Gia 2016 - Megabook.vnMegabook
 
Da toan-chi-tiet-b 2010
Da toan-chi-tiet-b 2010Da toan-chi-tiet-b 2010
Da toan-chi-tiet-b 2010nhathung
 
De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910lvquy
 
De Thi Hoc Ki 2 K12 Nam 0910
De Thi Hoc Ki 2 K12 Nam 0910De Thi Hoc Ki 2 K12 Nam 0910
De Thi Hoc Ki 2 K12 Nam 0910lvquy
 
De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910lvquy
 
De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910lvquy
 
De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910lvquy
 
Toanb2011
Toanb2011Toanb2011
Toanb2011Duy Duy
 
Bài tập lớn truong ppt
Bài tập lớn truong    pptBài tập lớn truong    ppt
Bài tập lớn truong ppttruonggl
 
3. Nh13-Tich 3 lop.ppt
3. Nh13-Tich 3 lop.ppt3. Nh13-Tich 3 lop.ppt
3. Nh13-Tich 3 lop.pptTHUNH164176
 
Thi thử toán quỳnh lưu 2 na 2012 lần 1 k ab
Thi thử toán quỳnh lưu 2 na 2012 lần 1 k abThi thử toán quỳnh lưu 2 na 2012 lần 1 k ab
Thi thử toán quỳnh lưu 2 na 2012 lần 1 k abThế Giới Tinh Hoa
 

Similar to LCS Problem (20)

Thi vao 10 chuyen
Thi vao 10 chuyenThi vao 10 chuyen
Thi vao 10 chuyen
 
Goi y-mon-toan-tot-nghiep-thpt-2012
Goi y-mon-toan-tot-nghiep-thpt-2012Goi y-mon-toan-tot-nghiep-thpt-2012
Goi y-mon-toan-tot-nghiep-thpt-2012
 
De toan b_2012
De toan b_2012De toan b_2012
De toan b_2012
 
Dc ôn tâp hkii
Dc ôn tâp hkiiDc ôn tâp hkii
Dc ôn tâp hkii
 
Bai giang phuong tring luong giac
Bai giang phuong tring luong giacBai giang phuong tring luong giac
Bai giang phuong tring luong giac
 
Dc ôn tâp hkii
Dc ôn tâp hkiiDc ôn tâp hkii
Dc ôn tâp hkii
 
Dc ôn tâp hkii
Dc ôn tâp hkiiDc ôn tâp hkii
Dc ôn tâp hkii
 
Đáp Án Siêu Chi Tiết Môn Toán Học THPT Quốc Gia 2016 - Megabook.vn
Đáp Án Siêu Chi Tiết Môn Toán Học THPT Quốc Gia 2016 - Megabook.vnĐáp Án Siêu Chi Tiết Môn Toán Học THPT Quốc Gia 2016 - Megabook.vn
Đáp Án Siêu Chi Tiết Môn Toán Học THPT Quốc Gia 2016 - Megabook.vn
 
Da toan-chi-tiet-b 2010
Da toan-chi-tiet-b 2010Da toan-chi-tiet-b 2010
Da toan-chi-tiet-b 2010
 
De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910
 
De Thi Hoc Ki 2 K12 Nam 0910
De Thi Hoc Ki 2 K12 Nam 0910De Thi Hoc Ki 2 K12 Nam 0910
De Thi Hoc Ki 2 K12 Nam 0910
 
De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910
 
De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910
 
De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910De thi hoc ki 2 k12 nam 0910
De thi hoc ki 2 k12 nam 0910
 
Toanb2011
Toanb2011Toanb2011
Toanb2011
 
Bài tập lớn truong ppt
Bài tập lớn truong    pptBài tập lớn truong    ppt
Bài tập lớn truong ppt
 
De toan a_2012
De toan a_2012De toan a_2012
De toan a_2012
 
9 can thuc nc
9 can thuc nc9 can thuc nc
9 can thuc nc
 
3. Nh13-Tich 3 lop.ppt
3. Nh13-Tich 3 lop.ppt3. Nh13-Tich 3 lop.ppt
3. Nh13-Tich 3 lop.ppt
 
Thi thử toán quỳnh lưu 2 na 2012 lần 1 k ab
Thi thử toán quỳnh lưu 2 na 2012 lần 1 k abThi thử toán quỳnh lưu 2 na 2012 lần 1 k ab
Thi thử toán quỳnh lưu 2 na 2012 lần 1 k ab
 

More from Hoang Nguyen

GANs and Applications
GANs and ApplicationsGANs and Applications
GANs and ApplicationsHoang Nguyen
 
Scrum - An introduction
Scrum - An introductionScrum - An introduction
Scrum - An introductionHoang Nguyen
 
Introduction to Cross-platform App Development
Introduction to Cross-platform App DevelopmentIntroduction to Cross-platform App Development
Introduction to Cross-platform App DevelopmentHoang Nguyen
 
Conistency of random forests
Conistency of random forestsConistency of random forests
Conistency of random forestsHoang Nguyen
 
Trust - Digital Signature
Trust - Digital SignatureTrust - Digital Signature
Trust - Digital SignatureHoang Nguyen
 
SOME SECURITY CHALLENGES IN CLOUD COMPUTING
SOME SECURITY CHALLENGES  IN CLOUD COMPUTINGSOME SECURITY CHALLENGES  IN CLOUD COMPUTING
SOME SECURITY CHALLENGES IN CLOUD COMPUTINGHoang Nguyen
 
Information, Data and Decision Making
Information, Data and Decision MakingInformation, Data and Decision Making
Information, Data and Decision MakingHoang Nguyen
 
Multiple processor systems
Multiple processor systemsMultiple processor systems
Multiple processor systemsHoang Nguyen
 
Multiprocessor Systems
Multiprocessor SystemsMultiprocessor Systems
Multiprocessor SystemsHoang Nguyen
 
Introduction to AOS course
Introduction to AOS courseIntroduction to AOS course
Introduction to AOS courseHoang Nguyen
 
Background Knowledge
Background KnowledgeBackground Knowledge
Background KnowledgeHoang Nguyen
 
Introduction to Information Security Course
Introduction to Information Security CourseIntroduction to Information Security Course
Introduction to Information Security CourseHoang Nguyen
 
Introduction to CNS Course
Introduction to CNS CourseIntroduction to CNS Course
Introduction to CNS CourseHoang Nguyen
 

More from Hoang Nguyen (20)

GANs and Applications
GANs and ApplicationsGANs and Applications
GANs and Applications
 
Scrum - An introduction
Scrum - An introductionScrum - An introduction
Scrum - An introduction
 
ORM in Django
ORM in DjangoORM in Django
ORM in Django
 
Introduction to Cross-platform App Development
Introduction to Cross-platform App DevelopmentIntroduction to Cross-platform App Development
Introduction to Cross-platform App Development
 
Conistency of random forests
Conistency of random forestsConistency of random forests
Conistency of random forests
 
Trust - Digital Signature
Trust - Digital SignatureTrust - Digital Signature
Trust - Digital Signature
 
Key Exchange
Key ExchangeKey Exchange
Key Exchange
 
SOME SECURITY CHALLENGES IN CLOUD COMPUTING
SOME SECURITY CHALLENGES  IN CLOUD COMPUTINGSOME SECURITY CHALLENGES  IN CLOUD COMPUTING
SOME SECURITY CHALLENGES IN CLOUD COMPUTING
 
Stream ciphers
Stream ciphersStream ciphers
Stream ciphers
 
Classical ciphers
Classical ciphersClassical ciphers
Classical ciphers
 
Confidentiality
ConfidentialityConfidentiality
Confidentiality
 
Information, Data and Decision Making
Information, Data and Decision MakingInformation, Data and Decision Making
Information, Data and Decision Making
 
Multiple processor systems
Multiple processor systemsMultiple processor systems
Multiple processor systems
 
Multiprocessor Systems
Multiprocessor SystemsMultiprocessor Systems
Multiprocessor Systems
 
Introduction to AOS course
Introduction to AOS courseIntroduction to AOS course
Introduction to AOS course
 
Background Knowledge
Background KnowledgeBackground Knowledge
Background Knowledge
 
Introduction to Information Security Course
Introduction to Information Security CourseIntroduction to Information Security Course
Introduction to Information Security Course
 
Introduction to CNS Course
Introduction to CNS CourseIntroduction to CNS Course
Introduction to CNS Course
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Nosql intro
Nosql introNosql intro
Nosql intro
 

LCS Problem

  • 1. TÌM CHUỖI CON CHUNG DÀI NHẤT Hoang V.Nguyen
  • 2. 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ận Hoang V.Nguyen 7/1/2010 2
  • 3. Đặ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 đổi Hoang V.Nguyen 7/1/2010 3
  • 4. Đặ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
  • 5. Đặ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
  • 6. Đá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
  • 7. Đá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
  • 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 - 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 LCS Hoang V.Nguyen 7/1/2010 8
  • 9. Đá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 gian Hoang V.Nguyen 7/1/2010 9
  • 10. Đá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 5 Hoang V.Nguyen 7/1/2010 10
  • 11. 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 A Hoang V.Nguyen 7/1/2010 11
  • 12. 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
  • 13. Demo Hoang V.Nguyen 7/1/2010 13
  • 14. 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 ACM1974 Hoang V.Nguyen 7/1/2010 14