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

PDF
eLearning 101 - Giới thiệu về MOOC thế giới và Việt Nam.pptx
PDF
đề Tài website bán hàng quần áo ở cửa hàng juri luận văn, đồ án, đề tài tốt n...
PPTX
Chương 4: hệ thống thông tin tổ chức theo cấp bậc quản lý
PPTX
Dạy học theo dự án - Tin học 10
PPTX
Virtual Learning Environment (VLE)
PPTX
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
PPTX
Hệ thống quản lý bán hàng tại siêu thị
DOC
Phương pháp dạy học tích cực (1)
eLearning 101 - Giới thiệu về MOOC thế giới và Việt Nam.pptx
đề Tài website bán hàng quần áo ở cửa hàng juri luận văn, đồ án, đề tài tốt n...
Chương 4: hệ thống thông tin tổ chức theo cấp bậc quản lý
Dạy học theo dự án - Tin học 10
Virtual Learning Environment (VLE)
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Hệ thống quản lý bán hàng tại siêu thị
Phương pháp dạy học tích cực (1)

What's hot (20)

DOC
Nghiên Cứu Ảnh Hưởng Của Nhóm Tham Khảo Đến Quyết Định Mua Điện Thoại Smartph...
PPT
Chude03: Chương 3: Thiết kế một hệ e-Learning theo ngữ cảnh
PDF
Bảng đánh giá hoạt động nhóm
PDF
GIAO TRINH TRIET HOC MAC - LENIN (không chuyên)
PDF
Báo cáo dự án quản lí thư viện
PDF
Luận văn: Kỹ năng giao tiếp của sinh viên Sư phạm trường Cao đẳng Cần Thơ
DOC
Luận văn: Biện pháp giáo dục đạo đức cho học sinh THCS ở Hà Nội
DOC
Báo cáo-website-asp
PDF
Khảo sát hành vi sử dụng mạng xã hội tại Việt Nam
PDF
Hệ thống LMS tính năng cơ bản!
DOCX
Đề cương ôn tập hệ thống thông tin quản lý
DOC
Đề tài: Xây dựng website bán hàng trực tuyến, HAY
DOCX
Đồ án xây dựng website trang báo thương mại điện tử
PDF
BÀI GIẢNG KỸ NĂNG LÀM VIỆC NHÓM.pdf
PDF
หน้าที่พลเมือง
PDF
Presentation điện toán đám mây
PDF
VIỆC SỬ DỤNG MẠNG XÃ HỘI VỀ KẾT QUẢ HỌC TẬP CỦA SINH VIÊN - TẢI FREE ZALO: 09...
DOC
Ikidoc.com-Các câu hỏi tự luận môn triết học mác lênin
PPT
Hanh vi to chuc - Chuong 2.ppt
PDF
Đồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức Long
Nghiên Cứu Ảnh Hưởng Của Nhóm Tham Khảo Đến Quyết Định Mua Điện Thoại Smartph...
Chude03: Chương 3: Thiết kế một hệ e-Learning theo ngữ cảnh
Bảng đánh giá hoạt động nhóm
GIAO TRINH TRIET HOC MAC - LENIN (không chuyên)
Báo cáo dự án quản lí thư viện
Luận văn: Kỹ năng giao tiếp của sinh viên Sư phạm trường Cao đẳng Cần Thơ
Luận văn: Biện pháp giáo dục đạo đức cho học sinh THCS ở Hà Nội
Báo cáo-website-asp
Khảo sát hành vi sử dụng mạng xã hội tại Việt Nam
Hệ thống LMS tính năng cơ bản!
Đề cương ôn tập hệ thống thông tin quản lý
Đề tài: Xây dựng website bán hàng trực tuyến, HAY
Đồ án xây dựng website trang báo thương mại điện tử
BÀI GIẢNG KỸ NĂNG LÀM VIỆC NHÓM.pdf
หน้าที่พลเมือง
Presentation điện toán đám mây
VIỆC SỬ DỤNG MẠNG XÃ HỘI VỀ KẾT QUẢ HỌC TẬP CỦA SINH VIÊN - TẢI FREE ZALO: 09...
Ikidoc.com-Các câu hỏi tự luận môn triết học mác lênin
Hanh vi to chuc - Chuong 2.ppt
Đồ án lý thuyết phương pháp dạy học tin học thầy Lê Đức Long
Ad

Viewers also liked (20)

