#AEAI05010. 抓取模式 UCB 试验选择
抓取模式 UCB 试验选择
题目描述
具身智能部有多种抓取模式可供试验。每种模式记录了历史总收益、试验次数、是否可用和风险。你需要执行一次多臂老虎机 UCB 选择:优先尝试尚未试验过的可用模式;否则计算每个可用模式的 UCB 分数并选择最高者。
不可用模式完全忽略,不参与总次数统计和候选比较。
输入格式
第一行输入:
K c
表示抓取模式数和 UCB 探索系数。
接下来 K 行,每行输入:
aid sum cnt avail risk
表示模式编号、历史收益总和、试验次数、是否可用和风险。
输出格式
若存在试验次数为 0 的可用模式,输出:
aid 0.000000 INF
否则输出:
aid avg ucb
其中 avg 和 ucb 保留 6 位小数。
判定规则
若有多个未试验过的可用模式,选择 aid 最小者。
对已试验过的可用模式,令 total 为所有可用模式的试验次数之和,计算:
avg = sum / cnt
ucb = avg + c * sqrt(2 * ln(max(total, 1)) / cnt)
选择 ucb 最大者;若并列,取风险更小者;若仍并列,取 aid 更小者。
使用标准输出比较,浮点数保留 6 位小数;未试验模式的第三列固定输出 INF。
数据范围与测试提示
- 正式测试会覆盖样例没有出现的边界输入,请不要依赖样例规模或样例顺序写特判。
- 输出只包含题目要求的字段,不要输出调试信息;浮点结果按题面要求保留 6 位小数。
- 若存在可用且试验次数为 0 的模式,应优先选择编号最小的未试验模式。
- 所有可用模式都已试验时再计算 UCB;风险或可用性不满足的模式不能参与总次数和最优比较。
- 可用且试验次数为 0 的模式优先,输出第三列固定为
INF;多个未试验模式取编号小者。
样例
输入样例 1
3 1.0
1 10 2 1 0.2
2 0 0 1 0.5
3 5 1 1 0.1
输出样例 1
2 0.000000 INF
输入样例 2
2 1.0
1 10 5 1 0.2
2 4 1 1 0.1
输出样例 2
2 4.000000 5.893018