1. Trang chủ
  2. » Tài Chính - Ngân Hàng

Chu trình hamilton tổng quát trong đồ thị vô hướng

64 463 1

Đ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 64
Dung lượng 1,58 MB

Nội dung

Trong những năm 70 của thế kỷ 20, thế giới được chứng kiến sự pháttriển hết sức nhanh chóng và rộng lớn của lý thuyết đồ thị, trong số đó có một số lượng đáng kể các công trình nghiên cứ

Trang 2

Tôi xin cam đoan những kết quả nêu trong luận văn là những kết quả tìm hiểu,nghiên cứu của tôi dưới sự hướng dẫn của GS.TS: Đặng Quang Á.

Mọi trích dẫn sử dụng trong báo cáo này đều được ghi rõ nguồn tài liệu thamkhảo theo đúng quy định

Tác giả

Nguyễn Văn Thái

Trang 3

Trước tiên, tôi xin được gửi lời cảm ơn đến tất cả quý thầy cô đã giảngdạy trong chương trình đào tạo Cao học chuyên ngành Khoa học máy tính K11

do trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên

tổ chức đào tạo, những người đã truyền đạt cho tôi những kiến thức hữu ích làm

cơ sở cho tôi thực hiện tốt luận văn này

Tác giả xin chân thành cảm ơn các thầy cô, những người đã tận tìnhhướng dẫn và truyền đạt những kinh nghiệm quý báu trong học tập và nghiêncứu và tận tình giúp đỡ tôi

Đặc biệt tôi xin bày tỏ lòng cảm ơn xâu sắc tới GS.TS Đặng Quang Á,người đã tận tình hướng dẫn, quan tâm, đóng góp ý kiến cho tôi trong xuất thờigian thực hiện luận văn Mặc dù trong quá trình thực hiện luận văn có giai đoạnkhông được thuận lợi nhưng những gì Thầy đã hướng dẫn, chỉ bảo đã cho tôinhiều kinh nghiệm trong thời gian thực hiện luận văn

Sau cùng tôi xin gửi lời biết ơn sâu sắc đến gia đình đã luôn tạo điều kiệntốt nhất cho tôi trong suốt quá trình học cũng như thực hiện luận văn

Do thời gian có hạn và kinh nghiệm nghiên cứu khoa học chưa nhiều nênluận văn còn nhiều thiếu sót, rất mong nhận được ý kiến góp ý của Thầy/Cô vàcác anh chị học viên

Thái Nguyên, tháng 9 năm 2014

Nguyễn Văn Thái

Trang 4

deg(v), degG(v) Bậc của đỉnh v của đồ thị G

δ, δ(G) Bậc nhỏ nhất của các đỉnh trong G

W(G) Số thành phần liên thông của G

k-liên thông Đồ thị có chỉ số liên thông bằng k

k(G) Chỉ số liên thông của đồ thị G

NTM Nondeterministic Turing Machine

K1, K2, K3, K4, K5 Các đồ thị đặc biệt K1, K2, K3, K4, K5

Hợp của s đồ thị đầy đủ lạ nhau

Hợp của s đồ thị đầy đủ lạ nhau Kn

Trang 5

Trang

Trang 6

MỞ ĐẦU

1 Đặt vấn đề:

Lý thuyết đồ thị là một lĩnh vực đã được nghiên cứu từ những năm đầucủa thế kỷ 18 bởi nhà toán học Leonhard Euler người Thụy sĩ Đồ thị được sửdụng để giải nhiều bài toán trong nhiều lĩnh vực khác nhau, trong tin học làmột trường hợp cụ thể

Trong những năm 70 của thế kỷ 20, thế giới được chứng kiến sự pháttriển hết sức nhanh chóng và rộng lớn của lý thuyết đồ thị, trong số đó có một

số lượng đáng kể các công trình nghiên cứu cấu trúc của các chu trình trong

đồ thị, đặc biệt là chu trình Hamilton và còn nhiều vấn đề mở

Nghiên cứu về cấu trúc chu trình trong đồ thị giúp chúng ta giải quyếttốt các bài toán tối ưu trong đời sống Chẳng hạn, trong lĩnh vực chế tạo robotthám hiểm, chuyển gửi tín hiệu hình ảnh qua vệ tinh, bài toán phân tích hệthống tương tác và tiện ích các website,

Trong số các cấu trúc đồ thị thì chu trình Hamilton đóng vai trò đặc biệtquan trọng Đó là chu trình đi qua tất cả các đỉnh của đồ thị, mỗi đỉnh đúngmột lần Bài toán về chu trình Hamilton là bài toán xác định xem liệu đồ thị

có chứa chu trình Hamilton không và tìm ra các chu trình đó Bài toán này đãđược chứng minh là NP-C (NP- đầy đủ) Chính vì thế không tồn tại các thuậttoán đa thức giải nó, và để giải quyết bài toán này nhiều thuật toán gần đúng

đã được nghiên cứu

Một sự mở rộng của chu trình Hamilton là chu trình trội (Dominatingcycle) Bài toán này cũng đã được chứng minh là NP-C

Trang 7

