Xem mẫu

  1. CÁC HỆ THỐNG THÔNG MINH NHÂN TẠO & ỨNG DỤNG Bài toán thoả mãn ràng buộc THS. BÙI THỊ DANH BM.KHMT, KHOA CNTT, ĐH.KHTN TP.HCM
  2. Nội dung chính Bài toán thoả mãn ràng buộc (CSP) Đồ thị ràng buộc CSP với kĩ thuật quay lui CSP với tìm kiếm cục bộ 2
  3. Bài toán thoả mãn ràng buộc (CSP) Được xem như tập con đặc biệt của bài toán tìm kiếm. Trạng thái được định nghĩa bởi tập các biến Xi có giá trị nằm trong miền D ◦ Có trường hợp mỗi biến có miền giá trị D khác nhau. Trạng thái đích được nhận biết thông qua một tập các ràng buộc trên việc kết hợp giá trị cho các biến. 3
  4. Ví dụ: Tô màu đồ thị Các biến: WA, NT, Q, NSW, V, SA, T ◦ Mỗi biến đại diện cho một bang Miền giá trị: D = {red, green, blue} Tập ràng buộc: các bang kề nhau không được giống màu ◦ WA ≠ NT, WA ≠ SA, NT ≠ SA … Lời giải: phép gán màu thoả mãn các ràng buộc, chẳng hạn: ◦ {WA = red, NT = green, Q = red, NSW = green, V = red, SA = blue, T = green} 4
  5. Ví dụ: N-Hậu Các biến: Xij Miền giá trị: D = {0, 1} Các ràng buộc: "i, j, k, (Xij , Xik ) Î {(0, 0), (0,1), (1, 0)} "i, j, k, (Xij , Xkj ) Î {(0, 0), (0,1), (1, 0)} "i, j, k, (Xij , Xi+k, j+k ) Î {(0, 0), (0,1), (1, 0)} "i, j, k, (Xij , Xi+k, j-k ) Î {(0, 0), (0,1), (1, 0)} åX ij =N i, j 5
  6. Ví dụ: N-Hậu Các biến: Qk Miền giá trị: D = {1, 2, 3, …, N} Các ràng buộc: "i, j, non _ threatening(Qi ,Qj ) 6
  7. CSP trong thực tế Phân công công việc, chẳng hạn phân công giảng dạy … Lập lịch: lớp học ở đâu và khi nào? Lập lịch giao thông Tổ chức mạch điện … 7
  8. Nội dung chính Bài toán thoả mãn ràng buộc (CSP) Đồ thị ràng buộc CSP với kĩ thuật quay lui CSP với tìm kiếm cục bộ 8
  9. Đồ thị ràng buộc (constraint graph) Các node tròn: đại diện cho các biến Các node vuông: đại diện cho ràng buộc Các cạnh: nối các biến thông qua node ràng buộc liên quan 9
  10. Đồ thị ràng buộc 𝒇𝒊 (𝑿) là hàm giá trị cho biết mức độ thoả mãn ràng buộc thứ i. Trọng số của một phép gán (hay lời giải) x = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ): Weight x = ෑ 𝑓𝑗 (x) j=1..𝑚 Mục tiêu bài toán là tìm phép gán có trọng số lớn nhất Đối với CSP: 𝑓𝑗 (x) ∈ {0,1} 10
  11. Ví dụ: Tô màu đồ thị Các biến: X = {WA, NT, SA, Q, NSW, V, T} Miền giá trị: D = {R, G, B} Các ràng buộc: 𝑓1 X = WA ≠ NT 𝑓2 X = NT ≠ SA …. 11
  12. Ví dụ: Sudoku Các biến: mỗi ô vuông Miền giá trị: D = {1, 2, …, 9} Các ràng buộc: 𝑓1 X = allDiff(cột1) 𝑓2 X = allDiff(dòng1) 𝑓3 X = allDiff khối1 ..... 12
  13. Nội dung chính Bài toán thoả mãn ràng buộc (CSP) Đồ thị ràng buộc CSP với kĩ thuật quay lui CSP với tìm kiếm cục bộ 13
  14. CSP với kĩ thuật quay lui Có thể giải CSP bằng các thuật toán của bài toán tìm kiếm, như BFS, DFS, … Các thành phần của bài toán tìm kiếm tương ứng: ◦ Trạng thái: các giá trị đã gán hiện tại cho biến. Ở đây thực hiện gán một phần tập biến. ◦ Trạng thái bắt đầu: phép gán rỗng {} ◦ Hàm successor(s): gán một giá trị cho một biến chưa gán ◦ Hàm IsGoal(s): phép gán hiện tại đã đầy đủ và thoả tất cả các ràng buộc 14
  15. CSP với kĩ thuật quay lui Backtrack(𝒙, 𝒘,𝑫𝒐𝒎𝒂𝒊𝒏𝒔): If 𝑥 là phép gán đầy đủ then Cập nhật phép gán tốt nhất và thoát Else Chọn một biến chưa gán giá trị 𝑋𝑖 Sắp xếp các giá trị trong Domains𝑖 của biến 𝑋𝑖 Với mỗi giá trị value trong Domains𝑖 theo thứ tự sắp xếp: Kiểm tra ràng buộc: 𝛿 ← ς𝑓j ∈D(x,𝑋𝑖 ) 𝑓𝑗 (x ∪ 𝑋𝑖 : value ) If 𝛿 == 0 then continue Cập nhật miền giá trị của các biến: Domains′ ← Filtering(Domains) Backtrack (x ∪ 𝑋𝑖 : value , δw, Domains’) End If 15
  16. Filtering Filtering là hàm cho phép lưu vết miền giá trị cho các biến chưa được gán và loại bỏ đi các “giá trị xấu”. ◦ Việc loại bỏ được thực hiện dựa trên các ràng buộc. ◦ Loại bỏ các giá trị khỏi miền giá trị, cho phép tỉa nhánh  tăng tốc tìm kiếm. Các kĩ thuật filtering: ◦ Forward checking ◦ Arc consistency (AC-3) 16
  17. Forward checking Ý tưởng: đảm bảo tính nhất quán của các cạnh nối giữa biến Xi được gán giá trị và các láng giềng của nó. Nếu có một miền giá trị bị rỗng thì không gọi đệ qui. Lưu ý: khi bỏ gán biến Xi, cần khôi phục lại miền giá trị tương ứng. 17
  18. Ví dụ: Forward checking Tô màu đồ thị 18
  19. Nội dung chính Bài toán thoả mãn ràng buộc (CSP) Đồ thị ràng buộc CSP với kĩ thuật quay lui CSP với tìm kiếm cục bộ 19
  20. CSP với tìm kiếm cục bộ Kĩ thuật quay lui : mở rộng dần phép gán Tìm kiếm cục bộ (local search): điều chỉnh các phép gán hoàn chỉnh ◦ Thuật toán lặp ◦ Leo đồi ◦ Thuật giải di truyền 20
nguon tai.lieu . vn