Consistency Check
Check the transitive consistency of a pairwise judgment matrix, identify inconsistent entries, and suggest corrections.
HARD-GATE
Pipeline
- Precondition check: verify the matrix is square; check the diagonal and reciprocal properties; if violated, report the specific location
- Compute judgment matrix: confirm the input matrix is valid
- Compute consistency ratio: column normalize → row means (weight vector) → weighted-sum vector → λ_max → CI → CR (look up the Saaty RI table)
- Identify inconsistent entries: for each triple (i, j, k), test transitivity a[i][k] ≈ a[i][j] × a[j][k]; the pair with the largest deviation is the inconsistent entry
- Suggest corrections: for each inconsistent entry, suggest adjusting a[i][j] to the value that makes transitivity hold
- Output: return the ConsistencyReport object
Output Format
{
"labels": ["gap_001", "gap_002", "gap_003"],
"n": 3,
"lambda_max": 3.05,
"ci": 0.025,
"ri": 0.58,
"cr": 0.043,
"cr_acceptable": true,
"inconsistent_pairs": [],
"revision_suggestions": [],
"matrix_issues": []
}
1---2name: consistency-check3description: SOP: Check the transitive consistency of a pairwise judgment matrix, identify inconsistent entries, and suggest corrections4---56# Consistency Check78Check the transitive consistency of a pairwise judgment matrix, identify inconsistent entries, and suggest corrections.910## HARD-GATE1112<HARD-GATE>13- The input matrix must be square (n×n), with n in the range [2, 9]14- The matrix must have all-ones on the diagonal and satisfy a[i][j] = 1/a[j][i] (0.001 floating-point tolerance allowed)15- CR must be computed and reported16- If CR > 0.1, the inconsistent_pairs list must not be empty17</HARD-GATE>1819## Pipeline20211. **Precondition check**: verify the matrix is square; check the diagonal and reciprocal properties; if violated, report the specific location222. **Compute judgment matrix**: confirm the input matrix is valid233. **Compute consistency ratio**: column normalize → row means (weight vector) → weighted-sum vector → λ_max → CI → CR (look up the Saaty RI table)244. **Identify inconsistent entries**: for each triple (i, j, k), test transitivity a[i][k] ≈ a[i][j] × a[j][k]; the pair with the largest deviation is the inconsistent entry255. **Suggest corrections**: for each inconsistent entry, suggest adjusting a[i][j] to the value that makes transitivity hold266. **Output**: return the ConsistencyReport object2728## Output Format2930```json31{32 "labels": ["gap_001", "gap_002", "gap_003"],33 "n": 3,34 "lambda_max": 3.05,35 "ci": 0.025,36 "ri": 0.58,37 "cr": 0.043,38 "cr_acceptable": true,39 "inconsistent_pairs": [],40 "revision_suggestions": [],41 "matrix_issues": []42}43```44</output>