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

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

3 683 14

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

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

Nội dung

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. Đỉ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 ∧ ∨ với , ở vế∧ ⇔ hay ⇒không chứa phép phải tương đương với .∨ 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 và , ∧ ∨ ∨ về phải chỉ còn dấu và .∧ Bước 4: Nếu dòng hiện hành có dạng: thì thay bằng hai dòng: và Nếu dòng hiện hành có dạng: thì thay bằng hai dòng: và 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.∧ ⇒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 . 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). 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

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

TỪ KHÓA LIÊN QUAN

w