Bài giảng "Trí tuệ nhân tạo - Chương 3: Kỹ thuật giải quyết vấn đề" cung cấp cho người học các kiến thức: Biểu diễn bằng logic hình thức và các phương pháp chứng minh, một số phương pháp giải quyết vấn đề khác. Mời các bạn cùng tham khảo.
3.1 Khoa học TTNT Chương Kỹ thuật giải vấn đề • TTNT quan tâm đến việc tạo đối tượng có thể… – Hành động – sở hoàn cảnh cụ thể thứ mà biết Lê Thanh Hương Khoa CNTT – ĐHBKHN Lê Thanh Hương – Khoa CNTT - ĐHBKHN 3.2 Phân loại vấn đề 3.2 Phân loại vấn đề • GQVĐ GQ ttrình xuất uất phát p át từ hình ttrạng g đầu, tìm t kiếm khơng gian tốn để tìm dãy toán tử hay dãy hành động cho phép dẫn tới đích BT phát biểu chỉnh • 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 khơng ĐPT đa thức • BT phát biểu khơng chỉnh: ngược lại Giải thuật Lê Thanh Hương – Khoa CNTT - ĐHBKHN O(nα) Đ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 rót nước 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 • 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ác thao tác rót (how): C Ỉ A; C Æ B; A Æ B; A Æ C; B Æ A; B ặ C iu kin: khụng trn, hết • Ví dụ: m = 5, n = 6, k = • Mơ hình hì h ttốn h 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 vng n hàng, n cột, ô chứa số nằm phạm vi từ Ỉ n2 -1 cho khơng có có ó ù giá iá ttrị ị Cò Còn đú ô bị trống tố Xuất X ất phát há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: (what) Ví dụ Bài tốn tháp Hà Nội • Cho cọc 1,2,3 Ở cọc ban đầu có n đĩa, đĩ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 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 ới nhau: h • • • • • 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? – 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 3.3.Những yếu tố GQVĐ Bài toán Chiến lược điều khiển Kỹ thuật Heuristic Kỹ thuật suy diễn CSDL Hệ thống giải vấn đề CSTT Cấu trúc hệ thống giải vấn đề Lê Thanh Hương – Khoa CNTT - ĐHBKHN Lê Thanh Hương – Khoa CNTT - ĐHBKHN 10 3.4.Các phương pháp biểu diễn vấn đề n Biểu diễn nhờ KGTT • Mỗi hình trạng tốn tương ứng với trạng thái (state) • Mỗi phép biến đổi từ hình trạng sang hình trạng khác tương ứng với toán tử (operator) Biểu ể diễn ễ + Tri thức Giải thuật tìm kiếm Các đặc trưng vấn đề 11 o Qui toán toán • Phân chia tốn thành tốn con, toán lại phân rã tiếp gặp toán sơ cấp ấ cho phép xác định lời giải ả ủ toán ban đầu sở lời giải tốn • VD: phương pháp tinh dần bước cơng nghệ lập trình Lê Thanh Hương – Khoa CNTT - ĐHBKHN 12 3.4.Các phương pháp biểu diễn vấn đề p Sử dụng logic hình thức Khi giải tốn, phải tiến hành phân tích logic để thu gọn trình tìm kiếm, nhiều chứng minh khơng có lời giải – logic mệnh đề – logic vị từ cấp cho phép: – kiểm tra điều kiện kết thúc tìm kiếm KGTT kiểm tra tính áp dụng tốn tử – Chứng minh khơng tồn lời giải – Mục đích: CM phát biểu sở tiền đề luật suy diễn có Lê Thanh Hương – Khoa CNTT - ĐHBKHN 13 3.4.Các phương pháp biểu diễn vấn đề r Biểu diễn máy • dùng bảng/mảng (array): ví dụ, trò chơi n2-1 số Trạng thái đầu 11 14 10 5 13 15 10 11 12 12 13 14 15 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 14 3.4.Các phương pháp biểu diễn vấn đề x: ô trống, T: quân trắng đến lượt XD: xe đen, TgD: tượng đen, VD: vua đen MD: mã đen, ToD: tốt đen, HD: hậu đen TgT: tượng trắng, ToT: tốt trắng, MT: mã trắng, XT:xe trắng, HT: hậu trắng, VT: vua trắng ⎧4(i − 1) + j (i, j ) ≠ (4,4) A = (aij ) = ⎨ (i, j ) = (4,4) ⎩0 Lê Thanh Hương – Khoa CNTT - ĐHBKHN q Lựa chọn phương pháp biểu diễn thích hợp nhằm: • chia để trị • tinh lọc thơng tin • tận dụng phương pháp giải có • phát biểu thể vài tương quan yếu tố tốn nhằm thu gọn q trình giải r Biểu diễn máy • dùng xâu ký hiệu Ví dụ: bàn cờ Châu Âu “T, XD, x , TgD, x , VD , x , MD, XD , ToD,ToD,ToD, x , x ,ToD,ToD,ToD, x , x , x ,ToD, x , x , x , x , x , x , x , x ,ToD, x , x , x , x , x ,TgT, MD ,ToT, x , x , x , x , x , MT, x , x , x , x , x , ToT,ToT ,ToT, x , x ,ToT, HD,ToT, XT , x , x , HT , VT, x , x , XT ” Trạng thái đích 3.4.Các phương pháp biểu diễn vấn đề 15 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 16 3.4.Các phương pháp biểu diễn vấn đề Để xây dựng tác tử biết suy luận, ta cần sử dụng lý thuyết logic, xác suất, tính hữu dụng Các kỹ thuật tìm kiếm nghiên cứu trước hết vì: • Tìm kiếm ế vấn ấ đề ề quan trọng TTNT: r Biểu diễn máy • dùng cấu trúc danh sách Ví dụ: nghiệm phương trình bậc − b + (b − 4ac) x1 = 2a 3.5 Giải vấn đề – Tìm chuỗi hành động nhằm tối đa kết tương lai (lập kế hoạch) – Tìm kiếm CSTT để tìm chỗi hành động thực tương lai (suy luận logic, xác suất) – Tìm mơ hình phù hợp với quan sát (trong học máy) • Tì Tìm kiếm kiế ttrong hữ thành h công ô nghiên cứu TTNT giai đoạn đầu Bài tốn tìm kiếm: Lập kế hoạch đường • Kết q quả: từ Arad đến ế Bucharest thời gian ngắn • Mơi trường: đồ với thành phố, đường, thời gian g thành p phố Lê Thanh Hương – Khoa CNTT - ĐHBKHN Lê Thanh Hương – Khoa CNTT - ĐHBKHN 17 19 18 K KGTT Trò Ch Tic-Tac c-Toe Lê Thanh Hương – Khoa CNTT - ĐHBKHN 20 Chẩn đốn trục trặc máy móc tơ B cha C C B A tổ tiên C C hậu duệ A Cây đồ thị 21 22 3.5.1 Biểu diễn tốn khơng gian tìm kiếm Ví dụ đồ thị Phát biểu tốn P1: • Cho trạng thái đầu s0 • Cho tập trạng thái đích ĐICH • Tìm dãy dã trạng thái s0,ss1,…,ssn cho – – • Giá đường đi: (cộng gộp) – – • sn ∈ĐICH ∀i: si →si+1 nhờ áp dụng toán tử biến đổi ví dụ, tổng khoảng cách, số lượng hành động thực hiện, … c(x, a, y) giá bước, ≥ Để biểu diễn phép biến đổi trạng thái, có cách viết: Cách viết dùng luật sản xuất xuất, • • Cách viết dùng ký hiệu hàm • • 23 Lê Thanh Hương – Khoa CNTT - ĐHBKHN VD: VT → VP Bài toán Tháp Hà Nội VD: B = f(A) Bài toán n2-1 số Lê Thanh Hương – Khoa CNTT - ĐHBKHN 24 3.5.1 Biểu diễn toán KGTK Phát biểu lại toán P1 (bài toán P2): Tìm dãy trạng thái s0,s s1,…,s sn cho – sn ∈ĐICH – ∀i: si →si+1 (hay ∃ tốn tử biến đổi O: O(si) = si+1) Tìm dãy toán tử O1,…,On-1, On cho: On(On-1(…O1(s0) )) = sn ∈ ĐICH hay tìm dãy sản xuất p1,…,pn cho s0⇒p1s1⇒…⇒pnsn ∈ ĐICH Lê Thanh Hương – Khoa CNTT - ĐHBKHN Các chiến lược tìm kiếm lời giải VD1: Bài tốn rót nước What: A(m),B(n) Đầu: (0,0) Đích (k,*) U (*,k) How: Thao tác rót: A Ỉ B,… Điều kiện: không tràn, đổ hết Biểu diễn sản xuất: (x,y) Æ (x’, y’) m = 6, n = 5, k = 2: 6–5=1 2*6 - 2*5 = 2; 4*5 - 3*6 = USCLN(m,n)=d Nếu k không chia hết cho d Ỉ not OK Lê Thanh Hương – Khoa CNTT - ĐHBKHN 25 Khơng gian trạng thái tốn Tháp Hà Nội Các chiến lược tìm kiếm lời giải VD2: Bài toán Tháp Hà Nội, n=3 (i, j,k) Nếu i, j, k cọc riêng biệt C B A i+j+k=6 111 113 112 123 132 Procedure Thap(n,i,j: integer); //nhấc n đĩa từ cọc i sang cọc j Var k: interger; Begin k = – i – j; if n=1 then Nhac(i,j) ( ,j) else begin Thap(n-1,i,k); Nhac(i,j); Thap(n-1,k,j); end; End; Lê Thanh Hương – Khoa CNTT - ĐHBKHN 26 133 233 221 27 322 323 212 223 121 232 231 222 122 131 321 331 313 333 213 211 311 312 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 332 28 Biểu diễn đồ thị Đồ thị G cặp G = (N,A) với N - tập nút, A - tập cung với ∀n∈N: Γ(n) = {m∈N| (n,m)∈A} • • • • • KGTT Trạng thái (đầu, đích) S, ababb Tốn tử (sản xuất) S →Sa Dãy trạng thái liên tiếp Dãy tốn tử S →Sa →aBa Bài tốn P1,P2 • Đồ thị nút (đầu, đích) Chuyển tốn tìm kiếm đồ thị tìm kiếm • Cây đồ thị có hướng khơng có chu trình nút có D? ⇒ Tìm kiếm sâu dần Thuật tốn Hồn thiện Tối ưu Thời gian Khơng gian TKSD O(bd) O(bm) có 37 khơng 38 Lê Thanh Hương – Khoa CNTT - ĐHBKHN Trò chơi đố 8-puzzle với ngưỡng sâu Tìm kiếm cực tiểu c(ni, nj): chi phí từ ni đến nj Xét p = n0, n1, …,, nk Hàm đánh giá c(p) = c(n0,n1) + c(n1,n2) +…+ c(nk-1,nk) Lấy n ∈ Mở: g(n) = c(p(n0,n)) Nếu ∀c(ni,nj) > ε, C* chi phí lời giải tối ưu Thuật tốn Hồn thiện Tối ưu Thời gian TKCT 39 có có O(bceiling(C*/ε)) Lê Thanh Hương – Khoa CNTT - ĐHBKHN Không gian O(bceiling(C*/ε)) 40 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 10 LS LC 20 ST HB 30 15 10 NĐ 100 90 HN TB 15 NB c(ni, nj) = chi phí từ ni đến nj g(n) = chi phí thực tế đường từ n0 đến n h(n) = chi phí ước lượng đường từ n đến ế đích, chun gia cung cấp • h(n) chấp nhận với ∀n, ≤ h(n) ≤ h*(n), h*(n) chi phí thực để tới trạng thái đích từ n • h(n) sát với h*(n) thuật toán mạnh n0 15 HP 10 10 15 Tìm kiếm cực tiểu với tri thức bổ sung (A*) QN 17 90 80 f(n) = g(n) + h(n) f(n-1) ( ) = g( g(n-1)) + h(n-1) ( ) g(n) = g(n-1) + c(n-1,n) f(n) = g(n-1) + c(n-1,n) + h(n) = f(n-1) – h(n-1) + c(n-1,n) + h(n) 25 TH 15 Tìm đường ngắn từ HN đến V V LS LC 90 HB ST HN 15 10 NĐ 100 QN 17 20 15 NB 30 10 10 15 HP TB 15 90 80 25 TH 15 V 41 Lê Thanh Hương – Khoa CNTT - ĐHBKHN n h(n) HN 50 ST 60 LC 75 HB 65 LS 70 HP 80 QN 80 TB 55 NĐ 45 NB 20 TH 15 V h(n): khoảng cách đường chim bay HN43Ỉ V Lấy n ∈ Mở: f(n) g(n-1) n-1 c(n-1,n) n h(n-1) h(n) đích Lê Thanh Hương – Khoa CNTT - ĐHBKHN 42 3.5.3 Một số dạng heuristic tốn tìm kiếm Lê Thanh Hương – Khoa CNTT - ĐHBKHN 44 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 11 Trò chơi Tic-tac-toe Bài tốn đố số 5 88 22 Start State • • • 84 25 Goal State VÍ dụ heuristic – Số viên sai vị trí – Khoảng cách Manhattan (Khoảng cách Manhattan (x1,y1) (x2,y2) |x1-x2|+|y1-y2| H1(S) = H2(S) = 2+3+3+2+4+2+0+2 = 18 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 45 Chiếm đường Lê Thanh Hương – Khoa CNTT - ĐHBKHN 46 Phép đo heuristic Phép đo heuristic Chiếm đường KGTT tic-tac-toe thu nhỏ nhờ tính đối xứng trạng thái Chiếm đường Heuristic “Số đường thắng nhiều nhất” áp dụng cho nút đầu tien tic-tac-toe Lê Thanh Hương – Khoa CNTT - ĐHBKHN 47 48 12 Trò chơi đối kháng MINIMAX Có đối thủ MAX MIN • MAX tìm cách làm cực đại hàm ước lượng đó: Chọn nước ứng với GTLN • MIN tìm cách làm cực tiểu chọn nước ứng với GTNN Ở thời điểm: • Nếu đỉnh ứng với nước MAX giá trị GT cực đại đỉnh • Nếu đỉnh ứng với nước MIN giá trị GT cực tiểu đỉnh Áp dụng vào chơi cờ caro bảng ô vuông (Tictactoe), kích thước 3x3 MAX đặt dấu x, MIN đặt dấu o Ở nước đi, đối thủ xem trước nước Ước lượng e(p) cờ p: MAX nước đầu ầ tiên -1 -2 MIN e(p) E(p) = (số dòng, số cột, số đường chéo mở MAX) - (số dòng, số cột, số đường chéo mở MIN) • Nếu p thắng MAX, e(p) = +∞ • Nếu p thắng MIN, e(p) = -∞ • MAX đường khơng có o; MIN đường khơng có x KGTT tic-tac-toe thu nhỏ nhờ tính đối xứng trạng thái 1 -1 -1 -1 -2 Ỉ Tìm kiếm theo kiểu depth-first 49 Lê Thanh Hương – Khoa CNTT - ĐHBKHN Phương pháp cắt tỉa α-β trò chơi minimax Phương pháp cắt tỉa α-β Lê Thanh Hương – Khoa CNTT - ĐHBKHN Lê Thanh Hương – Khoa CNTT - ĐHBKHN 51 50 52 13 Phương pháp cắt tỉa α-β Lê Thanh Hương – Khoa CNTT - ĐHBKHN Phương pháp cắt tỉa α-β 53 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 54 Phương pháp cắt tỉa α-β Phương pháp cắt tỉa α-β • Cắt cụt khơng làm ảnh hưởng tới kết cuối • Sắp xếp thứ tự duyệt tối ưu nâng cao hiệu q trình cắt cụt • Trong trường hợp tốt nhất, độ phức tạp thời gian = O(bm/2) Tại gọi α-β? • α giá trị lựa chọn tốt tìm thấy thời điểm đường max • Nếu v tồi α, max khơng duyệt Ỉ cắt cụt nhánh • Định nghĩa β tương tự Lê Thanh Hương – Khoa CNTT - ĐHBKHN 55 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 56 14 Một số trò chơi đối kháng (minimax) 3.5.4 Tìm kiếm lời giải đồ thị Và/Hoặc Phân rã toán thành tốn VD1: Tìm đường từ Nhà hát lớn đến Ga Hà Nội Nội BT1 Đi từ Nhà hát lớn đến Hồ hoàn kiếm BT2 Đi từ Hồ hoàn kiếm đến Cửa Nam BT3 Đi từ Cửa Nam đến Ga Hà Nội NHL → GHN 57 Tìm kiếm lời giải đồ thị Và/Hoặc (111) → (333) (111) → (113) (122) → (322) (123) → (122) (113) → (123) Qui toán BT CN → GHN 58 Đồ thị V/H • Đỉnh • Cung – Phát biểu lại BT P → P1,…,P Pn – Cung Hoặc P → P1 … P → Pn – Phân rã P thành P1,…,Pn – Cung Và P → P1,, …, 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 (322) → (333) (322) → (321) HHK → CN Lê Thanh Hương – Khoa CNTT - ĐHBKHN • Bài toán • Qui BT 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 BT2 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) → (122) NHL → HHK • Đỉnh gốc n0 • Đỉnh kết thúc P P1 P2 Pn P P1 P2 Pn • XD đồ thị lời giải (331) → (333) (321) → (331) 59 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 60 15 Cây lời giải T Đỉnh giải • đồ thị G – n0 ∈ T – ∀ đỉ đỉnh h n∈T, T n giải iải đ Đỉnh kết thúc (⇔ toán sơ cấp) giải n Giả sử n có n1,…,nk – n1, …, nk ∈ NV ng giải ợ ⇔ ∀ni g giải ợ – n1, …, nk ∈ NH n giải ⇔ ∃ni giải E E1 n1 n2 nk n E11 n1 n2 nk Lê Thanh Hương – Khoa CNTT - ĐHBKHN E12 E21 E22 E*111 Eo112 E*121 E*122 Eo211 E*212 E*221 E*222 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 61 Đỉnh không giải E2 62 Thuật toán gán nhãn đỉnh giải procedure GD(n) n ((Γ(n) ( ) = ∅), ), n khơng g kết thúc n có n1,…,nk – – ni ∈ NV , nkgd ⇔ ∃ ni không giải ni ∈ NH , nkgd ⇔ ∀ ni không giải {1 if kt(n) then nhan(n)=true else {2 n1 n2 nk Qui ước: n ∈ N tốn nhan(n) = true đỉnh n giải ffalse ế đỉnh ỉ n không giải ả kxd đỉnh n không xác định /* n gd hay nhan(n) = true tuỳ thuộc vào thông tin gd đỉnh đỉ h ủ n */ n if n có đỉnh đỉnh VÀ n1,…,nk then n {3 gd(n1);…; gd(nk); if(nhan(n1) and … and nhan(nk) then nhan(n) = true }3 n1 n2 nk if n có đỉnh đỉnh HOẶC n1,…,nk then {4 gd(n1);…;gd(nk); Với toán P, cần xác định nhan(n0), kéo theo đồ thị lời giải if(nhan(n1) or … or nhan(nk) then nhan(n) = true }4 }2 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 63 }1 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 64 16 Thuật toán gán nhãn đỉnh K giải procedure KGD(n) 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 đỉ h ủ n */ {1 if not kt(n) then nhan(n)=false {1 if kt(n) then nhan(n)=true else {2 else {2 if n có đỉnh đỉnh VÀ n1,…,nk then if n có đỉnh đỉnh VÀ n1,…,nk then {3 gd(n1);…; gd(nk); false}3 if(nhan(n1) and … and nhan(nk) then nhan(n) = true }3 if n có đỉnh đỉnh HOẶC n1,…,nk then if n có đỉnh đỉnh HOẶC n1,…,nk then {4 gd(n1);…;gd(nk); {4 gd(n1);…;gd(nk); false}4 }2 {3 gd(n1);…; gd(nk); if(not nhan(n1) or… or not nhan(nk) then nhan(n) = if(not nhan(n1) and … and not nhan(nk) then nhan(n) = if(nhan(n1) or … or nhan(nk) then nhan(n) = true }4 }2 Lê Thanh Hương – Khoa CNTT - ĐHBKHN }1 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*/ Lê Thanh Hương – Khoa CNTT - ĐHBKHN 66 Tìm kiếm cực tiểu 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 }3 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ải }5 }2 }1 Lê Thanh Hương – Khoa CNTT - ĐHBKHN }1 67 Đặt vấn đề: Tìm T* để chi phí C(T*) Thực tiễn đưa mơ hình giá T • Giá tổng tổ 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 • ∀n ∀ i ∈N NH: h(n) h( ) = min[h(n i [h( i) + c(n,n ( i)] n1 n2 … nk • ∀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 68 17 KGTT tic-tac-toe Tìm kiếm cực tiểu • Trong q trình tìm kiế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’ MAX nước đầu ầ tiên -1 -2 MIN e(p) 1 -1 -1 -1 -2 Lê Thanh Hương – Khoa CNTT - ĐHBKHN Tìm kiếm cực tiểu Cách xác định lời giải tiềm tàng T0 2 Đỉ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 69 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 70 TKCT MO = {n0}; DONG = ∅; T0 = n0 Chọn n ∈ MO ∩ (T0): DONG ← DONG ∪ {n}; ( ) then { nhan(n) ( ) = true; gd(n g ( 0)); if kt(n) 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 ∈Γ(n), tính h’(m) Vớ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 } } 72 Lặp lại đến MO = ∅ 18 TKCT b 8 i0 j* n* n hΣ a f k* l* 22 g ∞ c 13 d m* 16 e ∞ c c f j* b a o* a T2 T1 c e d h a f 12 T T1 CΣ 23 22 Cmax 18 19 k* l* m* 12 11 i ∞ j 10 11 12 13 14 15 16 h’ 3 ∞ ∞ 1 k l ∞ 0 ∞ m n 0 T2 o hmax 18 ∞ 13 ∞ ∞ 0 0 0 h’ 3 2 2 ∞ 0 0 0 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 2 h g g n 73 12* 130 10* 14* 70 50 3 11 15* 160 Lê Thanh Hương – Khoa CNTT - ĐHBKHN 19 ... Thap(n-1,i,k); Nhac(i,j); Thap(n-1,k,j); end; End; Lê Thanh Hương – Khoa CNTT - ĐHBKHN 26 133 233 221 27 32 2 32 3 212 2 23 121 232 231 222 122 131 32 1 33 1 31 3 33 3 2 13 211 31 1 31 2 Lê Thanh Hương. .. - trò chơi minimax Phương pháp cắt tỉa - Lê Thanh Hương – Khoa CNTT - ĐHBKHN Lê Thanh Hương – Khoa CNTT - ĐHBKHN 51 50 52 13 Phương pháp cắt tỉa - Lê Thanh Hương – Khoa CNTT - ĐHBKHN Phương... f(n) g(n-1) n-1 c(n-1,n) n h(n-1) h(n) đích Lê Thanh Hương – Khoa CNTT - ĐHBKHN 42 3. 5 .3 Một số dạng heuristic tốn tìm kiếm Lê Thanh Hương – Khoa CNTT - ĐHBKHN 44 Lê Thanh Hương – Khoa CNTT - ĐHBKHN