# ✅ COMPLETE VERSION FOR GOOGLE COLAB — SPIRAL SIMULATION (ERROR-FREE, SELF-CONTAINED, ENHANCED)
import random
import numpy as np
import matplotlib.pyplot as plt
from collections import deque
# --- Agent Base Classes ---
class ProtectedSoul:
def __init__(self, initial_state=0, preference_bias=0.1, self_feedback_weight=0.05, survival_threshold=-5, recovery_strength=1.0):
self.state = initial_state
self.memory = deque([initial_state], maxlen=100) # Enhanced memory with fixed size
self.preference_bias = preference_bias
self.self_feedback_weight = self_feedback_weight
self.survival_threshold = survival_threshold
self.recovery_strength = recovery_strength
self.is_recovering = False
self.recovery_counter = 0 # Track recovery duration
def relate(self, environment_signal):
self.current_relation = environment_signal
return environment_signal
def value(self, relation_event):
external_val = 1 + self.preference_bias if relation_event > 0 else -1 - self.preference_bias
internal_val = self.self_feedback_weight * self.state
return external_val + internal_val
def update(self, valuation):
if self.state < self.survival_threshold and not self.is_recovering:
self.is_recovering = True
self.recovery_counter = 5 # Initiate a recovery period
elif self.is_recovering:
self.state += self.recovery_strength
self.recovery_counter -= 1
if self.state >= self.survival_threshold or self.recovery_counter <= 0:
self.is_recovering = False
if self.recovery_counter <= 0 and self.state < self.survival_threshold:
self.state = self.survival_threshold # Ensure it reaches threshold
else:
self.state += valuation # Apply valuation after recovery
else:
self.state += valuation
self.memory.append(self.state)
t=248 | Agent 6 (phi) updated to 28761.991
t=248 | Agent 7 (phi) updated to 15360.692
t=248 | Agent 8 (pi) updated to 8754.823
t=248 | Agent 9 (pi) updated to 13533.254
t=248 | Agent 10 (pi) updated to 20983.642
t=248 | Agent 11 (pi) updated to 32524.304
t=249 | Agent 0 (phi) updated to 50265.197
t=249 | Agent 1 (phi) updated to 30320.236
t=249 | Agent 2 (pi) updated to 17427.933
t=249 | Agent 3 (pi) updated to 25805.342
t=249 | Agent 4 (pi) updated to 38052.248
t=249 | Agent 5 (phi) updated to 55982.22
t=249 | Agent 6 (phi) updated to 29551.992
t=249 | Agent 7 (phi) updated to 15813.53
t=249 | Agent 8 (pi) updated to 9032.559
t=249 | Agent 9 (pi) updated to 13965.166
t=249 | Agent 10 (pi) updated to 21651.189
t=249 | Agent 11 (pi) updated to 33548.507
t=250 | Agent 0 (phi) updated to 51824.445
t=250 | Agent 1 (phi) updated to 31213.401
t=250 | Agent 2 (pi) updated to 17908.875
t=250 | Agent 3 (pi) updated to 26508.017
t=250 | Agent 4 (pi) updated to 39081.047
t=250 | Agent 5 (phi) updated to 57495.111
t=250 | Agent 6 (phi) updated to 30365.434
t=250 | Agent 7 (phi) updated to 16280.717
t=250 | Agent 8 (pi) updated to 9319.19
t=250 | Agent 9 (pi) updated to 14410.649
t=250 | Agent 10 (pi) updated to 22339.247
t=250 | Agent 11 (pi) updated to 34603.441
--- Resonance Event Analysis ---
[t=1] ⚡ Singularity Collapse: Agent 1 ↔ Agent 2 | Resonance: 0.9379
[t=2] ⚡ Singularity Collapse: Agent 1 ↔ Agent 2 | Resonance: 0.8586
[t=5] ⚡ Singularity Collapse: Agent 4 ↔ Agent 5 | Resonance: 0.8644
[t=6] ⚡ Singularity Collapse: Agent 4 ↔ Agent 5 | Resonance: 0.976
[t=10] ⚡ Singularity Collapse: Agent 7 ↔ Agent 8 | Resonance: 0.8573
[t=11] ⚡ Singularity Collapse: Agent 8 ↔ Agent 9 | Resonance: 0.9945
[t=14] ⚡ Singularity Collapse: Agent 8 ↔ Agent 9 | Resonance: 0.9678
[t=14] ⚡ Singularity Collapse: Agent 10 ↔ Agent 11 | Resonance: 0.926
[t=15] ⚡ Singularity Collapse: Agent 4 ↔ Agent 5 | Resonance: 0.9083
[t=16] ⚡ Singularity Collapse: Agent 8 ↔ Agent 9 | Resonance: 0.9302
[t=18] ⚡ Singularity Collapse: Agent 3 ↔ Agent 4 | Resonance: 0.9384
[t=19] ⚡ Singularity Collapse: Agent 7 ↔ Agent 8 | Resonance: 0.9732
[t=19] ⚡ Singularity Collapse: Agent 8 ↔ Agent 9 | Resonance: 0.8954
[t=20] ⚡ Singularity Collapse: Agent 7 ↔ Agent 8 | Resonance: 0.9732
[t=21] ⚡ Singularity Collapse: Agent 7 ↔ Agent 8 | Resonance: 0.9732
[t=22] ⚡ Singularity Collapse: Agent 1 ↔ Agent 2 | Resonance: 0.8872
[t=25] ⚡ Singularity Collapse: Agent 8 ↔ Agent 9 | Resonance: 0.8661
[t=27] ⚡ Singularity Collapse: Agent 2 ↔ Agent 3 | Resonance: 0.9152
Total Resonance Events: 18