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

Sử dụng lí thuyết đồ thị giải các bài toán trò chơi

39 52 0

Đ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

Tiêu đề Sử Dụng Lý Thuyết Đồ Thị Giải Các Bài Toán Trò Chơi
Tác giả Phạm Thị Mỵ
Người hướng dẫn PGS.TS. Trần Xuân Sinh
Trường học Trường Đại Học Vinh
Chuyên ngành Khoa Học Toán
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2008
Thành phố Vinh
Định dạng
Số trang 39
Dung lượng 628,22 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các bài toán ứng dụng quan trọng của thuyết đồ thị như Bài toán đường đi ngắn nhất, Bài toán cây bao trùm ngắn nhất, Trò chơi Nim… và những thuật toán để giải quyết chúng đã được trình b

Trang 1

TRƯỜNG ĐẠI HỌC VINH

CHUYÊN NGÀNH: TOÁN TIN ỨNG DỤNG

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Trần Xuân Sinh NGƯỜI THỰC HIỆN: Phạm Thị Mỵ

Lớp 45B Toán

VINH - 2008

Trang 2

MỤC LỤC trang Mở đầu 3

Chương 1 Một số bài toán cơ bản của lý thuyết đồ thị 4

1.1 Định nghĩa đồ thị 4

1.2 Các bài toán về đường đi 10

1.3 Nhân của đồ thị 17

1.4 Cây bao trùm 18

1.5 Sắc tính của đồ thị 20

Chương 2 Một số bài toán trò chơi trên đồ thị 22

2.1 Các bài toán sử dụng đồ thị hai phía 22

2.2 Các bài toán sử dụng đường đi ngắn nhất 23

2.3 Các bài toán sử dụng tập ổn định ngoài của đồ thị 27

2.4 Các bài toán sử dụng tìm nhân cuả đồ thị 28

2.5 Các bài toán sử dụng tìm cây bao trùm ngắn nhất 32

2.6 Bài toán bốn màu 35

Kết luận 38

Tài liệu tham khảo 39

Trang 3

MỞ ĐẦU

Lý thuyết đồ thị là một ngành toán học hiện đại, có những ứng dụng quan trọng trong nhiều lĩnh vực khoa học và kĩ thuật khác nhau: điều khiển học, lý thuyết trò chơi, thông tin học, kỹ thuật điện, lý thuyết tập hợp, lý thuyết ma trận, một số vấn đề về vật lý, hoá học, sinh vật học, công nghệ thông tin Đặc biệt trong những năm gần đây lý thuyết đồ thị đã trở thành một trong những công cụ đắc lực nhất của công nghệ thông tin và trong lý thuyết tối ưu Trong nhiều bài toán thực tế thường dẫn tới bài toán tối ưu trên đồ thị Một lớp trong các bài toán

tối ưu đó là bài toán trò chơi Một bài toán được gọi là bài toán trò chơi nếu có

thể xác định được đấu thủ, trong đó mỗi đấu thủ luôn muốn giành nhau phần ưu thế về mình Để hiểu biết rõ hơn về những ứng dụng của lý thuyết đồ thị trong

các trò chơi, chúng tôi lựa chọn đề tài luận văn Sử dụng lý thuyết đồ thị giải các bài toán trò chơi Việc sử dụng lý thuyết đồ thị để giải các bài toán trò chơi đã

được nhiều nhà toán học quan tâm và nhiều tài liệu đề cập tới (Chẳng hạn các tài liệu [1], [2], [3], [4], [5])

Nội dung khoá luận được trình bày thành hai chương

Chương 1 trình bày một số bài toán cơ bản của lý thuyết đồ thị

Chương 2 trình bày một số bài toán trò chơi trên đồ thị có những ứng dụng rộng rãi trong thực tế Các bài toán ứng dụng quan trọng của thuyết đồ thị như Bài toán đường đi ngắn nhất, Bài toán cây bao trùm ngắn nhất, Trò chơi Nim…

và những thuật toán để giải quyết chúng đã được trình bày chi tiết

Khoá luận được viết dựa trên những tài liệu cơ sở của Lý thuyết đồ thị và Toán rời rạc xuất hiện trong vài chục năm gần đây Tuy nhiên, do trình độ bản thân còn hạn chế nên khoá luận không thể tránh khỏi những thiếu sót, nhầm lẫn hoặc chưa hiểu sâu vấn đề Bản thân tác giả mong được sự góp ý, phê bình, tha thứ và giúp đỡ của các thầy cô giáo giảng dạy và hướng dẫn viết luận văn, cũng như ban chủ nhiệm Khoa Toán - Trường Đại học Vinh

Tác giả xin chân thành cảm ơn sự giúp đỡ hướng dẫn tận tình của các thầy

cô giáo trong tổ Xác suất - Toán ứng dụng - Khoa Toán, đặc biệt là thầy giáo

