Tải bản đầy đủ (.doc) (14 trang)

Tiểu luận môn LẬP TRÌNH SYMBOLIC VÀ ỨNG DỤNG XÉT ĐẲNG CẤU ĐỒ THỊ VÔ HƯỚNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (741.9 KB, 14 trang )

HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
Mục lục:
XÉT ĐẲNG CẤU ĐỒ THỊ VÔ HƯỚNG
1.1 Đẳng cấu giữa hai đồ thị đơn (Single Graph) 2
1.2 Đẳng cấu giữa hai giả đồ thị (Pseudo Graph) 9
1.3 Kết luận 14
Trang 1
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
XÉT ĐẲNG CẤU ĐỒ THỊ VÔ HƯỚNG
1.1 Đẳng cấu giữa hai đồ thị đơn (Single Graph)
1.1.1 Định nghĩa
Các đồ thị G
1
= (V
1
,E
1
) và G
2
= (V
2
,E
2
) được gọi là đẳng cấu với nhau nếu có một
song ánh f: V
1
→ V
2
sao cho nếu a và b là liền kề trong V
1
thì f(a) và f(b) liền kề


trong V
2
; ∀ a, b ∈ V
1
. Khi đó song ánh f được gọi là một đẳng cấu.
Nói cách khác, nếu 2 đồ thị là đẳng cấu thì sẽ tồn tại một song ánh giữa các
đỉnh của 2 đồ thị bảo toàn quan hệ liền kề.
Ø Nếu 2 đồ thị G
1
và G
2
là các đơn đồ thị vô hướng đẳng cấu:
+ Số đỉnh bằng nhau.
+ Số cạnh bằng nhau.
+ Hai đỉnh tương ứng có cùng bậc (cùng số đỉnh với bậc cho sẵn)
Đây là các điều kiện cần để hai đồ thị là đẳng cấu.
Ø Để chứng minh hai đồ thị đẳng cấu ta cần:
+ Chứng minh điều kiện cần thỏa.
+ Xây dựng một song ánh bảo toàn quan hệ liền kề giữa hai đồ thị
(điều kiện đủ để hai đồ thị đẳng cấu).
Ví dụ 1: Chứng minh rằng hai đồ thị sau là đẳng cấu với nhau:
Ø Xét điều kiện cần:
+ Hai đồ thị G và H đều có 4 đỉnh,
+ Hai đồ thị G và H đều có 4 cạnh,
+ Các đỉnh của hai đồ thị đều có bậc 2.
Trang 2
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
→ Vậy điều kiện cần thỏa.
Ø Xét điều kiện đủ:
Xét hàm f: V → W

u
1
a v
1
u
2
a v
4
u
3
a v
2
u
4
a v
3
⇒ f là song ánh và bảo toàn quan hệ liền kề, điều kiện đủ thỏa. Vậy hai đồ
thị G và H đẳng cấu với nhau.
Ví dụ 2:
G và H có cùng số cạnh, số đỉnh nhưng H có đỉnh e' bậc 1, trong khi đó G không có
đỉnh nào bậc 1. Điều kiện cần không thỏa ⇒ G và H không đẳng cấu.
Trang 3
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
1.1.2 Thuật giải
Bước 1:
Input: Hai đồ thị vô hướng G, H
Bước 2:
2.1 if (G, H có số đỉnh khác nhau) then
Hai đồ thị có số đỉnh khác nhau
2.2 if (G, H có số cạnh khác nhau) then

Hai đồ thị có số cạnh khác nhau
2.3 if (G, H có có hướng và vô hướng) then
Hai đồ thị khác nhau: 1 đồ thị có hướng và 1 đồ thị vô hướng
2.4 if (G, H có số đỉnh với bậc cho sẵn khác nhau) then
Hai đồ thị không cùng có số đỉnh với bậc cho sẵn
Bước 3:
Output: cho kết quả tìm được 2 đồ thị đẳng cấu hay không đẳng cấu
Trang 4
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
1.1.3 Thủ tục
1.1.4 Dữ liệu thử nghiệm
>
Trang 5
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
>
> DrawGraph(G);
>
>
>
>
Trang 6
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
>
>
>
>
>
>
Trang 7
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN

>
Trang 8
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
1.2 Đẳng cấu giữa hai giả đồ thị (Pseudo Graph)
1.2.1 Định nghĩa
Một giả đồ 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 họ 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 (không nhất thiết là phân biệt). Với v ∈ V, nếu (v,v) ∈
E thì ta nói có một khuyên tại đỉnh v.
Một giả đồ thị vô hướng tổng quát có thể chứa các khuyên và cho phép đa
cạnh.
Ví dụ:
1.2.2 Thuật giải
Bước 1:
Input: Hai đồ thị vô hướng G1, G2
• Biến V1 lưu trữ danh sách các đỉnh của đồ thị G1
• Biến V2 không đổi, thiết lập hoán vị khác nhau giữa các đỉnh của đồ thị G2,
kiểm tra vị trí từng đỉnh của V1 trong V2 (mỗi lần lặp trong vòng lặp while)
• Biến n lưu trữ số đỉnh của đồ thị G1 để kiểm tra xem có cùng số đỉnh với đồ
thị G2
• Biến i và j dùng để kiểm tra các cạnh của đồ thị
• Biến P danh sách các cạnh hoán vị của G2
• Biến hoanvi là biến đếm các hoán vị đang xét
Trang 9
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
• Biến timthay: khởi tạo timthay= false (kiểu bool), biến là điều kiện để kết
thúc vòng lặp nếu hoán vị của các đỉnh đang xét là đẳng cấu được tìm thấy
(timthay = true). Bên trong vòng lặp khi xác định không phải là một đẳng
cấu, đặt timthay = false, cho phép vòng lặp tiếp tục.
Bước 2:

While (không tìm thấy hoán vị đang xét là đẳng cấu và chưa duyệt hết qua
các thứ tự hoán vị của đồ thị G2 do {
2.1 Kiểm tra bậc của các đỉnh tương ứng bằng nhau. Nếu bậc của các
đỉnh tương ứng khác nhau là hoán vị hiện tại không phải là đẳng cấu,
kết thúc.
2.2 Kiểm tra các đỉnh có khuyên hoặc không khuyên. Nếu một đồ thị
có khuyên và đồ thị kia không có khuyên thì không phải là đẳng cấu
2.3 Kiểm tra hai đồ thị phải có cùng số cạnh. Biến i và j là chỉ số các
đỉnh dùng duyệt qua tất cả các cặp đỉnh
}// Thoát khỏi vòng lặp while khi các hoán vị đang xét là đẳng cấu được tìm
thấy hoặc thoát khỏi vòng lặp while khi đã duyệt hết qua các thứ tự hoán vị
của đồ thị mà không tìm được hoán vị nào đẳng cấu
Bước 3:
Output: cho kết quả tìm được 2 giả đồ thị đẳng cấu hay không đẳng cấu
Trang 10
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
1.2.3 Thủ tục
Trang 11
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
Trang 12
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
1.2.4 Dữ liệu thử nghiệm
>
>
>
>
>
>
>
>

Trang 13
HV: HUỲNH THANH PHỤNG GVHD: PGS.TS. ĐỖ VĂN NHƠN
>
Hai gia do thi dang cau nhu sau:
1 -> "C"
2 -> "A"
3 -> "B"
4 -> "D"
1.3 Kết luận
Để xác định sự đẳng cấu giữa hai đồ thị là một bài toán không đơn giản, vì giữa
hai đồ thị có n đỉnh tồn tại tới n! song ánh giữa hai tập đỉnh. Phương pháp tiếp cận ở
trên chỉ giải quyết bài toán các đồ thị tương đối nhỏ và xác định.
Một cách khác để xác định đồ thị G1 và G2 đẳng cấu nếu các đỉnh của chúng
được sắp xếp lại sao cho cấu trúc các cạnh tương ứng là giống nhau. Nhưng để chỉ
ra đồ thị G1 và G2 không phải đẳng cấu, người ta phải chứng minh rằng không có
một cách sắp xếp nào như vậy.
Cách tiếp cận khác dùng một thuật toán có thời gian chạy đa thức (polynomial-
time algorithm) có số lượng các bước tính toán được giới hạn bởi một hàm đa thức
của kích thước đầu vào. Lớp các bài toán dạng này là được ký hiệu là P. Nếu đồ thị
G1 và G2 là đẳng cấu thì chúng phải có các vector tần suất dấu giống nhau theo thứ
tự từ điển f
i1
, f
i2
, , f
in
trong thời gian theo hàm đa thức.
Trang 14

×