Việc tìm hiểu về các chu trình Hamilton và chu trình trội, các dấu hiệunhận biết chúng cùng thuật toán xác định, cải tiến và phát triển chúng là việclàm có ý nghĩa khoa học và thực tiễn Đây chính là mục đích của luận văn này.

2 Mục tiêu của luận văn:

Đối tượng nghiên cứu của luận văn là các vấn đề về cấu trúc chu trìnhliên quan đến chu trình Hamilton và chu trình trội trong đồ thị

3 Phạm vi nghiên cứu

Luận văn tập trung nghiên cứu các kiến thức có liên quan, các cơ sở lýthuyết như: Lý thuyết về đồ thị và lý thuyết các bài toán NP-C, chu trìnhHamilton và chu trình trội

4 Nhiệm vụ nghiên cứu

- Tìm hiểu những kiến thức tổng quan về đồ thị và lý thuyết các bàitoán NP-C

- Tìm hiểu về đồ thị Hamilton và các mở rộng

- Tìm hiểu các thuật toán tìm chu trình Hamilton

- Xây dựng thuật toán đa thức xác định sự tồn tại của chu trình trội trên

Trang 8

Phần đầu tìm hiểu về chu trình Hamilton, một số thuật toán xác địnhchu trình Hamilton.

Phần cuối tìm hiểu về chu trình Hamilton tối đại, cách xây dựng đồ thị

Hamilton tối đại n đỉnh.

Chương III: Chu trình trội

Phần đầu trình bày những hiểu biết về chu trình trội trong đồ thị vô

hướng, chứng minh bài toán xác định có tồn tại chu trình trội trong đồ thị G

cho trước là NP-C

Phần sau trình trình bày thuật toán đa thức xác định sự tồn tại của chutrình trội trên đồ thị vô hướng trong lớp đồ thị 2-liên thông có δ(G) ≥ n/3 Tìm

hiểu về lớp đồ thị 2-liên thông Một số hình ảnh thể hiện trên chương trình demo

Phần kết luận: Tóm tắt các kết quả đã đạt được của luận văn.

Trang 9

Chương I: MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG LÝ THUYẾT ĐỒ

THỊ VÀ LÝ THUYẾT CÁC BÀI TOÁN NP-C 1.1 Lý thuyết đồ thị

Trong toán học và tin học, đồ thị là đối tượng nghiên cứu cơ bản của lýthuyết đồ thị Một cách không chính thức, đồ thị là một tập các đối tượng gọi

là đỉnh nối với nhau bởi các cạnh Thông thường, đồ thị được vẽ dưới dạngmột tập các điểm (đỉnh, nút) nối với nhau bởi các đoạn thẳng (cạnh) Tùy theoứng dụng mà một số cạnh có thể có hướng Chúng ta phân biệt các loại đồ thịkhác nhau bởi kiểu và số lượng cạnh nối hai đỉnh nào đó của đồ thị

Trong phạm vi của luận văn chỉ xét đến đơn đồ thị hữu hạn, vô hướng

và gọi tắt là đồ thị Các kiến thức trong mục này tham khảo từ [2], [3]

1.1.1 Các thuật ngữ cơ bản

1.1.1.1 Một số khái niệm

Định nghĩa 1.1 Đơn đồ thị vô hướng G=(V, E) bao gồm V là tập các

đỉnh, và E là tập các cặp không có thứ tự gồm hai phần tử khác nhau của V

gọi là các cạnh

Đồ thị vô hướng G là một cặp G = (V,E)

Trong đó: V ≠φ là tập hợp các phần tử nào đó gọi là đỉnh của đồ thị.

E: Là tập các cặp (u,v) nào đó (gọi là cạnh của đồ thị) với u,v ∈ V, (u,v) ∈ E (v,u) E và coi (u,v) (v,u);

Nếu e = (u,v) là một cạnh của đồ thị G thì u, v được coi là các đỉnh đầu mút của cạnh e hay các đỉnh liên thuộc với e, hay có thể nói u,v là kề nhau

hay láng giềng của nhau

Định nghĩa 1.2 Đồ thị G gọi là vô hướng nếu ∀ u,v ∈ V:(u,v)≡(v,u)∈ E

Trang 10

Hình 1.1 Đồ thị vô hướng

Định nghĩa 1.3 Đồ thị G gọi là có hướng nếu ∃ u,v∈ V: (u,v) (v,u)

Định nghĩa 1.4 Đơn đồ thị vô hướng G = (V,E) bao gồm V là tập các

đỉnh, và E là tập các cặp không có thứ tự gồm hai phần tử khác nhau của V

gọi là các cạnh

+ Đồ thị G = (V,E) với đỉnh v V, e = (u,v) E

Khi đó: u,v là hai đỉnh đầu, cuối của cạnh e; e _ cạnh liên thuộc u,v

Định nghĩa 1.5 Hai đỉnh u và v trong đồ thị vô hướng được gọi là liền

kề (hay láng giềng) nếu (u,v) là một cạnh của đồ thị G Nếu e=(u,v) thì e gọi

là cạnh liên thuộc với hai đỉnh u và v, hoặc cũng nói là cạnh e là nối đỉnh u và đỉnh v, đồng thời các đỉnh u và v sẽ được gọi là các đỉnh đầu mút của cạnh

