Induction in AGISystem2 is geometric envelope expansion. Given multiple examples of a concept, the system computes a bounded diamond that contains them all. This transforms learning from examples into finding the minimal enclosing shape.

Examples Rover Buddy Max Luna Rex 5 dogs (points) induce Induced Concept center "Dog" concept (bounded diamond) Process 1. Compute center Mean of all points 2. Find min/max Per-dimension bounds 3. Compute radius Max L1 to any point 4. Create diamond Store in ConceptStore

Induction creates a bounded diamond that encloses all examples. Given 5 dogs (Rover, Buddy, Max, Luna, Rex), the system computes a "Dog" concept as the minimal diamond containing all 5 points. New dogs will fall inside this region.

How It Works

The ClusterManager handles induction when new facts arrive:

  1. Encode the example – Convert "Rover IS_A Dog" into a vector point
  2. Find existing concept – Look for a "Dog" diamond in the knowledge base
  3. Expand or create – If found, expand the diamond to include the new point. If not, create a new diamond centered on this point.

Expansion adjusts the diamond's center, min/max bounds, and radius to include the new point while keeping the shape minimal.

Incremental Learning

Unlike batch learning algorithms, AGISystem2's induction is incremental. Each new example updates the concept immediately:

# First dog
ASSERT Rover IS_A Dog
# Creates initial "Dog" diamond centered on Rover

# More examples expand it
ASSERT Buddy IS_A Dog
ASSERT Max IS_A Dog
ASSERT Luna IS_A Dog
# Diamond grows to encompass all

# Query generalization
ASK "Fido IS_A Dog?"
# TRUE if Fido's vector falls inside the Dog diamond

Splitting Concepts

If examples are too spread out, the ClusterManager may split a concept into multiple subconcepts rather than creating one huge diamond. This happens when:

Comparison with Deduction

AspectDeductionInduction
Direction General → Specific Specific → General
Geometry Containment check Envelope construction
Certainty Guaranteed if premises true Probable (may have exceptions)
Operation Query (read) Assert (write)

Related Documentation