Tải bản đầy đủ (.ppt) (18 trang)

Bài giảng toán rời rạc phần đường đi euler và hamilton

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 (281.91 KB, 18 trang )

Đồ thò

7.5. Đường đi Euler và đường đi Hamilton

Tài liệu này được soạn theo sách Toán học rời rạc ứng dụng trong tin học , K. H.
Rosen, người dòch: Phạm Văn Thiều và Đặng Hữu Thònh, Nhà xuất bản Khoa học
và kỹ thuật, 1998.
Tài liệu lưu hành nội bộ

10/01/15

7.5. Đường đi Euler

1


Mở đầu
Thành phố Konigsberg thuộc Phổ (Kaliningrad, Cộng hoà Nga)
° Bài toán cầu Konigsberg: Có thể xuất phát từ một đòa điểm nào
đó trong thành phố đi qua tất cả các cầu, mỗi cầu không qua
nhiều hơn một lần, rồi lại trở về điểm xuất phát được không?
° Nhà toán học Leonhard Euler giải bài toán năm 1736.
°

C

A

D

B



10/01/15

7.5. Đường đi Euler

2


Mở đầu
C

Mô hình đa đồ thò của
thành phố
Konigsberg

A

D

B

– Bài toán cầu Konigsberg: Có tồn tại chu trình đơn trong đa đồ
thò chứa tất cả các cạnh?
– Đònh nghóa 1. Chu trình đơn chứa tất cả các cạnh của đồ thò G
được gọi là chu trình Euler. Đường đi Euler trong G là đường đi
đơn chứa mọi cạnh của G.

10/01/15

7.5. Đường đi Euler


3


Mở đầu
– Ví dụ 1. Đồ thò nào có chu trình Euler? Nếu không, có đường đi
Euler không?
a

b

a

e

d

G1

b

a

b

c

c

d


e

c

d

G2

G3

e

G1 có chu trình Euler, ví dụ a, e, c, d, e, b, a.
° G và G đều không có chu trình Euler
2
3
° G có đường đi Euler: a, c, d, e, b, d, a, b
3
° G không có đường đi Euler.
2
°

10/01/15

7.5. Đường đi Euler

4



Mở đầu
– Ví dụ 2. Đồ thò nào có chu trình Euler? Nếu không, có đường đi
Euler không?
a

b

a

b

c

d

a

b

g

f
d

c

H1

c
e


d

H2

H3

H2 có chu trình Euler: a, g, c, b, g, e, d, f, a
° H và H không có chu trình Euler
1
3
° H có đường đi Euler: c, a, b, c, d, b.
3
°

10/01/15

7.5. Đường đi Euler

5


Các điều kiện cần và đủ cho chu trình và đường đi Euler
– Đònh lý 1. Một đa đồ thò liên thông có chu trình Euler nếu và chỉ
nếu mỗi đỉnh của nó đều có bậc chẵn.
– Giải bài toán cầu Konigsberg:
° Đa đồ thò biểu diễn các cầu này có 4 đỉnh bậc lẻ nên không
tồn tại chu trình Euler.
° Không có cách nào để một người có thể xuất phát từ một
đòa điểm nào đó trong thành phố đi qua tất cả các cầu, mỗi

cầu không qua nhiều hơn một lần, rồi lại trở về điểm xuất
phát.

10/01/15

7.5. Đường đi Euler

6


Các điều kiện cần và đủ cho chu trình và đường đi Euler
– Ví dụ.

a

b

c

d

c

d

f
e

e


G

10/01/15

7.5. Đường đi Euler

H

7


Các điều kiện cần và đủ cho chu trình và đường đi Euler
















Thuật toán 1. Xây dựng chu trình Euler
procedure Euler(G: đa đồ thò liên thông với tất cả các đỉnh bậc chẵn)

chu_trình := chu trình trong G bắt đầu tại một đỉnh được chọn tuỳ ý và các
cạnh được thêm vào để xây dựng đường đi qua các đỉnh và
cuối cùng quay lại đỉnh này.
H := G với các cạnh của G sau khi bỏ đi chu_trình
while H còn các cạnh
begin
chu_trình_con := chu trình trong H bắt đầu tại đỉnh trong H cũng là
đỉnh đầu mút của một cạnh thuộc chu_trình.
H := H với các cạnh của chu_trình_con, và tất cả các đỉnh cô lập bò loại
bỏ.
chu_trình := chu_trình với chu_trình_con được chèn vào tại một đỉnh
thích hợp
end

10/01/15

7.5. Đường đi Euler

8


Các điều kiện cần và đủ cho chu trình và đường đi Euler
– Đònh lý 2. Một đa đồ thò liên thông có đường đi Euler nhưng
không có chu trình Euler nếu và chỉ nếu nó có đúng hai đỉnh
bậc lẻ.