Trần Xuân Sinh đã giúp tác giả hoàn thành khoá luận này Tác giả

Trang 4

Chương 1

MỘT SỐ BÀI TOÁN CƠ BẢN CỦA LÝ THUYẾT ĐỒ THỊ

1.1 Định nghĩa đồ thị

1.1.1 Các khái niệm cơ bản

Cho tập hợp U bao gồm các phần tử rời rạc và tập V là tập hợp các phần tử thuộc U×U Khi đó ta có tập hợp G = (U, V) được gọi là đồ thị xác định bởi tập

đỉnh U và tập cạnh V Như vậy, đồ thị là một cấu trúc rời rạc được tạo nên bởi

các cạnh và đỉnh Cho hai phần tử a, b U, nếu (a, b)V thì ta nói cạnh (a, b) liên thuộc a (liên thuộc b) Số cạnh liên thuộc a gọi là cấp (hoặc bậc) của đỉnh a,

ký hiệu là deg(a) Hai đỉnh a, b có cạnh (a, b) thuộc G thì ta nói hai đỉnh kề nhau

Ví dụ Cho đồ thị thể hiện các vị trí đặt máy tính bởi các đỉnh và các cạnh

là kênh thoại nối chúng (xem hình 1)

Đồ thị G cho trong Hình 1, có 12 đỉnh, 15 cạnh Các đỉnh a, b, c, m, s là các đỉnh bậc 1; đỉnh h là đỉnh bậc 2; các đỉnh d, p là các đỉnh bậc 3; các đỉnh g, n, q

d e g h r

Trang 5

+ Nếu bất kỳ cặp phần tử của U đều gồm hai phần tử khác nhau, không lặp lại và không có thứ tự thì ta có đơn đồ thị vô hướng (hình 1)

+ Nếu bất kỳ cặp phần tử của U đều gồm hai phần tử khác nhau và không

có thứ tự thì ta có đa đồ thị vô hướng Hai cạnh cùng chung với một cặp đỉnh gọi là cạnh lặp (hình 2)

Rõ ràng mỗi đơn đồ thị đều là đa đồ thị, nhưng ngược lại thì không đúng

+ Nếu bất kỳ cặp phần tử của U đều gồm hai phần tử không có thứ tự (không nhất thiết khác nhau) thì ta có giả đa đồ thị vô hướng Cạnh cùng chung với một đỉnh gọi là khuyên (hình 3)

+ Một đồ thị G = (U, V) nếu các cạnh của V được xác định bởi cặp đỉnh thuộc U có thứ tự thì G được gọi là đồ thị có hướng Khi G là đồ thị có hướng thì các cạnh (a, b) được gọi là các cung; đỉnh a được gọi là đỉnh đầu, đỉnh b được gọi là đỉnh cuối; trong trương hợp này ta cũng nói cung (a, b) đi ra khỏi a

và đi vào b Để phân biệt với đồ thị có hướng và đồ thị vô hướng trên các cung

người ta xác định theo mũi tên (→) để chỉ chiều của cung (hình 4)

+ Cho đồ thị có hướng G = (U, V) Ta gọi bán bậc ra (bán bậc vào) của đỉnh

tự kí hiệu là deg−(a)) Chẳng hạn trong Hình 4 thì deg+(d) = 3, deg(d) = 1

Đồ thị vô hướng được sinh ra từ đồ thị có hướng khi bỏ qua chiều thứ tự

của các cung được gọi là đồ thị vô hướng tương ứng với đồ thị có hướng đã cho

Trang 6

1.1.2.Một số tính chất chung của đồ thị

Định lý 1.1.2.1 Cho G = (U, V) là đồ thị vô hướng có m cạnh Khi đó ta có

U v

deg(v) = 2m

Chứng minh: Rõ ràng mỗi cạnh e = (u, v) được tính một lần trong deg(u) và

một lần trong deg(v) Từ đó cho thấy tổng số các bậc của đỉnh bằng 2 lần số

cạnh Đó là điều phải chứng minh 

Định lý 1.1.2.2 Cho đồ thị vô hướng G = (U, V) với n đỉnh Khi đó số đỉnh

Số trên không nguyên (không chia hết cho 2), đó là điều mâu thuẫn Vậy

số đỉnh lẻ phải là số chẵn Đó là điều phải chứng minh

Định lý 1.1.2.3

U v

deg + (v) =

U v

deg ─ (v) = m

Định lý 1.1.2.3 được suy trực tiếp từ định nghĩa đồ thị có hướng vì mỗi cung chỉ được tính 1 lần trong bán bậc của mỗi đỉnh

1.1.3 Đường đi, chu trình Đồ thị liên thông

Định nghĩa Cho đồ thị vô hướng G = (U, E) và số nguyên dương n Ta

nói đường đi độ dài n từ đỉnh a đến đỉnh b trên đồ thị G là dãy các đỉnh

