Lợi nhuận chiết khấu của một dãy phần thưởng
Trong học tăng cường, mục tiêu của tác nhân là lợi nhuận chiết khấu
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: python-basics, ai-reward-signal.
Nội dung đề bài
Mô tả bài toán
Trong học tăng cường, mục tiêu của tác nhân là lợi nhuận chiết khấu G = sumt gammat * rt. Hệ số gamma khiến phần thưởng gần có trọng số lớn hơn, phản ánh việc phần thưởng tương lai kém chắc chắn hơn.
Yêu cầu
Viết hàm discountedreturn(rewards, gamma) trả về G = sumt gammat * rt với t bắt đầu từ 0.
Quy ước nộp bài
Nộp hàm discounted_return trong solution.py. Hệ thống gọi hàm trực tiếp và so với sai số 1e-6; không đọc stdin và không in ra stdout.
Input
- rewards: danh sách phần thưởng theo thời gian (có thể rỗng).
- gamma: hệ số chiết khấu trong [0, 1].
Output
Một số thực là lợi nhuận chiết khấu. Dãy rỗng cho 0.0.
Ràng buộc
- gamma phải trong [0, 1]; nếu không, ném ValueError.
- Dãy rỗng trả về 0.0 (không ném lỗi).
- Chỉ dùng Python thuần hoặc NumPy.
Ví dụ 1
Input
discounted_return(rewards=[1, 1, 1], gamma=0.5)
Output
1.75
Ví dụ 2
Input
discounted_return(rewards=[10], gamma=0.9)
Output
10.0
Giải thích
Với rewards = [1, 2, 3] và gamma = 0.5, ta được 1 + 2 * 0.5 + 3 * 0.25 = 2.75.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
