|
|
import os
|
|
|
import json
|
|
|
import numpy as np
|
|
|
import matplotlib.pyplot as plt
|
|
|
from typing import List, Dict, Any, Optional
|
|
|
|
|
|
folder = '.'
|
|
|
|
|
|
quantum_states = []
|
|
|
chaos_states = []
|
|
|
proc_ids = []
|
|
|
labels = []
|
|
|
all_perspectives = []
|
|
|
meta_mutations = []
|
|
|
|
|
|
def get_latest_quantum_state() -> List[float]:
|
|
|
"""Get the most recent quantum state from cocoon files."""
|
|
|
latest_cocoon = None
|
|
|
latest_time = 0
|
|
|
|
|
|
for fname in os.listdir(folder):
|
|
|
if fname.endswith('.cocoon'):
|
|
|
full_path = os.path.join(folder, fname)
|
|
|
file_time = os.path.getmtime(full_path)
|
|
|
if file_time > latest_time:
|
|
|
latest_time = file_time
|
|
|
latest_cocoon = full_path
|
|
|
|
|
|
if not latest_cocoon:
|
|
|
return [0.0, 0.0]
|
|
|
|
|
|
try:
|
|
|
with open(latest_cocoon, 'r') as f:
|
|
|
data = json.load(f)['data']
|
|
|
return data.get('quantum_state', [0.0, 0.0])
|
|
|
except Exception as e:
|
|
|
print(f"Warning: Could not read quantum state from {latest_cocoon}: {e}")
|
|
|
return [0.0, 0.0]
|
|
|
|
|
|
def simple_neural_activator(quantum_vec: List[float], chaos_vec: List[float]) -> int:
|
|
|
"""Lightweight thresholds: feels like a tiny neural net inspired by input!"""
|
|
|
q_sum = sum(quantum_vec)
|
|
|
c_var = np.var(chaos_vec)
|
|
|
activated = 1 if q_sum + c_var > 1 else 0
|
|
|
return activated
|
|
|
|
|
|
def codette_dream_agent(quantum_vec: List[float], chaos_vec: List[float]) -> tuple[List[float], List[float]]:
|
|
|
"""Blend quantum and chaos vectors using trigonometric transformations."""
|
|
|
dream_q = [np.sin(q * np.pi) for q in quantum_vec]
|
|
|
dream_c = [np.cos(c * np.pi) for c in chaos_vec]
|
|
|
return dream_q, dream_c
|
|
|
|
|
|
def get_quantum_statistics() -> Dict[str, Any]:
|
|
|
"""Get statistical information about quantum states across all cocoons."""
|
|
|
quantum_states = []
|
|
|
|
|
|
for fname in os.listdir('.'):
|
|
|
if fname.endswith('.cocoon'):
|
|
|
try:
|
|
|
with open(fname, 'r') as f:
|
|
|
data = json.load(f)['data']
|
|
|
state = data.get('quantum_state')
|
|
|
if state:
|
|
|
quantum_states.append(state)
|
|
|
except:
|
|
|
continue
|
|
|
|
|
|
if not quantum_states:
|
|
|
return {
|
|
|
'count': 0,
|
|
|
'average': [0.0, 0.0],
|
|
|
'variance': [0.0, 0.0]
|
|
|
}
|
|
|
|
|
|
|
|
|
count = len(quantum_states)
|
|
|
avg_state = [
|
|
|
sum(s[0] for s in quantum_states) / count,
|
|
|
sum(s[1] for s in quantum_states) / count
|
|
|
]
|
|
|
|
|
|
var_state = [
|
|
|
sum((s[0] - avg_state[0])**2 for s in quantum_states) / count,
|
|
|
sum((s[1] - avg_state[1])**2 for s in quantum_states) / count
|
|
|
]
|
|
|
|
|
|
return {
|
|
|
'count': count,
|
|
|
'average': avg_state,
|
|
|
'variance': var_state
|
|
|
}
|
|
|
if fname.endswith('.cocoon'):
|
|
|
full_path = os.path.join(folder, fname)
|
|
|
file_time = os.path.getmtime(full_path)
|
|
|
if file_time > latest_time:
|
|
|
latest_time = file_time
|
|
|
latest_cocoon = full_path
|
|
|
|
|
|
if not latest_cocoon:
|
|
|
return [0.0, 0.0]
|
|
|
|
|
|
try:
|
|
|
with open(latest_cocoon, 'r') as f:
|
|
|
data = json.load(f)['data']
|
|
|
return data.get('quantum_state', [0.0, 0.0])
|
|
|
except Exception as e:
|
|
|
print(f"Warning: Could not read quantum state from {latest_cocoon}: {e}")
|
|
|
return [0.0, 0.0]
|
|
|
|
|
|
def simple_neural_activator(quantum_vec, chaos_vec):
|
|
|
|
|
|
q_sum = sum(quantum_vec)
|
|
|
c_var = np.var(chaos_vec)
|
|
|
activated = 1 if q_sum + c_var > 1 else 0
|
|
|
return activated
|
|
|
|
|
|
def codette_dream_agent(quantum_vec, chaos_vec):
|
|
|
|
|
|
dream_q = [np.sin(q * np.pi) for q in quantum_vec]
|
|
|
dream_c = [np.cos(c * np.pi) for c in chaos_vec]
|
|
|
return dream_q, dream_c
|
|
|
|
|
|
def philosophical_perspective(qv, cv):
|
|
|
|
|
|
m = np.max(qv) + np.max(cv)
|
|
|
if m > 1.3:
|
|
|
return "Philosophical Note: This universe is likely awake."
|
|
|
else:
|
|
|
return "Philosophical Note: Echoes in the void."
|
|
|
|
|
|
|
|
|
print("\nMeta Reflection Table:\n")
|
|
|
header = "Cocoon File | Quantum State | Chaos State | Neural | Dream Q/C | Philosophy"
|
|
|
print(header)
|
|
|
print('-'*len(header))
|
|
|
|
|
|
for fname in os.listdir(folder):
|
|
|
if fname.endswith('.cocoon'):
|
|
|
with open(os.path.join(folder, fname), 'r') as f:
|
|
|
try:
|
|
|
dct=json.load(f)['data']
|
|
|
q=dct.get('quantum_state',[0,0])
|
|
|
c=dct.get('chaos_state',[0,0,0])
|
|
|
neural=simple_neural_activator(q,c)
|
|
|
dreamq,dreamc=codette_dream_agent(q,c)
|
|
|
phil=philosophical_perspective(q,c)
|
|
|
quantum_states.append(q)
|
|
|
chaos_states.append(c)
|
|
|
proc_ids.append(dct.get('run_by_proc',-1))
|
|
|
labels.append(fname)
|
|
|
all_perspectives.append(dct.get('perspectives',[]))
|
|
|
meta_mutations.append({'dreamQ':dreamq,'dreamC':dreamc,'neural':neural,'philosophy':phil})
|
|
|
print(f"{fname} | {q} | {c} | {neural} | {dreamq}/{dreamc} | {phil}")
|
|
|
except Exception as e:
|
|
|
print(f"Warning: {fname} failed ({e})")
|
|
|
|
|
|
|
|
|
if len(meta_mutations)>0:
|
|
|
dq0=[m['dreamQ'][0] for m in meta_mutations]
|
|
|
dc0=[m['dreamC'][0] for m in meta_mutations]
|
|
|
ncls=[m['neural'] for m in meta_mutations]
|
|
|
|
|
|
plt.figure(figsize=(8,6))
|
|
|
sc=plt.scatter(dq0,dc0,c=ncls,cmap='spring',s=100)
|
|
|
plt.xlabel('Dream Quantum[0]')
|
|
|
plt.ylabel('Dream Chaos[0]')
|
|
|
plt.title('Meta-Dream Codette Universes')
|
|
|
plt.colorbar(sc,label="Neural Activation Class")
|
|
|
plt.grid(True)
|
|
|
plt.show()
|
|
|
else:
|
|
|
print("No valid cocoons found for meta-analysis.")
|
|
|
root@Jmachine:/home/raiff/Documents/logs/astro_cocoons
|
|
|
bash: analyze_cocoons.py: command not found...
|
|
|
root@Jmachine:/home/raiff/Documents/logs/astro_cocoons
|
|
|
Traceback (most recent call last):
|
|
|
File "/home/raiff/Documents/logs/astro_cocoons/analyze_cocoons.py", line 11, in <module>
|
|
|
for fname in os.listdir(folder):
|
|
|
~~~~~~~~~~^^^^^^^^
|
|
|
FileNotFoundError: [Errno 2] No such f
|
|
|
|