Abduction in AGISystem2 is reverse geometric search. Given an observation (effect), the system finds concepts that could explain it by searching backwards through relations. Instead of "X causes what?", abduction answers "what causes X?".
Deduction (forward)
Fire
CAUSES
Smoke
"Fire causes smoke"
Abduction (backward)
?
CAUSES
Smoke
"What causes smoke?"
Abduction Process
1. Encode observation
v(Smoke) + π⁻¹(CAUSES)
2. LSH candidate search
Find nearby concepts
3. Rank by distance
Fire: 0.12, Volcano: 0.45...
Result:
Fire (0.92 confidence)
Volcano (0.45 confidence)
Inverse Permutation
Forward: encode(Fire, CAUSES, Smoke) = v(Fire) + π(v(Smoke))
Abduction: Find X where v(X) ≈ queryVec - π⁻¹(v(Smoke))
The inverse permutation π⁻¹ reverses the CAUSES encoding,
letting us search for potential causes rather than effects.
Abduction reverses the direction of inference. Instead of finding effects (deduction), it finds causes. The system uses the inverse permutation to encode the query backwards, then searches for concepts that match the reversed pattern.
How It Works
The Reasoner handles abductive queries by:
Apply inverse permutation – For "? CAUSES Smoke", use π⁻¹(CAUSES) to reverse the relation encoding
Build search vector – Create a query vector from the observation using the inverted permutation
LSH retrieval – Use LSH to find candidate concepts near the query vector
Rank by distance – Score candidates by masked L1 distance
Example Queries
# What causes smoke?
ASK "? CAUSES Smoke"
# → Fire (0.92), Volcano (0.45), Engine (0.38)
# What is located in France?
ASK "? LOCATED_IN France"
# → Paris (0.95), Lyon (0.88), Marseille (0.85)
# What treats headache?
ASK "? TREATS Headache"
# → Aspirin (0.91), Ibuprofen (0.87), Rest (0.65)
Comparison with Deduction
Aspect Deduction Abduction
Direction
Premise → Conclusion
Observation → Explanation
Question
"Does X follow from Y?"
"What explains Y?"
Permutation
Forward π
Inverse π⁻¹
Certainty
Guaranteed
Probabilistic (multiple candidates)
Use Cases
Diagnosis – Given symptoms, find possible diseases
Debugging – Given an error, find possible causes
Explanation – Given an observation, find reasons
Root cause analysis – Trace backwards through causal chains
Related Documentation