#AEAI05010. 抓取模式 UCB 试验选择

抓取模式 UCB 试验选择

题目描述

具身智能部有多种抓取模式可供试验。每种模式记录了历史总收益、试验次数、是否可用和风险。你需要执行一次多臂老虎机 UCB 选择:优先尝试尚未试验过的可用模式;否则计算每个可用模式的 UCB 分数并选择最高者。

不可用模式完全忽略,不参与总次数统计和候选比较。

输入格式

第一行输入:

K c

表示抓取模式数和 UCB 探索系数。

接下来 K 行,每行输入:

aid sum cnt avail risk

表示模式编号、历史收益总和、试验次数、是否可用和风险。

输出格式

若存在试验次数为 0 的可用模式,输出:

aid 0.000000 INF

否则输出:

aid avg ucb

其中 avgucb 保留 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