1. Trang chủ
  2. » Công Nghệ Thông Tin

slike thuyết trình báo cáo môn trí tuê nhân tạo áp dụng giải thuật a để giải bài toán ta-canh. ứng dụng vào trò chơi n-puzzle

14 862 3

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 0,94 MB

Nội dung

I.Giới thiệu thuật giải A*A* là một giải thuật tìm kiếm sử dụng tri thức thức bổ sung để gán giá trị nhãn cho mỗi nút •Nếu không gian các trạng thái là hữu hạn và có giải pháp để tránh

Trang 1

Đề tài:

GVHD: Phạm Văn Hải

Đề tài:

GVHD: Phạm Văn Hải

BÀI TẬP LỚN AI

Áp dụng thuật toán A* vào trò chơi

PUZZLE

Áp dụng thuật toán A* vào trò chơi

PUZZLE

Trang 2

I.Giới thiệu thuật giải A*

A* là một giải thuật tìm kiếm sử dụng tri thức thức bổ sung để gán giá trị nhãn cho mỗi nút

•Nếu không gian các trạng thái là hữu hạn và có giải pháp để tránh việc xét lại các trạng thái thì A *

là hoàn chỉnh nhưng không đảm bảo tối ưu.

•Nếu không gian các trạng thái là hữu hạn và không có giải pháp để tránh việc xét lại các trạng thái thì A* là không hoàn chỉnh.

•Nếu không gian các trạng thái là vô hạn thì A* là

không hoàn chỉnh.

Trang 3

I.Giới thiệu thuật giải A*

•Độ phức tạp và hiệu quả của giải thuật A* phụ thuộc rất nhiều vào hàm heuristic.

•Độ phức tạp thời gian tính toán của A* trong trường hợp xấu nhất là một hàm mũ, nhưng nó sẽ là một hàm

đa thức nếu hàm heuristic thỏa mãn điều kiên:

|h(n)-h*(n)| ≤ O(log(h*(n)))

Trong đó h*(n) là chí phí thực tế đi từ nút n đến nút đích

Trang 4

II Ví dụ bài toán n-puzzle

3 1 2

4 7 5

6 8

3 1 2

4 7 5

3 1 2

7 5

4 6 8

3 1 2

6 7 8

3 1 2

4 7 5

6 8

3 1 2

4 7 5

6 8

1 2

3 4 5

6 7 8

Begin state End state

Hàm lượng giá:

f(n) = g(n)+h(n)

g=1

h=3

f=4

g=1 h=4 f=5

g =2

h =4

f =6

g=2

h=2

f=4

3 1 2

4 7 5

6 8

g =2

h =4

f =6

Trang 5

II Ví dụ Bài toán n-puzzle

3 1 2

4 5

6 7 8

3 2

4 1 5

6 7 8

3 1 2

4 5

6 7 8

1 2

3 4 5

6 7 8

g=3

h=1

f=4

g=3 h=3 f=6

g=3 h=3 f=6

g=4

h=0

f=4

3 1 2

4 5

6 7 8

g=3 h=3 f=6

WIN!

Trang 6

III Áp dụng A* vào trò chơi Puzzle

1-Giới thiệu trò chơi

Trang 7

III Áp dụng A* vào trò chơi Puzzle

1-Giới thiệu trò chơi

Chúng ta có một lưới ô vuông n x n, một tấm hình sẽ được chia thành nxn ô vuông tương ứng rồi được xáo trộn một một cách ngẫu nhiên Trong các ô vuông này có một ô được để trống Nhiệm vụ của người chơi là di chuyển ô vuông trống này sang các ô chung cạnh sắp xếp các ô vuông còn lại để được bước ảnh như ban đầu sao cho tốn ít bước dịch chuyễn nhất

Người chơi sẽ trải qua các cấp độ chơi từ dễ đến khó Ở cấp

độ khó hơn bức ảnh sẽ được chia thành nhiều ô vuông hơn

Trang 8

III Áp dụng A* vào trò chơi Puzzle

2- Các bước cài đặt

Bước 1 : khởi tạo

- Chia bức ảnh thành nxn bức ảnh nhỏ

- Điền các bức ảnh một cách ngẫu nhiên trên lưới ô vuông để tạo trạng thái ban đầu

Bước 2 : cài đặt A*

- Tạo hai trạng bắt đầu và kết thúc beginState, endState

- Để lưu trữ không gian trạng thái ta dùng một ArrayList

<State> arrayState

- Ở mỗi bước lặp chúng ta chọn ra trạng thái có giá trị cost nhỏ nhất, đây là giá trị được tính bằng hàm lượng giá, sau đó sinh

ra các trạng thái con của nó rồi nạp vào arrayState

Trang 9

III Áp dụng A* vào trò chơi Puzzle

3 Hàm lượng giá

Một hàm luợng giá h1(n) đuợc xem là ưu thế hơn hàm lựơng giá h2(n) khi h1(n), h2(n) đều là các hàm ước lượng chấp nhận được và h1(n) ≥h2(n) đối với nút n Hàm lượng giá h(n) là chấp nhận được khi h(n)<h*(n) trong dó h*(n) là chí phí thực tế đi từ nút n đến nút đích

Trong trò chơi này chúng tôi đề xuất ba hàm heuristic như sau:

Trang 10

III Áp dụng A* vào trò chơi Puzzle

3 Hàm lượng giá

 h1(n)= số ô nằm sai vị trí so với trạng thái đích

Ví dụ:

Trang 11

III Áp dụng A* vào trò chơi Puzzle

3 Hàm lượng giá

h2(n) = tổng khoảng cách ngắn nhất của các ô đến vị trí đúng của nó

ví dụ:

Trang 12

III Áp dụng A* vào trò chơi Puzzle

3 Hàm lượng giá

Nếu ta lưu giá trị các ô của trạng thái vào mảng một chiều theo thứ tự từ trái sang phải và từ trên xuống dưới như sau:

Khí đó ta có hàm lượng giá được tính như sau:

trong đó size là kích thước của lưới ô vuông

Trang 13

III Áp dụng A* vào trò chơi Puzzle

3 Hàm lượng giá

(n)= Sum1- 1.5*Sum1 + Sum2

Trong đó:

Sum1= số ô vuông là hàng xóm đang nằm ngược vị trí của nhau

sum2

Theo đánh giá thực tế thu được chúng tôi thấy được hàm heuristic h3(n) ưu thế hơn h1(n) và h2(n)

Trang 14

VI Demo

THANK FOR WATCHING

Ngày đăng: 23/10/2014, 23:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w