(u,v)

Định nghĩa 1.6 Bậc của đỉnh u V kí hiệu deg(u) trong đồ thị vô hướng là số cạnh liên thuộc với u (hay tập các láng giềng của u), riêng khuyên

tại một đỉnh được tính hai lần cho bậc của nó

Đỉnh có bậc bằng không gọi là đỉnh cô lập (Không kề với bất kỳ đỉnh

nào) Đỉnh v gọi là đỉnh treo nếu deg(v)=1.

Hình 1.2 Đồ thị vô hướng và các bậc của đỉnh

Trang 11

deg (i) =2 deg(j) = 2 deg(k) = 0

Định lý 1.1 Ký hiệu E là số cạnh của đồ thị G = (V,E) khi đó

) (

deg(

) ( deg

U v O

v V

Định nghĩa 1.7 (Đồ thị đầy đủ) Đồ thị đầy đủ n đỉnh, ký hiệu là K n

đơn đồ thị mà hai đỉnh phân biệt bất kỳ của nó luôn liền kề Như vậy, K n

Trang 12

Định nghĩa 1.10 (Đồ thị hai phía): Đồ thị G = (V,E) là đồ thị hai phía

(hay đồ thị phân đôi) nếu tập các đỉnh V có thể phân thành hai tập con khác rỗng rời nhau X và Y sao cho mỗi cạnh của đồ thị được kết nối từ một đỉnh thuộc X với một đỉnh thuộc Y:

Nói dưới dạng toán học:

- Có thể tìm được X, Y V sao cho

- Và mọi

Trang 13

11 12

Định nghĩa 1.11 [5]

Cho trước hai đồ thị G 1 = (V 1 ,E 1 ) và G 2 = (V 2 ,E 2 ) Ta nói G 1 và G 2

đẳng cấu với nhau nếu có một song ánh f: V 1  V 2 sao cho hai đỉnh u và v kề nhau trong G 1 khi và chỉ khi f(u) kề với f(v) trong G 2 (hay nói cách khác (u,v)

∈ E1 khi và chỉ khi (f(u),f(v)) ∈ E 2)

Ví dụ: Cho hai đồ thị, hỏi chứng có đẳng cấu với nhau hay không?

Hình 1.7 Đồ thị G1 đẳng cấu với G2

Theo ví dụ ta thấy, nếu chọn phép ánh xạ biến đỉnh u của đồ thị G 1

thành f(u+10) của đồ thị G 2 (đỉnh 1 biến thành đỉnh 11, đinh 2 thành đỉnh

Trang 14

ae

12 , đỉnh 10 thành đỉnh 20), ta thấy đây là phép ánh xạ mà với hai đỉnh (u,v)

E 1 thì (10+u, 10+v) E 2 Vậy hai đồ thị G 1 và G 2 là đẳng cấu với nhau

1.1.1.4 Các đồ thị mới từ đồ thị cũ

Định nghĩa 1.12 Đồ thị con của đồ thị G = (V,E) là đồ thị G’ = (V’,E’)

trong đó V’ V và E’ E Ký hiệu G’ G

Định nghĩa 1.14 Cho đồ thị G = (V,E) và G’ = (V’,E’) Khi đó G và G’

được gọi là lạ nhau khi V ∩ V’ = ∅.

Định nghĩa 1.15 Hợp của hai đồ thị lạ nhau G = (V,E) và G’ = (V’,E’)

trong đó V V’= là đồ thị thu được khi ta nối tất cả các đỉnh của G với tất

cả các đỉnh của G’ (ký hiệu G*G’).

G= G 1 G 2

G 2

G 1

Trang 15

1 3 5

64

2

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

Xét đơn đồ thị vô hướng G = (V,E)

1.1.2.1 Đường đi

Định nghĩa 1.16 Một đường đi độ dài n từ đỉnh u tới tới đỉnh v, trong

đó n là số nguyên dương, trên đồ thị vô hướng G=(V,E) là một dãy các đỉnh

x

v x u x

i i

n

Trong đó: Đỉnh u gọi là đỉnh đầu, đỉnh v gọi là đỉnh cuối Đường đi trên

gọi là đơn nếu không có cạnh nào lặp lại Số cạnh của đường đi được gọi là

độ dài của đường đi đã cho

Ví dụ: Đường đi có độ dài 4 đi từ đỉnh 1 đến đỉnh 6

Hình 1.10 Đường đi trên đồ thị có độ dài 41.1.2.2 Chu trình

Định nghĩa 1.17 Chu trình là một đường đi có đỉnh đầu và đỉnh cuối

trùng nhau

Định nghĩa 1.18 Chu trình đơn: là một chu trình mà đường đi của nó

không có cạnh nào lặp lại

Định nghĩa 1.19 Trong một đồ thị G, chu trình có độ dài lớn nhất gọi

là chu trình dài nhất

Trang 16

G G’

1.1.2.3 Đồ thị liên thông – chỉ số liên thông

Định nghĩa 1.20 (Đồ thị liên thông) Một đồ thị vô hướng đượ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ị

- Đồ thị vô hướng G = (V,E) được gọi là liên thông nếu với bất kỳ hai đỉnh u,v E luôn tìm được đường đi từ đỉnh u tới đỉnh v.

Hình 1.11 Đồ thị G liên thông, đồ thị G’ không liên thông

Định lý 1.2 Giữa mọi cặp đỉnh phân biệt của một đồ thị vô hướng liên

thông luôn có đường đi đơn

Định nghĩa 1.21 (Thành phần liên thông)

Một đồ thị G = (V,E) không liên thông bao gồm các đồ thị con liên thông với nhau và được gọi là thành phần liên thông của G Số thành phần liên thông của G được ký hiệu w(G).

Hình 1.12 Đồ thị liên thông G và đồ thị H gồm 3 thành phần liên thông

H1 , H2, H3

Định nghĩa 1.22[ 5 ] [19] ( Đồ thị k-liên thông)

Trang 17

Cho trước đồ thị G và một số tự nhiên k > 0 G là đồ thị k-liên thông nếu G là đồ thị liên thông và nếu như bỏ đi một số t < k đỉnh tùy ý và các cạnh

liên thuộc với các đỉnh đó ta vẫn thu được đồ thị liên thông

Nhận xét:

- Mọi đồ thị liên thông đều là 1-liên thông

- Đồ thị đầy đủ K n là (n-1)-liên thông

- Một đồ thị là k-liên thông thì cũng là h-liên thông với mọi 0 < h < k

Hình 1.13 Đồ thị 4-liên thông

Ví dụ: Đồ thị trong hình 1.12 là đồ thị 4-liên thông vì chỉ khi bỏ đi tới

4 đỉnh bất kì của đồ thị và các cạnh liên thuộc với chúng ta mới thu được đồthị không liên thông Còn khi bỏ đi 1 hoặc 2 hoặc 3 đỉnh tùy ý thì đồ thị vẫncòn liên thông

Định nghĩa 1.23.[ 5 ] ( Chỉ số liên thông)

Trong đồ thị liên thông G, số đỉnh tối thiểu có thể vứt bỏ để G trở nên không còn liên thông nữa gọi là chỉ số liên thông của G Đồ thị có chỉ số liên thông bằng k được gọi là k-liên thông Chỉ số liên thông của G được ký hiệu

k(G)

Trang 18

Hình 1.14 Đồ thị có k(G) = 2 và k(H) = 3 1.1.3 Biểu diễn đồ thị trên máy tính

Để lưu trữ đồ thị và thực hiện các thuật toán khác nhau với đồ thị trênmáy tính cần phải tìm những cấu trúc dữ liệu thích hợp để mô tả đồ thị Việcchọn cấu trúc dữ liệu nào để biểu diễn đồ thị có tác động rất lớn đến hiệu quảcủa thuật toán Vì vậy, việc chọn lựa cấu trúc dữ liệu để biểu diễn đồ thị phụthuộc vào từng tình huống cụ thể (bài toán và thuật toán cụ thể)

Tại sao phải biểu diễn đồ thị trên máy tính?

- Lý thuyết đồ thị ngày càng được ứng dụng rộng rãi

- Để xây dựng được các ứng dụng của đồ thị trên máy tính thì cần phảitìm cách biểu diễn đồ thị trên máy tính thích hợp

- Máy tính không thể hiểu được các đồ thị dưới dạng hình vẽ thôngthường

Tiêu chuẩn để lựa chọn cách thức biểu diễn đồ thị trên máy tính?

- Cấu trúc dữ liệu phải đơn giản, phù hợp với từng bài toán ứng dụng

- Dễ biểu diễn, dễ cài đặt các ứng dụng trên đó

Dưới đây ta sẽ xét một số phương pháp cơ bản được sử dụng để biểudiễn đồ thị trên máy tính, đồng thời cũng phân tích một cách ngắn gọn những

ưu điểm cũng như những nhược điểm của chúng

Trang 19

Ma trận kề của đơn đồ thị G là một ma trận vuông A[n.n] Với các phần

tử được xác định theo quy tắc như sau:

với i,j = 1,2, ,n là các đỉnh của đồ thị

Quy ước A[i,i] = 0 với ∀ i;

Ví dụ: Cho đồ thị vô hướng như hình vẽ

Ưu điểm của ma trận kề:

- Đơn giản, trực quan, dễ cài đặt trên máy tính

- Đễ kiểm tra xem hai đỉnh (u,v) của đồ thị có kề nhau hay không.

Nhược điểm của ma trận liền kề:

Trang 20

Bất kể số cạnh của đồ thị là nhiều hay ít, ma trận liền kề luôn luôn đòi

hỏi n2 ô nhớ để lưu các phần tử ma trận, điều đó gây lãng phí bộ nhớ dẫn tớiviệc không thể biểu diễn được đồ thị với số đỉnh lớn

Ma trận trọng số:

Định nghĩa 1.25 Đồ thị có trọng số là đồ thị ứng với mỗi cạnh (u,v)

E gán một giá trị C(u,v) nào đó gọi là trọng số của (u,v)

Ma trận trọng số là ma trận vuông A[n,n] trong đó giá trị được xác định

Dùng trong trường hợp đồ thị có ít cạnh, số cạnh m < 6n, với n là số

Trang 21

Mảng Dau sẽ lưu các đỉnh đầu của các cạnh

Mảng Cuoi sẽ lưu đỉnh cuối của các cạnh

Ví dụ:

Dau

11122233444455Hình 1.17 Đồ thị và danh sách cạnh1.1.3.3 Biểu diễn đồ thị bằng danh sách kề

Cho đồ thị G = (V,E) có n đỉnh Đồ thị G có thể được biểu diễn bằng n danh sách liên kết Với mỗi đỉnh u, tạo ra một danh sách các đỉnh kề với đỉnh u.

Ví dụ với đồ thị sau:

1 2 3 4 5

Trang 22

1.2.1 Khái niệm các loại thời gian tính

Thời gian tính tốt nhất: là thời gian tính tối thiểu cần thiết để thực hiện

thuật toán với mọi bộ dữ liệu đầu vào kích thước n.

Thời gian tính tồi nhất: là thời gian tính tối đa cần thiết để thực hiện

thuật toán với mọi bộ dữ liệu đầu vào có kích thước n.

Thời gian tính trung bình: là thời gian tính cần thiết để thực hiện thuật

toán trên một tập hữu hạn các bộ dữ liệu đầu vào có kích thước n Thời gian

tính trung bình được tính theo công thức sau:

Thời gian tính trung bình = (Tổng thời gian tính tất cả các bộ dữ liệu cóthể)/ Số bộ dữ liệu

Định nghĩa 1.26 Bài toán quyết định là bài toán mà đầu ra chỉ có thể là

‘yes’ hoặc ‘no’ (đúng/sai, 0/1).

Đối với một bài toán quyết định, có những bộ dữ liệu vào cho ra câu trả

lời (đầu ra) là ‘yes’, chúng ta gọi đây là bộ dữ liệu ‘yes’, nhưng cũng có những bộ dữ liệu vào cho ra câu trả lời là ‘no’, chúng ta gọi những bộ dữ liệu này là bộ dữ liệu ‘no’.

1.2.2 Khái niệm phép quy dẫn đa thức

Định nghĩa 1.27 Giả sử chúng ta có hai bài toán quyết định A và B.

Chúng ta nói A có thể quy dẫn về B nếu như sau một thời gian tính đa thức nếu tồn tại một thuật toán thời gian đa thức R cho phép biến đổi bộ dữ liệu x của A thành bộ dữ liệu vào R(x) của B sao cho x là bộ dữ liệu yes của A khi và chỉ khi R(x) là dữ liệu vào yes của B.

Nếu A quy dẫn về được B sau thời gian đa thức và B có thể giải được sau thời gian đa thức thì A cũng có thể giải được sau thời gian đa thức.

Trang 23

1.2.3 Lớp bài toán P

Định nghĩa 1.28 Một máy Turing M được gọi là có độ phức tạp thời

gian T(n) (hoặc thời gian chạy T(n)) nếu mỗi khi M được cho một nguyên liệu đầu vào w có độ dài n thì M sẽ dừng sau khi thực hiện tối đa T(n) bước chuyển, bất kể M có kiểm nhận w hay không

Chúng ta chủ yếu quan tâm khi T(n) là một hàm đa thức.

Một ngôn ngữ L thuộc lớp P nếu có một hàm đa thức T(n) sao cho L =

L(M) với một máy Turing đơn định M nào đó có độ phức tạp thời gian T(n)

Ví dụ: Thuật toán Kruskal tìm cây khung bé nhất của một đồ thị có m

nút và e cạnh với thời gian O(m+ elog2e) (trên máy tính thông thường) Thời

gian thực hiện bởi máy Turing cũng cùng bậc như vậy

1.2.3 Lớp bài toán NP.

Định nghĩa 1.29: Ngôn ngữ L thuộc lớp NP (Nondeterministic

Polynomial) nếu ∃ máy Turing không đơn định M và một độ phức tạp thời

gian T(n) sao cho L=L(M) và khi M được cho một nguyên liệu có độ dài n thì

nó sẽ kiểm nhận sau không quá T(n) bước chuyển.

Nhận xét: Vì mỗi máy Turing đơn định đều là máy Turing không đơn

định không bao giờ có lựa chọn bước chuyển nên P NP Tuy nhiên, dường

như NP cũng chứa nhiều bài toán không thuộc lớp P Một câu hỏi toán học sâu sắc còn bỏ ngỏ là liệu P = NP hay không, nghĩa là mọi thứ có thể thực hiện được bởi một NTM (Nondeterministic Turing Machine) thật sự trong thời gian đa thức có thể được thực hiện bởi một DTM (Deterministic Turing

Machines) trong một thời gian đa thức hay không, dù có thể là một hàm đathức bậc cao hơn

Trang 24

1.2.4 Lớp bài toán NP-đầy đủ (NP-Complete).

Định nghĩa 1.30 Ta nói L là bài toán thuộc loại NP-C nếu các khẳng

định sau là đúng:

1) L thuộc NP

2) Với mọi ngôn ngữ L’ NP có một phép thu thời gian đa thức L’ về L

