1. Trang chủ
  2. » Ôn thi đại học

Bài giảng Trí tuệ nhân tạo - Bài 5: Tìm kiếm tối ưu – Tìm kiếm có đối thủ

10 28 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 187,8 KB

Nội dung

và tối ưu nếu h(u) là hàm đánh giá thấp và độ dài các cung không nhỏ hơn một số dương δ nào đó..[r]

(1)

Lec 5

Tìm kiếm tối ưu –

(2)

Nội Dung

Các kỹ thuật tìm đường ngắn nhất

– Thuật toán A*

– Thuật toán nhánh-cận

Các kỹ thuật tìm kiếm đối tượng tốt nhất

– Tìm kiếm leo đồi – Tìm kiếm Gradient

– Tìm kiếm mơ luyện kim

Tìm kiếm bắt chước tiến hoá: thuật toán di

(3)

Tìm đường ngắn nhất

Trạng thái u gọi trạng thái đạt tới nếu có đường

đi từ trạng thái ban đầu u0 tới u

 Hàm đánh giá:

– Độ dài đường ngắn từ u0 tới u: g(u)

• Nếu u khơng phải trạng thái đích đường từ u0 tới u gọi đường phần

• Nếu u trạng thái đích đường từ u0 tới u gọi đường đầy đủ

(4)

(Evaluation Function)

2

7

2

2

1

7

2

start

1

8

7

goal

g(n) =

g(n) =

Xét trò chơi 8-puzzle Cho trạng thái n giá trị f(n):

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

g(n) = khoảng cách thực từ n đến trạng thái bắt đầu

h(n) = hàm heuristic đánh giá khoảng cách từ trạng thái n đến mục tiêu

(5)

Thuật tốn A*

 Tìm kiếm tốt + hàm đánh giá f(u)

Procedure A*;

Begin

1 Khởi tạo danh sách L chứa trạng thái đầu; 2 Loop do

2.1 If L rỗng then {thông báo thất bại; stop}; 2.2 Loại trạng thái u đầu danh sách L;

2.3 If u trạng thái kết thúc then

{thông báo thành công; stop}; 2.4 For mỗi trạng thái v kề u do

{g(v)g(u)+k(u,v) f(v)g(v)+h(v);

(6)

Ví dụ: thuật tốn A*

Đồ thị khơng gian trạng thái với hàm đánh giá

(7)

Nhận xét thuật toán A*

 Nếu h(u) đánh giá thấp (đặc biệt h(u)=0 với

mọi trạng thái u), A* thuật tốn tối ưu, tức là nghiệm tìm tối ưu.

 Nếu độ dài cung không nhỏ số

(8)

Thuật tốn tìm kiếm nhánh-cận

 Tìm kiếm leo đồi + hàm đánh giá f(u)

Procedure Branch-and-Bound;

Begin

1 Khởi tạo danh sách L chứa trạng thái đầu; Gán giá trị ban đầu cho cost;

2 Loop do

2.1 If L rỗng then {thông báo thất bại; stop}; 2.2 Loại trạng thái u đầu danh sách L;

2.3 If u trạng thái kết thúc then

if g(u)<=cost then {cost g(u); quay lại 2.1}; 2.4 if f(u)>cost then quay lại 2.1;

2.5 For trạng thái v kề u do

{g(v) g(u)+k(u,v); f(v) g(v) +h(v);

đặt v vào danh sách L1};

2.6 Sắp xếp L1 theo thứ tự tăng dần hàm f;

(9)

Ví dụ: thuật toán nhánh-cận A 14 C 24 F27 B I K K E D 13 21 E 19 25 19 21 17 H 25 B 18 A H C D E K B I G F 14 6 7 8 4 0 2 15 20 9 4 8 6 7 13 4 5 4 5 6 9 6 3 12 10

(10)

Nhận xét

 Thuật toán nhánh-cận thuật toán đầy đủ

Ngày đăng: 09/03/2021, 03:11

TỪ KHÓA LIÊN QUAN