#AEAI05009. 固定随机序列下的 epsilon 贪心选择

固定随机序列下的 epsilon 贪心选择

题目描述

在线训练时通常会用随机数决定探索或利用。为了让评测结果可复现,具身智能部把本轮随机值和探索序号都写进了输入。你需要在合法且风险可接受的动作中执行一次确定性的 epsilon-greedy 选择。

不要在程序中自行生成随机数;输入中的 uk 已经代表本轮探索所需的信息。

输入格式

第一行输入整数 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 = 1risk <= 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