Expand description
Dempster–Shafer evidence combination (paper §4.1–4.2).
The rest of the engine reads one corpus, so a token’s belief interval can be computed by counting polarity
bitmaps directly (crate::index::InfonIndex::belief_interval). That is not the same operation as fusing
two independent sources — a sensor reading and a supplier schedule, or two documents that disagree — and
it cannot express the thing the paper cares about most:
they fail to distinguish between ignorance (lack of evidence) and conflict (contradictory evidence)
Ignorance is a wide interval: [0, 1], nobody said. Conflict is two sources each confident and pointing
opposite ways. Both are “uncertain” and they demand different responses — the first wants more data, the
second means one source is wrong and averaging them silently invents a consensus that no source holds.
So combination carries a conflict mass K, and a threshold guard refuses to fuse when K is too high
rather than normalising the disagreement away. That refusal is the point: Dempster’s rule divides by
1 − K, so as sources approach total disagreement the normaliser approaches zero and the result becomes
arbitrary while still looking like a confident number.
Focal sets are bitmaps of situation ids, so B ∩ C is a hardware AND and B ∩ C = ∅ is a population
count against zero, exactly as §4.2 specifies.
Structs§
- Mass
- A Basic Belief Assignment: mass distributed over focal sets.
Enums§
- Evidence
Error - Why a combination was refused.
Functions§
- combine
- Dempster’s rule of combination with the conflict guard of §4.2.
- combine_
all - Combine a stream of sources left to right, stopping at the first pair that exceeds the threshold.
- conflict
- Conflict mass
K = Σ_{B ∩ C = ∅} m₁(B)·m₂(C)(§4.2).