Skip to content

Commit ec828f7

Browse files
Copilotfermga
andcommitted
Update documentation for THOL collective coherence validation
Co-authored-by: fermga <203334638+fermga@users.noreply.github.com>
1 parent 4f2a51d commit ec828f7

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

docs/THOL_CONFIGURATION_REFERENCE.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Parameters controlling when and how bifurcation (sub-EPI creation) occurs.
2929
| `THOL_MIN_EPI` | 0.2 | [0.05, 0.5] || Minimum EPI magnitude required for structural bifurcation |
3030
| `THOL_MIN_VF` | 0.1 | [0.01, 1.0] | Hz_str | Minimum structural frequency for reorganization capacity |
3131
| `THOL_ACCEL` | 0.10 | [0.01, 0.5] || Acceleration factor in glyph: ΔNFR += `THOL_accel` × d²EPI/dt² |
32+
| `THOL_MIN_COLLECTIVE_COHERENCE` | 0.3 | [0.0, 1.0] || Minimum collective coherence for sub-EPI ensemble. When multiple sub-EPIs exist and coherence < threshold, warning is logged |
3233

3334
**Physical Basis:**
3435

@@ -38,6 +39,12 @@ From the nodal equation ∂EPI/∂t = νf · ΔNFR(t), bifurcation occurs when *
3839
- **EPI_min**: Coherence floor. Nodes below this lack sufficient form to bifurcate coherently.
3940
- **νf_min**: Reorganization capacity floor. Nodes below this are "frozen" and cannot respond.
4041
- **THOL_accel**: Controls how strongly d²EPI/dt² influences ΔNFR in glyph sequences.
42+
- **THOL_MIN_COLLECTIVE_COHERENCE**: Monitors ensemble coherence of sub-EPIs. According to TNFR.pdf §2.2.10, sub-EPIs must form a **coherent ensemble** rather than fragmenting chaotically. Collective coherence is computed as `C = 1/(1 + var(sub_epi_magnitudes))`. Interpretation:
43+
- **> 0.7**: High coherence (structurally solid bifurcation)
44+
- **0.3-0.7**: Moderate (acceptable, monitor)
45+
- **< 0.3**: Low (possible fragmentation, warning logged)
46+
47+
When multiple sub-EPIs exist and coherence falls below threshold, a warning is logged and the event is recorded in `G.graph["thol_coherence_warnings"]` for analysis. This validation is **non-blocking** (warnings only) to allow research into low-coherence dynamics.
4148

4249
**Configuration Example:**
4350
```python
@@ -48,11 +55,21 @@ G = nx.Graph()
4855
G.graph["BIFURCATION_THRESHOLD_TAU"] = 0.8 # High threshold
4956
G.graph["THOL_MIN_EPI"] = 0.3 # Require strong coherence
5057
G.graph["THOL_MIN_VF"] = 0.2 # Require high capacity
58+
G.graph["THOL_MIN_COLLECTIVE_COHERENCE"] = 0.5 # Require coherent ensemble
5159

5260
# Sensitive bifurcation (easier to trigger)
5361
G.graph["BIFURCATION_THRESHOLD_TAU"] = 0.2 # Low threshold
5462
G.graph["THOL_MIN_EPI"] = 0.1 # Lower coherence floor
5563
G.graph["THOL_MIN_VF"] = 0.05 # Lower capacity floor
64+
G.graph["THOL_MIN_COLLECTIVE_COHERENCE"] = 0.2 # More tolerant of fragmentation
65+
66+
# Monitor collective coherence
67+
from tnfr.operators.health_analyzer import SequenceHealthAnalyzer
68+
analyzer = SequenceHealthAnalyzer()
69+
coherence_stats = analyzer.analyze_thol_coherence(G)
70+
if coherence_stats:
71+
print(f"Mean coherence: {coherence_stats['mean_coherence']:.3f}")
72+
print(f"Nodes below threshold: {coherence_stats['nodes_below_threshold']}")
5673
```
5774

5875
---
@@ -668,6 +685,7 @@ G.graph["BIFURCATION_THRESHOLD_TAU"] = 0.5 # Higher threshold
668685
| Version | Date | Changes |
669686
|---------|------|---------|
670687
| 1.0.0 | 2025-11-09 | Initial release: Centralized all THOL parameters with canonical constraints |
688+
| 1.1.0 | 2025-11-09 | Added `THOL_MIN_COLLECTIVE_COHERENCE` parameter for sub-EPI ensemble validation |
671689

672690
---
673691

0 commit comments

Comments
 (0)