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

Các kỹ thuật tìm kiếm heuristics

35 356 0

Đ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 35
Dung lượng 703,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics Các kỹ thuật tìm kiếm heuristics

Trang 1

Ch ươ ng 3: Các k ỹ thu ậ t tìm

Trang 2

 Thu giảm ràng buộc

 Giải thuật cắt tỉa α - β

Trang 4

Khái ni ệ m: Heuristic

 Heuristics : là các phỏng đốn, ước chừng dựa

trên kinh nghiệm, trực giác

 Các hệ giải quyết AI sử dụng heuristic trong hai tình huống cơ bản:

lời giải vét cạn là khơng thể chấp nhận

VD: Sự bùng nổ KGTT trong trị chơi cờ vua

 Vấn đề với nhiều sự mơ hồ trong lời phát biểu bài tốn

hay dữ liệu cũng như tri thức sẵn cĩ

VD: Chẩn đốn trong y học

Trang 5

Khái ni ệ m: Gi ả i thu ậ t Heuristics

 Một giải thuật heuristic có thể ñược xem gồm 2 phần:

 Phép ño heuristic: thể hiện qua hàm ñánh giá heuristic

(evaluation function f(n) - EF), dùng ñể ñánh giá các

ñặc ñiểm của một trạng thái trong KGTT

 Giải thuật tìm kiếm heuristic:

 TK tốt nhất (best-first search)

 A* search

 Giải thuật leo núi (hill-climbing)

Trang 6

Ví d ụ phép ñ o Heuristics

Trang 7

Ví d ụ phép ñ o Heuristics (tt)

Heuristic “S ố ñườ ng th ắ ng nhi ề u nh ấ t” (theo các

ñườ ng chéo trên bàn c ờ ) áp d ụ ng cho các con c ờ

ñầ u tên ñặ t vào bàn c ờ trong bàn c ờ tic-tac-toe

Trang 8

Ví d ụ phép ñ o Heuristics (tt)

Trang 9

Gi ả i thu ậ t leo ñồ i (Hill climbing)

 Giải thuật

 Xét trạng thái bắt ñầu

 Nếu là ñích => dừng

 Ngược lại: thiết lập khởi ñầu như TT hiện tại

 Lặp ñến khi: gặp ñích OR không còn luật nào chưa

ñược áp dụng vào TT hiện tại

 Lựa một luật ñể áp dụng vào TT hiện tại ñể sinh ra một

TT mới

 Xem xét TT mới này

 Nếu là ñích => dừng

 Nếu không là ñích, nhưng tốt hơn TT hiện tại => thiết lập

TT mới là TT hiện tại

 Nếu không tốt hơn thì thì tiếp lần lặp kế

Trang 10

 Lời giải tìm ñược không tối ưu

 Không tìm ñược lời giải mặc dù có tồn tại lời giải

 Giải thuật có thể gặp vòng lặp vô hạn do không lưu

giữ thông tin về các trạng thái ñã duyệt

Trang 11

Gi ả i thu ậ t leo ñồ i (tt)

 Bài toán 8 Hậu

 Trang thái bắt ñầu: mỗi Hậu trên 1cột

 Trạng thái ñích: các Hậu không thể tấn công nhau

 Phép ño Heuristic h(n) : số lượng các cập hậu ñối kháng

nhau

Trang 12

Tìm ki ế m t ố t nh ấ t (BFS)

 Là phương pháp dung hoà của BrFS và DFS

 Có sử dụng ñể ñánh giá ưu thế của mỗi trạng thái, có thể

là ước lượng từ nó ñến TT ñích

 Tại mỗi bước, GT sẽ chọn trạng thái mà nó cho rằng là có

ưu thế nhất trong số các trạng thái ñã sinh ra ñược ñến

thời ñiểm ñó

 Khác với GT leo ñồi có cải tiến ở chổ: có lưu tất cả những

TT ñã phát sinh ñến thời ñiểm chọn TT ñể xét tiếp

 Dùng hai danh sách:

 OPEN: chứa các TT sẽ ñược xét.

 CLOSED: chứa các TT ñã xét qua.