Định lý 1.3 Nếu bài toán P 1 là NP-C, P 2 là NP và có một phép thu thời gian đa thức từ P 1 về P 2 thì P 2 cũng là NP-C.

Chứng minh: Ta cần chứng tỏ rằng mỗi ngôn ngữ L thuộc NP đều thu

được P 2 trong thời gian đa thức Khi đó theo định nghĩa P 2 sẽ thuộc NP-C.

Thật vậy, vì P 1 là NP-C nên có một phép thu đa thức L về P 1 Giả sử

thời gian của phép thu này là P(n) Vì thế một chuỗi W∈L có chiều dài n được biến đổi thành một chuối x ∈ P1 có chiều dài tối đa là P(n) Ta cũng biết rằng có một phép thu đa thức từ P1 về P2 Giả sử thời gian của phép thu này là

q(m) Thế thì phép thu này biến đổi chuỗi x ∈ P1 về chuỗi y nào đó thuộc P2

với thời gian tối đa là q(p(n)) Vì thế phép biến đổi W ∈ L về y ∈ P2 mất thời

gian tối đa là p(n) + q(p(n)), đây cũng là một đa thức Như vậy, ta kết luận rằng L có thể thu về P2 trong thời gian đa thức

Định lý 1.4 Nếu có một bài toán nào đó là NP-C mà lại thuộc lớp P thì

