1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chu trình euler – chu trình hamilton và ứng dụng trong bài toán tìm Đường Đi ngắn nhất

24 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 2,46 MB

Nội dung

Từ kết quả trên, ta thu được ma trận kề của đồ thị G có hướng: Một đỗ thị đượ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ị.. Các định lý của đồ thị liên thôn

Trang 1

*

TRUONG DAI HOC QUOC GIA THÀNH PHÓ HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CHU TRINH EULER — CHU TRINH HAMILTON VA UNG DUNG

TRONG BAI TOAN TIM DUONG DI NGAN NHAT

Trang 2

MỤC LỤC

IE20I:8I621 1012775 4T 4 1.1 Một số khái niệm cơ bản 5-5-2 55+ + S2 S2 +e+se+Ee+eeeereezeeeezrrerresree 4

Ni Sa , H, , II

In nh .Ô II 1.2.3 Điều kiện của chu trình -. + 52+ +s+s++S+s+s+ezszsezezxeexeersezezsescee 12

1.3 Chu trinh Hamilton ccccccccseeecesesesseeeeeeeeeeeeeeeeeeeseeseaseneeneeneaeenseeeenseesegaes 13

Trang 3

V TAI LIEU THAM KHAO eccccccocccsssecceccceccescetececcecccaecesecceceaucateseecseeascaceeaeeass 24

Trang 4

I ĐỊNH NGHĨA

1.1 Một số khái niệm cơ bản

Idd Bac (Degree)

Bậc của dinh v trong dé thi G (ký hiệu: đe(v)) là số cạnh liên thuộc với v Một

đỉnh có bậc 0 là đỉnh cô lập Đỉnh có bậc | la một đỉnh treo hay lá Trong dé thị

vi dụ bên dưới, các đỉnh I và 3 có bậc là 2, các đỉnh 2, 4 và 5 có bậc bằng 3,

đỉnh 6 có bậc 1

Hình 1.1 Vi du vé do thi

1.1.2 Chu trinh (Cycle)

Trong lý thuyết đồ thị, chu trình trong đồ thị là một dây chuyền đóng Hay nói

cách khác, chu trình chính là đường đi mà điểm xuất phát và điểm kết thúc ở

trong một dé thi trùng với nhau Đề thị chỉ gồm một chu trình với n đỉnh được

gọi là dé thị vòng, ký hiệu Cn

Các loại chu trình:

- Chu trình chấn: là chu trình có độ dai chan

- Chu trình lẻ: là chu trình có độ dài lẻ

- Chu trình có hướng: là một chu trình đơn mà mọi cung trong đó đều cùng

hướng, nghĩa là mọi đỉnh đều có bậc trong và bậc ngoài bằng I Có thê gọi đơn

giản là chu trình khi ngữ cảnh rõ ràng

- Chu trinh đơn: là chu trình không đi qua một cạnh nào quá một lần

- Chu trình sơ cấp: là chu trình không chứa cùng một đỉnh quá một lần (trừ

đỉnh đầu và đỉnh cuối) Trong đồ thị ở hình trên, (1, 5, 2, 1) là một chu trình sơ

cấp Chu trình sơ cấp thì là chu trình đơn

- Chu trinh Euler: là chu trình qua tất cả các cạnh, mỗi cạnh đúng một lần

- Chu trình bao trùm: là cách gọi khác của chu trinh Hamilton

Trang 5

Hình 1.2 Chu trình của đồ thị với đường đi qua các đỉnh l— 2-— 3— 4- 1

1.13 Đường đi (Path)

Theo lý thuyết đồ thị, đường đi là một chuỗi luân phiên giữa đỉnh và cạnh, bắt

đầu và kết thúc bởi một đỉnh Trong đó, mỗi đỉnh là đỉnh đầu cuối của hai cạnh

đứng liền trước và liền sau trong chuỗi, các đỉnh đứng liền trước và liền sau một

cạnh là các đỉnh đầu cuối của cạnh đó

Khi có hai cạnh giống nhau trên chuỗi có thể loại bỏ bớt các cạnh trùng nhau,

sao cho không có cạnh nào của đồ thị có mặt quá một lần trên đường đi Một

đường đi được coi là đóng hay một chu trình nếu đỉnh đầu và đỉnh cuối trùng

nhau, được coi là mở nếu đỉnh đầu và đỉnh cuối khác nhau Đường đi quan đỉnh

được ký hiệu là Pa

Có nhiều loại đường ổi trong dé thi:

- Đường đi có hướng: là một đường đi đơn trong đó mọi cung đều theo cùng

một hướng, nghĩa là mọi đỉnh trên đó đều có bậc trong và bậc ngoài bằng 1

