#AEAI05009. 固定随机序列下的 epsilon 贪心选择
固定随机序列下的 epsilon 贪心选择
题目描述
在线训练时通常会用随机数决定探索或利用。为了让评测结果可复现,具身智能部把本轮随机值和探索序号都写进了输入。你需要在合法且风险可接受的动作中执行一次确定性的 epsilon-greedy 选择。
不要在程序中自行生成随机数;输入中的 u 和 k 已经代表本轮探索所需的信息。
输入格式
第一行输入整数 A,表示动作数。
接下来 A 行,每行输入:
aid q legal risk
表示动作编号、Q 值、是否合法和风险。
最后一行输入:
eps u k risk_limit safe
其中 eps 为探索概率阈值,u 为本轮随机值,k 为探索序号,risk_limit 为风险上限,safe 为无可选动作时的安全动作编号。
动作编号为 1-based,但动作编号不要求连续;按输入的 aid 判断。
输出格式
若没有任何合格动作,输出:
STOP safe q
其中 q 为安全动作对应的 Q 值,保留 6 位小数;若 safe = -1,输出:
STOP -1 0.000000
若执行探索,输出:
EXPLORE aid q
若执行利用,输出:
EXPLOIT aid q
q 均保留 6 位小数。
判定规则
合格动作必须满足 legal = 1 且 risk <= risk_limit。
若没有合格动作,输出安全停止。
若 u < eps,执行探索:将合格动作按 aid 升序排列,选择下标 k mod 合格动作数量 的动作。
否则执行利用:选择 Q 值最大的合格动作;若并列,取风险更小者;若仍并列,取 aid 更小者。
使用标准输出比较,浮点数保留 6 位小数。
数据范围与测试提示
- 正式测试会覆盖样例没有出现的边界输入,请不要依赖样例规模或样例顺序写特判。
- 输出只包含题目要求的字段,不要输出调试信息;浮点结果按题面要求保留 6 位小数。
- 固定随机序列可能触发探索、利用、无合法动作和并列最大 Q 等分支。
- epsilon 比较、随机数下标和动作编号基准要严格按题面处理,隐藏数据会覆盖边界随机值。
- 动作编号使用输入给定的 1-based
aid,不要求连续;探索条件为u < eps,等于时走利用。
样例
输入样例 1
3
1 5 1 0.2
2 6 1 0.5
3 6 1 0.1
0.1 0.5 0 1 9
输出样例 1
EXPLOIT 3 6.000000
输入样例 2
3
1 5 1 0.2
2 6 1 0.5
3 1 1 0.1
0.5 0.1 4 1 9
输出样例 2
EXPLORE 2 6.000000