1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu MỘT SỐ THUẬT GIẢI TTNT ppt

3 685 14
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một Số Thuật Giải TTNT
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Tài liệu
Định dạng
Số trang 3
Dung lượng 44,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

MỘT SỐ THUẬT GIẢI TTNTThuật giải tô màu Bài toán Cho đồ thị đơn vô hướng G = V,E.. Ứng dụng Bài toán tô màu đồ thị được ứng dụng đề biểu diễn cho các bài toán thoả mãn ràng buộc CSP như

Trang 1

MỘT SỐ THUẬT GIẢI TTNT

Thuật giải tô màu

Bài toán

Cho đồ thị đơn vô hướng G = (V,E) Hãy tô mỗi đỉnh của G bằng một màu sao cho: (1) hai đỉnh kề nhau có màu khác nhau và (2) tổng số lượng màu cần sử dụng là ít nhất

Lưu ý: đồ thị thường được cho dưới dạng hình vẽ hay ma trận kề

Ứng dụng

Bài toán tô màu đồ thị được ứng dụng đề biểu diễn cho các bài toán thoả mãn ràng buộc (CSP) như lập lịch, lập thời khoá biểu… (xem các bài tập đi kèm)

Để giải các bài toán trên, trước tiên ta cần xác định các định các yếu tố trong bài toán tương ứng với các yếu tố của bài toán tô màu đồ thị bằng cách trả lời cách câu hỏi:

• Màu của đồ thị – Cần làm việc gì?: việc cần làm trong bài toán (vd xếp lịch) chính là hành động tô màu,

do đó màu của đồ thị chính là yếu tố cần xác định (được nêu trong đề bài)

• Đỉnh của đồ thị – Hành động cần làm tác động lên cái gì?: là thành phần được tác động lên

• Cung (cạnh) của đồ thị – Các đỉnh ràng buộc với nhau như thế nào?

Thuật giải: có hai thuật giải chính thường được áp dụng cho bài toán tô màu là thuật giải tô màu theo bậc

và tô màu tham lam (greedy)

Thuật toán tô màu trên đồ thị dựa vào số bậc

Lặp lại các bước sau cho đến khi bậc của tất cả các đỉnh bằng 0 và các đỉnh đã được tô màu:

Bước 1: Tô màu i cho đỉnh có bậc lớn nhất

Bước 2: Hạ bậc

+ Bậc của đỉnh được tô màu i thì: Bậc = 0

+ Bậc của đỉnh có liên hệ với đỉnh được tô màu i thì: Bậc= Bậc -1

Bước 3: Cấm tô màu i cho các đỉnh vừa bị hạ bậc

Ví dụ: Tô màu cho bản đồ các nước khu vực láng giềng với Việt Nam

Ma trận kề: ma trận vuông An (11 x 11) trong đó:

A[i,j] = 1 khi hai đỉnh i, j có cạnh nối và = 0 trong trường hợp ngược lại (A[i,i]=0)

Cách trình bày thuật giải:

Xác định bậc của các đỉnh

Đỉnh TQ VN LAO MIA THAI CAM PHI MAL BRU SING INDO

Bậc 3 3 5 3 4 3 0 4 1 1 1

Tô màu

Dòng 1: Bậc và màu bị cấm (số nhỏ ở dưới), đỉnh được họn được tô

Đỉnh TQ VN LAO MIA THAI CAM PHI MAL BRU SING INDO

Bậc

Màu 21 21 0 21 31 21 0 4 1 1 1

1

Bậc

Màu 21 21 0 21 21 21 0 0 01 01 01

1 1

Bậc

Màu 0 112 0 112 21 21 0 0 01 01 01

2 1 1

Bậc

Màu 0 112 0 012 0 112 0 0 01 01 01

2 1 2 1

Bậc

Màu 0 0 0 012 0 0123 0 0 01 01 01

2 3 1 3 2 4 1 1 2 2 2

Thuật giải tô màu greedy

Dùng màu thứ nhất tô cho một đỉnh bất kỳ và tất cả các đỉnh khác có thể tô được Sau đó dùng màu thứ hai tiếp tục tô cho các đỉnh còn lại theo cùng nguyên tắc … cho đến khi tất cả các đỉnh của đồ thị đã được

tô màu

Trang 2

Đỉnh TQ VN LAO MIA THAI CAM PHI MAL BRU SING INDO

i=1 1 x x x 1 x 1 x 1 1 1

i=2 1 2 x 2 1 x 1 2 1 1 1

i=3 1 2 3 2 1 x 1 2 1 1 1

i=4 1 2 3 2 1 4 1 2 1 1 1

Bài tập 1: Bài toán giao thông

Hãy xác định quy tắc bật các đèn giao thông tại một bồn binh với 5 tuyến đường như hình

Bài tập 3: Bài toán hội thảo

Giả sử có một hội thảo khoa học với 9 chủ đề khác nhau ký hiệu là a, b, c, d, e, f, g, h, i Mỗi chủ đề sẽ diễn

ra trong 1 buổi và các chủ đề sau không được diễn ra đồng thời: ae, bc, cd, ed, abd, ahi, bhi, dfi, dhi, fgh Hãy bố trí các chủ đề trên vào các buổi sao cho số buổi diễn ra là ít nhất

