Analogy in AGISystem2 is geometric translation. If "king" is to "queen" as "man" is to "?", the answer comes from computing the offset between king and queen, then applying it to man. This transforms relational reasoning into vector arithmetic.

Conceptual Space (2D projection) gender → royalty → man woman king queen offset apply offset Analogy Formula A : B :: C : ? offset = v(B) - v(A) ? = v(C) + offset = v(C) + v(B) - v(A) Example king : queen :: man : ? offset = v(queen) - v(king) ? = v(man) + offset → woman (nearest match)

Analogy computes an offset from A to B, then applies the same offset to C to find D. In conceptual space, "king→queen" and "man→woman" share the same gender-direction offset. The answer is the concept nearest to the computed target point.

How It Works

The Reasoner handles analogy queries in three steps:

  1. Compute offset – Calculate v(B) - v(A) to get the relational difference
  2. Apply to source – Add offset to v(C) to get target vector
  3. Find nearest – Use LSH to find the concept closest to the target

This works because similar relations produce similar offsets across different concept pairs. The "male→female" offset is approximately the same whether applied to king/queen, man/woman, or actor/actress.

Sys2DSL Syntax

# Basic analogy
ANALOGY king:queen :: man:?
# → woman

# With explicit relation
ANALOGY Paris:France :: Berlin:?
# → Germany (LOCATED_IN relation)

# Multi-step
ANALOGY doctor:hospital :: teacher:?
# → school (WORKS_AT relation)

Masked Analogy

Analogies can use masks to focus on specific dimensions:

Mask TypeEffectUse Case
Full mask All dimensions contribute General analogies
Ontology only Factual dimensions only Scientific analogies
Custom domain Specific dimension subset Domain-specific transfer

Quality Metrics

Analogy results include confidence scores based on:

Related Documentation