Skip to content

Latest commit

 

History

History
138 lines (90 loc) · 5.02 KB

File metadata and controls

138 lines (90 loc) · 5.02 KB

Goal-directed primitives

Overview

Bio-adapt provides three complementary primitives for goal-directed coordination in concurrent and distributed systems, inspired by Michael Levin's research on how biological systems achieve reliable outcomes through multiple pathways. Each primitive enables systems to pursue specific goals despite disruptions, finding alternative routes when defaults fail.

Available primitives

🧲 Emerge - Goal-directed synchronization

Status: Production-ready

Systems (concurrent or distributed) that converge on target coordination states through multiple pathways. When one synchronization strategy fails, the system adaptively switches to alternatives, ensuring the goal is achieved.

Core question: "When should agents act?"

Use cases:

  • API request batching (Goal: minimize API calls)
  • Multi-agent task synchronization (Goal: achieve coherence)
  • Load balancing (Goal: optimal distribution)
  • Natural clustering (Goal: stable groupings)

Key features:

  • Maintains synchronization goals as invariants
  • Multiple strategies to achieve target states
  • Adaptive strategy switching when stuck

Learn more →

⚡ Navigate - Goal-directed resource allocation

Status: Coming soon

Systems that navigate resource configuration spaces to reach target allocations via multiple paths. When direct routes are blocked by constraints or failures, the system discovers alternative paths to the same resource goals.

Core question: "What resources should agents use?"

Planned use cases:

  • Dynamic rerouting around failures (Goal: maintain service levels)
  • Adaptive resource allocation (Goal: optimal utilization)
  • Constraint-aware distribution (Goal: meet all requirements)
  • Multi-path resource discovery (Goal: find best allocation)

Key features:

  • Navigates "morphospace" of resource configurations
  • Discovers alternative paths when blocked
  • Gradient-based optimization toward goals
  • Memory of successful resource paths

Learn more →

🔗 Glue - Goal-directed collective problem-solving

Status: Planned

Collective goal-seeking enables independent agents to converge on shared understanding through local interactions. Agents collectively discover solutions that no individual could find alone.

Core question: "How does this system/API work?"

Planned use cases:

  • Schema discovery (Goal: understand API contracts)
  • Decentralized consensus (Goal: agreement despite failures)
  • Collective decision making (Goal: optimal group choices)
  • Emergent problem solving (Goal: find solutions together)

Key features:

  • Collaborative hypothesis testing
  • Collective knowledge building
  • Consensus through local interactions
  • Emergent understanding from partial observations

Learn more →

Choosing a primitive

Primitive Core Question Goal Type Maturity
Emerge When should agents act? Temporal coordination Production
Navigate What resources to use? Resource allocation In development
Glue How does the API work? Collective understanding Planned

Combining patterns

These patterns can work together:

// Example: Composing goal-directed patterns
import (
    "github.com/carlisia/bio-adapt/client/emerge"
    "github.com/carlisia/bio-adapt/emerge/swarm/scale"
    // Future imports:
    // "github.com/carlisia/bio-adapt/navigate"
    // "github.com/carlisia/bio-adapt/glue"
)

// Goal: Minimize API calls through synchronized batching (available now)
client := emerge.MinimizeAPICalls(scale.Medium)
err := client.Start(ctx)

// Goal: Optimal resource allocation despite constraints (coming soon)
// allocator := navigate.NewNavigator()
// allocator.NavigateToTarget(ctx, resourceGoal)

// Goal: Discover API schema through collective learning (planned)
// network := glue.NewNetwork()
// schema := network.SolveSchema(ctx, observations)

Research foundation

All patterns are inspired by Michael Levin's research on goal-directedness in biological systems, where cells and tissues achieve target states through multiple pathways:

  • Emerge: Goal-directed synchronization using attractor basins and the Kuramoto model
  • Navigate: Goal-directed resource navigation through configuration spaces
  • Glue: Goal-directed collective problem-solving emerging from local interactions

Key principle: Systems that maintain goals as invariants and explore multiple solution paths are fundamentally more adaptive than those following fixed procedures.

Getting started

📖 See the Quick Start Guide for comprehensive instructions on getting started with emerge.

Start with the production-ready emerge pattern:

go get github.com/carlisia/bio-adapt

# Run the simulation
go run github.com/carlisia/bio-adapt/simulations/emerge

Then explore the simulations for each pattern as they become available.