You are on page 1of 15

BÀI TẬP LỚN TRÍ

TUỆ NHÂN TẠO

Giảng Viên: Trần Đình Khang


Nhóm 2:
Nguyễn Ngô Hoàng Anh - 20198160
Chu Văn Hoàng - 20198176
Ninh Duy Đăng - 20198164
Đoàn Long Vũ - 20198195
Trần Quang Anh - 20198162
Đề tài:
Tìm đường đi bản đồ phường Thanh Nhàn
Nội dung:
1. Ràng buộc
2. Không gian bài toán
2.1. Không gian bài toán không có heuristic
2.2. Không gian bài toán có heuristic

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
for​your
attentions!​

You might also like