Chứng minh tính tối ưu của A*• Giả sử có đích G 2 được tìm ra và lời giải là không tối ưu.. Tính nhất quán của Heuristics • heuristic được gọi là nhất quán nếu với mọi node n, mọi nút c
Trang 1NHẬP MÔN TRÍ TUỆ NHÂN TẠO
@copyrights by Dr Nguyễn Xuân Hoài
Trang 2• Simulated annealing search
• Local beam search.
• Genetic algorithms.
• Ant Colony Optimization.
Trang 3Mấu chốt của chiến lược tìm kiếm
• Chiến lược chọn node để xử lý tiếp theo (Expand)
Trang 4Best-first search (BFS)
• Ý tưởng : Dùng một hàm định giá f(n) for each
node
– Hàm này phản ánh độ “tốt” của node
Chọn node có độ tốt tối ưu nhất để xử lý tiếp
Trang 5Tìm đường đi với giá tính theo km
Trang 6Greedy best-first search
• Đặt hàm lượng giá bằng f(n) = h(n) (heuristic) = ước lượng giá đến trạng thái đích
• VD: h SLD (n) = Khoảng cách theo đường chim bay từ n to thành phố đích.
• GBFS chọn node “được cho là” gần với node đích để expand
Trang 7Ví dụ về GBFS
Trang 11Đánh giá GBFS
• Đủ? Không – Có thể vào vòng lặp quẩn.
• Độ phức tạp thời gian? O(bm), Nếu hàm
heuristic xấp xỉ tốt trong thực tế thì thời
gian chạy sẽ giảm đi rất nhiều
• Độ phức tạp không gian? O(bm) – Lưu trữ
tất cả các Nodes.
• Tối ưu? Không.
Trang 13Ví dụ về A* search
Trang 14Ví dụ về A* search
Trang 15Ví dụ về A* search
Trang 16Ví dụ về A* search
Trang 17Ví dụ về A* search
Trang 18Ví dụ về A* search
Trang 19Heuristics chấp nhận được
• heuristic h(n) là chấp nhận được nếu với mọi
node n, h(n) ≤ h * (n), trong đó h * (n) là chi phí
Trang 20Chứng minh tính tối ưu của A*
• Giả sử có đích G 2 được tìm ra và lời giải là không tối ưu
giải sử n là node chưa được expand trong fringe sao cho
n Nằm trên đường đi tới lời giải tối ưu có đích là G.
Trang 21Chứng minh tính tối ưu của A*
Trang 22Tính nhất quán của Heuristics
• heuristic được gọi là nhất quán nếu với mọi node n, mọi nút con n' của n sinh bởi toán tử chuyển trạng a, ta có:
Trang 23Tín tối ưu của A*
• A * xét node theo thứ tự tăng dần của f
• Tạo nên "f-contours" của các node
• Contour i có tất cả các node với f=f i , trong đó f i < f i+1
Trang 25Ví dụ về heuristics chấp nhận được
E.g., 8-puzzle:
• h 1 (n) = Số lượng ô sai vị trí
• h 2 (n) = Tổng khoảng cách theo Mahattan Metric
(i.e., Số lượng ô từ ô hiện tại đến vị trí mong muốn)
• h1(S) = ?
• h2(S) = ?
•
Trang 26Ví dụ về heuristics chấp nhận được
E.g., 8-puzzle:
(i.e., Số lượng ô từ ô hiện tại đến vị trí mong muốn)
• h1(S) = ? 8
• h2(S) = ? 3+1+2+2+2+3+3+2 = 18
Trang 27So Sánh các Heuristics
• Nếu h 2 (n) ≥ h 1 (n) với mọi n (cả hai đều chấp nhận được)
• thì h 2 được coi là mạnh hơn h 1
Trang 28Nới lỏng ràng buộc của bài toán
• Bài toán có thể nới lỏng bằng cách bớt các ràng buộc trên toán tử
• Chi phí cho lời giải tối ưu của bài toán nới lỏng
là một Heuristic chập nhận được đối với bài toán gốc
• Ví dụ nếu bài toán 8-puzzle được nới lỏng sao cho có thể dịch chuyển mỗi ô đến nơi tuỳ ý, ta
có h 1 (n) cho lời giải tối ưu.
• Nếu bài toán được nới lỏng sao cho mỗi ô có
thể dịch chuyển đến ô bất kỳ liền kề thì ta có
h 2 (n) cho lời giải tối ưu.
Trang 29Tìm kiếm địa phương
• Trong nhiều bài toán tối ưu lời giải là trạng thái, thay vì là đường đi
• Không gian trạng thái = Tập các cấu hình đủ
• Tìm cấu hình thoả ràng buộc cho trước, ví dụ, bài toán n-queen, bài toán người du lịch (biểu diễn không gian trạng thái)
• Trong trường hợp đó có thể dùng tìm kiếm địa phương
• Tư tưởng: Giữ trạng thái hiện tại và tìm cách
làm tốt nó bằng cách tìm trong những trạng thái lân cận của nó
Trang 30Ví dụ: n-queens
Trang 31Tìm kiếm leo đồi
Trang 32Tìm kiếm leo đồi
• Yếu điểm: phụ thuộc vào trạng thái khởi đầu, có thể bị tắc tại cực trị địa phương (Vấn đề ridge, valley)
Trang 33Ví dụ bài toán 8-queens
• h = số lượng con hậu tấn công lẫn nhau (trực tiếp và gián
tiếp)
• h = 17 trong hình trên
Trang 34Ví dụ bài toán 8-queens
• Một cực trị địa phương với h = 1.
Trang 35Bài toán người du lịch
• biểu diễn: dãy hoán vị.
• h=tổng giá chi phi đường di trên dẫy hoán vị.
• Toán tử: đổi chỗ hai đỉnh.
Trang 36Tìm kiếm địa phương trong tối ưu
Trang 37Thuật toán giảm gradient
Trang 38x2 x1 – g1 0.2
0.2 – 0.1 1.81.2
0.02 0.08
Trang 40Simulated annealing (SA) search
• Ý tưởng: cho phép những “dịch chuyển tồi” nhưng với xác suất xảy ra nhỏ dần
Trang 41Đánh giá SA
• Kết quả lý thuyết nếu T giảm đủ chậm thì SA sẽ
tìm được cực trị toàn cục với xác suất tiến đến 1
• Ứng dụng trong các bài toán tối ưu tổ hợp, thiết
kế VLSI, lập lịch,
Trang 42Tìm kiếm địa phương theo chùm
• Tìm kiếm địa phương cho k trạng thái thay vì 1.
• Bắt đầu với k trạng thái được sinh ngẫu nhiên.
• Tại mỗi bước lặp sinh ra n trạng thái mới
• Nếu đã thấy đích thì dừngnếu không chọn k
trạng thái sinh sinh tốt nhất để thay thế cho k trạng thái cũ
Trang 43Thuật Toán Gene
• Được đưa ra bởi John Holland (1975).
• Dựa vào lựa chọn tự nhiên.
• Thường sử dụng biểu diễn nhị phân và cấu
trúc chromosome cố định.
• Lựa chọn dựa vào fitness
• Toán tử gene: Crossover and Mutation
(Crossover là chủ yếu).
Trang 45GA= Population + Genetic Search
Initialize a population at random
Are stopping criteria satisfied ? Stop &Report
Select individuals based on fitness
Perform GOs on selected individual(s)
Replace old population with the new
YES
NO
Trang 46Tại Sao GAs Tốt?
• Building blocks hypothesis and
schema theorem (Holland, 1975).
*0010**0*001110****0 00010110100111010010
• “GAs operator set a bias towards short,
low order and highly fit building blocks”.
Trang 47Ví dụ cho biểu diễn phi nhị phân
• Fitness function: số lượng con hậu không ăn nhau (min
= 0, max = 8 × 7/2 = 28)
• 24/(24+23+20+11) = 31%
• 23/(24+23+20+11) = 29% etc
Trang 48Minh Hoạ
Trang 49Bài toán người du lịch
• Biểu diễn các hoán vị
12435 43521
13535 42421
13542 32451
Trang 50Ant Colony Optimisation
Trang 54Đọc Thêm
• Giáo trình: chapter 3, 4.
• OCW (ch2_search1, ch2_search2, ch2_search3).
• An Introduction to Genetic Algorithms, M Mitchell.
• Algorithms and Theory of Computation, (chapter 36, 37).
• Simulated Annealing and Boltzman Machines, E Aarts and
Trang 55Câu hỏi ôn tập
1 Cho biết ý nghĩa của việc dùng Heuristics?
2 Cài đặt các thuật toán GBFS, A*, SA, GAs,
LBS, ACO.
3 Ứng dụng vào giải các bài toán cụ thể.
4 Nghiên cứu: A*, SA, GAs, ACO.