Professional Documents
Culture Documents
4
1. Ràng buộc
- Bản đồ giới hạn trong khu vực phường Thanh Nhàn,
các đường đi không được đi qua vạch ranh giới của
khu vực
- Không được đi xuyên qua các nhà, hồ, ngõ cụt
- Đoạn đường một chiều không được phép quay lại
(Trần Khát Chân)
2. Không gian bài toán
- Đặt vấn đề:
• Khi giải quyết bài toán bằng phương pháp tìm kiếm,
trước hết ta phải xác định không gian tìm kiếm bao
gồm tất cả các đối tượng trên đó thực hiện việc tìm
kiếm.
• Một phương pháp biểu diễn vấn đề phù hợp là sử dụng
các khái niệm trạng thái (state) và toán tử (operator).
• Phương pháp giải quyết vấn đề dựa trên khái niệm
trạng thái và toán tử được gọi là cách tiếp cận giải
quyết vấn đề nhờ không gian trạng thái.
- Không gian trạng thái của bài toán:
• Không gian trang thái là tập tất cả các trạng thái có thể
có và tập các toán tử của bài toán
- Có: + N là trạng thái của bài toán
+ là điểm bắt đầu, tập ĐÍCH là điểm kết thúc
+ A: Chuyển trạng thái
700
600
500
400
300
200
100
0
0 200 400 600 800 1000 1200
2.1. Không gian bài toán không
có heuristic
• N = {x, y| 0 < x < 1100; 0 < y < 700 / ràng buộc}
• No = { Điểm bắt đầu }
• Đích= { Điểm kết thúc }
• Chuyển trạng thái A (V W)
• Dịch trái: y > 1, V(x,y) W(x,y-1), y < 700 ∉ ràng buộc
• Dịch phải: y < 700, V(x,y) W(x,y+1), y > 0 ∉ ràng buộc
• Lên trên: x > 0, V(x,y) W(x-1,y) x>0 ∉ ràng buộc
• Xuống dưới: x < 1100, V(x,y) W(x+1,y) ∉ ràng buộc
2.2. Không gian bài toán có heuristic
- Thuật toán A*:
A* là thuật tìm kiếm trong đồ thị, tìm đường đi từ một đỉnh
hiện tại đến đỉnh đích có sử dụng hàm để ước lượng khoảng
cách hay còn gọi là hàm Heuristic.
Từ trạng thái hiện tại A* xây dụng tất cả các đường đi có thể
dung hàm ước lượng khoảng cách (Heuristic) để đánh giá
đường đi tốt nhất có thể đi. Tuỳ theo mỗi bài toán khác nhau mà
hàm Heuristic sẽ được đánh giá khác nhau. A* luôn tìm được
đường đi ngắn nhất nếu tồn tại đường đi như thế.
A* lưu giữ một tập đường đi qua từ đồ thị, từ đỉnh bắt đầu đến
đỉnh kết thúc, tập các đỉnh có thể đi tiếp được lưu trong tập
Open.
Thứ tự ưu tiên cho một đường đi được quyết định bởi hàm
Heuristic được đánh giá f(x) = g(x) + h(x)
10
- Thuật giải A*:
+ c( , ) = chi phí đi từ đến
+ g(n) = chi phí thực tế đường đi từ đến n
+ h(n) = chi phí ước lượng đường đi từ n đến đích
• h(n) chấp nhận được nếu với n, 0 ≤ h(n) ≤ h*(n),
trong đó h*(n) là chi
phí thực để tới trạng thái đích từ n.
• h(n) càng sát với h*(n) thì thuật toán càng mạnh
+ f(n) = g(n) + h(n)
+ f(n-1) = g(n-1) + h(n-1)
+ g(n) = g(n-1) + c(n-1,n)
+ f(n) = g(n-1) + c(n-1,n) + h(n) = f(n-1) – h(n-1) + c(n-
1,n) + h(n)
+ Lấy n Mở: f(n) → min !
- Heuristic bài toán: h(x) =
14
Thank you
foryour
attentions!