Tải bản đầy đủ (.pptx) (9 trang)

AI Trí Tuệ Nhân Tạo, Thuật Toán Tham Lam, Thuật Toán Tối Ưu.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (446.28 KB, 9 trang )

THUẬT TOÁN THAM LAM

1
1


THUẬT TOÁN THAM LAM LÀ GÌ

-Tham lam (hay tham ăn) là một trong những phương pháp phổ biến nhất để thiết kế giải thuật.

-Rất nhiều giải thuật nổi tiếng được thiết kế dựa trên ý tưởng tham lam, ví dụ như giải thuật cây khung nhỏ nhất của Dijkstra, giải thuật cây khung nhỏ nhất của Kruskal, …

-Giải thuật tham lam (Greedy Algorithm) là giải thuật tối ưu hóa tổ hợp. Giải thuật tìm kiếm, lựa chọn giải pháp tối ưu địa phương ở mỗi bước với hi vọng tìm được giải pháp tối ưu toàn cục.

-Giải thuật tham lam lựa chọn giải pháp nào được cho là tốt nhất ở thời điểm hiện tại và sau đó giải bài toán con nảy sinh từ việc thực hiện lựa chọn đó. Lựa chọn của giải thuật tham lam có thể phụ
thuộc vào lựa chọn trước đó. Việc quyết định sớm và thay đổi hướng đi của giải thuật cùng với việc không bao giờ xét lại các quyết định cũ sẽ dẫn đến kết quả là giải thuật này không tối ưu để tìm
giải pháp toàn cục

2


THUẬT TOÁN TỐI ƯU

2
3


THUẬT TOÁN TỐI ƯU LÀ GÌ

-Thuật toán Hungarian: dựa trên tính chất rút giảm ma trận.


-Khi trừ đi hay cộng thêm các giá trị thích hợp vào các phần tử ma
trận chi phí ta sẽ có một ma trận chi phí cơ hội. Chi phí cơ hội là
giá trị thiệt hại khi có sự phân công chưa phải là tối ưu nhất.

-Nếu ta có thể rút giảm ma trận đến khi có các phần tử có giá trị
không “0” ở mỗi dòng và cột thì có thể đạt được sự phân công tối ưu vào các ô có giá trị không “0” đó

4


• Giống:
+ Đều là các thuật toán để giải quyết các bài toán tối ưu.
+ Tìm ra lời tối ưu cho bài toán

• Khác:
+Tham lam không chạy hết tất cả các trường hợp
+Tham lam giải từ trên xuống dưới
+ Tham lam đưa ra lời giải tối ưu => Nhanh
+ Tối ưu nhất trong từng bài toán => Chậm
+ Tối ưu giải từ dưới lên trên
+ Tối ưu xét toàn bộ

5


Ví Dụ

3
6



Ví Dụ: Cho n đồng xu có 3 mệnh giá lần lược là: 1, 7, 10
- Yêu cầu: lấy 15 xu sao cho số lượng xu là ít nhất (mỏi lần chỉ được lấy 1 xu).



Thuật toán tham lam:

- Gọi x (1,2,3) là số lượng xu cần lấy với x1, x2, x3 tương ứng với 3 mệnh giá 1, 7, 10
- 1*x1 + 7*x2 + 10*x3 = 15

-

1*x1 + 7*x2 + 10*1 = 15 (1)
1*1 + 7*0 + 10*1 = 15 (2)
1*1 + 7*0 + 10*1 = 15 (3)
1*1 + 7*0 + 10*1 = 15 (4)
1*1 + 7*0 + 10*1 = 15 (5)
1*1 + 7*0 + 10*1 = 15 (6)

=> vậy để có được 15 xu ta cần 6 lần lấy tương ứng 6 đồng (1 đồng 10 xu và 5 đồng 1 xu).

7


Thực tế:
Để lấy được 15 xu ta chỉ cần:
1*1 + 7*2 + 10*0 = 15

=> vậy để có được 15 xu ta cần 3 lần lấy tương ứng với 3 đồng (2 đồng 7 xu và 1 đồng 1 xu)


8


CẢM ƠN ĐÃ LẮNG NGHE !

9



×