Xác suất của policy softmax
Policy softmax biến giá trị hành động Q(s, a) thành phân phối xác suất để bốc hành động:
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-action-value.
Nội dung đề bài
Mô tả bài toán
Policy softmax biến giá trị hành động Q(s, a) thành phân phối xác suất để bốc hành động: pi(a) = exp(Qa / tau) / sumb exp(Qb / tau). Nhiệt độ tau càng nhỏ thì policy càng thiên về hành động tốt nhất, càng lớn thì càng đều.
Yêu cầu
Viết hàm softmax_policy(q_values, temperature=1.0) trả về danh sách xác suất softmax.
Quy ước nộp bài
Nộp hàm softmax_policy trong solution.py. Hệ thống gọi hàm trực tiếp và so phần tử với sai số 1e-6; không đọc stdin và không in ra stdout.
Input
- q_values: danh sách giá trị hành động, khác rỗng.
- temperature: nhiệt độ dương, mặc định 1.0.
Output
Danh sách xác suất cùng độ dài, tổng bằng 1, trả về bằng .tolist().
Ràng buộc
- q_values phải khác rỗng; nếu không, ném ValueError.
- temperature phải dương; nếu không, ném ValueError.
- Trừ đi giá trị lớn nhất trước khi lấy exp để ổn định số học.
Ví dụ 1
Input
softmax_policy(q_values=[0.0, 0.0], temperature=1.0)
Output
[0.5, 0.5]
Ví dụ 2
Input
softmax_policy(q_values=[1.0, 0.0], temperature=1.0)
Output
[0.7310585786300049, 0.2689414213699951]
Giải thích
Với q_values = [1, 2, 3] và temperature = 1, ta được [0.09003057317038046, 0.24472847105479764, 0.6652409557748219].
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.
