1. Trang chủ
  2. » Giáo án - Bài giảng

CHU TRÌNH EULER và CHU TRÌNH HAMILTON

26 471 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

Định dạng
Số trang 26
Dung lượng 114,5 KB

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

Nội dung

CHU TRÌNH EULERBài toán 7 cây cầu Định nghĩa chu trình Euler Điều kiện tồn tại chu trình Euler vô hướng Điều kiện tồn tại chu trình Euler có hướng Thuật toán tìm chu trình Euler...

Trang 1

CHƯƠNG 7

CHU TRÌNH EULER VÀ CHU TRÌNH HAMILTON

Trang 3

7.1 CHU TRÌNH EULER

Bài toán 7 cây cầu

Định nghĩa chu trình Euler

Điều kiện tồn tại chu trình Euler vô hướng

Điều kiện tồn tại chu trình Euler có hướng

Thuật toán tìm chu trình Euler

Trang 4

BÀI TOÁN 7 CÂY CẦU

 Sông Pregel và cù lao Kneiphof chia thành phố Konigsberg ở nước CH Litva thành 4 vùng đất.

 7 cây cầu nối giữa các vùng đất.

Trang 5

BÀI TOÁN 7 CÂY CẦU (tiếp)

Bài toán: Liệu có thể đi qua cả 7 cây cầu, mỗi cầu

đúng một lần, rồi quay về chỗ xuất phát được hay

không?

Bài toán đã làm say mê cư dân của thành phố Họ háo hức đi thử nhưng không thành công

Trang 6

BÀI TOÁN 7 CÂY CẦU (tiếp)

Năm 1736, L.Euler đã chứng minh rằng bài toán

không giải được

Từ bài toán này đưa đến các khái niệm về đường và chu trình Euler

Trang 7

BÀI TOÁN 7 CÂY CẦU (tiếp)

Biểu diễn mỗi vùng đất bằng một đỉnh của một đa đồ thị vô hướng, hai đỉnh có cạnh nối nếu có cầu nối tương ứng

Bài toán trên đưa về việc tìm một chu trình của đồ thị

đi qua mỗi cạnh của đồ thị đúng một lần

b

Trang 8

ĐƯỜNG VÀ CHU TRÌNH EULER

Trang 10

7.2 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER VÔ HƯỚNG

Trang 11

7.2 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER VÔ HƯỚNG (tiếp)

Chứng minh định lý

1) Điều kiện cần

Mỗi lần chu trình đi qua một đỉnh thì đỉnh đó bớt

đi 2 cạnh kề

Cuối cùng, số cạnh kề của mỗi đỉnh bằng 0

Vì vậy, số cạnh kề của mỗi đỉnh phải là một số chẵn

Trang 12

7.2 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER VÔ HƯỚNG (tiếp)

Chứng minh định lý:

2) Điều kiện đủ

Xuất phát từ đỉnh a bất kỳ, lập dãy cạnh kề liên

tiếp cho đến khi hết khả năng đi tiếp

Khi dừng phải dừng ở đỉnh a vì bậc các đỉnh đều chẵn, thu được chu trình C 1

Nếu C 1 vét hết các cạnh của đồ thị thì C 1 là chutrình cần tìm

Nếu còn cạnh ngoài C 1, thì cạnh đó phải kề với

đỉnh a của C , xuất phát từ a tìm chu trình C

Trang 13

7.2 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER VÔ HƯỚNG (tiếp)

Chứng minh định lý:

Khi C 1 , C 2 ,… đã vét hết các cạnh của đồ thị, lập

chu trình Euler như sau:

- Từ đỉnh a đi theo nửa trên của C 1 đến a 1

- Từ a 1 đi theo nửa trên của C 2 đến a 2

……

- Khi đã đến chu trình con cuối cùng thì đi ngược

Trang 15

7.2 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER VÔ HƯỚNG (tiếp)

Hệ quả 7.1: Đa đồ thị G có đường đi Euler vô hướng

khi và chỉ khi số đỉnh bậc lẻ bằng 2

Chứng minh:

1 Điều kiện cần: Nếu có đường đi Euler vô hướng

nối a với b thì a và b là 2 đỉnh duy nhất có bậc lẻ.

2 Điều kiện đủ:

 Nếu a, b là 2 đỉnh duy nhất có bậc lẻ, xây dựng G’ từ G bằng cách thêm cạnh (a,b).

 G’ không có đỉnh bậc lẻ do đó có chu trình Euler C

Trang 16

7.3 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER CÓ HƯỚNG

Định lý 7.2:

Đa đồ thị có hướng liên thông G có chu trình Euler

có hướng khi và chỉ khi tại mỗi đỉnh số cạnh đi vàobằng số cạnh đi ra:

x ∈ V , r-(x) = r+(x) , trong đó:

- r-(x): số cạnh đi vào đỉnh x

- r+(x): số cạnh đi ra khỏi đỉnh x.

Trang 18

7.3 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER CÓ HƯỚNG (tiếp)

Hệ quả 7.2

Đa đồ thị có hướng liên thông G có đường Euler có

hướng khi và chỉ khi trong G có 2 đỉnh a, b thoả

mãn:

r-(a) = r+(a) - 1

r-(b) = r+(b) + 1

còn các đỉnh khác đều cân bằng

Trang 19

7.3 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER CÓ HƯỚNG (tiếp)

Chứng minh hệ quả

1) Điều kiện cần:

Giả sử đồ thị G có đường Euler có hướng α đi qua

tất cả các cạnh của đồ thị

- Với đỉnh xuất phát a của α,

Trừ cạnh đầu tiên của α đi ra từ a, cứ một cạnh

đi vào a thì phải có một cạnh đi ra khỏi a vì α kết thúc ở đỉnh khác

Do đó: r-(a) = r+(a) - 1.

Trang 20

7.3 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER CÓ HƯỚNG (tiếp)

- Với đỉnh kết thúc b của α,

Trừ cạnh cuối cùng của α đi tới b, cứ một cạnh đi

ra khỏi b thì phải có một cạnh đi vào b vì α kết

thúc ở b

Do đó: r-(b) = r+(b) + 1.

Trang 21

7.3 ĐIỀU KIỆN TỒN TẠI CHU TRÌNH

EULER CÓ HƯỚNG (tiếp)

Trang 22

7.4 THUẬT TOÁN TÌM CHU TRÌNH EULER

Thuật toán 7.1

Dữ liệu: Đồ thị liên thông G = (V, E) không có đỉnh

bậc lẻ được biểu diễn bởi mảng các danh sách kề

DK

Kết quả: Chu trình vô hưóng Euler với danh sách các

đỉnh nằm trong stack CE

Trang 23

7.4 THUẬT TOÁN TÌM CHU TRÌNH EULER (tiếp)

Trang 24

7.4 THUẬT TOÁN TÌM CHU TRÌNH EULER (tiếp)

Trang 25

7.4 THUẬT TOÁN TÌM CHU TRÌNH EULER (tiếp)

Trang 26

7.4 THUẬT TOÁN TÌM CHU TRÌNH EULER (tiếp)

Độ phức tạp:

Mỗi lần lặp của chu trình (5 - 20):

- Hoặc là đặt đỉnh lên stack S và xoá cạnh,

- Hoặc chuyển đỉnh từ stack S sang stack CE

Số lần lặp của chu trình không vượt quá số cạnh m

Độ phức tạp tổng thể của thuật toán là O(m)

Ngày đăng: 29/12/2015, 21:53

TỪ KHÓA LIÊN QUAN

w