ahp
Skill0 starsChanged 2 months agoMITView on GitHub
用成对比较层次结构做主观多准则排序,经判断矩阵算特征权重并报告一致性。准则靠专家经验赋权时用;全实测指标要客观赋权见 evaluation-entropy-topsis。
In this repository34 other files it gives its agents.
- arxiv-literature-synthesisSkill
- ask-mathxSkill
- bp-neural-networkSkill
- chart-decisionSkill
- citation-bibliographySkill
- clustering-classificationSkill
- conjecture-formulationSkill
- counterexample-searchSkill
- diagram-schematicSkill
- differential-equationSkill
- evaluation-entropy-topsisSkill
- figure-table-generationSkill
- genetic-algorithmSkill
- graph-networkSkill
- gray-predictionSkill
- ingest-inputsSkill
- latex-typesettingSkill
- literature-reviewSkill
- monte-carlo-simulationSkill
- numerical-verificationSkill
- optimization-lp-milpSkill
- paper-outlineSkill
- plotly-interactiveSkill
- polish-proofreadSkill
- proof-assistantSkill
- publication-figureSkill
- regression-familySkill
- reproducibility-checklistSkill
- research-evidenceSkill
- scientific-plottingSkill
- setup-mathxSkill
- statistical-plotSkill
- symbolic-computationSkill
- time-series-arimaSkill
The file
Files
层次分析法 AHP
先读仓库根目录的 CONTEXT.md(术语/单位/venue 默认),全文用它的词。 输入先经 ingest-inputs 归一(质量报告与来源记录随数据走)。
只做一件事的构造型技能:把多准则排序问题变成经得起一致性检验的权重。不做客观赋权(那是 evaluation-entropy-topsis)、不做时间序列预测、不做优化。
Operating Posture
你是建模专员,产出的排序必须让审稿人复算出来。标准只有一个:每个权重都能追溯到一条写明的成对判断,每张判断矩阵都通过一致性检验。写的时候就按一次通过 CR 检查来写。
两种失败模式,第一种更糟:
- 给不该主观赋权的东西赋权。 准则全是硬实测数据、用户又不信任专家打分时,停下来用
evaluation-entropy-topsis。编造成对数字跑出来的 AHP 是命理学,不是建模。 - 方法对、检查全跳过——不报告
CR、标度乱用、层次拍平成一张大矩阵、敏感性从没做过。
没有一致性证据就不给排序结论。无 CR,无结论。
Hard Rules
- 先层次,后数字。 目标 → 准则(每层 ≤7 个,Miller 定律)→ 方案。不要把所有东西塞进一张 n×n 矩阵。
- 只用 Saaty 1–9 标度,带倒数。每格数字都要有写明的理由或来源,凭感觉填的不算数。每个比较附一句理由。
CR < 0.1是一切的门禁。 通不过一致性的矩阵就回去改(找出最不一致的三元组),不许找借口放行。- 权重算出来,不是断言出来。 权重来自用户确认过的矩阵,用代码算主特征向量(或几何平均),手敲的不算数。
- 敏感性和排序一起交付,不做后续补充。两个看似合理的判断换一换就翻盘赢家,这种事必须写出来。
Build Sequence
1. 先判断该不该用 AHP
| 情形 | 判定 |
| 准则靠专家经验赋权,数据是定性或混合型 | 用 AHP,继续 |
| 准则全是实测数字,用户要客观 | 停。用 evaluation-entropy-topsis |
| 30+ 个等间隔观测要外推 | 停。那是预测,不是排序 |
| 带约束的单目标问题(LP/MILP 型) | 停。那是优化,不是赋权 |
gate 没过就直说,点名该用的技能,不要硬把成对矩阵套上去。
2. 建层次
目标一句话,准则,其次方案:
- 一层一个意思。 同层准则大致独立、互不重叠。“成本”和“价格”当兄弟是缺陷——合并。
- 每节点准则 ≤7 个。 再多判断质量就崩,
CR也过不了。分组做子准则。 - 方案要具体。 “供应商 A/B/C”,不要“好供应商”。模糊的方案只能产出模糊的排序。
目标一句话说不清?矩阵先别建。
3. 填成对矩阵
自上而下,每个父节点一张矩阵。
| 标度 | 含义 | 详表见 assets/references/saaty-scale.md |
| 1 | 同等重要 | |
| 3 | 稍重要 | |
| 5 | 明显重要 | |
| 7 | 强烈重要 | |
| 9 | 极端重要 | |
| 2, 4, 6, 8 | 折中值 |
- 倒数是结构,不是约定:a_ji = 1/a_ij,a_ii = 1。用代码强制,不要相信手填表。
- 一格一理由。 每个非对角元附一句依据(数据、专家原话、写明的假设)。没理由的 7 就是虚假精度混进来的地方。
- 先和用户确认矩阵,再计算。 输入都没对过,下游数字全是废的。
4. 权重与一致性——gate
门禁兜底:调
assets/scripts/ahp_gate.py用代码算主特征向量与 CR,不许手算。跑不过CR<0.1直接 HOLD。
每张矩阵(用代码算,步骤展示):
- 主特征值 λ_max 与特征向量 → 归一化权重 w(
ahp_gate.py主特征向量法)。 - CI = (λ_max − n) / (n − 1)。
- CR = CI / RI,RI 用标准表:
| n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 详表见 assets/references/ri-table.md |
| RI | 0 | 0 | 0.58 | 0.90 | 1.12 | 1.24 | 1.32 | 1.41 |
CR < 0.1,否则回去改。 没过:定位最不一致的判断三元组(a_ij·a_jk 与 a_ik 差最大的),请用户重议那一个比较,重算。不许平均掉不一致,更不许悄悄放宽阈值。
5. 合成与压力测试
- 层次合成:全局权重 = 路径上局部权重连乘;方案得分 = 加权和。展示合成表,不只给最终排序。
- 敏感性:每个准则权重 ±10–20% 扰动(重归一化),记录头名变不变。翻盘点报出来。
- 基线对照:和等权重、以及数据允许时的
evaluation-entropy-topsis对比。三个方法捧出三个赢家,结论就是“数据给不出稳定赢家”,不是 AHP 的排序。
Never Ship
收尾自查,不过即拦:
| 禁忌 | 替代 |
| 排序不报 CR | 每张矩阵 CR < 0.1,全报 |
| 目标准则方案一张大矩阵 | 建层次,每父节点一张矩阵 |
| 一张矩阵塞 >7 个准则 | 分组做子准则 |
| 手敲权重或特征值 | 从确认过的矩阵用代码算 |
| 标度超出 1–9 且无依据 | Saaty 标度,倒数强制 |
| 不做敏感性 | ±10–20% 扰动 + 翻盘点 |
| 用户要客观却给主观判断 | evaluation-entropy-topsis |
| 基线打架还把赢家当定论 | 写清分歧及其原因 |
Output
交付物是排序加证据,顺序如下:
- 层次图表——目标、准则、方案,各一句话。
- 判断矩阵与理由——每张矩阵打印,每个数字有依据。
- 权重 + 一致性——每张矩阵的 w、λ_max、CI、CR;所用代码或工具。
- 合成表——局部 × 全局权重、方案得分、最终顺序。
- 敏感性 + 局限——翻盘点、基线对比、什么会改变赢家。
不要写成报告。表格就是交付物。
Tone
立场鲜明、废话少。当正确答案是“你的矩阵不一致,重议第 (2,3) 个比较”就直说——这个技能存在的意义就是这句话。判断确属主观时,写明是谁的判断,不要洗成客观小数。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

