Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (296.96 KB, 2 trang )
- 1 -
Trí Tuệ Nhân Tạo
Đại Học Khoa Học Tự Nhiên Tp.HCM
227 Nguyễn Văn Cừ, Q5
GVHD: Lê Ngọc Thành
Quách Khả Gia
Phạm Trọng Nghĩa
Bài tập thực hành
Thuật toán A*
1. Nội dung
Thực hiện cài đặt thuật toán A* trên 8 puzzle.
2. Yêu cầu
Cài đặt thuật toán A* để tìm lời giải tối ưu cho bài toán 8-puzzle.
Độ ưu tiên của một trạng thái: f = g + h, trong đó g: độ sâu của trạng thái, h là hàm heuristic và có
thể có các giá trị sau:
• h1 = 0 (tương đương breadth-first search)
• h2 = tổng khoảng cách Mahattan
• h3 = số ô nằm sai vị trí của trạng thái đầu so với trạng thái đích
Bài giống nhau 0 điểm. Chương trình do máy chấm!
3. Yêu cầu chi tiết
Chương trình đọc các ô số ban đầu và kết thúc từ tập tin input.txt trong đó các ô số được biểu diễn
bằng cách ma trận kích thước 3x3. Các số trong ma trận mang giá trị từ 1 đến 8 và ô số 0 biểu diễn cho ô
trống của trạng thái. Chương trình thực hiện thuật toán A* để tìm lời giải tối ưu (nếu có) và xuất kết quả ra
tập tin mssv.txt dưới dạng các trạng thái trung gian, mỗi trạng thái ứng với kết quả của một lần đẩy (lưu ý:
chỉ xuất ra các trạng thái trên đường đi đến đích).Trong trường hợp không có lời giải, sinh viên xuất ra “-
1”.
Chương trình được viết dưới dạng tham số dòng lệnh với thứ tự chi tiết như sau:
mssv.exe input.txt output.txt heurictic