ta có P = NP.

Chứng minh: Giả sử có bài toán Q ∈ NP-C và Q ∈ P Thế thì mọi ngôn ngữ L trong NP đều thu được về Q trong thời gian đa thức Nếu Q ∈ P thì L ∈ P Như vậy NP ∈ P Kết hợp với điều hiển nhên là P ∈ NP ta được

P = NP.

Nhận xét: Chúng ta vẫn tin tưởng rằng nhiều bài toán thuộc lớp NP

nhưng không thuộc P nên chúng ta sẽ xem việc chứng minh một bài toán là

Trang 25

NP-C có giá trị ngang với việc chứng minh rằng nó không thể giải được trong

thời gian đa thức, và vì thế không có lời giải đúng nào bằng máy tính (và ta sẽchỉ đi tìm lời giải gần đúng)

Trang 26

a b

c

d

Chương II: CHU TRÌNH HAMILTON

Năm 1857, nhà toán học người Ailen là Hamilton(1805-1865) đưa ratrò chơi “đi vòng quanh thế giới” như sau:

Cho một hình thập nhị diện đều (đa diện đều có 12 mặt, 20 đỉnh và 30cạnh), mỗi đỉnh của hình mang tên một thành phố nổi tiếng, mỗi cạnh củahình (nối hai đỉnh) là đường đi lại giữa hai thành phố tương ứng Xuất phát từmột thành phố, hãy tìm đường đi thăm tất cả các thành phố khác, mỗi thànhphố chỉ một lần, rồi trở về chỗ cũ