Trong dé thị có hướng, đỉnh v được coi là đến được từ đỉnh u nếu có một đường

đi có hướng xuất phát từ u và kết thúc tại v Có thê gọi đơn giản là đường đi khi

Trang 6

Hình 1.3 Đường di của một đồ thị qua các đỉnh l— 2— 3— 4-— 5— 6

1.14 Khuyên (Loop)

Cạnh có hai đầu trùng nhau (cùng một đỉnh) được gọi là khuyên

Hình 1.4 Đô thị có khuyên lại đính SỐ 2

1.1.5 Ma trận kê đô thị (Adjacency Matrix)

Trong Toán học và Khoa học máy tính, ma trận kề của một đồ thị hữu hạn G

gồm n đỉnh là một ma trận vuông n x n

Trong đó:

- Các ô không nằm trên đường chéo chính a¡ là số cạnh nối hai đỉnh ¡ và j

- Các ô nằm trên đường chéo chính a¡ là hai lần số khuyên tại đỉnh i, hoặc chỉ

là số khuyên tại đỉnh đó

Mỗi đồ thị có duy nhất một ma trận kê, các đồ thị khác nhau có các ma trận kề

khác nhau Nếu đề thị là vô hướng, ma trận kè là ma trận đối xứng

Trang 7

Đối với một đồ thị vô hướng với n đỉnh, ma trận kề được ký hiệu là A voi Aj

bang I nếu có cạnh giữa đỉnh ¡ và đỉnh j, bằng 0 nếu không có cạnh Trường

hợp có hướng, A¡¡ sẽ có giá trị là L khi và chỉ khi có cạnh theo hướng từ đỉnh 1

đến đỉnh j, các gia tri Ay con lại bang 0

- Trường hợp vô hướng:

® | va 4 có cạnh nồi: Aia = Agi = L

Tương tự cho các trường hợp còn lại, đối với các cặp đỉnh không có cạnh nối

với nhau thì A¡ = A¡= 0

Ta thu được kết quả sau khi biểu diễn từ đồ thị G sang ma trận kề:

Trang 8

Hình 1.6 Ma trận kê của đồ thị G vô hướng

Trong đó dòng và cột màu vàng là danh sách các đỉnh của đồ thị vô hướng G

e | va2co | canh ndi va | di vao 2: An = 1

@ 2 va3co | canh ndi va 2 đi vao 3: Ao3 = 1

Tuong tu cho tất cả các cạnh còn lại Đối với các cặp đỉnh không có cạnh nỗi

thì A¡ = 0

Trang 9

Từ kết quả trên, ta thu được ma trận kề của đồ thị G có hướng:

Một đỗ thị đượ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ị Ngược lại, dé thị này được gọi là không liên thông

Một đồ thị không liên thông sẽ bao gồm nhiều đỗ thị con liên thông, các đồ thị

con này được gọi là cac thanh phan lién théng (connected component) D6 thị

liên thông khi và chỉ khi có một thành phân liên thông

Hinh 1.9 Cac thanh phan lién thong

Trong hình trên có 4 thành phần liên thông (Đỉnh k đứng riêng lẻ theo quy

ước cũng tính là 1 thành phần liên thông)

Các định lý của đồ thị liên thông:

- Định lý về đường di giữa 2 đỉnh bậc lẻ: Nếu một đồ thị G (không quan tâm

Trang 10

liên thông hay không) có đúng 2 đỉnh bậc lẻ, chắc chắn sẽ có một đường đi nối

2 đỉnh này

- Định lý về số cạnh của đồ thị (Định lý bắt tay): Số cạnh tối đa của một đơn

đỗ thị không liên thông G gồm n đỉnh và k thành phân là:

(n ®#(n -k?

2

Các tính chất của đồ thị liên thông:

- Đồ thị liên thông có hướng:

® Liên thông mạnh (strongly connecteđ): nêu có đường đi từ a tới b và từ b tới

a với mọi cặp đỉnh a và b của đồ thị

® Liên thông yếu (weakly connecfeđ): nêu có đường di giữa 2 đỉnh bất kỳ của

đỗ thị vô hướng tương ứng với đồ thị đã cho Tức là hủy bỏ các hướng của các

cạnh trong đồ thị

© Lién théng mét phan (unilaterally connected): Dé thi co huéng goi la liên

thông một phần nếu với mọi cặp đỉnh a, b bất kỳ, có ít nhất một đỉnh đến được

Hình 1.10 Các dạng đô thị liên thông

- Đỉnh khớp (cut vertex/ articulation point): của một đồ thị vô hướng là đỉnh

mà nếu xóa đỉnh nảy khỏi đồ thị và các cạnh nối đến nó thì số thành phần liên

thông của đồ thị sẽ tăng thêm

- Cạnh cầu (bridge): của một đồ thị vô hướng là cạnh mà nếu xóa đi khỏi đồ

thị thì số thành phần liên thông của đồ thị sẽ tăng thêm

- Đồ thị song liên thông (biconnectivity): là đồ thị không chứa đỉnh khớp

Trang 11

<—— Dinh khop

Ì Không là đê thị

Cạnh câu song liên thông

Hình 1.11 Lí dụ về các định nghĩa của đồ thị liên thông

1.2, Chu trinh Euler

1.2.1 Tổng quan

Trong lý thuyết đồ thị, một đường đi trong đồ thị G =(X, E) được gọi là đường

di Euler néu né di qua tất cả các cạnh của đỗ thị, mỗi cạnh đúng một lần Đường

đi Euler có đỉnh cuỗi cùng trùng với đỉnh xuất phát gọi là chu trinh Euler

Carl Hierholzer là người đầu tiên mô tả hoàn chỉnh đồ thị Euler vào năm 1873,

bằng cách chứng minh rằng đồ thi Euler là đồ thị liên thông không có đỉnh bậc

lẻ

1.2.2 Ý tởng

Chu trình Euler được xuất phát từ “bài toán 7 cây cầu” kinh điển do Euler giải

quyết vào khoảng năm 1737 Đề bài toán đưa ra răng:

“Thành phố Konigsberg (Nga) có 2 vùng bị ngăn cách bởi một dòng sông và

có 2 đảo ở giữa sông Có 7 chiếc cầu nối những vùng này với nhau

Hình 1.12 Hình ảnh 7 chiếc câu nối 4 vùng đất trong thành phố Komigsberg

Trang 12

Người dân trong vùng thách đồ nhau là thử tìm cách xuất phát từ một vùng đi

dạo qua mỗi chiếc cầu đúng một lần và trở về nơi xuất phat.”

Năm 1736, nhà toán học Euler (1707 - 1783) đã mô hình bài toán này bằng

một đỗ thị vô hướng với mỗi đỉnh ứng với một vùng, mỗi cạnh ứng với một

chiếc cầu

Hình 1.13 Đô thị vô hướng được mô hình hóa từ bài toản 7 chiếc câu

1.2.3 Điều kiện của chu trình

Đối với đồ thị vô hướng:

- Đồ thị sẽ có chu trình Euler nếu:

® Các đỉnh có bậc khác 0 của đồ thị liên thông với nhau

® Tắt cả các đỉnh của đồ thị đều có bậc chẵn

- Đồ thị sẽ có đường đi Euler nếu:

® Các đỉnh có bậc khác 0 của đồ thị liên thông với nhau

e Đồ thị có 2 đỉnh có bậc lẻ hoặc không có đỉnh nào có bậc lẻ Trong trường

hợp có 2 đỉnh bậc lẻ thì đường đi sẽ bắt đầu từ đỉnh bậc lẻ thứ nhất và kết thúc

Trang 13

Đồ thị Ga không có chu trình Euler nhưng nó có đường di Euler a, c, d, e, b, d,

a, b Vi thé G; là đồ thị nửa Euler

Đối với đồ thị có hướng:

- Đồ thị sẽ có chu trình Euler nếu:

® Các đỉnh có bậc khác 0 của đồ thị thuộc cùng một thành phần liên thông

® Mọi đỉnh thuộc đồ thị đều có số bậc trong bằng số bậc ngoài Hay nói cách

khác chính là số đường đi vào một điểm trên đồ thị bằng số đường đi từ điểm

đó đến điểm khác

- Đồ thị sẽ có đường đi Euler nếu:

® Các đỉnh có bậc khác 0 của đồ thị thuộc cùng một thành phần liên thông

e Tôn tại 2 đỉnh u, v mà de'(u) - đe(u) = 1 và đe(v) - đe*(v) = 1 Mọi đỉnh

còn lại đều có số bậc trong bằng số bậc ngoài Khi đó đường đi bắt đầu từ đỉnh

Đường đi Hamilton có nguồn gốc từ bài toán: "Xuất phát từ một đỉnh của khối

thập nhị diện đều hãy đi dọc theo các cạnh của khối đó sao cho đi qua tất cả các

đỉnh khác, mỗi đỉnh đúng một lần sau đó quay về đỉnh xuất phát." Đỗ thị này

duoc goi theo tén cua William Rowan Hamilton Bài toán được ông phát biểu

vào năm 1859

Trang 14

Hình 1.16 Khối thập nhị diện đều

1.3.2 Định nghĩa

Theo lý thuyết đồ thị, chu trình Hamilton trong một đồ thị là một đường đi qua

mỗi đỉnh của đỗ thị đúng một lần và quay về đỉnh xuất phát Nếu một đồ thị

chứa một chu trình Hamilton, nó được gọi là đồ thị Hamilton

Cho đồ thị G = (V,E), có n đỉnh Đường đi xo, xi, , Xa, Xa là đường đi

Hamilton néu V = {xo,x1, Xn-1.Xn} Xi!=xj ,0<i<j<n

Ainh 1.17 Chu trinh Hamilton

Một số định lý vé chu trinh Hamilton:

- Cho đồ thị G có n đỉnh, bao đóng cl(G) được tạo ra từ G bằng cách bô sung

cho mỗi cặp đỉnh không kề nhau u và v với đe(v) + đe(u) > n một cạnh mới uv

- Dirac (1952): Xét G là đơn đồ thị vô hướng Hamilton nếu tổng các bậc của

hai đỉnh không kề nhau đều bằng n hoặc lớn hơn

- Định lý Bondy-Chvátal(1972): Một đồ thị là Hamilton nếu và chỉ nếu bao

đóng của nó là Hamilton Vì đồ thi đầy đủ là Hamilton, nên tất cả các đồ thị mà

bao dong day du 1a Hamilton

Trang 15

- Ghouila-Houiri (1960): Mot đồ thị liên thông mạnh với n đỉnh la đồ thị

Hamilton nếu mọi đỉnh có bậc > n

- Meyniel(1973): Một đồ thị liên thông mạnh với n đỉnh là đồ thị Hamilton nếu

de(x)+de(y) > 2n-l với mọi cặp đỉnh x,y không kề nhau

Đồ thị đủ luồn là đồ thị Hamilton, với n lẻ > 3 thì Kn(Kn là đỗ thị đủ với n

đỉnh) có (n-1)/⁄2 chu trinh Hamilton đôi một không có cạnh chung

1.3.3 Điều kiện của chu trình

Không giống như đồ thị Euler, hiện nay chưa có quy tắc can va du dé kiém tra

xem một đồ thị có là Hamilton không Các kết quả có được hiện nay chỉ là các

điều kiện đủ để một đồ thị là đồ thị Hamilton hay có đường đi Hamilton

- Đồ thị đủ luôn là đỗ thị Hamilton Với n lẻ và Xị, X› và |X¡| = |Xa| = n Nếu

d, (x) 2561 mọi đỉnh x của G thi G là đô thi Hamilton

cg ? ` x ^ z x 3 re A n 4 re

- Giả sử G là đô thị vô hướng đơn gôm n đỉnh với n> 3 Nêu d ( x >—z- Với

mọi đỉnh x của G thi G có đường di Hamilton

- Giả sử G là đồ thị vô hướng đơn n đỉnh với n>3 Nếu d( } +d( ỳ >wới

mọi cặp đỉnh x,y không kể nhau của G thì G là đồ thi Hamilton

- Giả sử G là đồ thị vô hướng đơn gồm n đỉnh và m cạnh Nếu m> f -an+6

2

thì G là đồ thị Hamilton

Trang 16

Il THUẬT TOÁN

2.1 Chu trình Euler

Giải thuật của chu trình Euler được thể hiện qua các bước:

Đầu vào: Đồ thị liên thông có hướng hoặc vô hướng

Đầu ra: Một chu trình Euler nếu tồn tại, hoặc thông báo rằng không có chu

trình Euler

1 Kiểm tra tính liên thông:

- Nếu đồ thị không liên thông, thông báo rằng không có chu trình Euler

- Ngược lại, tiếp tục với bước 2

2 Kiểm tra bậc của mỗi đỉnh:

- Đối với đồ thị vô hướng: Tính bậc của mỗi đỉnh và kiểm tra xem tất cả các

đỉnh có bậc chăn không Nếu có ít hơn hoặc nhiều hơn 2 đỉnh có bậc lẻ, thông

báo rằng không có chu trình Euler

Đối với đồ thị có hướng: Kiểm tra xem mỗi đỉnh có bậc vào bằng bậc ra không

Nếu có đỉnh không thỏa điều kiện này, thông báo răng không có chu trình Euler

- Đi đến đỉnh đích của cạnh và đặt nó làm đỉnh hiện tại

5 Kiểm tra hoàn thành:

- Nếu không còn cạnh nao trong đồ thị, kiểm tra xem đỉnh hiện tại có trùng với

đỉnh xuất phát hay không

- Nếu có, thông báo rằng đã tìm thấy chu trình Euler

- Ngược lại, thông báo răng không có chu trình Euler

Thuật toán này đảm bảo mỗi cạnh của đồ thị chỉ được duyệt qua một lần và

mỗi đỉnh được ghé thăm đúng một lần, giữ cho tính chất của chu trình Euler

Ngày đăng: 14/12/2024, 15:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w