Đường đi nói trên còn có thể biểu diễn bởi dãy cạnh liên tiếp

{(xo, x1), (x1, x2), … , (x n-1 , x n)}

Đỉnh a gọi là đỉnh đầu, đỉnh b là đỉnh cuối của đường đi

Lúc này ta cũng nói tồn tại đường đi nối a với b

Đường đi có đỉnh đầu trùng với đỉnh cuối (a ≡ b) gọi là chu trình

Đường đi hay chu trình được gọi là đơn nếu như không có cạnh nào lặp lại Đưòng đi hay chu trình được gọi là sơ cấp nếu như không có đỉnh nào lặp lại

Trang 7

Khái niệm đường đi và chu trình với đồ thị có hướng được định nghĩa giống như với đồ thị vô hướng Tuy nhiên, cần phân biệt đường đi được thực hiện đúng theo các cung có hướng

Ví dụ 1 Xét đồ thị ở hình 3

Đường đi {d, n, e, g, q} là đường đi đơn từ d tới q có độ dài 4 Còn dãy

{d, n, e, b, g, c} không phải đường đi vì cạnh (b, g) không thuộc E Dãy {g, q, h} là chu trình độ dài 3 Đường đi {d, e, n, d, e, g} có độ dài 5 là đường đi không đơn vì cạnh (d, e) có mặt hai lần

Cho đồ thị vô hướng G = (U, E) Đồ thị G được gọi là liên thông nếu tồn

tại đường đi nối hai đỉnh bất kỳ của nó

Tương tự đồ thị có hướng G =(U, E) được gọi là liên thông mạnh nếu tồn tại đường đi nối hai đỉnh bất kỳ của nó Đồ thị có hướng G = (U, E) được gọi là

liên thông yếu nếu đồ thị vô hướng tương ứng là liên thông

Chú ý rằng đồ thị liên thông mạnh thì liên thông yếu, nhưng ngược lại thì

hướng các cạnh để có đồ thị liên thông gọi là đồ thị định hướng được

Định lý 1.1.3.1 Đồ thị liên thông vô hướng G là định hướng được khi và

chỉ khi mỗi cạnh của nó nằm trên ít nhất một chu trình

Chứng minh xem tài liệu [2]

1.1.4 Một số đồ thị dạng đặc biệt

Trong nhiều bài toán thực tế và ứng dụng thường gặp các dạng đồ thị đặc biệt sau đây

a) Đồ thị đầy đủ Cho đơn đồ thị vô hướng G = (U, V) có n đỉnh Đồ thị G

được gọi là đầy đủ, ký hiệu K n nếu giữa hai đỉnh bất kỳ của nó luôn có một cạnh

nối Chẳng hạn các đồ thị K3, K4, K5 cho trong hình 5

Trang 8

Hình 5 Đồ thị đầy đủ

nhất trong các đồ thị có cùng số đỉnh

b) Đồ thị hai phía Đơn đồ thị G = (U, V) được gọi là đồ thị hai phía nếu

như tập đỉnh được phân hoạch thành hai tập hợp X, Y sao cho mỗi cạnh của đồ thị chỉ nối một đỉnh của X với đỉnh của Y Khi đó thay vì kí hiệu đồ thị G = (U, V)

ta sử dụng kí hiệu G = (X Y, V) để chỉ đồ thị hai phía với tập đỉnh X Y

Để nhận biết đồ thị hai phía ta để ý tới định lý sau đây

Định lý 1.1.4.1 Đơn đồ thị G là hai phía khi và chỉ khi nó không chứa chu

trình độ dài lẻ

Để kiểm tra xem một đơn đồ thị có phải là hai phía hay không, ta thực hiện

các bước sau đây:

Bước 1 Chọn d là một đỉnh bất kì của đồ thị Đặt X = {d} và Y là các đỉnh kề

của d

Bước 2 Kí hiệu X’ là tập các đỉnh kề của các đỉnh thuộc Y

+ Nếu Y X’ ≠  thì đồ thị không phải hai phía, kết thúc

+ Ngược lại, gán X := X’, trở lại bước 1

Cho đồ thị hai phía G = (X Y, U) với X có m đỉnh, Y có n đỉnh G được gọi là đồ thị hai phía đầy đủ, ký hiệu là K m.n , nếu mỗi đỉnh trong tập X đều có cạnh nối với mọi đỉnh trong Y

Trang 9

c) Đồ thị phẳng Đồ thị G = (U, V) được gọi là đồ thị phẳng nếu ta có thể

vẽ nó trên một mặt phẳng sao cho các cạnh của nó không cắt nhau ngoài các

đỉnh Cách vẽ như vậy được gọi là biễu diễn phẳng của đồ thị

Hình 7 Đồ thị phẳng