PPTX
Greedy method class 11
PPTX
Longest Common Subsequence
PPTX
Activity selection problem
PPT
lecture 24
PPTX
Longest common subsequence lcs
PPTX
Activity selection problem class 12
PPTX
Activity selection problem
PPTX
Dynamic programming class 16
PPT
Greedy Algorithm
PPTX
Dynamic Programming - Matrix Chain Multiplication
PPT
Greedymethod
PPT
Greedy
PPT
Greedy Algorihm
PPT
Dynamic programming
PPTX
Back tracking and branch and bound class 20
PPTX
Greedy algorithm
PPTX
Longest Common Subsequence (LCS) Algorithm
PPTX
Greedy Algorithms
PPTX
Matrix chain multiplication
PPTX
8 queens problem using back tracking
Greedy method class 11
Longest Common Subsequence
Activity selection problem
lecture 24
Longest common subsequence lcs
Activity selection problem class 12
Activity selection problem
Dynamic programming class 16
Greedy Algorithm
Dynamic Programming - Matrix Chain Multiplication
Greedymethod
Greedy
Greedy Algorihm
Dynamic programming
Back tracking and branch and bound class 20
Greedy algorithm
Longest Common Subsequence (LCS) Algorithm
Greedy Algorithms
Matrix chain multiplication
8 queens problem using back tracking
Ad

Similar to LCS Problem (20)

PPT
Giáo trình Phân tích và thiết kế giải thuật - CHAP 3
PDF
pttt 01
DOC
Tai lieu boi_duong_hsg_mon_tin_cap_th_thcs_thpt
PDF
Mot so bai toan quy hoach dong
PDF
Quy hoạch động
PPT
Chap5 new
PPT
bai giang quy hoach dong chuong trinh day
PPT
Chuong5
PPT
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
DOC
100 de tin hoc va nha truong
PDF
Sang tao4
PPT
Quy Hoach Dong
PPT
Quy hoạch động
DOC
100 de tin hoc va nha truong-suu tam
PDF
Quy hoach tuyen tinh C H U O N G2
PDF
Quy hoach tuyen tinh C4
DOCX
Bài tập lớn truong ppt
PPT
3_Chiavatri.pptdfasfasffafasdfasfasffaasd
PDF
Bài giảng chuyên đề - Lê Minh Hoàng
PDF
Bai3 thay quang
Giáo trình Phân tích và thiết kế giải thuật - CHAP 3
pttt 01
Tai lieu boi_duong_hsg_mon_tin_cap_th_thcs_thpt
Mot so bai toan quy hoach dong
Quy hoạch động
Chap5 new
bai giang quy hoach dong chuong trinh day
Chuong5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
100 de tin hoc va nha truong
Sang tao4
Quy Hoach Dong
Quy hoạch động
100 de tin hoc va nha truong-suu tam
Quy hoach tuyen tinh C H U O N G2
Quy hoach tuyen tinh C4
Bài tập lớn truong ppt
3_Chiavatri.pptdfasfasffafasdfasfasffaasd
Bài giảng chuyên đề - Lê Minh Hoàng
Bai3 thay quang

More from Hoang Nguyen (20)

PDF
GANs and Applications
PDF
Scrum - An introduction
PDF
ORM in Django
PDF
Introduction to Cross-platform App Development
PDF
Conistency of random forests
PDF
Trust - Digital Signature
PDF
Key Exchange
PDF
SOME SECURITY CHALLENGES IN CLOUD COMPUTING
PDF
Stream ciphers
PDF
Classical ciphers
PDF
Confidentiality
PDF
Information, Data and Decision Making
PDF
Multiple processor systems
PDF
Multiprocessor Systems
PDF
Introduction to AOS course
PDF
Background Knowledge
PDF
Introduction to Information Security Course
PDF
Introduction to CNS Course
PDF
Dynamic Testing
PDF
Nosql intro
GANs and Applications
Scrum - An introduction
ORM in Django
Introduction to Cross-platform App Development
Conistency of random forests
Trust - Digital Signature
Key Exchange
SOME SECURITY CHALLENGES IN CLOUD COMPUTING
Stream ciphers
Classical ciphers
Confidentiality
Information, Data and Decision Making
Multiple processor systems
Multiprocessor Systems
Introduction to AOS course
Background Knowledge
Introduction to Information Security Course
Introduction to CNS Course
Dynamic Testing
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