Bài giảng Các hệ thống thông minh nhân tạo và ứng dụng - Chương 5: Bài toán thỏa mãn ràng buộc có nội dung trình bày về khái niệm bài toán thỏa 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ộ,... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Trang 1Bài toán thoả mãn ràng buộc
THS BÙI THỊ DANH
CÁC HỆ THỐNG THÔNG MINH NHÂN TẠO & ỨNG DỤNG
Trang 3Bà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
Trang 4Ví 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}
Trang 7CSP 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
…
Trang 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
Trang 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, … , 𝑥𝑛):
Trang 14CSP 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
Trang 15CSP với kĩ thuật quay lui
Kiểm tra ràng buộc: 𝛿 ← ς𝑓j∈D(x,𝑋𝑖) 𝑓𝑗(x ∪ 𝑋𝑖: value )
If 𝛿 == 0 then continueCập nhật miền giá trị của các biến: Domains′ ← Filtering(Domains)
Trang 16Filtering 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)
Trang 17Forward 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ánggiề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
Trang 18Ví dụ: Forward checking
Tô màu đồ thị
Trang 20CSP 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ànchỉnh
◦ Thuật toán lặp
◦ Leo đồi
◦ Thuật giải di truyền
Trang 21Thuật toán lặp
Khởi tạo một phép gán đầy đủ Phép gán này có thể không thoả tất cả các ràng buộc
Trong khi chưa tìm thấy lời giải:
◦ Chọn biến: chọn ngẫu nhiên một biến vi phạm ràng buộc
◦ Chọn giá trị: sử dụng heuristic “min-conflict”
Heuristic “min-conflict”
◦ Chọn giá trị vi phạm ít ràng buộc nhất
◦ Nghĩa là leo đồi với hàm h(s) = số ràng buộc bị vi phạm
Trang 22Ví dụ: 4 – Hậu
Trạng thái: 4 hậu, đặt trên 4 cột khác nhau (44 = 256)
Hành động: di chuyển con hậu theo cột
Mục tiêu: không có tấn công
Hàm heuristic: h(s) = số cặp hậu có thể tấn công lẫn nhau
Trang 23Hiệu quả của min-conflict
Cho một trạng thái khởi tạo ngẫu nhiên, bài toán n-hậu có thể được giải gần như trong thờigian hằng số với n bất kì với xác suất cao
Điều này cũng đúng cho CSP bất kì, ngoại trừ các trường hợp rơi vào khoảng hẹp của tỉ lệsau:
#variables
Trang 24Thuật giải leo đồi
Bắt đầu ở vị trí bất kì
Lặp:
◦ Di chuyển sang láng giềng có vị trí tốt hơn
◦ Nếu không tìm thấy láng giềng tốt hơn thì
dừng
Trang 25Thuật giải leo đồi
Thoát khỏi điểm tối ưu cục bộ bằng cách cho phép di chuyển xuống
Ý tưởng: sử dụng xác suất p = 𝑒∆E/𝑇 cho phép di chuyển xuống trong trường hợp không
có láng giềng tốt hơn
◦ ΔE : sự chênh lệch giá trị giữa trạng thái trước và sau
◦ T: là giá trị ánh xạ từ thời điểm thực thi sang “temperature”
Trang 26Thuật giải di truyền
Dựa trên nguyên tắc của chọn lọc tự nhiên
◦ Luôn giữ k lời giải tốt nhất ở mỗi bước (chọn lọc) dựa trên hàm thích nghi
◦ Các toán tử lai ghép và đột biến cho phép tạo ra các thay đổi.
Trang 27Thuật giải di truyền
Bắt đầu
Khởi tạo quần thể Xác định độ thích
nghi các cá thể
Thoả điều kiện kết thúc
Kết thúc
Chọn lọc cá thể bố
Đột biến cá thể con
Trang 28Biểu diễn cá thể
Mỗi cá thể ≡ một giả thiết cho lời giải của bài toán
Biểu diễn bằng chuỗi số nguyên hoặc số thực
◦ Ví dụ: bài toán 8 hậu 1 2 5 3 4 8 6 7
Biểu diễn bằng chuỗi nhị phân
◦ Ví dụ: bài toán 8 hâu: dùng 8 × log28 bit để biểu diễn
Trang 29Độ thích nghi của cá thể
Là hàm cho biết độ tốt của lời giải ứng với bài toán cụ thể
Ví dụ với bài toán N – hậu, độ thích nghi có thể là số con hậu không bị tấn công
Trang 30Chọn lọc cá thể
Các cá thể được lựa chọn để lai ghép dựa vào độ thích nghi của chúng
Sử dụng quy tắc của bàn quay Rollete
◦ Phát sinh giá trị ngẫu nhiên p ∈ [0,1] để chọn cá thể
Trang 31Lai ghép
Cặp cá thể chọn lọc sẽ được lai ghép bằng cách hoán vị các nhiễm sắc thể tại vị trí ngẫu
nhiên với xác suất 𝑝𝑐
Toán tử lai ghép có xu hướng kéo quần thể về phía các cá thể có độ thích nghi cao cục
bộ địa phương
Trang 32Đột biến
Giúp lời giải có thể nhảy ra khỏi các cực trị địa phương
Với mỗi cá thể trong quần thể, thực hiện đột biến với xác suất 𝑝𝑚 tại một hoặc nhiều vị trínhiễm sắc thể ngẫu nhiên
Trang 33Tài liệu tham khảo
Cơ sở Trí tuệ Nhân tạo, Lê Hoài Bắc, Tô Hoài Việt, NXB Khoa học & Kỹ thuật.
Slide bài giảng Trí tuệ nhân tạo, GV Tô Hoài Việt, GV Lê Ngọc Thành, Khoa CNTT, ĐH KHTN