Tiểu luận Thuật toán và phương pháp giải quyết vấn đề GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ

22 934 9
Tiểu luận Thuật toán và phương pháp giải quyết vấn đề GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐỀ TÀI : Giảng viên hướng dẫn: PGS.TS. ĐỖ VĂN NHƠN Sinh viên thực hiện: LÊ KIM NGA Mã số sinh viên: CH1301040 TPHCM, tháng 01/ 2014 2 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN MỤC LỤC MỤC LỤC LỜI MỞ ĐẦU PHẦN 1. GIỚI THIỆU TỔNG QUAN VỀ ĐỒ THỊ 1. 1.Nhắc lại một số định nghĩa: 1.1.1.Đồ thị: 5 1.1.2.Bậc của đỉnh: 5 1.1.3.Biểu diễn đồ thị bằng ma trận: 6 1.1.4.Tính liên thông: 6 1. 2.Giới thiệu về đẳng cấu đồ thị: 1.2.1.Khái quát chung: 6 1.2.2.Khái niệm về đẳng cấu đồ thị: 7 1.2.3. Những ứng dụng của đồ thị đẳng cấu: 8 PHẦN 2. VẤN ĐỀ SO KHỚP ĐỒ THỊ VÀ GIẢI PHÁP 2. 1.Bài toán so khớp đồ thị (đồ thị đẳng cấu): 2.1.1.Phát biểu bài toán: 9 2.1.2.Khảo sát, phân tích và giới hạn vấn đề: 9 2. 2.Xây dựng mô hình của bài toán: 2.2.1.Mô hình cho DIK: 10 2.2.2.Mô hình cho giả thiết: 10 2.2.3.Mô hình cho mục tiêu: 10 2. 3.Xây dựng giải pháp cho bài toán: 2.3.1.Giới thiệu ý tưởng: 10 2.3.2.Mô tả chiến lược: 10 2.3.3.Thuật toán: 11 2. 4.Chứng minh tính đúng đắn của thuật toán: 2. 5.Đánh giá độ phức tạp của thuật toán: 2. 6.Đánh giá thực nghiệm: PHẦN 3. GIỚI THIỆU MỘT THUẬT TOÁN POLYNOMIAL-TIME ÁP DỤNG CHO BÀI TOÁN SO KHỚP ĐỒ THỊ 3. 1.Mở rộng bài toán so khớp đồ thị phù hợp với thực tế: 3. 2.Giới thiệu hướng tiếp cận thuật giải: 3. 3.Các thủ tục sử dụng trong polynomial-time algorithm: 3.3.1.Proceduce 3.3.1: 15 3.3.2.Proceduce 3.3.2: 16 3.3.3.Proceduce 3.3.3: 16 3.3.4.Proceduce 3.3.4: 17 3.3.5.Thuật giải: 17 3. 4.Ví dụ áp dụng: GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 3 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN 3. 5.Kết quả thực hiện demo: TÀI LIỆU THAM KHẢO GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 4 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN LỜI MỞ ĐẦU Ngày nay, cùng với sự phát triển mạnh mẽ của khoa học và công nghệ thì khối lượng tri thức thu thập được ngày càng khổng lồ và cần phải được xử lý một cách chính xác, nhanh và hiệu quả để phục vụ cho các hoạt động của xã hội. Cũng chính từ đó, đòi hỏi phải có nhiều phương pháp (giải pháp) để giải quyết được nhiều yêu cầu hay nhiều vấn đề đặt ra trong đời sống hàng ngày như công tác lập lịch, tìm đường đi ngắn nhất trên bản đồ giao thông, so khớp đồ thị để ứng dụng vào các lĩnh vực như hóa học, sinh học, điện tử, … hay nhiều vấn đề khác đã và đang hình thành. Những vấn đề trên đều gần giũi với đời sống hàng ngày và được nhiều nhà nghiên cứu tìm hiểu, xây dựng nhiều giải pháp giải quyết khác nhau, tuy nhiên vẫn chưa đạt được mong muốn vì còn một số hạn chế nhất định, ví dụ như độ phức tạp của thuật toán quá lớn hoặc thời gian, hiệu quả chưa cao, … Sau thời gian học tập môn Thuật toán và phương pháp giải quyết vấn đề do PGS.TS Đỗ Văn Nhơn hướng dẫn, cùng với thời gian nghiên cứu, tìm hiểu từ các tài liệu từ các bài báo khoa học, các luận văn trên Internet. Em chọn nghiên cứu giải pháp cho bài toán so khớp đồ thị để làm tiểu luận môn học này. Nội dung của tiểu luận bao gồm: Phần 1: Giới thiệu tổng quan về lý thuyết đồ thị Phần 2: Vấn đề so khớp đồ thị và giải pháp Phần 3: Giới thiệu một thuật toán polynomial-time áp dụng vào bài toán so khớp đồ thị. Do thời gian nghiên cứu có hạn và bản thân em cũng có một số hạn chế nên tiểu luận này chắc chắn sẽ không tránh khỏi những thiếu sót nhất định. Kính mong được sự thông cảm và góp ý của PGS.TS Đỗ Văn Nhơn để hướng nghiên cứu sắp tới của em sẽ hoàn thiện và đạt hiệu quả hơn. Em xin cảm ơn! GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 5 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN PHẦN 1. GIỚI THIỆU TỔNG QUAN VỀ ĐỒ THỊ Lý thuyết đồ thị là một ngành khoa học được phát triển từ lâu nhưng lại có nhiều ứng dụng hiện đại. Những ý tưởng cơ bản của nó được đưa ra từ thế kỷ 18 bởi nhà toán học Thụy Sĩ tên là Leonhard Euler. Ông đã dùng đồ thị để giải quyết bài toán 7 chiếc cầu Konigsberg nổi tiếng. Đồ thị cũng được dùng để giải các bài toán trong nhiều lĩnh vực khác nhau. Thí dụ, dùng đồ thị để xác định xem có thực hiện một mạch điện trên một bảng điện phẳng được không. Chúng ta cũng có thể phân biệt hai hợp chất hóa học có cùng công thức phân tử nhưng có cấu trúc khác nhau nhờ đồ thị. Chúng ta cũng có thể xác định xem hai máy tính có được nối với nhau bằng một đường truyền thông hay không nếu dùng mô hình đồ thị mạng máy tính. Đồ thị với các trọng số được gán cho các cạnh của nó có thể dùng để giải các bài toán như bài toán tìm đường đi ngắn nhất giữa hai thành phố trong một mạng giao thông. Chúng ta cũng có thể dùng đồ thị để lập lịch thi và phân chia kênh cho các đài truyền hình. 1. 1. Nhắc lại một số định nghĩa: 1.1.1. Đồ thị: Đồ thị (Graph) là một cấu trúc dữ liệu rời rạc bao gồm các đỉnh và các cạnh nối các cặp đỉnh này. Chúng ta phân biệt đồ thị thông qua kiểu và số lượng cạnh nối giữa các cặp đỉnh của đồ thị. Định nghĩa: Một đơn đồ thị G = (V, E) gồm một tập khác rỗng V mà các phần tử của nó gọi là các đỉnh và một tập E mà các phần tử của nó gọi là các cạnh, đó là các cặp không có thứ tự của các đỉnh phân biệt. Định nghĩa: Một đồ thị có hướng G = (V, E) gồm một tập khác rỗng V mà các phần tử của nó gọi là các đỉnh và một tập E mà các phần tử của nó gọi là các cung, đó là các cặp có thứ tự của các phần tử thuộc V. 1.1.2. Bậc của đỉnh: Định nghĩa: Hai đỉnh u và v trong đồ thị (vô hướng) G=(V,E) được gọi là liền kề nếu (u,v) ∈ E. Nếu e = (u,v) thì e gọi là cạnh liên thuộc với các đỉnh u và v. Cạnh e cũng được gọi là cạnh nối các đỉnh u và v. Các đỉnh u và v gọi là các điểm đầu mút của cạnh e. Định nghĩa: Bậc của đỉnh v trong đồ thị G=(V,E), ký hiệu deg(v), là số các cạnh liên thuộc với nó, riêng khuyên tại một đỉnh được tính hai lần cho bậc của nó. Đỉnh v gọi là đỉnh treo nếu deg(v)=1 và gọi là đỉnh cô lập nếu deg(v)=0. GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 6 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN 1.1.3. Biểu diễn đồ thị bằng ma trận: Định nghĩa:Cho đồ thị G=(V,E) (vô hướng hoặc có hướng), với V={v 1 ,v 2 , , v n }. Ma trận liền kề của G ứng với thứ tự các đỉnh v 1 ,v 2 , , v n là ma trận ij 1 , ( ) ( , ), i j n A a M n Z ≤ ≤ = ∈ trong đó a ij là số cạnh hoặc cung nối từ v i tới v j . Như vậy, ma trận liền kề của một đồ thị vô hướng là ma trận đối xứng, nghĩa là a ji = a ji , trong khi ma trận liền kề của một đồ thị có hướng không có tính đối xứng. Định nghĩa: Cho đồ thị vô hướng G=(V,E), v1, v2, , vn là các đỉnh và e1, e2, , em là các cạnh của G. Ma trận liên thuộc của G theo thứ tự trên của V và E là ma trận ij 1 1 ( ) ( , ), i n j m M m M n m Z ≤ ≤ ≤ ≤ = ∈ × m ij bằng 1 nếu cạnh e j nối với đỉnh v i và bằng 0 nếu cạnh e j không nối với đỉnh v i . 1.1.4. Tính liên thông: Định nghĩa: Đường đi độ dài n từ đỉnh u đến đỉnh v, với n là một số nguyên dương, trong đồ thị G=(V,E) là một dãy các cạnh (hoặc cung) e 1 , e 2 , , e n của đồ thị sao cho e 1 = (x 0 , x 1 ), e 2 = (x 1 ,x 2 ), , e n = (x n-1 ,x n ), với x 0 =u và x n =v. Khi đồ thị không có cạnh (hoặc cung) bội, ta ký hiệu đường đi này bằng dãy các đỉnh x 0 , x 1 , , x n . Đường đi được gọi là chu trình nếu nó bắt đầu và kết thúc tại cùng một đỉnh. Đường đi hoặc chu trình gọi là đơn nếu nó không chứa cùng một cạnh (hoặc cung) quá một lần. Một đường đi hoặc chu trình không đi qua đỉnh nào quá một lần (trừ đỉnh đầu và đỉnh cuối của chu trình là trùng nhau) được gọi là đường đi hoặc chu trình sơ cấp. Rõ ràng rằng một đường đi sơ cấp là đường đi đơn. Định nghĩa: Một đồ thị (vô hướng) được gọi là liên thông nếu có đường đi giữa mọi cặp đỉnh phân biệt của đồ thị. Một đồ thị không liên thông là hợp của hai hay nhiều đồ thị con liên thông, mỗi cặp các đồ thị con này không có đỉnh chung. Các đồ thị con liên thông rời nhau như vậy được gọi là các thành phần liên thông của đồ thị đang xét. Như vậy, một đồ thị là liên thông khi và chỉ khi nó chỉ có một thành phần liên thông. 1. 2. Giới thiệu về đẳng cấu đồ thị: 1.2.1. Khái quát chung: Một trong những vấn đề cơ bản nhất của lý thuyết đồ thị là vấn đề đẳng cấu đồ thị. Cho hai đồ thị (a), (b). Hãy xác định xem chúng có đẳng cấu hay không? Thông thường, hai đồ thị có thể nhìn hoàn toàn khác nhau trên giấy, nhưng về cơ bản là tương tự với góc nhìn toán học. Hãy xem ví dụ hai đồ thị trong hình sau: GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 7 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN Hình 1. Ví dụ hai đồ thị Ta thấy: Hai đồ thị khác nhau khi nhìn trực quan, nhưng chúng là đẳng cấu vì các đồ thị trên là giống nhau do chúng có cùng số đỉnh là 4, cùng số cạnh là 2 và các cạnh là đôi một. Nếu ta dán nhãn đỉnh 1 tương ứng với đỉnh a: (1 – a), (2 – b), (3 – c), (4 – d) và nhãn cạnh (a1 – e1), (a2 – e2) thì ta có một ánh xạ f 1 tương ứng cho đỉnh và f 2 tương ứng cho cạnh như sau: Hình 2. Minh họa ánh xạ của tập đỉnh và tập cạnh đồ thị (a), (b) Vì vậy, hai đồ thị được gọi là đẳng cấu với nhau nếu đỉnh của chúng được sắp xếp lại để cấu trúc cạnh tương ứng là giống hệt nhau và để chứng tỏ rằng chúng đẳng cấu thì cũng phải có sự sắp xếp lại tương tự với đỉnh (bằng cách dời đỉnh, dời cạnh ) sao cho hai đồ thị này có hình vẽ y hệt nhau trên cơ sở sự hoán vị đỉnh và hoán vị cạnh. 1.2.2. Khái niệm về đẳng cấu đồ thị: Các đơn đồ thị G 1 = (V 1 , E 1 ) và G 2 = (V 2 , E 2 ) là đẳng cấu (Isomorphism) với nhau nếu tồn tại một song ánh f như sau: f: V 1 a V 2 v 1 → v 2 = f(v 1 ) Sao cho: 1 1 2 , : ( , ) ( ( ), ( ))x y V x y E S x S y E∀ ∈ ∈ ⇔ ∈ Và 2 2 1 , : ( , ) ( ( ), ( ))x y V x y E S x S y E∀ ∈ ∈ ⇔ ∈ Nói cách khác, khi hai đơn đồ thị là đẳng cấu, sẽ tồn tại một phép tương ứng một-một giữa các đỉnh của hai đồ thị bảo toàn quan hệ liền kề. Để chứng tỏ hai đơn đồ thị không là đẳng cấu bằng cách chỉ ra chúng không có chung một tính chất mà các đơn đồ thị đẳng cấu cần phải có (tính chất bất biến đối với phép đẳng cấu của các đơn đồ thị). GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 8 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN Một số tính chất: − Các đơn đồ thị đẳng cấu có cùng số đỉnh; − Các đơn đồ thị đẳng cấu có cùng số cạnh; − Bậc của các đỉnh của các đơn đồ thị đẳng cấu phải như nhau; − Các đồ thị phải có các chu trình đơn có độ dài như nhau (có cùng các thành phần). Có thể kiểm tra bằng cách: − Kiểm tra đồ thị con của chúng; − Sử dụng ma trận liền kề; − Việc sử dụng chu trình, đường đi đặc biệt nào đó; − … Vậy, nếu hai đơn đồ thị có ma trận kề (theo một thứ tự đỉnh nào đó) bằng nhau thì chúng đẳng cấu với nhau. Hình 3. Minh họa sự đẳng cấu dùng ma trận kề 1.2.3. Những ứng dụng của đồ thị đẳng cấu: Đồ thị đẳng cấu được sử dụng để xác định một hợp chất hóa học trong cơ sở dữ liệu hóa học hoặc để tìm kiếm, định danh và cung cấp thông tin trong cơ sở dữ liệu hoặc web; Đồ thị đẳng cấu còn được ứng dụng trong việc thiết kế mạch điện tử tự động hóa nhằm đơn giản hóa và tối ưu mạch điện; … GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 9 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN PHẦN 2. VẤN ĐỀ SO KHỚP ĐỒ THỊ VÀ GIẢI PHÁP 2. 1. Bài toán so khớp đồ thị (đồ thị đẳng cấu): 2.1.1. Phát biểu bài toán: Cho hai đồ thị Graph A (GA) và Graph B (GB) có một số cạnh và một số đỉnh tương ứng nào đó. Vấn đề đặt ra là xác định xem hai đồ thị đã cho có “khớp nhau” (đẳng cấu) hay không? Ví dụ cho hai đồ thị: Hình 4. Ví dụ về 2 đồ thị GA và GB 2.1.2. Khảo sát, phân tích và giới hạn vấn đề: 2.1.2.1. Khảo sát và thu thập dữ liệu, thông tin và tri thức (DIK): 1. Tập đỉnh của 2 đồ thị là hữu hạn; 2. Tập cạnh của 2 đồ thị là hữu hạn; 3. Đồ thị có hướng hay vô hướng? 4. Đồ thị có liên thông hay không? 5. Đơn đồ thị hay đa đồ thị? 6. Các cạnh có trọng số hay không có trọng số? 7. …. 2.1.2.2. Chọn lọc vấn đề và chuẩn hóa DIK; Xác định cơ sở DIK cho vấn đề. 1. Tập đỉnh của 2 đồ thị là hữu hạn; 2. Tập cạnh của 2 đồ thị là hữu hạn; 3. Đơn đồ thị vô hướng; 4. Đồ thị phải liên thông; 5. Không quan tâm đến trọng số; 2.1.2.3. Xác định phạm vi gây giới hạn của vấn đề: Tính liên thông của đồ thị và số đỉnh nhỏ hơn 2, số cạnh bằng 0; 2.1.2.4. Thu thập mẫu vấn đề và phân lớp (bỏ qua). − Số đỉnh, số cạnh của mỗi đồ thị để so sánh; − Xác định các bậc của mỗi đỉnh trong từng đồ thị; GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 10 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN − Các đồ thị được biểu diễn dưới dạng ma trận kề; 2.1.2.5. Mô tả giả thiết của vấn đề. - Đầu vào: Đồ thị GA và GB là các đơn đồ thị vô hướng, liên thông được biểu diễn dưới dạng ma trận kề A, B; - Đầu ra: Hai đồ thị đã cho là đẳng cấu hay không đẳng cấu 2.1.2.6. Mục tiêu của vấn đề: Kiểm tra được tính đẳng cấu của 2 đồ thị; 2.1.2.7. Các điều kiện hay ràng buộc liên quan: − Phải là đơn đồ thị vô hướng, liên thông; − Số đỉnh (>=2) và số cạnh (>=1) của 2 đồ thị phải bằng nhau và hữu hạn; 2. 2. Xây dựng mô hình của bài toán: 2.2.1. Mô hình cho DIK: Được mô hình hóa bằng đơn đồ thị vô hướng. Trong đó − Số đỉnh là số nguyên dương >= 2 và mỗi đỉnh được gán nhãn; − Cạnh: là một đường nối giữa đỉnh này với đỉnh khác trong đồ thị − Bậc của đỉnh x: Là tổng số cạnh liên thuộc với với đỉnh x, ký hiệu deg(x) GA = (V A , E A ) V A = {x 1 , …, x n } E A = {e 1 , …, e m }; e ∈ E A liên kết xi và xj (Tương tự cho GB) 2.2.2. Mô hình cho giả thiết: Input: 2 đồ thị được biểu diễn dưới dạng ma trận kề A và ma trận kề B Output: GA và GB là hai đồ thị đẳng cấu với biểu song ánh f tương ứng hoặc GA và GB không phải là hai đồ thị đẳng cấu. 2.2.3. Mô hình cho mục tiêu: Ma trận A = Ma trận B 2. 3. Xây dựng giải pháp cho bài toán: 2.3.1. Giới thiệu ý tưởng: Để giải bài toán này, em dùng nguyên lý vét cạn để so sánh từng cặp đỉnh giữa đồ thị GA với mỗi đỉnh trong GB để xác định song ánh, tìm ma trận kề của 2 đồ thị theo thứ tự đỉnh tìm được và so sánh xem hai ma trận kề này có bằng nhau hay không? Nếu bằng nhau thì kết luận 2 đồ thị GA, GB là đẳng cấu Ngược lại, không đẳng cấu. 2.3.2. Mô tả chiến lược: Bước 1: + Xác định bậc các đỉnh trong mỗi đồ thị và kiểm tra xem có thỏa với các tính chất của đồ thị đẳng cấu hay không? Nếu không thì kết luận “GA và GB không đẳng cấu” rồi kết thúc; GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 [...]... quyết vấn đề so khớp đồ thị phù hợp với thực tiễn Nội dung giải pháp và các thuật toán kèm theo được tóm tắt ở phần 3 của tiểu luận này! GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 GVHD: PGS.TS ĐỖ VĂN NHƠN T 14 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ PHẦN 3 GIỚI THIỆU MỘT THUẬT TOÁN POLYNOMIAL-TIME ÁP DỤNG CHO BÀI TOÁN SO KHỚP ĐỒ THỊ 3 1 Mở rộng bài toán so khớp đồ thị phù hợp... họa cho ví dụ  Các ma trận kề tương ứng như sau: Graph A: Graph B:  Ma trận hình thức và bảng tham chiếu của từng đồ thị: GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 T 19 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN  Ma trận sau khi sắp xếp lại dòng/ cột: GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 T 20 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT... nhau và ta có một hàm đẳng cấu φ GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 T 15 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN Ngược lại, chúng ta sẽ thấy rằng các ma trận dấu hiệu S A* và SB* không thể được thể hiện giống hệt nhau khi và chỉ khi các đồ thị và GA GB là không đẳng cấu Do đó, ta có một thuật toán polynomial-time để giải quyết các vấn đề đồ thị. .. } If Isomorphism(A,B) then { Kết luận “GA đẳng cấu với GB” và kết thúc;} Else k ← n-1; GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 GVHD: PGS.TS ĐỖ VĂN NHƠN T 12 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ } 2 4 Chứng minh tính đúng đắn của thuật toán: Sử dụng hai đồ thị ở hình 4 để chứng minh tính đúng đắn của thuật toán ở mục 2.3: Bước 1: Ta có n = 5 (mỗi đồ thị có 5 đỉnh) và ma... NGA-CH1301040 T 21 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN Bây giờ không còn tìm thấy bất kỳ sự không phù hợp nào giữa ma trận A và ma trận B Ta có A = B nên kết luật GA và GB đẳng cấu rồi đưa ra phép đẳng cấu và kết thúc thuật toán 3 5 Kết quả thực hiện demo: GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 T 22 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS... thuận toán trên, nếu cho hai đồ thị cỡ càng nhỏ thì thuật toán mang lại hiệu quả cao hơn Tuy nhiên, trên thực tế, vấn đề so khớp đồ thị không chỉ dừng lại ở đồ thị cỡ nhỏ và vô hướng có quan tâm đến trọng số (độ dài cạnh), … Vì vậy, cần có thuật toán tối ưu hơn có thể giải quyết được vấn đề này Qua tìm hiểu và sưu tầm tài liệu, em xin giới thiệu một thuật toán có thể áp dụng hiệu quả hơn để giải quyết vấn. .. tế, việc so khớp đồ thị có thể được thực hiện ở những đồ thị cỡ lớn và thỏa một số yêu cầu khác như: có hướng, có trọng số, … Hãy xem một số hình ảnh về dạng đồ thị cỡ lớn: Hình 6 Đồ thị 17 đỉnh Hình 7 Đồ thị 30 đỉnh 3 2 Giới thiệu hướng tiếp cận thuật giải: Một thuật toán là một phương pháp giải quyết vấn đề phù hợp để thực hiện như một chương trình máy tính Trong khi thiết kế các thuật toán, chúng... thì GA và GB là không đẳng cấu Ngược lại, A = B thì GA và GB là đẳng cấu và sắp xếp lại i' 1 , i''2, , i''n của các đỉnh của GB để có được SB* = B một đẳng cấu tương ứng φ (i1) = i''1 , φ (i2) = i''2, , φ (in) = i''n 3 4 Ví dụ áp dụng: Cho hai đồ thị GA, GB, mỗi đồ thị 10 đỉnh như hình 8: GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 T 18 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD:... vị i 1, i2, ,in từ các đỉnh 1, 2, , n của G để có được ma trận hình thức S* GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 T 17 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN 3.3.4 Proceduce 3.3.4: Cho đồ thị GA và GB với các vectơ tần số ký hiệu tương ứng trong bảng tham chiếu của SA* và SB* là như nhau, (fAi1 , fAi2 , , fAin ) = ( fBi'1 , fBi'2, , fBi'n), ta... so sánh bậc của 2 đồ thị, ta thấy số bậc tương ứng với nhau DA 2.C 3.A 3.E 4.B 4.D DB 2.1 3.4 3.5 4.2 4.3 Bước 3: k = 5; + Ta có: f(C) = 1; f(A) = 4; f(E) = 5; f(B) = 2; f(D) = 3; (Như vậy ta đã lập được phép tương ứng 1 -1 đối với 2 đồ thị GA và GB) GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 GVHD: PGS.TS ĐỖ VĂN NHƠN T 13 HUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ + Lập ma trận . SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 9 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GVHD: PGS.TS ĐỖ VĂN NHƠN PHẦN 2. VẤN ĐỀ SO KHỚP ĐỒ THỊ VÀ GIẢI PHÁP 2. 1. Bài toán so khớp đồ thị (đồ. cứu giải pháp cho bài toán so khớp đồ thị để làm tiểu luận môn học này. Nội dung của tiểu luận bao gồm: Phần 1: Giới thiệu tổng quan về lý thuyết đồ thị Phần 2: Vấn đề so khớp đồ thị và giải pháp Phần. giải pháp và các thuật toán kèm theo được tóm tắt ở phần 3 của tiểu luận này! GIẢI PHÁP CHO BÀI TOÁN SO KHỚP ĐỒ THỊ HVTH: LÊ KIM NGA-CH1301040 14 THUẬT TOÁN & PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ

Ngày đăng: 23/05/2015, 00:08

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • LỜI MỞ ĐẦU

  • PHẦN 1. GIỚI THIỆU TỔNG QUAN VỀ ĐỒ THỊ

    • 1. 1. Nhắc lại một số định nghĩa:

      • 1.1.1. Đồ thị:

      • 1.1.2. Bậc của đỉnh:

      • 1.1.3. Biểu diễn đồ thị bằng ma trận:

      • 1.1.4. Tính liên thông:

      • 1. 2. Giới thiệu về đẳng cấu đồ thị:

        • 1.2.1. Khái quát chung:

        • 1.2.2. Khái niệm về đẳng cấu đồ thị:

        • 1.2.3. Những ứng dụng của đồ thị đẳng cấu:

        • PHẦN 2. VẤN ĐỀ SO KHỚP ĐỒ THỊ VÀ GIẢI PHÁP

          • 2. 1. Bài toán so khớp đồ thị (đồ thị đẳng cấu):

            • 2.1.1. Phát biểu bài toán:

            • 2.1.2. Khảo sát, phân tích và giới hạn vấn đề:

            • 2. 2. Xây dựng mô hình của bài toán:

              • 2.2.1. Mô hình cho DIK:

              • 2.2.2. Mô hình cho giả thiết:

              • 2.2.3. Mô hình cho mục tiêu:

              • 2. 3. Xây dựng giải pháp cho bài toán:

                • 2.3.1. Giới thiệu ý tưởng:

                • 2.3.2. Mô tả chiến lược:

                • 2.3.3. Thuật toán:

                • 2. 4. Chứng minh tính đúng đắn của thuật toán:

                • 2. 5. Đánh giá độ phức tạp của thuật toán:

                • 2. 6. Đánh giá thực nghiệm:

Tài liệu cùng người dùng

Tài liệu liên quan