Để kiểm tra một đồ thị có phải là đồ thị phẳng hay không, ta có thể sử dụng định lý Kuratovski sau đây

Định lý 1.1.4.2 (Định lý Kuratovski) Đồ thị G là phẳng khi và chỉ khi nó

Đồ thị K3.3 và đồ thị K5 không phải là đồ thị phẳng

Bài toán tìm đồ thị phẳng là bài toán thông dụng trong nhiều bài toán thực

tế Chẳng hạn: Bài toán chế tạo mạch in trong công nghệ nối mạch điện; Bài toán về xây dựng đường cấp nước, điện, hơi đốt cho ba căn hộ sao cho các đường nối không cắt nhau

Việc biểu diễn phẳng của đồ thị sẽ chia cắt mặt phẳng thành nhiều miền (mảnh, phần), trong đó có cả miền không bị chặn

Ta hãy xem công thức Euler về đồ thị phẳng chia mặt phẳng ra sao

Định lý 1.1.4.3 (Công thức Euler) Giả sử G là đồ thị phẳng, liên thông, với

n đỉnh, m cạnh Gọi r là số miền (mảnh, phần) bị chia bởi biểu diễn phẳng của G Khi đó ta có

r = m – n + 2

Hệ quả: Trong một đơn đồ thị phẳng phải có ít nhất một đỉnh bậc không lớn hơn 5

Chứng minh: Xét đơn đồ thị G = (U, V) Vì G là đơn đồ thị nên mỗi phần

mặt phẳng giới hạn bởi ít nhất 3 cạnh, lại vì mỗi cạnh chỉ chung cho nhiều nhất

2 phần mặt phẳng, nên 3r ≤ 2m Nếu mọi đỉnh đều có bậc ≥ 6 thì vì mỗi cạnh liên thuộc hai đỉnh, khi đó ta có 6n ≤ 2m hay là 3n ≤ m Cộng từng vế hai bất đẳng

Trang 10

thức trên ta được 3(r + n) ≤ 3m, hay là r + n ≤ m, trái với công thức Euler r + n = m + 2

Mâu thuẫn cho ta điều kết luận của hệ quả

Ví dụ 1 Giả sử có 3 nhà máy nhiệt điện và 3 mỏ than Người ta muốn làm

những con đường đi từ mỗi nhà máy tới mỏ than mà lại không cắt nhau Có thể

được không?

Đây là một bài toán khá nổi tiếng Nếu giả sử rằng những con đường ấy

không cắt nhau thì ta được một đồ thị phẳng với 6 đỉnh: a, b, c, a’, b’, c’, trong

đó mỗi đỉnh a, b, c, đều được nối với mỗi đỉnh a’, b’, c’ bằng 1 cạnh Nhưng

dựa vào các kết quả trên, có thể thấy ngay điều đó là vô lý Thật vậy n = 6, nên theo công thức

Euler r = m – n + 2 = 5

Ở đây mỗi phần mặt phẳng được tạo

nên từ đồ thị được giới hạn bởi ít nhất 4

cạnh (vì nếu 3 cạnh thì hoá ra 3 cạnh ấy

phải nối hai nhà máy hoặc hai mỏ than: điều này là ngoài thiết kế của bài toán đã

nêu); đồng thời mỗi cạnh là biên chung cho hai phần mặt phẳng cho nên 4r ≤ 2m

tức 4  5 ≤ 2  9, vô lý Vậy không thể có những con đường như trên

1.2 Các bài toán về đường đi

Trong một đồ thị G = (A, U), cho hai đỉnh a và b Người ta có thể nêu lên

ba vấn đề sau đây:

1) Tìm một đường đi từ a tới b?

2) Tìm một đường đi sơ cấp từ a tới b, qua mọi đỉnh của đồ thị?

3) Tìm một đường đi đơn giản từ a tới b, qua mọi cạnh của đồ thị?

Vấn đề thứ hai phức tạp cho nên ở đây ta xét đến hai vấn đề 1) và 3)

1.2.1 Bài toán mê lộ Theo thần thoại Hylap, người anh hùng Têzê đã liều mình

vào mê lộ (nơi có nhiều lối đi ngoắt ngoéo dễ lạc) tìm giết con quỉ Minoto Để

giúp anh khỏi lạc lối, nàng Arianđưa cho Têzê một cuộn chỉ, và cầm lấy đầu

a b c

a’ b’ c’

Hình 8

Trang 11

mối Khi Têzê đi sâu vào mê lộ thì kéo dần cuộn chỉ ra và đến lúc quay về thì cuộn chỉ lại để lần theo đó mà ra khỏi mê lộ

Câu chuyện thần thoại này gần đây đã được các nhà toán học nhắc tới nhiều, vì

nó bao hàm một ý nghĩa khoa học sâu sắc có liên quan tới điều khiển học hiện đại Nếu ta xem các ngã ba, ngã tư, v.v… là những đỉnh, các đoạn đường nối

