# 简单数学问题复杂度判断 本文件是 [复杂度判断](复杂度判断.md) 的专项条件表,父维度是 `complex` / 复杂度判断。 它专门用于在业务标签为 `简单数学问题` 时,进一步分流 `complex=false` 与 `complex=true`。命中本文件的非复杂任务清单时,给 `complex=false`;其余符合简单数学问题但未命中清单的 query,给 `complex=true`。 ## 使用原则 - 本文件只在业务标签判断为 `简单数学问题` 时启用,不替代标签判断。 - 复杂度分流以"任务形态"为准,不以题面长短或数字大小为准。 - 命中下方非复杂任务清单的,给 `complex=false`;未命中但仍属于简单数学问题的,统一给 `complex=true`。 - 如果 query 同时涉及多指令或自动任务,仍需分别读取对应维度文件,不要混成一个结论。 ## 非复杂任务清单(complex=false) 只有命中以下任一类型,才给 `complex=false`: ### 公式计算 四则运算、根号、幂运算、小数、分数、百分比之间的直接计算。 示例: - 三加五乘以二等于多少 - 根号一百四十四是多少 - 二的十次方是多少 - 零点三七五加零点二五等于几 - 三分之二加四分之一是多少 - 八十的百分之十五是多少 判断要点: - 计算对象是数字与基础运算符的组合,无需引入外部知识。 - 不需要拆步骤推理,公式直接落到一次计算。 ### 单位转换 长度、面积、体积、重量、速度、时间、温度等度量单位之间的换算。 示例: - 五公里等于多少米 - 三斤是多少千克 - 一百华氏度是多少摄氏度 - 两小时三十分钟一共多少秒 判断要点: - 输入与输出都是同一物理量在不同单位下的表达。 - 转换关系是固定常数,不涉及实时数据。 ### 汇率换算 货币之间的金额换算。 示例: - 一千美元等于多少人民币 - 五百欧元换成日元是多少 - 港币一万兑换成人民币 判断要点: - 任务是一次金额从源币种到目标币种的换算。 - 即使汇率本身需要查询,任务形态仍然是单步换算,给 `complex=false`。 ### 称谓计算 亲属关系、辈分、称呼之间的推算。 示例: - 我爸爸的姐姐的儿子叫我什么 - 我妈妈的弟弟的女儿是我的什么人 - 表哥的爸爸应该怎么称呼 判断要点: - 任务是从一条亲属链推出对应称谓。 - 输出是一个称谓词,不需要规划或多方案比较。 ### 数列计算 等差、等比、简单递推数列的下一项、项数、求和等基础题。 示例: - 二四六八下一个数是多少 - 一三五七九的第十项是多少 - 一加二加三一直加到一百等于多少 - 等比数列首项二公比三第五项是多少 判断要点: - 数列规则可以一步识别,套公式或一次累加即可得到答案。 - 不涉及证明、构造、分类讨论或多步推理。 ## 复杂任务(complex=true) 不在上述清单中、但仍属于简单数学问题的 query,统一给 `complex=true`。 典型范围: - 应用题:需要从自然语言情境中抽取数量关系,再列式计算(例如 BMI、利息、折扣、行程、工程、浓度、年龄等问题)。 - 多步推理:需要先求中间量,再用中间量算最终答案。 - 条件分类讨论:需要根据条件取不同公式或方案。 - 几何/三角计算需要图形分析或多公式组合。 - 概率、统计、组合数等需要建模才能列式的问题。 判断要点: - 即使最终落到一次算式,只要算式不是用户直接给出,而是需要从语义中推出来,就给 `complex=true`。 - 题面里出现"如果""假设""至少""至多""每""共""相遇""往返""打几折""年化"等需要建模的关键词时,倾向于 `complex=true`。 ## 列竖式的处理 "列竖式"只是输出形态要求,不改变任务本身的复杂度。判断时剥离"列竖式"这一表层要求,再看底层任务命中哪一类: - 列竖式 + 非复杂任务清单中的题目 → `complex=false`。 - 列竖式 + 不在清单中的题目(应用题、多步推理、分类讨论等)→ `complex=true`。 示例: | query | complex | 原因 | | --- | --- | --- | | 列竖式计算二十三加四十五 | false | 底层是四则运算,命中公式计算 | | 列竖式算一下三斤等于多少千克 | false | 底层是单位转换 | | 列竖式算这道应用题:小明有 5 个苹果,给了小红 2 个… | true | 底层是应用题,需要建模 | | 列竖式求两位数乘三位数余多少 | true | 底层涉及多步推理或分类讨论 | 判断要点: - 不要因为 query 出现"列竖式""写过程""分步"等表达就升级或降级复杂度。 - 先回答"如果不要求列竖式,这道题是哪一类",再据此决定 complex。 ## 判断流程 1. 先判断业务标签是否为 `简单数学问题`;不是则不读本文件。 2. 如 query 含"列竖式"等输出形态要求,先剥离再判断底层任务类型。 3. 检查 query 是否命中"非复杂任务清单"的任一类型;命中给 `complex=false`。 4. 没有命中时,给 `complex=true`。 5. 如果 query 同时是多指令或自动任务,按对应维度文件单独判断,不在本文件处理。 ## 待维护问题 - 进位、退位、竖式、心算等更基础的小学题型是否单列。 - 含变量的简单代数式(例如 `x+3=10`)的归属,目前默认归 `complex=true`。 - 与"知识问答"边界:纯定义类问题("什么是质数")通常归到 QA,不走本维度。