Trí tuệ nhân tạo - Chương 6: Các bài toán thỏa rằng buộc
Bạn đang xem 20 trang mẫu của tài liệu "Trí tuệ nhân tạo - Chương 6: Các bài toán thỏa rằng buộc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- tri_tue_nhan_tao_chuong_6_cac_bai_toan_thoa_rang_buoc.pdf
Nội dung text: Trí tuệ nhân tạo - Chương 6: Các bài toán thỏa rằng buộc
- NHẬP MÔN TRÍ TUỆ NHÂN TẠO Chương 6: Các bài toán thỏa rằng buộc Biên soạn: TS Ngô Hữu Phúc Bộ môn: Khoa học máy tính Mobile: 098 56 96 580 Email: ngohuuphuc76@gmail.com 1 Các bài toán thỏa rằng buộc
- Thông tin chung Thông tin về nhóm môn học: TT Họ tên giáo viên Học hàm Học vị Đơn vị công tác (Bộ môn) 1 Ngô Hữu Phúc GVC TS BM Khoa học máy tính 2 Trần Nguyên Ngọc GVC TS BM Khoa học máy tính 3 Hà Chí Trung GVC TS BM Khoa học máy tính 4 Trần Cao Trưởng GV ThS BM Khoa học máy tính Thời gian, địa điểm làm việc: Bộ môn Khoa học máy tính Tầng 2, nhà A1. Địa chỉ liên hệ: Bộ môn Khoa học máy tính, khoa Công nghệ thông tin. Điện thoại, email: 069-515-329, ngohuuphuc76.mta@gmail.com. 2 Các bài toán thỏa rằng buộc
- Cấu trúc môn học Chương 1: Giới thiệu chung. Chương 2: Logic hình thức. Chương 3: Các phương pháp tìm kiếm mù. Chương 4: Các phương pháp tìm kiếm có sử dụng thông tin. Chương 5: Các chiến lược tìm kiếm có đối thủ. Chương 6: Các bài toán thỏa rằng buộc. Chương 7: Nhập môn học máy. 3 Các bài toán thỏa rằng buộc
- Bài 6: Các bài toán thỏa rằng buộc Chương 6, mục: 6.1 – 6.3 Tiết: 1-3; Tuần thứ: 8,9 (làm thực hành chương 5),10. Mục đích, yêu cầu: 1. Nắm được khái niệm về thỏa rằng buộc. 2. Nắm được phương pháp tìm kiếm thỏa rằng buộc. 3. Xây dựng chương trình minh họa. Hình thức tổ chức dạy học: Lý thuyết. Thời gian: 3 tiết. Địa điểm: Giảng đường do Phòng Đào tạo phân công Nội dung chính: (Slides) 4 Các bài toán thỏa rằng buộc
- Nội Dung Tìm kiếm thoả ràng buộc: –Bài toán thoả ràng buộc (CSP) –Tìm kiếm backtracking cho CSP –Tìm kiếm địa phương cho CSP Các bài toán thỏa rằng buộc 5
- Bài toán thoả ràng buộc (CSPs) • Bài toán tìm kiếm ở tiết trước: – Trạng thái: dạng “hộp đen“ – Tất cả các cấu trúc mà trên đó có thể định nghĩa successor function, heuristic function, and goal test • CSP: – Trạng thái được định nghĩa là các biến Xi với giá trị lấy từ các miền xác định Di – goal test là tập các ràng buộc quy định trên tổ hợp các giá trị của tập con của các biến • Có thể đưa ra những thuật toán chung có công hiệu lớn hơn những tìm kiếm Heuristics ở tiết trước. Các bài toán thỏa rằng buộc 6
- Ví dụ Tô Mầu Đồ Thị • Biến WA, NT, Q, NSW, V, SA, T • Miền giá trị Di = {red,green,blue} • Ràng buộc: Các miền khác nhau được tô mầu khác nhau • e.g., WA ≠ NT, or (WA,NT) in {(red,green),(red,blue),(green,red), (green,blue),(blue,red),(blue,green)} • Ví dụ bài toán: SAT, 3-SAT. Các bài toán thỏa rằng buộc 7
- Ví Dụ • Lời giải là các tổ hợp giá trị đủ và nhất quán với ràng buộc VD: WA = red, NT = green,Q = red,NSW = green,V = red,SA = blue,T = green Các bài toán thỏa rằng buộc 8
- Đồ Thị Ràng Buộc • Bài toán CSP nhị phân: Mỗi ràng buộc chỉ gồm hai biến • Đồ thì ràng buộc: đỉnh là các biến, cung biểu diễn các ràng buộc Các bài toán thỏa rằng buộc 9
- Các biến thể của CSPs • Biến rời rạc – Miền giá trị hữu hạn: • n biến, kích thước miền giá trị d O(dn) tổ hợp giá trị • e.g., Boolean CSPs, như Boolean Satisfiability (NP- complete) –SAT (3SAT). – Miền giá trị vô hạn: • integers, strings, etc. • e.g., lập lịch, biến là ngày bắt đầu ngày kết thúc công việc. • ngôn ngữ biểu diễn ràng buộc StartJob1 + 5 ≤ StartJob3 • Biến liên tục – Các bài toán quy hoạch tuyến tính và phi tuyến trong vận trù học. Các bài toán thỏa rằng buộc 10
- Các Loại Ràng Buộc • Ràng buộc đơn, – e.g., SA ≠ green • Ràng buộc nhị phân: – e.g., SA ≠ WA • Ràng buộc bậc cao (3 biến trở lên) • e.g., bài toán cryptarithmetic (SEND+ME= MONEY). Các bài toán thỏa rằng buộc 11
- Ví dụ: Cryptarithmetic • Biến: F T U W O X1 X2 X3 • Miền giá trị: {0,1,2,3,4,5,6,7,8,9} • Ràng buộc: Alldiff (F,T,U,W,R,O) – O + O = R + 10 · X1 – X1 + W + W = U + 10 · X2 – X2 + T + T = O + 10 · X3 – X = F, T ≠ 0, F ≠ 0 3 Các bài toán thỏa rằng buộc 12
- Các bài toán CSPs trong thực tế • Bài toán gán – e.g., Ai dạy lớp nào? • Bài toán thời khoá biểu – Lớp nào học lúc nào ở đâu. • Bài toán lập lịch xe (giao thông) • Bài toán lập lịch gia công cho dây truyền sản xuất Các bài toán thỏa rằng buộc 13
- Tìm kiếm mù Không gian trạng thái là tập các biến được gán giá trị. • Trạng thái đầu: { } • Successor function: gán giá trị cho một biến mà không gây mâu thuẫn với ràng buộc trên các giá trị đang được gán. Thất bại nếu không tìm được giá trị nào như vậy • Goal test: Tập giá trị gán là đầy đủ. 1. Đối với mỗi bài toán CSPs: 2. Lời giải tồn tại ở độ sâu tìm kiếm n nếu bài toán có n biến 3. dùng DFS 4. Lời giải là trạng thái (không phải là đường đi) 5. b = (n - l )d tại độ sâu l, vì vậy có n! · dn lá Các bài toán thỏa rằng buộc 14
- Tìm kiếm Backtracking • Chú ý: các cặp gán giá trị có tính giao hoan, i.e., [ WA = red sau đó NT = green ] sau đó [ NT = green sau đó WA = red ] • Chỉ cần gán giá trị cho 1 biến tại mỗi node b = d có dn lá • DFS cho CSPs gán trị đơn biến – tìm kiếm backtracking • Backtracking là dạng tìm kiếm mù đơn giản cho CSPs • Có thể giải n-queens với n ≈ 25 Các bài toán thỏa rằng buộc 15
- Backtracking search Các bài toán thỏa rằng buộc 16
- Ví Dụ Backtracking Các bài toán thỏa rằng buộc 17
- Ví Dụ Backtracking Các bài toán thỏa rằng buộc 18
- Ví Dụ Backtracking Các bài toán thỏa rằng buộc 19
- Ví Dụ Backtracking Các bài toán thỏa rằng buộc 20
- Cải thiện hiệu suất của backtracking • Heuristic chung cần được đưa ra để tra lời các câu hỏi: – Biến nào được gán trị tiếp theo? – Các giá trị để thử theo thứ tự nào? – Liệu có thể biết trước những hướng vô vọng? Việc trả lời tốt những câu hỏi trên có thể giúp tăng hiệu suất đáng kể Backtracking cho CSP trong thực tế! Các bài toán thỏa rằng buộc 21
- Biến nhiều ràng buộc nhất • chọn biến nhiều ràng buộc nhất: chọn biến với ít giá trị hợp lệ để chọn nhất. • minimum remaining values (MRV) heuristic. Các bài toán thỏa rằng buộc 22
- Biến ràng buộc nhiều nhất • Trong trường hợp có nhiều biến như vậy: • Chọn biến có nhiều ràng buộc với các biến khác nhất. Các bài toán thỏa rằng buộc 23
- Chọn giá trị ràng buộc tối thiểu • Đối với mỗi biến, chọn giá trị ràng buộc tối thiểu: – giá trị làm hạn chế ít nhất các giá trị cho các biến khác • Kết hợp các heuristics chung nói trên có thể giúp giải bài toán 1000-queens Các bài toán thỏa rằng buộc 24
- Kiểm Tra Trước • Ý tưởng: – Lưu trữ và kiểm soát các giá trị có thể gán được cho các biến chưa được gán trị. – Kết thúc nếu có bất cứ biến nào không còn giá trị gán hợp lệ. Các bài toán thỏa rằng buộc 25
- Kiểm Tra Trước • Ý tưởng: – Lưu trữ và kiểm soát các giá trị có thể gán được cho các biến chưa được gán trị. – Kết thúc nếu có bất cứ biến nào không còn giá trị gán hợp lệ. Các bài toán thỏa rằng buộc 26
- Kiểm Tra Trước • Ý tưởng: – Lưu trữ và kiểm soát các giá trị có thể gán được cho các biến chưa được gán trị. – Kết thúc nếu có bất cứ biến nào không còn giá trị gán hợp lệ. Các bài toán thỏa rằng buộc 27
- Kiểm Tra Trước • Ý tưởng: – Lưu trữ và kiểm soát các giá trị có thể gán được cho các biến chưa được gán trị. – Kết thúc nếu có bất cứ biến nào không còn giá trị gán hợp lệ. Các bài toán thỏa rằng buộc 28
- Lan Truyền Ràng Buộc • kiểm tra trước lan truyền thông tin từ biến đã được gán sang biến chưa được gán, nhưng không phá hiện sớm được tất cả các trường hợp thất bại • NT và SA không thể cùng blue! • Lan truyền ràng buộc làm mạnh ràng buộc vào phạm vi địa phương Các bài toán thỏa rằng buộc 29
- Nhất quán theo cung • X Y là nhất quán khi và chỉ khi với mọi giá trị x của X đều có giá trị hợp lệ cho y Các bài toán thỏa rằng buộc 30
- Nhất quán theo cung • X Y là nhất quán khi và chỉ khi với mọi giá trị x của X đều có giá trị hợp lệ cho y Các bài toán thỏa rằng buộc 31
- Nhất quán theo cung • X Y là nhất quán khi và chỉ khi với mọi giá trị x của X đều có giá trị hợp lệ cho y • Nếu X mất một giá trị, thì cần kiểm tra lại lân cận của X. Các bài toán thỏa rằng buộc 32
- Nhất quán theo cung • X Y là nhất quán khi và chỉ khi với mọi giá trị x của X đều có giá trị hợp lệ cho y • Nếu X mất một giá trị, thì cần kiểm tra lại lân cận của X. • Nhất quán theo cung có khả năng phát hiện thất bại sớm hơn kiểm tra trước. • Có thể được thực hiện trước mỗi khi gán trị cho biến. Các bài toán thỏa rằng buộc 33
- Thuật toán AC-3 • Độ phức tạp thời gian O(n2d3) Các bài toán thỏa rằng buộc 34
- Tìm kiếm địa phương cho CSPs • Các phương pháp tìm kiếm địa phương (GHB, SA, GA, ACO, ) có thể áp dụng cho CSP • Để áp dụng vào CSPs: – Cho phép các trạng thái không thoả ràng buộc. – Toán tử để gán lại các giá trị cho biến • Lựa chọn biến: lựa chọn ngẫu nhiên một biến xung đột • Lựa chọn giá trị dựa trên heuristic min-conflict: – Chọn giá trị vi phạm ít ràng buộc nhất – i.e., hill-climb với h(n) = số lượng ràng buộc bị vi phạm Các bài toán thỏa rằng buộc 35
- Ví dụ: 4-Queens • Trạng thái: 4 queens trong 4 cột (44 = 256 trạng thái) • Toán tử: chuyển một con hậu trong cột • Goal test: không con hậu nào tấn công nhau • Đánh giá: h(n) = Số lượng cặp hậu tấn công nhau • Trạng thái đầu ngẫu nhiên, tìm kiếm địa phương có thể giúp giải bài toán n-queens với n rất cao (e.g., n = 10,000,000) Các bài toán thỏa rằng buộc 36
- Câu hỏi ôn tập 1. Phát biểu bài toán thoả ràng buộc, tìm ví dụ. 2. Cài đặt thuật toán Backtracking, Kiểm tra trước, AC3, 3. Giải các bài toán n-queen, map coloring, lập lịch, bằng tìm kiếm địa phương và các thuật toán trên. Đọc thêm: + Giáo trình chương 5. + OCW : ch3_csp_games1. + Tập hợp các bài toán NP-đầy đủ: Computers and Intractability: A Guide to the Theory of NP- Completeness, M.R.Garey and D.S. Johnson. + Programming with constraints: An Introduction, K. Marriott and P.J. Stuckey Các bài toán thỏa rằng buộc 37