hai ngã là những cạnh, thì ta có một đồ thị G (hình 9) Gọi chỗ đứng của Arian

là a, và chỗ ở của con quỉ Minôto là b, thì vấn đề của Têzê chính là tìm xem từ a

có thể đi tới b được không và nếu được thì bằng con đường nào?

* Thuật toán 1 G Tarry đã đưa ra thuật toán đơn giản như sau để giải bài toán

Bước 1 Từ a hãy đi theo một cạnh

Bước k (k = 2, …) Khi ở đỉnh b không được chọn cạnh đã dẫn mình tới b

(trừ khi không có cách nào khác thì phải quay lui)

Chú ý: Không bao giờ được đi theo một cạnh hai lần cùng chiều

Định lý 1.2.1.1 Nếu xuất phát từ a và theo dúng theo qui tắc Tary thì sau

một số hữu hạn giai đoạn sẽ tới b hoặc sẽ phát hiện rằng không có đường đi tới b

Trang 12

Chứng minh xem tài liệu [4]

*Thuật toán 2 Nếu muốn tìm đường đi sơ cấp từ a tới b thì phải theo một

thuật toán hơi khác Trong mỗi giai đoạn của quá trình tìm đường đi, ta gọi những cạnh chưa đi qua lần nào là “cạnh xanh”, những cạnh đã qua một lần là

“cạnh vàng” Khi tới mỗi điểm e ≠ b thì người kia kiểm tra lần lượt từng trường

hợp dưới đây (theo đúng thứ tự) và làm theo trường hợp đầu tiên xảy ra:

1) Có hai cạnh vàng liên thuộc e: quay lại theo cạnh vừa mới dẫn tới e; 2) Có một cạnh xanh liên thuộc e: đi theo cạnh đó;

3) e = a dừng lại;

4) Có một cạnh vàng duy nhất liên thuộc e: đi theo cạnh đó

Có thể chứng minh rằng ngoài ra không có trường hợp nào khác và sau một

số hữu hạn giai đoạn thì người kia sẽ tới b (nếu có đường đi từ a tới b), hoặc sẽ dừng ở a (nếu không có đường đi từ a tới b) Nếu người ấy dùng một cuộn chỉ

như Têzê thì trong trường hợp 1) và 4) anh ta cuốn chỉ lại, trong trường hợp 2)

anh ta kéo chỉ ra Mỗi lần tới một đỉnh e (nói riêng, khi tới b) thì sợi chỉ nằm theo một đường đi sơ cấp từ a tới e Dĩ nhiên đường đi đó tạo nên do các cạnh

vàng ở giai đoạn ấy

1.2.2 Đường đi ngắn nhất

1.2.2.1 Đồ thị vô hướng liên thông không có trọng số Khi đó đường đi từ

đỉnh a tới đỉnh b là dãy (n+1) đỉnh a = x0, x1, x2, …, x n = b Độ dài đường đi được hiểu là số cạnh n trên đường đi

Bài toán đường đi ngắn nhất từ a tới b là tìm cực tiểu của n

Ta có thuật toán sau đây để tìm đường đi ngắn nhất từ đỉnh a tới đỉnh b

Trang 13

Bằng cách đó, sau n bước, đỉnh b sẽ được đánh số n Để tìm đường đi, ta xuất phát từ b, tìm đỉnh có đánh số n - 1 là đỉnh x n-1 , gán b := x n-1 và tiếp tục như

đã làm với b Bằng cách đó ta được tất cả các đường đi từ a tới b với độ dài n bé nhất

1.2.2.2 Đồ thị vô hướng liên thông có trọng số

Trong trường hợp này, đường đi ngắn nhất được hiểu là tổng các trọng số

trên đường đi từ đỉnh a tới đỉnh b là bé nhất

a) Định nghĩa Cho đồ thị vô hướng G = (U, V) Mỗi cạnh (i, j)V đặt

tương ứng giá trị số a[i, j] gọi là trọng số của cạnh Khi đó đồ thị G gọi là đồ thị

có trọng số

Ví dụ

+) Bản đồ giao thông đường bộ với trọng số của mỗi con đường là độ dài +) Bản đồ giao thông của một địa phương nào đó với trọng số của một cạnh (một cung) là khả năng thông qua của đường

Giả sử cần tìm đường đi từ a tới b được đường đi S = {a = x0, x1, … , x n = b}

Ký hiệu L(S) = 

1 0

Đường đi S từ a tới b là ngắn nhất khi và chỉ khi trên mỗi đỉnh i tìm được các số

∂ i sao cho ∂ j - ∂ i ≤ a[i, j], (i, j) V và ∂ p - ∂ q = a[x p , x q ] với mọi cạnh (x p , x q)  S

Chứng minh xem tài liệu [2]

Trang 14