Trang 13

 Phát sinh các con của nó

 Với mỗi con:

 Nếu nó chưa ñược phát sinh: gán nó trị ñánh giá, ñưa vào OPEN, ghi nhận TT cha của nó

 Nếu ñã ñược phát sinh trước: Nếu ñạt ñến bởi ñường khác tốt hơn

=> ghi nhận lại TT cha của nó, cập nhật lại trị ñánh giá của nó và của các con của nó

Trang 14

Tìm ki ế m t ố t nh ấ t (BFS)

1. open = [A5]; closed = [ ]

2. đánh giá A5; open = [B4,C4,D6];

7. đánh giá P3; tìm ựược lời giải!

Trang 15

Cài ñặ t hàm ñ ánh giá (EF)

 Xét trò chơi 8- ô , mỗi trạng thái n, một giá trị f(n):

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

n ñến mục tiêu

5 7

4 6 1

3 8 2

5 7

4 6 1

3 8 2

5 6 7

4 1

3 8 2

5 7

4 6 1

3 8 2

start

5 6 7

4 8

3 2 1

goal

g(n) = 0

g(n) = 1h(n): số lượng các vị trí còn sai;

Trang 16

Ví d ụ

Trang 17

Ví d ụ …

Trang 18

Ví d ụ …

Trang 19

Heuristic trong trò ch ơ i ñố i kháng

 Giải thuật minimax

 Hai ñấu thủ trong trò chơi ñược gọi là MIN và MAX.

 Nếu trạng thái cha mẹ là MAX, gán cho nó giá trị lớn nhất có

trong các trạng thái con.

 Nếu trạng thái cha mẹ là MIN, gán cho nó giá trị nhỏ nhất có

trong các trạng thái con.

Trang 20

0 1

K Ế T QU Ả C Ủ A

MIN

K Ế T QU Ả C Ủ A MAX

Trang 22

Heuristic trong trò ch ơ i tic-tac-toe

Hàm Heuristic: E(n) = M(n) – O(n)

Trong ñó: M(n) là tổng số ñường thắng có thể của tôi

O(n) là tổng số ñường thắng có thể của ñối thủ E(n) là trị số ñánh giá tổng cộng cho trạng thái n

Trang 23

Minimax 2 l ớ p ñượ c áp d ụ ng vào

n ướ c ñ i m ở ñầ u trong tic-tac-toe

Max (X) có 5

ñườ ng th ắ ng, Min(O) có 4, hàm heuristic là -1

Trang 24

Thu gi ả m bài toán

 ðồ thị AND-OR :

 ðược dùng ñể biểu diễn KGTT cho bài toán giải ñược bằng cách

phân rã ra các bài toán nhỏ hơn

 Khi bài toán ñược phân rã thành N bài toán con, mà tất cả chúng phải ñược giải ñể hoàn thành bài toán lớn thì ñược biểu diễn thành cung AND chỉ ñến N trạng thái con

 Nhiều cách giải cho bài toán có thể ñược dùng thì có thể biểu diễn bởi cung OR

A có thể ñược thông qua hai cách:

- Giải B, hoặc

- Giải cả C và D

Trang 25

Thu gi ả m bài toán (tt)

 ðồ thị AND-OR :

 Nếu dùng giải thuật BFS cho việc tìm lời giải trên ñồ thị

AND-OR thì có lẽ không thích hợp vì như xem xét ñồ thị sau:

 Nếu giá trị ghi kề bên trạng thái là trị ước lượng cho trạng thái ñó.

 Theo BFS thì trạng thái kế tiếp ñược chọn là C, như:

 Khi chọn cách giải qua C thì bắt buộc phải giải cả D Do vậy tổng chi phí cho cách giải này là: C+D+ 2 = 9, 2 là giá trị của hàm g trong BFS

 Trong khi ñó nếu chọn cách giải qua B thì chi phí chỉ là: B+1 = 6