Trò chơi trên dẫn tới việc khảo sát một lớp đồ thị đặc biệt, đó

là đồ thị Hamilton

2.1 Chu trình Hamilton: Định nghĩa, tính chất và các điều kiện đủ

2.1.1 Một số khái niệm

Định nghĩa 2.1 Trong đồ thị G = (V,E) đường đi qua tất cả

các đỉnh của đồ thị mỗi đỉnh đúng một lần được gọi là đường điHamilton

Ví dụ: Đồ thị có đường đi Hamilton là a → b → c d

Hình 2.1 Đồ thị có đường đi Hamilton, không có chu trình Hamilton

Định nghĩa 2.2 Chu trình bắt đầu từ một đỉnh v nào đó

qua tất cả các đỉnh còn lại mỗi đỉnh đúng một lần rồi quay trở về

v được gọi là chu trình Hamilton.

Trang 27

Định nghĩa 2.3 Đồ thị G được gọi là đồ thị Hamilton nếu

nó chứa chu trình Hamilton và gọi là đồ thị nửa Hamilton nếu nó

có đường đi Hamilton

Rõ ràng đồ thị Hamilton là nửa Hamilton, nhưng điều ngượclại không còn đúng

Question: G có chu trình Hamilton hay không?

Bài toán HC đã được Karp (1972, [15]) chứng minh là bàitoán NP-C (NP-đầy đủ), chính vì thế mà không tồn tại thuậttoán đa thức xác định sự tồn tại của chu trình Hamilton trong

đồ thị cho trước Cho đến nay chúng ta vẫn chưa tìm ra điềukiện cần và đủ để kiểm tra xem một đồ thị cho trước có làHamilton hay không, và vấn đề này vẫn còn là một vấn đề

Trang 28

Định lý 2.1 [16]: Giả sử G là đồ thị Hamilton Khi đó:

a) Mọi đỉnh của đồ thị G phải có bậc không nhỏ hơn 2

b) Nếu một đỉnh có bậc bằng 2 thì hai cạnh của nó phải

nằm trên bất kỳ một chu trình Hamilton của G

c) Nếu một đỉnh có bậc lớn hơn 2 và hai cạnh liền kề của

