1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm kiếm dựa trên thỏa mãn ràng buộc

22 2 0

Đ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

Nội dung

11/16/2022 VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG SCHOOL OF INFORMATION AND COMMUNICATIONS TECHNOLOGY IT3160 Nhập mơn Trí tuệ nhân tạo Artificial Intelligence PGS.TS Phạm Văn Hải & PGS.TS Lê Thanh Hương & Team AI lecturer Trường Công nghệ thông tin Truyền thông Đại Học Bách Khoa Hà Nội Nội dung mơn học • Chương - Giới thiệu Trí tuệ nhân tạo • Chương - Tác tử • Chương - Giải vấn đề • Các kỹ thuật tìm kiếm • Tìm kiếm với tri thức bổ sung (Informed search) • Các kỹ thuật tìm kiếm có đối thủ • Tìm kiếm dựa thỏa mãn ràng buộc • Chương - Logic suy diễn • Chương - Học máy https://users.soict.hust.edu.vn/haipv 11/16/2022 Ràng buộc • Một ràng buộc (constraint) quan hệ tập biến • Mỗi biến có (gắn với) tập giá trị nhận – gọi miền giá trị (domain) • Trong mơn học này, xét miền hữu hạn giá trị rời rạc • Một ràng buộc biểu diễn • Một biểu thức (tốn học / logic) • Một bảng liệt kê phép gán giá trị phù hợp cho biến • Ví dụ ràng buộc • • • • • Tổng góc tam giác 180o Độ dài từ W 10 ký tự X nhỏ Y Tuấn tham dự buổi seminar vào thứ sau 14h … https://users.soict.hust.edu.vn/haipv Bài tốn thỏa mãn ràng buộc • Một tốn thỏa mãn ràng buộc (Constraint Satisfaction Problem – CSP) bao gồm: • Một tập hữu hạn biến X • Miền giá trị (một tập hữu hạn giá trị) cho biến D • Một tập hữu hạn ràng buộc C • Một lời giải (solution) toán thỏa mãn ràng buộc phép gán đầy đủ giá trị biến cho thỏa mãn tất ràng buộc • Một tốn thỏa mãn ràng buộc biểu diễn đồ thị (graph) Ví dụ: Các biến x1,…,x6 Miền giá trị {0,1} Các ràng buộc: •x1+x2+x6=1 •X1-x3+x4=1 •x4+x5-x6>0 •x2+x5-x6=0 https://users.soict.hust.edu.vn/haipv 11/16/2022 Ví dụ: Bài tốn tơ màu đồ (1) • Các biến: WA, NT, Q, NSW, V, SA, T • Các miền giá trị: D = {red, green, blue} • Các ràng buộc: Các vùng liền kề phải có màu khác • Ví dụ: • WA ≠ NT • (WA,NT) = {(red,green), (red,blue), (green,red), (green,blue), (blue,red), (blue,green)} https://users.soict.hust.edu.vn/haipv Ví dụ: Bài tốn tơ màu đồ (2) • Các lời giải phép gán đầy đủ xác (thỏa mãn tất ràng buộc) • Ví dụ: WA=red, NT=green, Q=red, NSW=green, V=red, SA=blue, T=green https://users.soict.hust.edu.vn/haipv 11/16/2022 Đồ thị ràng buộc • Đối với tốn thỏa mãn ràng buộc nhị phân (binary CSP): Mỗi ràng buộc liên quan đến biến • Đồ thị ràng buộc (constraint graph) • Các nút biểu diễn biến • Các cạnh biểu diễn ràng buộc https://users.soict.hust.edu.vn/haipv Các kiểu tốn thỏa mãn ràng buộc • Các biến rời rạc • Các miền giá trị hữu hạn • Với n biến kích thước miền giá trị d, số lượng phép gán đầy đủ giá trị cần xét O(dn) • Ví dụ: Các tốn thỏa mãn ràng buộc nhị phân (Boolean CSPs) • Các miền giá trị vơ hạn • Miền giá trị số ngun, chuỗi, • Ví dụ: Trong tốn xếp lịch cơng việc, biến ngày bắt đầu kết thúc công việc • Cần ngơn ngữ biểu diễn ràng buộc (constraint language), ví dụ: StartJob1 + ≤ StartJob3 • Các biến liên tục • Ví dụ: Các mốc thời gian bắt đầu kết thúc quan sát kính viễn vọng khơng gian Hubble • Bài tốn với ràng buộc tuyến tính giải mức chi phí thời gian đa thức https://users.soict.hust.edu.vn/haipv 11/16/2022 Các kiểu ràng buộc • Ràng buộc đơn (unary constraint) liên quan đến biến • Ví dụ: SA ≠ green • Ràng buộc nhị phân (binary constraint) liên quan đến biến • Ví dụ: SA ≠ WA • Ràng buộc bậc cao (higher-order constraint) liên quan đến nhiều biến • Ví dụ: Các ràng buộc toán mật mã số học (trình bày slide tiếp theo) https://users.soict.hust.edu.vn/haipv Ví dụ: Bài tốn mật mã số học • Các biến: F T U W R O X1 X2 X3 (các nhớ phép +) • Miền giá trị: {0,1,2,3,4,5,6,7,8,9} • Các ràng buộc: Giá trị biến (F,T,U,W,R,O) khác • • • • • • O + O = R + 10 * X1 X1 + W + W = U + 10 * X2 X2 + T + T = O + 10 * X3 X3 = F T≠0 F≠0 https://users.soict.hust.edu.vn/haipv 10 11/16/2022 Vài tốn CSP thực tế • Các tốn giao nhiệm vụ • Ví dụ: Giáo viên dạy lớp nào? • Các tốn lập thời khóa (gian) biểu • Ví dụ: Lớp học dạy vào thời gian đâu? • Các tốn lập lịch vận tải (giao hàng) cơng ty • Các toán lập lịch sản xuất nhà máy • Lưu ý: Nhiều tốn thực tế liên quan đến biến có giá trị thực (liên tục) https://users.soict.hust.edu.vn/haipv 11 Sắp lịch tàu điện ngầm Tokyo 12 11/16/2022 Tìm kiếm lời giải kiểm thử (1) • Là phương pháp giải vấn đề tổng quát • Phương pháp giải kiểm thử (Generate and Test) • Sinh khả (candidate) lời giải • Kiểm tra xem khả có thực lời giải • Áp dụng phương pháp kiểm thử tốn CSP • Bước Gán giá trị cho tất biến • Bước Kiểm tra xem tất ràng buộc thỏa mãn hay khơng • Lặp lại bước tìm phép gán thỏa mãn https://users.soict.hust.edu.vn/haipv 13 Tìm kiếm lời giải kiểm thử (2) • Điểm yếu nghiêm trọng phương pháp tìm kiếm kiểm thử việc phải xét nhiều khả gán mà không thỏa mãn ràng buộc • Ví dụ • Các biến X,Y,Z lấy giá trị {1,2} • Các ràng buộc: X=Y, XZ, Y>Z • Các phép (khả năng) gán: (1,1,1); (1,1,2); (1,2,1); (1,2,2); (2,1,1); (2,1,2); (2,2,1) https://users.soict.hust.edu.vn/haipv 14 11/16/2022 Tìm kiếm lời giải kiểm thử (3) • Làm để cải thiện phương pháp kiểm thử? • Sinh khả (các phép gán giá trị) cách thông minh • Khơng theo thứ tự • Sử dụng kết (thông tin) thu từ bước kiểm tra (bước 2) • Phát sớm (từ trước) mâu thuẫn • Các ràng buộc kiểm tra sau biến gán giá trị (chứ đợi đến tất biến gán giá trị) 15 Tìm kiếm quay lui (1) • Tìm kiếm quay lui (backtracking) giải thuật tìm kiếm sử dụng phổ biến CSP • Dựa giải thuật tìm kiếm theo chiều sâu (depth-first search) • Mỗi lần gán, làm việc (gán giá trị) cho biến • (Tìm kiếm kiểm thử: lần gán xác định giá trị cho tất biến) • Phương pháp tìm kiếm quay lui tốn CSP • Gán giá trị cho biến – Việc gán giá trị biến làm sau hoàn thành việc gán giá trị biến khác • Sau phép gán giá trị cho biến đó, kiểm tra ràng buộc có thỏa mãn tất biến gán giá trị thời điểm – Quay lui (backtrack) có lỗi (không thỏa mãn ràng buộc) https://users.soict.hust.edu.vn/haipv 16 11/16/2022 Tìm kiếm quay lui (2) • Các yếu tố ảnh hưởng đến phương pháp tìm kiếm quay lui • Thứ tự xét biến? • Ưu tiên biến quan trọng (được định nghĩa tùy vào tốn cụ thể) • Ưu tiên xét trước biến có giá trị (miền giá trị nhỏ) • Ưu tiên xét trước biến tham gia vào nhiều ràng buộc • Với biến, thứ tự xét giá trị? • Thứ tự ưu tiên giá trị với biến định nghĩa tùy thuộc vào toán cụ thể https://users.soict.hust.edu.vn/haipv 17 Giải thuật tìm kiếm quay lui 18 11/16/2022 Tìm kiếm quay lui: Ví dụ (1) NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 19 Tìm kiếm quay lui: Ví dụ (2) NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 20 10 11/16/2022 Tìm kiếm quay lui: Ví dụ (3) NT WA Q SA NSW V 21 Tìm kiếm quay lui: Ví dụ (4) NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 22 11 11/16/2022 Tìm kiếm quay lui: Các vấn đề (1) • Lặp lặp lại lỗi • Lý do: Bỏ qua (khơng khai thác) lý mâu thuẫn • Ví dụ: • Các biến A,B,C,D,E lấy giá trị miền 10 • Ràng buộc: A>E • Phương pháp tìm kiếm quay lui thử tất khả gán giá trị cho biến B,C,D phát A1 • Giải pháp: Phương pháp Backjumping (chuyển đến xét từ chỗ sinh lỗi) https://users.soict.hust.edu.vn/haipv 23 Tìm kiếm quay lui: Các vấn đề (2) • Các thao tác (kiểm tra) khơng cần thiết • Lặp lại kiểm tra ràng buộc khơng cần thiết • Ví dụ: • Các biến A,B,C,D,E lấy giá trị miền 10 • Các ràng buộc: B+82 • Giải pháp: Phương pháp Forward checking (kiểm tra trước ràng buộc) https://users.soict.hust.edu.vn/haipv 25 Tìm kiếm quay lui: Cải thiện • Hiệu phương pháp tìm kiếm quay lui CSP cải thiện • Thứ tự xét biến (để gán giá trị) • Thứ tự xét (gán) giá trị biến • Phát sớm lỗi (vi phạm ràng buộc) xảy https://users.soict.hust.edu.vn/haipv 26 13 11/16/2022 Biến bị ràng buộc nhiều • Quy tắc lựa chọn thứ tự xét biến: Ưu tiên biến bị ràng buộc nhiều (most constrained variable) • Chọn biến có số lượng giá trị hợp lệ • Ví dụ: Tại bước S2, biến NT chọn có số lượng giá trị hợp lệ (2) (S2) NT WA Q SA NSW V • Cịn gọi quy tắc ưu tiên biến có tập giá trị hợp lệ nhỏ (Minimum Remaining Values – MRV) https://users.soict.hust.edu.vn/haipv 27 Biến ràng buộc biến khác nhiều • Khi có ≥ biến có số lượng giá trị hợp lệ nhất, chọn biến nào? • Ví dụ: Trong ví dụ trước, biến NT va SA có số lượng giá trị hợp lệ (2) • Chọn biến ràng buộc (khống chế) biến khác (chưa gán giá trị) nhiều • Ví dụ: Tại bước S2, mức độ bị ràng buộc, biến SA nên xét trước biến NT – SA ràng buộc biến khác, NT ràng buộc biến khác S2 NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 28 14 11/16/2022 Giá trị ràng buộc biến khác • Đối với biến, giá trị xét (để gán) theo thứ tự nào? • Chọn giá trị ràng buộc (khống chế) biến khác (chưa gán giá trị) • Giá trị gây hạn chế tối thiểu khả gán giá trị biến khác NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 29 Kiểm tra tiến (Forward checking) • Mục đích: Tránh thất bại, kiểm tra trước ràng buộc • Kiểm tra tiến đảm bảo phù hợp (consistency) biến xét gán giá trị biến khác có liên quan (ràng buộc) trực tiếp với • Ý tưởng: • Ở bước gán giá trị, theo dõi giá trị hợp lệ (có thể gán) biến chưa gán giá trị • Loại bỏ (dừng) hướng tìm kiếm có biến (chưa gán giá trị) khơng cịn giá trị hợp lệ https://users.soict.hust.edu.vn/haipv 30 15 11/16/2022 Kiểm tra tiến: Ví dụ (1) NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 31 Kiểm tra tiến: Ví dụ (2) NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 32 16 11/16/2022 Kiểm tra tiến: Ví dụ (3) NT WA Q SA NSW V 33 Kiểm tra tiến: Ví dụ (4) NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 34 17 11/16/2022 Lan truyền ràng buộc • Kiểm tra tiến giúp lan truyền thông tin (ràng buộc) từ biến gán giá trị đến biến chưa gán giá trị • Nhưng: phương pháp kiểm tra tiến phát trước (ngăn chặn) tất thất bại • Ví dụ: NT SA màu xanh! NT WA Q SA NSW V  Lan truyền ràng buộc đảm bảo tính phù hợp cục (local consistency) ràng buộc https://users.soict.hust.edu.vn/haipv 35 Phù hợp cạnh đồ thị ràng buộc (1) • Trong đồ thị ràng buộc, cạnh (X  Y) gọi phù hợp (consistent) ràng buộc, giá trị x biến X có giá trị y biến Y cho ràng buộc biến X Y thỏa mãn • Định nghĩa phù hợp cạnh khơng có tính đối xứng • (X  Y) phù hợp khơng có nghĩa (Y  X) phù hợp! • Ví dụ: (SA  NSW) phù hợp, (NSW  SA) không NT WA Q SA NSW V 36 18 11/16/2022 Phù hợp cạnh đồ thị ràng buộc (2) • Để cạnh (X  Y) phù hợp ràng buộc, cần loại bỏ giá trị x biến X mà khơng có giá trị y biến Y làm cho ràng buộc biến X Y thỏa mãn • Để cạnh (NSW  SA) phù hợp ràng buộc, cần phải loại bỏ giá trị màu xanh (blue) khỏi danh sách giá trị hợp lệ biến NSW NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 37 Phù hợp cạnh đồ thị ràng buộc (3) • Sau loại bỏ giá trị x khỏi danh sách giá trị hợp lệ biến X, cần xét lại tất cạnh ràng buộc trực tiếp tới biến X: xét lại cạnh (…  X) • Ví dụ: Sau loại bỏ giá trị màu xanh (blue) biến NSW, cần xét lại cạnh (V  NSW), (SA  NSW) (Q  NSW) … Để cạnh (V  NSW) phù hợp ràng buộc, cần loại bỏ giá trị màu đỏ (red) biến V NT WA Q SA NSW V https://users.soict.hust.edu.vn/haipv 38 19 11/16/2022 Phù hợp cạnh đồ thị ràng buộc (4) • Phương pháp phù hợp cạnh (Arc consistency) phát thất bại sớm so với phương pháp kiểm tra tiến (Forward checking) • Kiểm tra phù hợp cạnh sử dụng trước sau phép gán giá trị biến NT WA Q SA NSW V 39 Giải thuật phù hợp cạnh AC-3 https://users.soict.hust.edu.vn/haipv 40 20 11/16/2022 Tìm kiếm cục cho CSP (1) • Mục đích: Để sử dụng phương pháp tìm kiếm cục (ví dụ: hill-climbing, simulated annealing) cho tốn thỏa mãn ràng buộc • Mỗi trạng thái (của khơng gian tìm kiếm) ứng với phép gán đầy đủ giá trị cho tất biến • Khơng gian tìm kiếm bao gồm trạng thái ràng buộc bị vi phạm • Dịch chuyển trạng thái = Gán giá trị cho biến • Trạng thái đích = Trạng thái tất ràng buộc thỏa mãn https://users.soict.hust.edu.vn/haipv 41 Tìm kiếm cục cho CSP (2) • Quá trình tìm kiếm • Lựa chọn biến để gán giá trị mới?  Chọn ngẫu nhiên biến mà giá trị vi phạm ràng buộc • Đối với biến, lựa chọn giá trị mới?  Dựa theo chiến lược min-conflicts: chọn giá trị mà vi phạm ràng buộc • Ví dụ: Áp dụng phương pháp tìm kiếm cục Hill-climbing, với hàm ước lượng h(n) = tổng số ràng buộc bị vi phạm • Trạng thái (lân cận) chuyển đến (được xét) trạng thái ứng với giá trị hàm h(n) tốt (=ít ràng buộc bị vi phạm hơn) https://users.soict.hust.edu.vn/haipv 42 21 11/16/2022 Ví dụ tốn qn hậu • Các trạng thái: ứng với vị trí quân hậu nằm cột • Chỉ có quân hậu cột • Khơng gian trạng thái gồm tổng cộng (4x4x4x4=) 256 trạng thái • Các hành động: di chuyển quân hậu (nào đó) cột (của nó) • Trạng thái đích: khơng có qn hậu ăn • Hàm ước lượng: h(n) = tổng số cặp hậu ăn https://users.soict.hust.edu.vn/haipv 43 Thỏa mãn ràng buộc: Tổng kết • Trong tốn thỏa mãn ràng buộc (CSP) : • Mỗi trạng thái tương ứng với phép gán giá trị cho biến • Kiểm tra trạng thái đích = Kiểm tra tập ràng buộc giá trị biến • Phương pháp quay lui (Backtracking) = Tìm kiếm theo chiều sâu (Depthfirst search) với nút tương ứng với phép gán giá trị cho biến • Các chiến lược chọn thứ tự xét biến thứ tự xét giá trị biến ảnh hưởng quan trọng đến hiệu trình tìm lời giải • Phương pháp tìm kiếm tiến (Forward checking) cho phép ngăn chặn phép gán giá trị đưa đến thất bại sau • Lan truyền ràng buộc (ví dụ: phương pháp phù hợp cạnh – Arc consistency) cho phép giới hạn giá trị hợp lệ cho phép phát mâu thuẫn • Phương pháp tìm kiếm cục sử dụng chiến lược Min-conflicts thường hiệu nhiều toán thực tế https://users.soict.hust.edu.vn/haipv 44 22 ... toán thỏa mãn ràng buộc phép gán đầy đủ giá trị biến cho thỏa mãn tất ràng buộc • Một tốn thỏa mãn ràng buộc biểu diễn đồ thị (graph) Ví dụ: Các biến x1,…,x6 Miền giá trị {0,1} Các ràng buộc: ... xem tất ràng buộc thỏa mãn hay khơng • Lặp lại bước tìm phép gán thỏa mãn https://users.soict.hust.edu.vn/haipv 13 Tìm kiếm lời giải kiểm thử (2) • Điểm yếu nghiêm trọng phương pháp tìm kiếm kiểm... Mỗi ràng buộc liên quan đến biến • Đồ thị ràng buộc (constraint graph) • Các nút biểu diễn biến • Các cạnh biểu diễn ràng buộc https://users.soict.hust.edu.vn/haipv Các kiểu tốn thỏa mãn ràng buộc

Ngày đăng: 19/12/2022, 16:04