A_STAR TTNT

2 172 0
A_STAR TTNT

Đang tải... (xem toàn văn)

Thông tin tài liệu

- 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 http://courses.cs.hcmus.edu.vn 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 Trong đó mssv.exe là tên chương trình, input.txt là tên file chứa nội dung đưa vào chương trình, output.txt là tên file cần xuất ra kết quả, heurictic là chỉ mục hàm heurictic được chọn để thực hiện thuật toán A* và có giá trị 1,2,3 ứng với h1, h2,h3. Ví dụ: 012345.exe nhap.txt xuat.txt 2: nghĩa là chương trình nhận dữ liệu từ file có tên là nhap.txt, xuất ra file có tên là xuat.txt và thực hiện A* với hàm h2. 3.1 Nội dung file input.txt - 3 dòng đầu: ma trận xuất phát, kích thước 3x3. - 1 dòng tiếp: dòng trống. - 3 dòng sau: ma trận xuất phát, kích thước 3x3. 3.2 Nội dung file xuất ra mssv.txt - 3 dòng đầu: ma trận trạng thái bắt đầu. - 3 dòng một tiếp theo là các trạng thái trung gian của lần đẩy cho đến trạng thái đích. Ví dụ: 10/2010 1 4 5 3 0 6 7 2 8 1 2 3 4 5 6 7 8 0 - 2 - Trường hợp đặc biệt: 1 4 5 3 0 6 7 2 8 1 4 5 3 6 0 7 2 8 … 1 2 3 4 5 6 7 8 0 Không có đường đi -1 . 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. nhap.txt xuat.txt 2: ngh a là chương trình nhận dữ liệu từ file có tên là nhap.txt, xuất ra file có tên là xuat.txt và thực hiện A* với hàm h2. 3.1 Nội dung file input.txt - 3 dòng đầu: ma. 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

Ngày đăng: 11/06/2015, 08:00

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan