Tổng quan về heuristic

Một phần của tài liệu Thuật toán metaheuristic giải bài toán tập phủ đỉnh (Trang 38 - 39)

3. Bố cục của luận văn

3.1.1 Tổng quan về heuristic

Đối với nhiều bài toán, hoặc không có lời giải, hoặc độ phức tạp tính toán là hàm mũ, hoặc là bài toán NP-đầy đủ…, có nghĩa là nó không có lời giải khả thi, thì thông thƣờng thay vì tìm lời giải tối ƣu cho chúng, chúng ta cố gắng tìm lời giải có thể chấp nhận đƣợc, đáp ứng đƣợc yêu cầu của thực tế. Các lời giải này chính là các thuật toán heuristic. Các thuật toán tìm kiếm luôn luôn đóng vai trò quan trọng trong việc giải các bài toán tin học. Các thuật toán loại này rất phong phú, có thể kể đến nhƣ: vét cạn, đệ quy quay lui, nhánh cận, nhị phân…Tuy nhiên, khi gặp những bài toán có không gian tìm kiếm lớn (đặc biệt trong các trò chơi cờ) thì các thuật toán tìm kiếm thông thƣờng không cho kết quả hoặc kết quả không tối ƣu (do những hạn chế về thời gian và bộ nhớ). Một hƣớng tiếp cận độc đáo có thể đáp ứng đƣợc đòi hỏi cho nhiều bài toán loại này là dùng thuật toán Heuristic.

Thuật ngữ Heuristic đƣợc Feigenbaum Feldman định nghĩa nhƣ sau: ″Heuristic là các quy tắc, phƣơng pháp, chiến lƣợc, mẹo giải hay phƣơng cách nào đó nhằm làm giảm khối lƣợng tìm kiếm lời giải trong không gian bài toán cực lớn″.

Tƣ tƣởng chính để giảm khối lƣợng tìm kiếm là thay vì ″loại bỏ các hƣớng tìm kiếm chắc chắn không dẫn đến lời giải″, ta hãy ″chọn đi theo hƣớng có nhiều khả năng dẫn đến lời giải″.

Do thuật toán Heuristic đƣợc con ngƣời sử dụng thƣờng mang đặc trƣng của những gợi ý hay lời khuyên, nên các phƣơng pháp dựa trên Heuristic đôi khi không chỉ ra con đƣờng trực tiếp để đạt tới mục đích.

Thuật toán heuristic có các đặc tính sau:

Thường tìm đƣợc lời giải tốt (nhƣng không chắc là lời giải tốt nhất)

 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.

 Thuật giải Heuristic thƣờng 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.

Vũ Tiến Khang 39 Lớp CNTT1 - Khoá 2013B Có nhiều phƣơng pháp để xây dựng một thuật giải Heuristic, trong đó ngƣời ta thƣờng dựa vào một số nguyên lý cơ sở nhƣ sau:

Nguyên lý vét cạn thông minh: Trong một bài toán tìm kiếm nào đó, 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.

Nguyên lý tham lam (Greedy): Lấy tiêu chuẩn tối ƣu (trên phạm vi toàn cục) 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 (hay từng giai đoạn) trong quá trình tìm kiếm lời giải.

Nguyên lý thứ tự: 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.

Hàm Heuristic: Trong việc xây dựng các thuật giải Heuristic, ngƣời ta

thƣờng dùng các hàm Heuristic. Ðó là các hàm đánh giá thô, giá trị của hàm phụ thuộc vào trạng thái hiện tại của bài toán tại mỗi bƣớc giải. Nhờ giá trị này, ta có thể chọn đƣợc cách hành động tƣơng đối hợp lý trong từng bƣớc của thuật giải.

Một phần của tài liệu Thuật toán metaheuristic giải bài toán tập phủ đỉnh (Trang 38 - 39)