Kỹ thuật giải quyết vấn đề

73 47 0
Kỹ thuật giải quyết vấn đề

Đ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

Chương Kỹ thuật giải vấn đề Lê Thanh Hương Khoa CNTT – ĐHBKHN 3.1 Khoa học TTNT • TTNT quan tâm đến việc tạo đối tượng có thể… – Hành động – sở hồn cảnh cụ thể thứ mà biết Lê Thanh Hương – Khoa CNTT - ĐHBKHN 3.2 Phân loại vấn đề • GQVĐ trình xuất phát từ hình trạng đầu, tìm kiếm khơng gian tốn để tìm dãy tốn tử hay dãy hành động cho phép dẫn tới đích • BT phát biểu chỉnh: BT biết rõ đầu vào, đầu với lời giải giả định đó, áp dụng thuật tốn để xác định xem có phải lời giải BT ban đầu hay khơng • BT phát biểu khơng chỉnh: ngược lại Lê Thanh Hương – Khoa CNTT - ĐHBKHN 3.2 Phân loại vấn đề BT phát biểu chỉnh ĐPT đa thức O(n) Giải thuật ĐPT hàm mũ BT phát biểu không chỉnh giải ko giải O(n) Mẹo giải Lê Thanh Hương – Khoa CNTT - ĐHBKHN Ví dụ Bài tốn đố chữ • Hãy thay chữ chữ số từ đến cho khơng có hai chữ thay số thỏa mãn ràng buộc sau: SEND CROSS + MORE + ROADS MONEY DANGER Lê Thanh Hương – Khoa CNTT - ĐHBKHN Ví dụ Bài tốn rót nước • Cho bình A(m lít), B(n lít) Làm cách để đong k lít ( k  max(m,n) ) bình A, B bình trung gian C • Các thao tác rót (how): C  A; C  B; A  B; A  C; B  A; B  C • Điều kiện: khơng tràn, đổ hết • Ví dụ: m = 5, n = 6, k = (what) • Mơ hình tốn học: (x, y)  (x’, y’) A B A B Lê Thanh Hương – Khoa CNTT - ĐHBKHN Ví dụ Bài tốn trị chơi n2 – số • Trong bảng vuông n hàng, n cột, ô chứa số nằm phạm vi từ  n2 -1 cho khơng có có giá trị Cịn ô bị trống Xuất phát từ cách xếp đó số bảng, dịch chuyển ô trống sang phải, sang trái, lên trên, xuống để đưa bảng: Lê Thanh Hương – Khoa CNTT - ĐHBKHN Ví dụ Bài tốn tháp Hà Nội • Cho cọc 1,2,3 Ở cọc ban đầu có n đĩa, theo thứ tự to dần từ xuống Hãy tìm cách chuyển n đĩa sang cọc cho: – Mỗi lần chuyển đĩa – Ở cọc không cho phép đĩa to nằm đĩa 3 Bài toán tháp Hà Nội với n = Lê Thanh Hương – Khoa CNTT - ĐHBKHN Ví dụ Bài tốn đố: Quan tịa - Hề - Trộm • Có người ngồi quanh bàn tròn Một người qua đường nghe thấy ba người nói chuyện với nhau: – người nói quan tịa – người nói – người nói trộm • Biết rằng: – ln nói đùa – quan tịa nói thật – trộm nói dối • Hỏi ai? Lê Thanh Hương – Khoa CNTT - ĐHBKHN Các đặc trưng vấn đề • • • • • • • Bài tốn phân rã? Khơng gian tốn đốn trước? Có tiêu chuẩn xác định lời giải tối ưu? Có sở tri thức phi mâu thuẫn? Tri thức cần cho trình tìm kiếm hay để điều khiển? Có cần tương tác người – máy? Lê Thanh Hương – Khoa CNTT - ĐHBKHN 10 Tìm kiếm lời giải đồ thị Và/Hoặc VD2: Tháp Hà Nội n = Bài toán đầu (111)  (333) qui toán con: BT1 (111)  (122): chuyển đĩa AB từ cọc sang cọc BT2 (122)  (322): chuyển đĩa C từ cọc sang cọc BT3 (322)  (333): chuyển đĩa AB từ cọc sang cọc BT2 giải ngay, BT1 BT3 tiếp tục phân rã (111)  (333) (111)  (122) (111)  (113) (122)  (322) (123)  (122) (113)  (123) (322)  (333) (322)  (321) (331)  (333) (321)  (331) 59 Qui tốn BT • Bài tốn • Qui BT Đồ thị V/H • Đỉnh • Cung – Phát biểu lại BT P  P1,…,Pn – Cung Hoặc P  P1 … P  Pn – Phân rã P thành P1,…,Pn P P1 P2 Pn P – Cung Và P  P1,, …, P1 P2 Pn P  Pn • BT xuất phát • BT sơ cấp (nguyên tử) ( thuật giải để giải quyết) • Giải BT P • Đỉnh gốc n0 • Đỉnh kết thúc • XD đồ thị lời giải Lê Thanh Hương – Khoa CNTT - ĐHBKHN 60 Đỉnh giải Đỉnh kết thúc ( toán sơ cấp) giải n Giả sử n có n1,…,nk – n1, …, nk  NV n1 n giải  ni giải n – n1, …, nk  NH n giải  ni giải Lê Thanh Hương – Khoa CNTT - ĐHBKHN n nk n1 n2 nk 61 Cây lời giải T • đồ thị G – n0  T   đỉnh nT, n giải E E1 E11 E2 E12 E21 E*111 Eo112 E*121 E*122 Eo211 E22 E*212 E*221 E*222 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 62 Đỉnh không giải n ((n) = ), n khơng kết thúc n có n1,…,nk – ni  NV , nkgd   ni không giải – ni  NH , nkgd   ni không giải Qui ước: n  N tốn nhan(n) = gd đỉnh n giải kgd đỉnh n không giải kxd đỉnh n không xác định n n1 n nk n n1 n2 nk Với toán P, cần xác định nhan(n0), kéo theo đồ thị lời giải Lê Thanh Hương – Khoa CNTT - ĐHBKHN 63 Thuật toán gán nhãn đỉnh giải procedure GD(n) /* n gd hay nhan(n) = true tuỳ thuộc vào thông tin gd đỉnh n */ {1 if kt(n) then nhan(n)=true else {2 if n có đỉnh đỉnh VÀ n 1,…,nk then {3 gd(n1);…; gd(nk); if(nhan(n1) and … and nhan(nk) then nhan(n) = true }3 if n có đỉnh đỉnh HOẶC n 1,…,nk then {4 gd(n1);…;gd(nk); if(nhan(n1) or … or nhan(nk) then nhan(n) = true }4 }2 }1 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 64 Thuật toán gán nhãn đỉnh giải procedure GD(n) /* n gd hay nhan(n) = true tuỳ thuộc vào thông tin gd đỉnh n */ {1 if kt(n) then nhan(n)=true else {2 if n có đỉnh đỉnh VÀ n 1,…,nk then {3 gd(n1);…; gd(nk); if(nhan(n1) and … and nhan(nk) then nhan(n) = true }3 if n có đỉnh đỉnh HOẶC n 1,…,nk then {4 gd(n1);…;gd(nk); if(nhan(n1) or … or nhan(nk) then nhan(n) = true }4 }2 }1 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 65 TK rộng Vào: Cây V/H G=(N,A) với đỉnh đầu n0 Ra: lời giải PP:/* sử dụng d/s queue MO, DONG*/ TK sâu mới: MO stack {1 MO = {n0}; DONG = ; while MO   {2 n  get(MO); DONG  DONG  {n}; if (n)   then {3 MO  MO  (n); if (n) có đỉnh m kết thúc then {4 nhan(m) = true; gd(n0); if nhan(n0) then exit(‘thanh cong’) else Loại khỏi MO đỉnh có tổ tiên đỉnh giải }4 } else{5 nhan(n) = false; kgd(n0); if not nhan(n0) then exit(‘khong cong’) else Loại khỏi MO đỉnh có tổ tiên đỉnh không giải66 Lê}5Thanh }2 }1Hương – Khoa CNTT - ĐHBKHN Tìm kiếm cực tiểu Đặt vấn đề: Tìm T* để chi phí C(T*) Thực tiễn đưa mơ hình giá T • Giá tổng cộng: C (T )  c(a ) aT • Giá max: Cmax (T )  max (c( p)) p:n0  leaves Giá tối ưu để giải tốn h(n), h(n) có tính chất sau: n • Nếu n đỉnh kết thúc, h(n) = • Nếu n có n1, …, nk n1 n2 … nk  ni NH: h(n) = min[h(ni) + c(n,ni)]  ni NV: – Giá : h(n) = [ h(ni) + c(n,ni)] – Giá max: h(n) = max[h(ni) + c(n,ni)] T1 T2 Tk • Nếu n đỉnh khơng giải được, h(n) =  Lê Thanh Hương – Khoa CNTT - ĐHBKHN 67 KGTT tic-tac-toe MAX nước -1 -2 MIN e(p) 1 -1 -1 Lê Thanh Hương – Khoa CNTT - ĐHBKHN -1 -2 68 Tìm kiếm cực tiểu • Trong q trình tìm kiếm, bước có tập gốc n0 cho chúng thành phần lời giải cuối - lời giải tiềm tàng T0 • Xây dựng T0 dựa theo h’ Lê Thanh Hương – Khoa CNTT - ĐHBKHN 69 Tìm kiếm cực tiểu Cách xác định lời giải tiềm tàng T0 Đỉnh đầu n0  T0 Nếu n T0 có đỉnh n1  nk là: đỉnh HOẶC: • chọn ni: c(n,ni) + h’(ni) min, nhan(ni)  kgd đỉnh VÀ: • chọn n1, …,nk vào T0 ni: nhan(ni)  kgd Nhận xét: – – – Nếu V/H chứa đỉnh  TKCT Nếu c = h’=0 với nút sử dụng giá max  TKRM Nếu h’(n)  h(n) với n : a  A, c(a)   TKCTM dừng cho kết lời giải tối ưu Lê Thanh Hương – Khoa CNTT - ĐHBKHN TKCT MO = {n0}; DONG = ; T0 = n0 Chọn n  MO  (T0): DONG  DONG  {n}; if kt(n) then { nhan(n) = true; gd(n 0); if nhan(n0) then exit(‘thanh cong’) else Loại khỏi MO đỉnh có tổ tiên đỉnh giải } else { // n không kết thúc if (n)   then { MO  MO  (n); Với mỡi m (n), tính h’(m) Với mỡi m MO  DONG, tính h’(m) else{ // n khơng kết thúc khơng có nhan(n) = false; kgd(n0); if not nhan(n0) then exit(‘khong cong’) else Loại khỏi MO đỉnh có tổ tiên đỉnh khơng giải } } Lặp lại đến MO =  71 TKCT b 8 i0 j* e d h a c a f T2 T1 k* l* a g c c m* f T T1 T2 C 23 22 Cmax 18 19 g k* l* m* n* o* n a b c d e f g h i j k l m n o h 22 ∞ 13 16 ∞ 12 12 11 ∞ 0 0 0 hmax 18 ∞ 13 ∞ ∞ 0 0 0 h’ 3 2 2 ∞ 0 0 0 j* Lê Thanh Hương – Khoa CNTT - ĐHBKHN 72 n 10 11 12 13 14 15 16 h’ 3   1  2 1 50 12* 130 10* 14* 70 11 15* Lê Thanh Hương – Khoa CNTT - ĐHBKHN 160 

Ngày đăng: 15/12/2022, 21:08

Mục lục

  • Chương 3 Kỹ thuật giải quyết vấn đề

  • 3.2. Phân loại vấn đề

  • Ví dụ 1. Bài toán đố chữ

  • Ví dụ 2. Bài toán rót nước

  • Ví dụ 3. Bài toán trò chơi n2 – 1 số

  • Ví dụ 4. Bài toán tháp Hà Nội

  • Ví dụ 5. Bài toán đố: Quan tòa - Hề - Trộm

  • Các đặc trưng cơ bản của vấn đề

  • 3.3.Những yếu tố cơ bản trong GQVĐ

  • 3.4.Các phương pháp biểu diễn vấn đề

  • 3.5. Giải quyết vấn đề

  • Bài toán tìm kiếm: Lập kế hoạch đường đi

  • KGTT của Trò Chơi Tic-Tac-Toe

  • Chẩn đoán trục trặc máy móc trong ô tô

  • Cây và đồ thị

  • Ví dụ về đồ thị

  • 3.5.1 Biểu diễn bài toán trong không gian tìm kiếm

  • 3.5.1 Biểu diễn bài toán trong KGTK

  • Các chiến lược tìm kiếm lời giải

  • Không gian trạng thái của bài toán Tháp Hà Nội

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan