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

GIẢI THUẬT HEURISTIC ỨNG DỤNG GIẢI THUẬT HEURISTIC TRONG BÀI TOÁN NGƯỜI ĐƯA THƯ

17 2,3K 11

Đ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 17
Dung lượng 8,49 MB

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

Nội dung

GIẢI THUẬT HEURISTIC ỨNG DỤNG GIẢI THUẬT HEURISTIC TRONG BÀI TOÁN NGƯỜI ĐƯA THƯ Thuật giải Heuristic là một sự mở rộng khái niệm thuật toán Giải bài toán theo thuật giải Heuristic thường dễ dàng và nhanh chóng đưa ra kết quả hơn so với giải thuật tối ưu, vì vậy chi phí thấp hơn Thể hiện khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người

Trang 1

Thuật toán nâng cao

GVHD:Nguyễn Bá Tường

Học viên: Nhóm 3

GIẢI THUẬT HEURISTIC &

ỨNG DỤNG GIẢI THUẬT HEURISTIC TRONG BÀI TOÁN NGƯỜI ĐƯA THƯ

Trang 2

Nội dung Tiểu luận

Ứng dụng bài toán người đưa thư

2

Hỏi đáp

3

Trang 3

Nội dung thuật giải Heuristic

Giới thiệu thuật giải Heuristic

Thể hiện khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người

Thuật giải Heuristic là một sự

mở rộng khái niệm thuật toán

Thường tìm

được lời giải tốt Heuristic thường dễ dàng và Giải bài toán theo thuật giải

nhanh chóng đưa ra kết quả hơn

so với giải thuật tối ưu, vì vậy chi

phí thấp hơn

Trang 4

Nội dung thuật giải Heuristic

Hàm

Heuristic

Đó là các hàm đánh giá thô - một ước lượng

về khả năng dẫn đến lời giải tính từ trạng thái

hiện tại (khoảng cách giữa trạng thái hiện tại

và trạng thái đích)

Chi phí ước lượng h’ = 6 và chi phí tối ưu thực sự h = 4+5 = 9

Trang 5

Nội dung thuật giải Heuristic

Nguyên lý thuật giải

Heuristic

khi không gian tìm kiếm lớn,

ta thường tìm cách giới hạn lại không gian tìm kiếm hoặc thực hiện một kiểu dò tìm

đặc biệt dựa vào đặc thù của bài toán để nhanh chóng tìm ra mục tiêu

Lấy tiêu chuẩn tối ưu của bài toán để làm

tiêu chuẩn chọn lựa hành động cho phạm vi cục bộ của từng bước trong

quá trình tìm kiếm lời giải

Thực hiện hành động dựa trên một cấu trúc thứ tự hợp lý của không gian khảo sát nhằm nhanh chóng đạt được

một lời giải tốt

Nguyên lý tham lam

Nguyên lý thứ tự Nguyên lý vét

cạn thông minh

Trang 6

Nội dung thuật giải Heuristic

Các phương pháp tìm kiếm Heuristic

Cấu trúc chung của bài toán tìm kiếm

Tìm kiếm chiều rộng

Item 1

Item 2

Item 5

Item 3

Item 4

Tìm kiếm chiều sâu

Tìm kiếm leo đồi Tìm kiếm ưu tiên tối ưu

Trang 7

Các phương pháp tìm kiếm Heuristic

Cấu trúc chung của bài toán tìm kiếm

Nhiều vấn đề-bài toán phức tạp đều có dạng "tìm đường đi trong đồ thị"

Xuất phát từ một đỉnh của một đồ thị, tìm đường đi hiệu quả nhất đến một đỉnh nào đó

Đa số các bài đều có thể được biểu diễn dưới dạng đồ thị

Vấn đề chung

Vấn đề chung

Một trạng thái là một đỉnh của đồ thị

Trang 8

Các phương pháp tìm kiếm Heuristic

Tìm kiếm chiều sâu(DFS)

Là thuật toán duyệt hoặc tìm kiếm trên một cây

hoặc đồ thị Thuật toán khởi đầu tại gốc

và phát triển xa nhất có thể theo mỗi nhánh

Tìm kiếm chiều sâu bắt đầu từ đỉnh xuất phát, đi

theo cạnh trái, tiếp tục tìm kiếm xong ở cây con

trái mới chuyển sang tìm kiếm ở cây con phải.

Ví dụ: Thứ tự thăm viếng các đỉnh là:

A, B, D, F, E, C, G

Trang 9

Các phương pháp tìm kiếm Heuristic

Tìm kiếm chiều rộng(BFS)

Ngược lại với tìm kiếm

theo kiểu chiều sâu,

tìm kiếm chiều rộng

mang hình ảnh của vết

dầu loang

Từ trạng thái ban đầu,

ta xây dựng tập hợp S bao gồm các trạng thái

kế tiếp Ứng với mỗi trạng thái Tk trong tập

S, ta xây dựng tập Sk bao gồm các trạng thái

kế tiếp của Tk rồi lần lượt bổ sung các Sk vào S lặp lại cho đến lúc S có chứa trạng thái kết thúc

Trang 10

Các phương pháp tìm kiếm Heuristic

Tìm kiếm Leo Đồi

Định nghĩa

Leo đồi đứng dốc

Leo đồi đứng dốc

Tìm kiếm leo đồi, thực chất chỉ là trường hợp đặc biệt của tìm kiếm theo chiều sâu nhưng không thể quay lui

Là leo đồi nhưng sẽ duyệt tất cả các hướng đi có thể

và chọn đi theo trạng thái

tốt nhất trong số các trạng

thái kế tiếp có thể có

Nếu trạng thái bắt đầu cũng là trạng thái đích thì báo là đã tìm được lời giải Ngược lại, đặt trạng thái hiện hành (Ti) là trạng thái khởi đầu

Tư tưởng

Lặp lại cho đến khi đạt đến trạng thái kết thúc hoặc cho đến khi không tồn tại một trạng thái tiếp theo hợp lệ (Tk) của trạng thái hiện hành

Trang 11

Các phương pháp tìm kiếm Heuristic

Tìm kiếm ưu tiên tối ưu

Định nghĩa:Tìm kiếm ưu tiên tối ưu sẽ kết hợp 2 phương pháp tìm kiếm theo chiều rộng và theo chiều sâu là không phải quan tâm đến sự mở rộng của tất cả các nhánh và không bị sa vào các đường dẫn bế tắc

2

3

4

1

Thuật giải AT : là một phương pháp tìm kiếm theo kiểu BFS với độ tốt của nút là giá trị hàm g – tổng chiều dài con đường đã đi từ trạng thái bắt đầu đến trạng thái hiện tại

Thuật giải AKT: Thuật giải AKT mở rộng AT bằng cách sử dụng thêm thông tin ước lượng h’ Độ tốt của một trạng thái f là tổng của hai hàm g

và h’

Thuật giải A*: A* là một phiên bản đặc biệt của AKT áp dụng cho trường hợp đồ thị Thuật giải A* có sử dụng thêm tập hợp CLOSE để lưu trữ những trường hợp đã được xét đến

Trang 12

Nội dung thuật giải Heuristic ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ

Phát biểu bài toán

Hạn chế khi sử dụng thuật toán tối ưu

Cài đặt thuật toán

1

2

3

4 Chương trình Demo

Trang 13

ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ

Phát biểu bài toán

Mục đích bài toán :

Để tiết kiệm thời gian đi đưa thư trong một địa phương.

Người đưa thư phải đi qua tất cả các điểm cần phát thư rồi trở về

vị trí ban đầu với đường đi ngắn nhất.

Bài toán có thể phát biểu lại như sau: Giả sử có một đồ thị có

trọng số dương, tìm đường đi ngắn nhất qua tất cả các đỉnh của

đồ thị rồi trở về đỉnh ban đầu.

Trang 14

ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ

Hạn chế khi sử dụng thuật toán tối

ưu

Đồ thị có n đỉnh, khi đó thuật toán tối ưu cho bài toán này sẽ là

thuật toán tìm đường đi ngắn nhất cho chu trình Haminton Do

đó thuật toán tối ưu sẽ có độ phức tạp là O( n!) và không thể

thực hiện thuật toán.

Vì vậy sẽ sử dụng thuật giải Heuristic cho bài toán này.

Trang 15

ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ

Cài đặt thuật toán

Thử việc &

đào tạo

Chương trình được viết trên môi trường Visual C++ 6.0

Công cụ lập trình

Input

Output

Một ma trận vuông trong file “graph.txt “ có dạng như hình bên, hay nhập ma trận bằng tay

Đường đi theo thuật giải Heuristic, và chi phí của đường đi đó

Trang 16

ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ

Chương trình Đề Mô

Thử việc &

đào tạo

Trang 17

?

Ngày đăng: 29/06/2014, 21:38

HÌNH ẢNH LIÊN QUAN

Đồ thị có n đỉnh, khi đó thuật toán tối ưu cho bài toán này sẽ là - GIẢI THUẬT HEURISTIC   ỨNG DỤNG GIẢI THUẬT HEURISTIC TRONG BÀI TOÁN NGƯỜI ĐƯA THƯ
th ị có n đỉnh, khi đó thuật toán tối ưu cho bài toán này sẽ là (Trang 14)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w