Ta có thuật toán tìm đường đi ngắn nhất từ đỉnh a tới đỉnh b

Thuật toán (Ford)

Bước 1 Gán cho a giá trị ∂0 = 0 và mọi đỉnh i thuộc U, gán ∂ i := + ∞

Bước 2 Điều chỉnh ∂ i bằng cách hễ thấy cạnh (i, j) mà ∂ j – ∂ i > a[i, j]

thì gán ∂ j := ∂ i + a[i, j] Cứ tiếp tục như vậy cho đến khi các cạnh thoả mãn điều

kiện của định lý

Bước 3 Tìm đường đi ngắn nhất

Xuất phát từ đỉnh b đã được gán giá trị ∂ n Tìm đỉnh x n-1 có ∂ n -∂ n-1 = a[x n-1 , x n]

Do quá trình xác định các giá trị ∂ như đã nêu nên đỉnh x n-1 như vậy phải

tồn tại Gán x n-1 := x n

1.2.3 Đường đi Euler

Ở mục giải trí một số báo người ta thường gặp câu đố cho trước một hình

vẽ Chẳng hạn hình 10a) hay 10b) hãy vẽ hình ấy bằng một nét bút liền (không

được dở bút khỏi trang giấy trong khi vẽ) Sau khi vẽ thử ta thấy hình 10a) thì vẽ

được bằng một nét, nhưng hình 10b) thì không vẽ được Tại sao?

Hình 10

Người ta kể rằng trước đây hơn hai trăm năm ở một thành phố tên là

Koenisberg nhiều người đã từng thắc mắc vấn đề như sau: thành phố có 7 cầu

bắc qua sông như trong hình 11, có thể nào đi dạo chơi qua khắp các cầu, nhưng

mỗi cầu chỉ đi một lượt thôi? Nếu ta coi mỗi khu vực a, b, c, d của thành phố

như một đỉnh, mỗi cầu như một cạnh nối hai đỉnh, thì bản đồ thành phố

Trang 15

Lúc đó thắc mắc của dân thành phố chính là bài toán có vẽ được hình 12

bằng một nét bút liền hay không?

Bài toán này trông có vẻ đơn giản nhưng không phải dễ Người đầu tiên đã

chú ý tới nó và giải quyết nó một cách chặt chẽ là nhà toán học nổi tiếng Euler

Nói theo danh từ chính xác thì vấn đề ở đây là trong một đa đồ thị G cho

trước, hãy tìm một đường đi nối hai đỉnh a và b, và đi qua mỗi cạnh của đa đồ

thị một lần và chỉ một lần thôi Một đường đi như thế gọi là một đường đi Euler

từ a tới b Nếu đường đi khép kín (a và b trùng nhau) thì nó cũng gọi là một chu

trình Euler của đa đồ thị

Ta gọi bậc của mỗi đỉnh trong một đồ thị là số cạnh liên thuộc nó Lời giải

tổng quát cho bài toán trên nằm trong định lý sau đây

Định lý 1.2.3.1

1) Muốn cho một đa đồ thị có một đường đi Euler từ a đến b, điều kiện cần

và đủ là nó phải liên thông và mọi đỉnh của nó đều có bậc chẵn, chỉ trừ a và b

có bậc lẻ

2) Muốn cho một đa đồ thị có một chu trình Euler, điều kiện cần và đủ là

nó phải liên thông, và mọi đỉnh của nó đều có bậc chẵn

Chứng minh xem tài liệu [4]

Dưới ánh sáng định lý nên ta thấy rõ đồ thị 10a) có thể vẽ được bằng một

nét, còn hai đồ thị 10b) và 12 thì không vẽ được

Ta có thuật toán như sau để tìm đường đi Euler từ đỉnh a tới đỉnh b

* Thuật toán 1 Sau khi mọi cạnh của đồ thị đã được đánh số rồi (không

còn cạnh trắng) thì ta xuất phát từ a, và theo đúng qui tắc sau đây để đi tới b:

mỗi khi tới một đỉnh nào đó thì đi theo một cạnh đã đánh số với số cao nhất

trong tất cả các cạnh chưa dùng Rõ ràng làm như vậy ta sẽ đi theo đúng đường

* Thuật toán 2 (Fleury)

Bước 1 Xuất phát từ đỉnh lẻ a (nếu không có đỉnh lẻ thì xuất phát từ một

đỉnh a bất kỳ)

Bước k (k = 1, 2, …) Giả sử ta đang ở đỉnh k

k.1 Mỗi lần đi qua mỗi cạnh thì “xoá” cạnh đó đi

Trang 16

k.2 Kiểm tra xem: Cạnh đi tiếp theo (kề k) có phải là “cầu” của đồ thị còn

lại sau khi “xoá” hay không?

+ Nếu đúng, không đi theo cạnh đó, trở lại bước k.2

