Skip to main content

Module evidence

Module evidence 

Source
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§

EvidenceError
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).