#AEAI02009. 多传感器物体类别判别

多传感器物体类别判别

题目描述

具身智能部的桌面分拣机器人会综合多个离散传感器读数来判断物体类别。例如颜色桶、形状桶和材质桶都已经被上游模块离散化,本题只需要完成朴素贝叶斯式的类别打分。

给定每个类别的先验概率、各特征取值的条件概率表,以及一次查询观测,请计算每个类别的未归一化后验得分:先验乘以所有观测值对应的条件概率。选择非零得分最高的类别输出。

不需要对后验做归一化。若所有类别得分均为 0,说明当前观测无法支持任何类别,输出 UNKNOWN0

输入格式

  • 第一行包含 C F。
  • 第二行包含 F 个 value_count。
  • 第三行包含 C 个类别先验概率。
  • 接下来对每个类别、每个特征各输入一行条件概率表。
  • 最后一行包含 F 个查询观测值,取值为 0-based 编号。

输出格式

  • 若存在非零最高得分类别,第一行输出类别编号,第二行输出未归一化后验得分。
  • 若所有类别得分为 0,输出 UNKNOWN 和 0。

数据范围与约束

  • 2 <= C <= 20
  • 1 <= F <= 10
  • 每个 value_count <= 20

判定规则

使用标准输出比较。浮点结果按题面保留 6 位或 10 位小数;阈值等号、无可行分支和 Tie-break 按下列规则处理。

  • score(c)=prior(c)*条件概率连乘。
  • 不归一化后验。
  • 非零最高得分并列时取类别编号更小。

样例

输入样例 1

2 2
2 2
0.6 0.4
0.8 0.2
0.5 0.5
0.1 0.9
0.3 0.7
0 1

输出样例 1

1
0.2400000000

输入样例 2

2 1
2
0.5 0.5
0 1
0 1
0

输出样例 2

UNKNOWN
0

样例解释

样例 1 中类别 1 的未归一化得分最大,为 0.2400000000。样例 2 中两个类别在观测取值上的得分都为 0,因此输出 UNKNOWN