+ Nếu sai, đi theo cạnh đó, sau đó trở lại bước k.1

Sau hữu hạn bước thì sẽ kết thúc ở đỉnh lẻ thứ hai b (nếu không có đỉnh lẻ thì có chu trình, trở lại a = b)

Định lý 1.2.3.2 Muốn cho v là hành trình ngắn nhất, điều kiện cần và đủ

là trên mọi chu trình sơ cấp của đồ thị G tổng số độ dài các cạnh kép của G(v) không vượt quá tổng số độ dài các cạnh đơn

Chứng minh xem tài liệu [4]

Định lý trên đưa đến thuật toán sau đây

* Thuật toán Trên đồ thị G cho trước, tìm các đỉnh bậc lẻ (theo định lý

1.1.2.2, số đỉnh này bao giờ cũng là số chẵn), rồi vẽ kép một số cạnh để biến các đỉnh ấy thành bậc chẵn Kiểm tra xem có chu trình nào trên đó tổng số độ dài các cạnh kép lớn hơn tổng số độ dài các cạnh đơn không: nếu có thì điều chỉnh bằng cách đổi cạnh kép trên chu trình ấy thành đơn và ngược lại Khi nào không còn chu trình phải điều chỉnh, thì chu trình Euler trên đa đồ thị tương ứng cho ta lời giải

Ví dụ Một chiếc xe đi tưới đường trong một khu vực (hình 13) Mỗi đường cần tưới một lần Đi thế nào cho tiết kiệm?

Hành trình nên đi là chu trình Euler của đa đồ thị đã vẽ

Hình 13

Trang 17

1.3 Nhân của đồ thị

1.3.1 Số ổn định trong

Cho đồ thị vô hướng G = (U, V) và A U

Tập A được gọi là ổn định trong của đồ thị nếu hai đỉnh bất kì a, b thuộc A

là không kề nhau, tức là không có cạnh nào của đồ thị nối hai đỉnh a và b

Nếu tập ổn định trong A không nằm trong bất kì tập ổn định trong nào khác

A thì ta nói A là tập ổn định trong cực đại

Số đỉnh của tập ổn định trong cực đại được gọi là số ổn định trong của đồ thị

1.3.2 Số ổn định ngoài

Cho đồ thị vô hướng G = (U,V) và B U

Tập B được gọi là ổn định ngoài của đồ thị nếu với mỗi đỉnh bất kì b không thuộc B đều tồn tại đỉnh a thuộc B sao cho có cạnh nối giữa a với b (đôi khi người ta gọi B là tập thống trị của đồ thị)

Tập ổn định ngoài B nằm trong mọi tập ổn định ngoài thì ta gọi là tập ổn

định ngoài cực tiểu

Số đỉnh của tập ổn định ngoài cực tiểu gọi là số ổn định ngoài của đồ thị

Kí hiệu số ổn định ngoài của đồ thị G là (G) = B

*Thuật toán tìm số ổn định ngoài (hay bài toán đặt vọng giác)

Bước 1 Với mỗi x i U, ta ký hiệu tập

∆(x i) =  x i , y : y kề với x i , y U

Bước 2 Giả sử bước 1 xác định các tập ∆(x i ), i = 1, 2, , n Ta tìm tập B là

hợp một số tập (x i ) sao cho B U, có số phần tử ít nhất mà ∆(B) = U Khi đó B

là tập ổn định ngoài cực tiểu của đồ thị

Ví dụ Có một bản đồ nhà tù theo sơ đồ hình 14 Cần đặt các vọng giác để kiểm tra tất cả các cửa nhà tù được đánh số như sơ đồ Hỏi nên đặt vọng giác ở đâu để chỉ cần số vọng giác ít nhất mà quan sát được tất cả cửa nhà tù

Trang 18

Giải Để giải quyết bài toán đặt ra, ta quy bài toán về việc tìn số ổn định ngoài của đồ thị tương ứng Vì vậy việc giải quyết bài toán vọng giác nên người

ta còn gọi tìm tập ổn định ngoài (số ổn định ngoài) là bài toán vọng giác

Cho đồ thị vô hướng G = (U, V) Tập A U gọi là nhân của đồ thị nếu A

vừa là tập ổn định trong vừa là tập ổn đỉnh ngoài

Nhân của đồ thị có thể có nhiều tập, nhưng người ta thường quan tâm nhân

có số phần tử ít nhất

Trở lại ví dụ đã nêu, các tập A1, A2, A3, A4 đều là nhân

1.4 Cây, cây bao trùm

VD Một mạng điện (không đấu song song) là một cây

Một cây có thể chọn một đỉnh là gốc của cây, các đỉnh treo gọi là lá, các cạnh gọi là cành

3

4

72

4

5

1 6

Trang 19

Định lý 1.4.1.1 Cho G là đồ thị n đỉnh (n ≥ 2) Các mệnh đề sau đây là