Các tìm kiếm heuristic theo nguyên lý “tham lam”

Heuristic tham lam là heuristic thường được dùng để giải các bài toán “khó” (các bài toán không thể vét cạn), ví dụ như bài toán sau:

Bài toán người du lịch (Traveling Saleman Problem - TSP):

Cho n thành phố trong đó hai thành phố bất kỳ đều có đường nối với nhau Hãy xác định lộ trình cho người

du lịch, xuất phát từ thành phố thứ nhất, đi qua tất cả các thành phố còn lại, trở về thành phố xuất phát với tổng đoạn đường là nhỏ nhất

Thuật giải GTS1

Bước 1 [Khởi đầu]: TOUR = {}, COST = 0; v = 1

Bước 2 [Thăm tất cả các thành phố]: Với k = 1 đến n, thực hiện bước 3

Bước 3 [Chọn cạnh kế]:

o Chọn (v,w) là cạnh có chi phí nhỏ nhất tính từ v đến các đỉnh chưa sử dụng w

o Gán TOUR = TOUR + {(v,w)}, COST = COST + C(v,w)

o Sử dụng đỉnh w cho bước kế tiếp: v = w

Bước 4 [Chuyến đi hoàn thành]: Gán TOUR = TOUR + {(v,1)}

Bài tập 3: Giải bài toán người du lịch với 5 thành phố như hình 3, sử dụng thuật giải GTS1 Chu trình tìm được có tốt nhất hay không?

Thuật giải GTS2

Nếu không bị ràng buộc bởi thành phố xuất phát, bài toán này có thể được giải tốt hơn bằng thuật giải GTS2: xuất phát từ P (1<P<N) thành phố ban đầu, sử dụng GTS1 để tìm ra P chu trình cho người đưa thư và chọn chu trình có tổng chi phí nhỏ nhất

Bài tập 5 : Giải bài tập 4 với GTS2, xuất phát từ 3 thành phố tùy chọn

Bài toán phân công công việc

Giả sử ta có:

o N máy: M1, M2, …, MN giống nhau

o M công việc: V1, V2, …, VM độc lập với nhau Công việc Vi cần thực hiện trong Ti giờ mới có thể hoàn thành

Hãy lập kế hoạch phân phối các công việc vào từng máy sao cho thời gian cần để hoàn tất M công việc là nhỏ nhất

Nguyên lý sắp thứ tự: Sắp xếp các công việc theo thứ tự giảm dần về thời gian

Bài tập 5: Cho 3 máy M1, M2, M3 và 6 công việc với thời gian thực hiện tương ứng: T1 = 2, T2 = 5, T3 = 8, T4 = 1, T5 = 5, T6 = 1

Bài tập 6: Cho 2 máy M1, M2 và 5 công việc với thời gian thực hiện: T1 = 3, T2 = 3, T3 = 2, T4 = 2, T5 =

2

Thuật giải Vương Hạo

Thuật giải Vương Hạo là một thuật giải khác đề chứng minh việc suy dẫn mệnh đề (có cùng mục đích với Robinson):

Bước 1: Đưa bài toán cần chứng minh về dạng chuẩn:

KL1 , KL2GT1 ,GT2 , ,GTn , , KLm

Trong đó các GTi và j KL là các câu chỉ gồm các phép , , , Lưu ý: dấu phẩy (,) ở vế trái tương đương ∧ , ∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương ∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương với , ở vế∧ , ∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương  hay không chứa phép phải tương đương với .∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương

Bước 2: Nếu tồn tại một câu có phép ở đầu thì chuyển vế câu và loại bỏ phép

Bước 3: Thay các dấu ở vế trái và các dấu ở vế phải bằng dấu phẩy (,) Khi đó vế trái chỉ còn dấu ∧ , ∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương ∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương ∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương

Trang 3

và , về phải chỉ còn dấu và ∧ , ∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương

Bước 4:

Nếu dòng hiện hành có dạng:

thì thay bằng hai dòng:

Nếu dòng hiện hành có dạng:

thì thay bằng hai dòng:

Bước 5: Một dòng được chứng minh nếu tồn tại một mệnh đề ở cả hai vế

Bước 6: Một dòng không thể tách cũng không thể chuyển vế dấu mà không có biến mệnh đề chung ở cả hai vế thì không được chứng minh

Lặp lại bước 2 đến 6 cho tới khi mọi dòng được chứng minh hay tồn tại một dòng không được chứng minh Bài toán ban đầu được chứng minh nếu mọi dòng tách ra từ nó được chứng minh

Ví dụ: Cho các mệnh đề:

(A) Trời mưa

(B) Trời mưa cảm lạnh.∧ , ∨ , , Lưu ý: dấu phẩy (,) ở vế trái tương đương mắc mưa

(C) Mắc mưa

Ta sẽ chứng minh (D) “cảm lạnh” là mệnh đề đúng

Bài toán được chuyển sang dạng chuẩn thành:

 D, C C  A A, D

Chứng minh:

Tách dòng

A, C =1 A, > D

C, C =2 A,> D

3 A, D, C => D (được cm)

Chuyển vế:

1 A, C => D, A (được cm)

3 A, C => D, C

Ngày đăng: 23/12/2013, 05:18

TỪ KHÓA LIÊN QUAN

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

w