Trang 26

Thu gi ả m bài toán (tt)

 GT thu giảm bài toán

 Lấy một TT chưa mở rộng và mở rộng nó Nếu không có con thì gán FUTILITY bằng trị của TT này Ngược lại, thêm các con vào

ñồ thị và mỗi chúng tính f’ (sử dụng chỉ h’, bỏ qua g) Nếu f’ =0

thì gán nhãn cho TT ñó là SOLVED

 Thay ñổi f’ của TT ñã ñược mở rộng ñể phản ánh thông tin ñược cung cấp bởi con của nó Lan truyền trị này ngược lên ñồ thị Nếu một TT có cung mà tất cả các con của nó ñã ñược gán nhãn

SOLVED thì nó cũng ñược gán nhãn SOLVED Khi lan truyền ngược lên ñồ thị ñánh dấu cung nào là tốt nhất như là phần của con

ñường tốt nhất hiện tại

Trang 27

Thu gi ả m bài toán (tt)

 GT Thu giảm (tt.) - từng bước:

Trang 28

Thu gi ả m bài toán (tt)

 GT Thu giảm (tt.) - từng bước:

Trang 29

Gi ả i thu ậ t c ắ t t ỉ a α - β

 Tìm kiếm theo kiểu depth-first.

 Nút MAX có 1 giá trị α (luôn tăng)

 Nút MIN có 1 giá trị β (luôn giảm)

 Tìm Kiếm có thể kết thúc dưới bất kỳ:

 Nút MIN nào có ββββ ≤≤≤≤ αααα của bất kỳ nút cha MAX nào.

 Nút MAX nào có αααα ≥≥≥≥ ββββ của bất kỳ nút cha MIN nào.

 Giải thuật cắt tỉa α - β thể hiện mối quan hệ giữa các nút ở

lớp n và n+2, mà tại ñó toàn bộ cây có gốc tại lớp n+1 có

thể cắt bỏ.

Trang 32

C ắ t t ỉ a α - β : ví d ụ

Trang 33

Bài t ậ p: bài 1 ( trò ñố 8 ô như )

Dùng các hàm lượng giá heuristic sau

 h1 = số lượng các vị trí sai khác so với trạng thái goal

 h2 = tổng số ñộ dời ngắn nhất của các ô về vị trí ñúng (khoảng cách

Manhattan)

hãy triển khai không gian trạng thái của bài toán ñến mức 5 (nếu chưa tìm ñược goal):

a) Theo giải thuật leo núi

b) Theo giải thuật tìm kiếm rộng

c) Theo giải thuật tìm kiếm sâu

d) Theo giải thuật tìm kiếm tốt nhất ñầu tiên

4 5

8

7

6

3 2

1

Start

5 6

7

4 8

3 2

1 Goal

Trang 34

Trong cây tìm kiếm dưới ñây, mỗi nút có 2 giá trị ñi kèm: giá trị bên trái của nút (in nghiêng) thể hiện giá trị heuristic của nút, và giá trị bên phải nút thể hiện thứ tự nút ñược duyệt qua Với mỗi chiến lược tìm kiếm dưới

ñây, hãy viết danh sách thứ tự các nút ñược duyệt, so sánh và cho biết ta

ñã dùng giải thuật tìm kiếm nào trên cây :

a) Tìm kiếm rộng BFS

b) Tìm kiếm sâu DFS

c) Tìm kiếm tốt nhất ñầu tiên BFS

d) Tìm kiếm leo núi

Bài t ậ p: bài 2 (duy ệ t ñồ th ị )

Trang 35

Kê danh sách các nút ñược duyệt theo tìm kiếm DFS.

 Thực hiện giải thuật Minimax trên cây

 Sẽ có gì khác biệt nếu như ta dùng giải thuật cắt tỉa alpha – beta ñể ñịnh trị nút gốc cho cây?

Bài t ậ p: bài 3 (minimax)

Ngày đăng: 08/12/2016, 15:16

TỪ KHÓA LIÊN QUAN

w