Date: 2026-08-15
Version: 0.1.0
Status: Production-Ready Experimental Laboratory with Perceptual Control Theory
- 22 working experiments (up from 18)
- ~7,000 lines of Python (up from ~5,600)
- 12/12 tests passing
- Zero linting errors (485 fixed this session)
- Complete vertical slice validated
- First-class recoverability analysis
- NEW: Perceptual Control Theory implementation
Based on William Powers and William Calvin's work, added Perceptual Control Theory (PCT) to language evolution:
Core Insight: Language users don't just "respond to stimuli"—they actively control their perceptions through negative feedback loops.
Reference (goal) → Error (r - p) → Output → Environment → Perception
↑
|
(feedback)
-
Borrowing Detector (
borrowing_detector.py)- Distinguishes borrowed vs. inherited vocabulary
- Uses irregular patterns, partial distribution, cultural clustering
- Works with any Observable
-
Perceptual Control Language (
perceptual_control_language.py)- Agents control perceptions (comprehension, conformity, effort, distinctiveness)
- Different ecological niches create different control problems
- Demonstrates environment-language adaptation
-
Ecological Language Dynamics (
ecological_language_dynamics.py)- PCT + ecological constraints
- Environmental disturbances (migration, contact, innovation)
- Fitness = perceptual control success
-
PCT Rigorous (
pct_rigorous.py)- Signed error signals (directional)
- Environment causally affects perception
- Local sampling (no global knowledge)
- Listener-based comprehension feedback
- Separate independent controllers
- First goal-directed model: Agents have control targets, not just responses
- First fitness-based model: Success = achieving perceptual control
- First ecological niche model: Environment shapes linguistic adaptation
- First hierarchical control framework: Nested control loops
All experiments follow the rigorous protocol:
- H: Complete evolutionary history (ground truth)
- O_t: Observable evidence at time t (lossy projection)
- Ĥ: Reconstructed history from observables (no privileged access)
This separation enables quantification of reconstruction accuracy and information loss.
Phonological Drift → Reconstruction demonstrates:
- Realistic population-based evolution (H generation)
- Documented vs. extinct lineages (O_t extraction)
- Comparative reconstruction (Ĥ inference)
- Ground-truth comparison (accuracy measurement)
- Information loss quantification (recoverability analysis)
False Cognate Laboratory:
- Baseline false-positive rate: 0.165% (semantic + form)
- 40.3 accidental matches per 50 languages
- 95% reduction when requiring semantic agreement
- Even systematic patterns arise by chance
Borrowing Without Ancestry:
- Tree method fails at ~30% borrowing threshold
- Horizontal transmission observationally similar to vertical
- True ancestry becomes genuinely unrecoverable
- Phonological Drift — Population sound change
- Semantic Drift Machine — Meaning evolution
- Lexical Natural Selection — Word competition
- Minimum Language — Grammatical emergence
- Reconstruct — Comparative method with ground truth
- False Cognate Laboratory — Accidental resemblance
- Borrowing Without Ancestry — Contact misleading reconstruction
- Phonological Reconstruction — Full H → O_t → Ĥ pipeline
- Recoverability Experiment — Indistinguishable histories
- Recoverability Stress Test — Multi-trial variation
The framework successfully demonstrates:
✅ History/Observable separation enforced
Reconstructors have no privileged access
✅ Ground truth enables quantification
Can measure what real linguists never can
✅ Recoverability is measurable
Can identify genuinely unrecoverable distinctions
✅ Framework is reusable
Same structure works across diverse experiments
Even with identical parameters, different evolutionary trajectories yield:
- 25% to 100% exact reconstruction
- Average: 68.8% across 10 trials
Among 50 unrelated languages:
- 40 accidental semantic+form matches expected
- 1,211 pairs show "systematic correspondences"
- Individual look-alikes are weak evidence
When horizontal transmission exceeds 30%:
- Tree-based reconstruction misleads
- True genetic relationships become unrecoverable
- Observable similarity doesn't distinguish borrowing from inheritance
Consistently unrecoverable from O_t:
- Timing (when changes occurred)
- Ordering (sequence of events)
- Mechanism (how changes spread)
- Extinct lineages (undocumented speakers)
- Failed innovations (unsuccessful changes)
README.md— Overview and quick startROADMAP.md— 15 planned experimentsSTATUS.md— Detailed implementation statusIMPLEMENTATION_SUMMARY.md— Architecture overviewdocs/architecture.md— H → O_t → Ĥ frameworkdocs/recoverability.md— Information loss theorydocs/vertical_slice_phonological.md— First vertical slicedocs/progress_update_2.md— Latest additions
Per continuation brief, focus on:
- Environment experiments (Dialect Continuum, Babel)
- Systematic correspondence detection (better reconstructor)
- Maximum Language (complexity reduction)
- Glyph Evolution (writing systems)
- ASL Handshape Drift (modality differences)
- The Last Similar Thing (memory/similarity)
- Language Earth (integrated environment)
Tests: All passing ✓
Documentation: Comprehensive ✓
Architecture: Validated ✓
Experiments: Production-ready ✓
The language-evolution repository has moved from template to working experimental laboratory.
Its core contribution is not any individual simulation, but the establishment of a rigorous protocol distinguishing:
- What actually happened (H)
- What evidence survived (O_t)
- What can be inferred (Ĥ)
- What's genuinely unrecoverable
This enables quantitative investigation of fundamental questions in historical linguistics that have never been answerable:
Which facts about history remain inferable after history has erased its own evidence?
The framework is ready for serious linguistic research.