PowerPoint Presentation Tìm kiếm cục bộ (local search) Ngô Xuân Bách Học viện Công nghệ Bưu chính Viễn thông Khoa Công nghệ thông tin 1 Nhập môn trí tuệ nhân tạo Nội dung http //www ptit edu vn 2 Gi[.]
Học viện Cơng nghệ Bưu Viễn thơng Khoa Cơng nghệ thơng tin Nhập mơn trí tuệ nhân tạo Tìm kiếm cục (local search) Ngơ Xn Bách Nội dung Giới thiệu tìm kiếm cục Thuật tốn leo đồi (Hill climbing) Thuật tốn tơi thép (Simulated Annealing) http://www.ptit.edu.vn Tìm kiếm cục Các thuật tốn tìm kiếm học (mù có thơng tin) khảo sát khơng gian tìm kiếm cách hệ thống theo số quy tắc định o o Cần lưu lại thông tin trạng thái đường khảo sát Khơng thích hợp cho tốn có khơng gian trạng thái lớn Tìm kiếm cục thời điểm xem xét trạng thái thời trạng thái lân cận o o o o Không lưu thông tin trạng thái đường khảo sát Tiết kiệm thời gian nhớ Có thể áp dụng cho tốn có khơng gian trạng thái lớn Khơng cho lời giải tối ưu http://www.ptit.edu.vn Bài tốn tối ưu hóa tổ hợp (rời rạc) Tìm trạng thái tối ưu tổ hợp tối ưu không gian rời rạc trạng thái o Không quan tâm tới đường Không gian trạng thái lớn o Không thể sử dụng phương pháp tìm kiếm học để duyệt tất trạng thái Khơng tồn thuật tốn cho phép tìm lời giải tốt với độ phức tạp tính tốn nhỏ o Có thể chấp nhận lời giải tương đối tốt Ví dụ: Bài tốn lập kế hoạch, lập thời khóa biểu, tốn triệu hậu, … http://www.ptit.edu.vn Tìm kiếm cục bộ: tư tưởng Khác với tốn tìm kiếm thơng thường, tìm kiếm cục quan trọng trạng thái đích (trạng thái tốt nhất), không quan trọng đường o Mỗi trạng thái tương ứng với lời giải (chưa tối ưu) Cải thiện dần (iterative improvement) lời giải cách xuất phát từ trạng thái, sau thay đổi để chuyển sang trạng thái có hàm mục tiêu tốt Thay đổi trạng thái cách thực chuyển động o Trạng thái nhận từ trạng thái 𝑛 cách thực chuyển động gọi hàng xóm 𝑛 http://www.ptit.edu.vn Phát biểu tốn tìm kiếm cục Khơng gian trạng thái 𝑋 Hàm mục tiêu 𝑂𝑏𝑗: 𝑋 → 𝑅 Tập chuyển động để sinh hàng xóm o 𝑁(𝑥) tập hàng xóm 𝑥 Yêu cầu: Tìm trạng thái 𝑥 ∗ cho 𝑂𝑏𝑗(𝑥 ∗ ) lớn nhỏ http://www.ptit.edu.vn Minh họa tìm kiếm cục Hàm mục tiêu Cực trị toàn thể Cực trị địa phương Trạng thái thời Không gian trạng thái http://www.ptit.edu.vn Nội dung Giới thiệu tìm kiếm cục Thuật tốn leo đồi (Hill climbing) Thuật tốn tơi thép (Simulated Annealing) http://www.ptit.edu.vn Thuật toán leo đồi: tư tưởng Leo đồi: tên chung họ thuật toán nguyên lý Cách thức: Từ trạng thái tại, xem xét tập hàng xóm, di chuyển sang trạng thái tốt o Chọn trạng thái hàng xóm để di chuyển nào? Trạng thái đích: Thuật tốn dừng lại khơng có trạng thái hàng xóm tốt o Thuật tốn tìm cực trị cực trị địa phương http://www.ptit.edu.vn Di chuyển sang trạng thái tốt Đầu vào: toán tối ưu tổ hợp Đầu ra: trạng thái với hàm mục tiêu lớn (hoặc cực đại địa phương) Chọn ngẫu nhiên trạng thái 𝑥 Gọi 𝑌 tập trạng thái hàng xóm 𝑥 if ∀𝑦𝑖 ∈ 𝑌: 𝑂𝑏𝑗(𝑦𝑖) < 𝑂𝑏𝑗(𝑥) o return 𝑥 Di chuyển sang trạng thái tốt 𝑥 ← 𝑦𝑖 𝑖 = 𝑎𝑟𝑔𝑚𝑎𝑥𝑖 (𝑂𝑏𝑗(𝑦𝑖)) Go 10 to http://www.ptit.edu.vn Ví dụ leo đồi start h=2 7 goal h=6 h=3 h=4 h(n)=số vị trí trạng thái n h=3 h=6 h=8 h=5 h=5 11 h=3 h=4 h=4 h=5 h=6 h=5 h=7 http://www.ptit.edu.vn Tính chất thuật tốn leo đồi Đơn giản, dễ lập trình Khơng tốn nhớ (không phải ghi nhớ trạng thái) Dễ bị lời giải tối ưu cục (cực trị địa phương) Việc lựa chọn chuyển động quan trọng, quy tắc chung o Nếu có nhiều chuyển động o Nếu chuyển động 12 Sinh nhiều hàng xóm Mất nhiều thời gian lựa chọn phương án tốt Rất dễ bị cực trị địa phương http://www.ptit.edu.vn Leo đồi ngẫu nhiên: tư tưởng Là phiên khác thuật toán leo đồi Lựa chọn ngẫu nhiên trạng thái hàng xóm o o Chuyển sang trạng thái hàng xóm trạng thái tốt Nếu khơng tốt lại chọn ngẫu nhiên hàng xóm khác Kết thúc hết kiên nhẫn o 13 Số hàng xóm mà thuật tốn xem xét bước lặp tồn thuật tốn http://www.ptit.edu.vn Thuật tốn leo đồi ngẫu nhiên Chọn ngẫu nhiên trạng thái 𝑥 Gọi 𝑌 tập trạng thái hàng xóm 𝑥 Chọn ngẫu nhiên 𝑦𝑖 ∈ 𝑌 if 𝑂𝑏𝑗 𝑦𝑖 > 𝑂𝑏𝑗(𝑥) o 𝑥 ← 𝑦𝑖 Go to chưa hết kiên nhẫn Vấn đề: Chọn tiêu chuẩn kết thúc nào? 14 http://www.ptit.edu.vn Một số tính chất Trường hợp trạng thái có nhiều láng giềng o Với không gian trạng thái có cực trị địa phương o Leo đồi ngẫu nhiên thường cho kết nhanh hơn, gặp cực trị địa phương Các thuật toán leo đồi thường tìm lời giải nhanh Với không gian phức tạp o o 15 Các thuật tốn leo đồi thường tìm cực trị địa phương Bằng cách thực nhiều lần với trạng thái xuất phát ngẫu nhiên, leo đồi thường tìm cực trị địa phương tốt http://www.ptit.edu.vn Nội dung Giới thiệu tìm kiếm cục Thuật tốn leo đồi (Hill climbing) Thuật tốn tơi thép (Simulated Annealing) 16 http://www.ptit.edu.vn Thuật tốn tơi thép: tư tưởng Là phiên khái quát hoá leo đồi ngẫu nhiên Mục tiêu: Giải phần vấn đề cực trị địa phương thuật toán leo đồi Nguyên tắc chung: chấp nhận trạng thái trạng thái thời với xác suất 𝑝 o 17 Chọn xác suất 𝑝 nào? http://www.ptit.edu.vn Lựa chọn 𝑝 Nguyên tắc: không chọn 𝑝 cố định, giá trị 𝑝 phụ thuộc hai yếu tố o Nếu trạng thái nhiều so với trạng thái thời, 𝑝 phải giảm o Theo thời gian, giá trị 𝑝 phải giảm dần 18 Xác suất chấp nhận trạng thái tỉ lệ nghịch với độ trạng thái Khi bắt đầu, thuật toán chưa vùng trạng tốt, chấp nhận thay đổi lớn Theo thời gian, thuật toán chuyển sang vùng trạng thái tốt, cần hạn chế thay đổi http://www.ptit.edu.vn Thuật tốn tơi thép 𝑆𝐴(𝑋, 𝑂𝑏𝑗, 𝑁, 𝑚, 𝑥, 𝐶) Đầu vào: số bước lặp 𝑚 trạng thái bắt đầu 𝑥 (chọn ngẫu nhiên) sơ đồ làm lạnh 𝐶 Đầu ra: trạng thái tốt 𝑥 ∗ (cực đại hàm mục tiêu) Khởi tạo:𝑥 ∗ = 𝑥 for 𝑖 = to 𝑚 chọn ngẫu nhiên 𝑦 ∈ 𝑁(𝑥) a) tính (𝑥, 𝑦) = 𝑂𝑏𝑗(𝑥) – 𝑂𝑏𝑗(𝑦) b) if (𝑥, 𝑦) < then 𝑝 = ∆(𝑥,𝑦) 𝑇 c) else 𝑝 = 𝑒 − d) if 𝑟𝑎𝑛𝑑[0,1] < 𝑝 then 𝑥 ← 𝑦 if 𝑂𝑏𝑗(𝑥) > 𝑂𝑏𝑗(𝑥 ∗ ) then 𝑥 ∗ ← 𝑥 giảm 𝑇 theo sơ đồ 𝐶 return 𝑥 ∗ 19 http://www.ptit.edu.vn Sơ đồ làm lạnh 𝐶 𝑇𝑡 = 𝑇0 ∗ 𝛼 𝑡∗𝑘 o o o o 𝑇0 > 𝛼 ∈ 0,1 1≤𝑡≤𝑚 1