10/01/15

7.5. Đường đi Euler


9


Các điều kiện cần và đủ cho chu trình và đường đi Euler
– Ví dụ 4. Đồ thò nào có đường đi Euler?
a

b

a

g

f

a

e
f

d

c

G1

b

c


d

G2

b

c

g
e

d

G3

G1 có đúng hai đỉnh bậc lẻ là b và d, do đó có đường đi Euler nhận b và d
là điểm đầu mút, d, a, b, c, d, b.
° G có đúng hai đỉnh bậc lẻ là b và d, do đó có đường đi Euler nhận b và d
2
là điểm đầu mút, b, a, g, b, c, g, f, c, d, f, e, d.
° G có 6 đỉnh bậc lẻ nên không có đường đi Euler.
3
°

10/01/15

7.5. Đường đi Euler

10



Đường đi và chu trình Hamilton


Đònh nghóa 2. Đường đi x0, x1 ,…, xn − 1 , xn trong đồ thò G = (V, E)
được gọi là đường đi Hamilton nếu V = {x0 , x1 ,…, xn − 1 , xn} và xi ≠ xj
với 0 ≤ i < j ≤ n. Chu trình x0 , x1 ,…, xn − 1 , xn , x0 (n > 1) trong đồ thò G
= (V, E) được gọi là chu trình Hamilton nếu x0 , x1 ,…, xn − 1 , xn là
đường đi Hamilton.

10/01/15

7.5. Đường đi Euler

11


Đường đi và chu trình Hamilton

a

– Ví dụ 5. Đồ thò đơn nào có chu trình Hamilton? Nếu không, có
đường đi Hamilton không?
b

c

e

G1


d

a

b

a

b

g

d

c

d

c

e

G2

f

G3

G1 có chu trình Hamilton a, b, c, d, e, a.

° G không có chu trình Hamilton vì bất cứ chu trình nào chứa mọi đỉnh cũng
2
phải chứa cạnh {a, b} hai lần, nhưng G2 có đường đi Hamilton: a, b, c, d.
° G không có chu trình Hamilton, không có đường đi Hamilton, vì bất kỳ
3
đường đi nào chứa mọi đỉnh cũng phải chứa một trong các cạnh {a,b}, {c,d},
{e,f} quá một lần.
°

10/01/15

7.5. Đường đi Euler

12


Đường đi và chu trình Hamilton
– Ví dụ 6. G và H đều không có chu trình Hamilton.
a

d

e

a

d
c

b


c

b

G

e

H

G không có chu trình Hamilton, vì có đỉnh bậc 1 (đỉnh e).
° Các đỉnh a, b, d, e có bậc là 2 nên mọi cạnh liên thuộc với chúng
phải thuộc chu trình Hamilton nào đó. Không tồn tại chu trình
Hamilton trong H vì nếu ngược lại thì chu trình đó phải chứa cả 4 cạnh
liên thuộc với c, đây là điều không thể.
°

10/01/15

7.5. Đường đi Euler

13


Đường đi và chu trình Hamilton
– Đònh lý 3. Giả sử G là một đơn đồ thò liên thông với n đỉnh trong
đó n ≥ 3, khi đó G có chu trình Hamilton nếu bậc của mỗi đỉnh ít
nhất bằng n/2.


10/01/15

7.5. Đường đi Euler

14


Đường đi và chu trình Hamilton
– Ví dụ 8. Vò trí của kim chỉ thò xoay tròn có thể được biểu diễn
dưới dạng số.
° Chia đường tròn thành 2 n cung, mỗi cung ứng với một sâu
nhò phân chiều dài n.
° Biểu diễn số của vò trí của kim chỉ thò được xác đònh bằng n
chổ tiếp xúc; mỗi tiếp xúc tương ứng với một bit.

10/01/15

7.5. Đường đi Euler

15


Đường đi và chu trình Hamilton
– Ví dụ 8. (tiếp theo)
° Có thể lầm lẫn khi kim ở ranh của cung, vì vò trí tương đối
của các cung với nhau thường không chính xác!

10/01/15

7.5. Đường đi Euler


16


Đường đi và chu trình Hamilton
– Ví dụ 8. (tiếp theo) Mã Gray
° Mã Gray là cách gán nhãn cho các cung của đường tròn sao
cho các cung kề nhau được gán bằng các xâu khác nhau
đúng một bit.
° Giải:
– Mô hình bài toán bằng khối n chiều Qn ,
– Tìm chu trình Hamilton trong Qn .
111

110
100

101
011

010
000

10/01/15

001

7.5. Đường đi Euler

17



10/01/15

7.5. Ñöôøng ñi Euler

18



×