Cho đồ thị G = (U, V) và H = (U’, V’) là một cây của G H được gọi là cây

bao trùm của G nếu H không phải là đồ thị con của bất kỳ cây nào khác của G

(H là cây cực đại của G)

Định lý 1.4.2.1 Cho H là đồ thị con của một đồ thị liên thông G với n ≥ 2

đỉnh Các tính chất sau đây là tương đương:

1) H là cây bao trùm của G;

2) H là cây có n đỉnh;

3) H không chu trình và có n - 1 cạnh;

4) H không chu trình và mỗi cạnh của G mà không thuộc H tạo nên với

các cạnh của H một chu trình duy nhất

Chứng minh xem tài liệu [4]

* Thuật toán tìm cây bao trùm

Bước 1 Xuất phát từ một chu trình sơ cấp của G ta xoá đi một cạnh

Bước k (k = 1, 2, …) Tiếp tục làm như bước 1 với các chu trình còn lại

1.4.3 Cây bao trùm ngắn nhất

Ngày đăng: 02/12/2021, 23:28

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Đức Nghĩa và Nguyễn Tô Thành, Toán rời rạc, NXB Giáo dục, Hà Nội, 1999 Sách, tạp chí
Tiêu đề: Toán rời rạc
Nhà XB: NXB Giáo dục
[2]. Trần Xuân Sinh, Cở sở Toán Tin ứng dụng, Bài giảng chuyên đề, Đại học Vinh 2007 Sách, tạp chí
Tiêu đề: Cở sở Toán Tin ứng dụng
[3]. Ngô Đắc Tân, Lý thuyết tổ hợp và đồ thị, NXB Đại học Quốc gia Hà Nội, Hà Nội, 2004 Sách, tạp chí
Tiêu đề: Lý thuyết tổ hợp và đồ thị
Nhà XB: NXB Đại học Quốc gia Hà Nội
[4]. Hoàng Tụy, Đồ thị hữu hạn và ứng dụng trong vận trù học, NXB Khoa học, Hà Nội, 1964 Sách, tạp chí
Tiêu đề: Đồ thị hữu hạn và ứng dụng trong vận trù học
Nhà XB: NXB Khoa học
[5]. Lý thuyết Đồ thị và ứng dụng (Claude Berge - Người dịch Nguyễn Hữu Nguyên và Nguyễn Văn Vỵ), NXB Khoa học và Kỹ thuật, Hà Nội, 1971 Sách, tạp chí
Tiêu đề: thuyết Đồ thị và ứng dụng
Nhà XB: NXB Khoa học và Kỹ thuật

HÌNH ẢNH LIÊN QUAN

Đồ thị G cho trong Hình 1, có 12 đỉnh, 15 cạnh. Các đỉnh a, b, c, m, s là các đỉnh bậc 1; đỉnh h là đỉnh bậc 2; các đỉnh d, p là các đỉnh bậc 3; các đỉnh  g, n, q  - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
th ị G cho trong Hình 1, có 12 đỉnh, 15 cạnh. Các đỉnh a, b, c, m, s là các đỉnh bậc 1; đỉnh h là đỉnh bậc 2; các đỉnh d, p là các đỉnh bậc 3; các đỉnh g, n, q (Trang 4)
Hình 5. Đồ thị đầy đủ. - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
Hình 5. Đồ thị đầy đủ (Trang 8)
Hình 6. Đơn đồ thị hai phía đầy đủ. - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
Hình 6. Đơn đồ thị hai phía đầy đủ (Trang 8)
Hình 9 - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
Hình 9 (Trang 11)
Ví dụ. Một chiếc xe đi tưới đường trong một khu vực (hình 13). Mỗi đường cần tưới một lần - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
d ụ. Một chiếc xe đi tưới đường trong một khu vực (hình 13). Mỗi đường cần tưới một lần (Trang 16)
Hình 14 - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
Hình 14 (Trang 18)
MỘT SỐ BÀI TOÁN TRÒ CHƠI TRÊN ĐỒ THỊ 2.1. Các bài toán sử dụng đồ thị hai phía  - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
2.1. Các bài toán sử dụng đồ thị hai phía (Trang 22)
như hình 17. Hỏi nếu con hổ muốn bắt được con lợn thì phải đi theo con đường nào? Giải. - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
nh ư hình 17. Hỏi nếu con hổ muốn bắt được con lợn thì phải đi theo con đường nào? Giải (Trang 23)
2.2.3. Bài toán giải thoát tù. Cho sơ đồ nhà tù như hình vẽ dưới. - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
2.2.3. Bài toán giải thoát tù. Cho sơ đồ nhà tù như hình vẽ dưới (Trang 24)
Hình 20 - Sử dụng lí thuyết đồ thị giải các bài toán trò chơi
Hình 20 (Trang 25)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w