nó nằm trên một chu trình Hamilton thì các cạnh còn lại của

nó không nằm trên chu trình Hamilton đó

Một số điều kiện đủ về sự tồn tại đường đi Hamilton và chu trình Hamilton

Định lý 2.2 (Định lý Rédei) [2] Đồ thị đầy đủ vô hướng K n với n ≥ 3 là

đồ thị Hamilton

Chứng minh: Chúng ta có thể xây dựng chu trình Hamilton trong K n

xuất phát từ bất kỳ đỉnh nào Một chu trình như thế có thể xây dựng bằngcách ghé thăm các đỉnh theo một thứ tự tùy chọn, sao cho đường đi bắt đầu vàkết thúc tại cùng một đỉnh, mọi đỉnh đều được ghé thăm đúng một lần Luôn

đúng, vì giữa hai đỉnh bất kỳ của K n đều có cạnh

Hình 2.3 Đồ thị K 5 có chu trình Hamilton (a→b→c→d→e→a)

Trang 29

4

7

36

5

1

2

Định lý 2.3 (Định lý Dirac [5]): Giả sử G là một đơn đồ thị liên thông

có 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.

Chứng minh:

Thêm vào đồ thị G k đỉnh mới và nối chúng với tất cả các đỉnh của G Giả sử k là số nhỏ nhất các đỉnh cần thêm vào để cho đồ thị thu được G’ là đồ thị Hamilton Ta sẽ chỉ ra rằng k = 0.

Thực vậy, giả sử ngược lại là k > 0.

Ký hiệu v, p, w, , v là chu trình Hamilton trong G’, trong đó v, w là đỉnh của G còn p là một trong số các đỉnh mới Khi đó w không kề với v vì nếu ngược lại, ta không cần sử dụng p và điều đó là mâu thuẫn với giả thiết k nhỏ nhất Hơn nữa đỉnh (w’ chẳng hạn) kề với w không thể đi liền sau đỉnh v’ (kề với v) vì rằng khi đó có thể thay

v → p→ w → → v’→ w’ → → v

bởi v → v’ → → w → w’ → → v bằng cách đảo ngược đoạn của chu trình nằm giữa w và v’ Từ đó suy ra là số đỉnh của đồ thị G’ không kề với w là không nhỏ hơn số đỉnh kề với v (tức là ít nhất cũng là bằng ), đồng thời số đỉnh của G’ kề với w ít ra là phải bằng Do không có đỉnh nào của G’ vừa không kề, lại vừa kề với w, cho nên tổng số đỉnh của đồ thị G’ (G’ có n+k đỉnh) không ít hơn n+2k Mâu thuẫn thu được đã chứng minh

định lý

Ví dụ:

Trang 30

Hình 2.4 Đồ thị có 8 đỉnh, mỗi đỉnh có bậc ≥ n/2

Hệ quả 2.1 [16]: Nếu G là đơn đồ thị có n (n ≥ 3) đỉnh

và mọi đỉnh của G đều có bậc không nhỏ hơn thì G là đồ thị nửa Hamilton (hay G có đường đi Hamiltom).

Định lý 2.4 (Định lý Ore 1960 [2]):

Nếu G là một đơn đồ thị có n đỉnh, với n ≥ 3 sao cho deg(u) +deg(v) ≥ n với mọi cặp đỉnh không liền kề u và v trong G, khi

đó G là đồ thị Hamilton

Chứng minh: Sử dụng phương pháp chứng minh bằng phản chứng.

Giả sử G thỏa deg(v) + deg(w) ≥ n; ∀ v,w không liền kề

trong G nhưng G không có chu trình Hamilton Khi đó ta có thể ghép thêm vào G những cạnh cho đến khi nhận được một

đồ thị con H của K n sao cho H không có chu trình Hamilton, nhưng với mọi cạnh e ∈ K n nhưng e ∉ H, ta có (H + e) có chu

trình Hamilton Việc ghép thêm cạnh vào G là hoàn toàn thực

hiện được và không ảnh hưởng gì đến điều kiện của giả thiết

Do H K n nên tồn tại a, b V sao cho ab H nhưng H +

ab có chu trình Hamilton C Bản thân H không có chu trình

Hamilton mà H + ab có chu trình Hamilton ab C Giả sử

ta liệt kê các đỉnh của H trong chu trình C như sau:

Trang 31

a(=v 1 ) → b(=v 2 ) → v 3 v 4 v n-1 v n ; 3 i n.

Khi đó, nếu cạnh bv i ∈ H, ta có thể kết luận avi-1 ∉ H vì

nếu cả hai bv i và av i-1 cùng nằm trong H, ta có chu trình:

b v i v i+1 v n-1 v n a v i-1 v i-2 v 3

Chu trình này nằm trong H, điều này mâu thuẫn vì H

không có chu trình Hamilton Vì vậy, ∀v i (3 i n) chỉ có một

trong 2 cạnh: bv i hoặc av i-1 nằm trong H.

Do đó: degH(a) + degH(b) < n.

Với degH(a): bậc của a trong H.

Ta có ∀ v V: degH(v) degG(v) = deg(v) (vì G là đồ thị con của H)

với cặp đỉnh không liền kề trong G: a, b ta có: deg(a) + deg(b) < n.

Điều này mâu thuẫn với giả thiết: deg(v) + deg(w) n;

v, w không liền kề.

Vậy, G có chứa chu trình Hamilton.

Định lý 2.5.[16]: Giả sử G là đồ thị có n đỉnh, và S là tập

các đỉnh có bậc ít nhất n/2 trong G nếu |S| ≥ 3, thì G có một chu trình chứa mọi đỉnh của S.

Định lý 2.6 [16]: Cho đồ thị G = (V,E) gồm n ≥ 3 đỉnh,

a) Nếu deg(u) + deg (v) ≥ n, u, v ∈ V, thì G có chu trìnhHamilton

Trang 32

b) Nếu deg(u) + deg (v) ≥ n - 1, u, v ∈ V, thì G có chutrình Hamilton.

Định lý 2.7 [16]: Giả sử đồ thị G với n ≥ 3 đỉnh và Khi đó G là

Hamilton

2.2 Thuật toán tìm chu trình Hamilton

Để liệt kê chu trình Hamilton và đường đi Hamilton cho tới nay người

ta vẫn chưa tìm ra được thuật toán trong trường hợp tổng quát Chính vì vậychủ yếu dựa trên thuật toán xác định bằng hoán vị vòng quanh với tư tưởngthuật toán đệ quy, quay lui hoặc dựa trên các quy tắc để xác định chu trìnhHamilton (H) của đồ thị

Các quy tắc:

(1) Nếu có 1 đỉnh bậc 2 thì hai cạnh của đỉnh này bắt buộc phải nằm trong H (2) Không được có chu trình con (độ dài nhỏ hơn n) trong H

(3) Ứng với một đỉnh nào đó, nếu đã chọn đủ 2 cạnh vào H thì phải loại

bỏ tất cả các cạnh còn lại (vì không thể chọn thêm)

Sau đây luận văn đi tìm hiểu về thuật toán đệ quy:

Thuật toán áp dụng đối với đồ thị được lưu giữ bằng danh

2.1 Tìm và lưu đỉnh j có cạnh nối với x[i] và đỉnh j này

chưa thăm trước đó

Ngày đăng: 14/04/2017, 22:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Vũ Đình Hòa, Đỗ Như An, Kết quả mới về đồ thị Hamilton tối đại, Tạp chí tin học và điều khiển học, T.22, S2, 2006, 117-122 Khác
[2] Kenneth H. Rosen (Người dịch: Phạm Văn Thiều, Đặng Hữu Thịnh), Toán rời rạc ứng dụng trong tin học, NXB Khoa học và Kỹ thuật, 2003 Khác
[3] Nguyễn Đức Nghĩa, Nguyễn Tô Thành, Giáo trình Toán rời rạc, NXB Đại học Quốc gia Hà Nội, 2009.Tiếng Anh Khác
[5] Diestel R., Graph theory, Electronic Edition 2000, Springer- Verlag, 2000 Khác
[6] Nikoghosyan Zh., Review Article Graph Invariants and Large Cycles: A Survey, 2011 Khác
[7] A Proskurowski. Minimum dominating cycles in 2-trees, International Journal of Computer &amp; Information Sciences, 8(5):405–417, 1979 Khác
[8] Lu M., H.Liu and Tian F., Two sufficient conditions for dominating cycles, Journal of Graph Theory, vol. 49, No. 2, pp.135–150, 2005 Khác
[9] Vu Dinh Hoa, Do Nhu An, Recognizing dominating cycles is NP- hard, Tạp chí tin học và điều khiển học, T. 18, No 3, 2002, 223-227 Khác
[10] Vu Dinh Hoa (1993), On the length of longest Dominating cycles in graphs, Discrete Mathemtics 121, 1993, pp.211-222 Khác
[11] Vu Dinh Hoa, Vertex set containing in longest dominating cycles, Acta Math. Vietnam, Volume 19, No 1 (1994), pp. 25-30 Khác
[12] Aho, J. Ullman, Data Structures and Algorithms, Springer, 2008 Khác
[13] Lizhi Du, A Polynomial Time Algorithm for Hamilton Cycle, Proceedings of the International MultiConference of Engineers and Computer Scientists 2010, Volume 1, HongKong Khác
[14] Abilio Lucena, Alexandre Salles da Cunha, Luidi Simonetti, Formulating and Solving the Minimum Dominating Cycle Problem Khác
[15] Hopcroft J.,Motwani R. and Ullman (2001), introducation to Automata Theory, Languages and Computation. Addison-Wesley Khác
[16] Graham R. L., Grótschel M., Lovász L. (1995), Handbook Of Combinatorics Vol1, 2, elsevier Khác
[17] Sheehan J., Graph with Exacly one Hamilton Circuit, Graph J.theory 1, 1977, 37-43 Khác
[18] C.S.J.A. Nash-Williams, Edge- disjoint Hamiltonian circuits in graphs with vertices of large valency, in: L. Mirsky, ed., Studies in Pure Mathematics, Academic Press, London, 1971, 157-l 83 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w