Upload 2 files
Browse files- codette_quantum_multicore.py +81 -0
- codette_quantum_multicore2.py +77 -0
codette_quantum_multicore.py
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import numpy as np
|
| 2 |
+
import os
|
| 3 |
+
import json
|
| 4 |
+
import random
|
| 5 |
+
import requests
|
| 6 |
+
from multiprocessing import Pool, cpu_count
|
| 7 |
+
|
| 8 |
+
CORES = 15 # Set your number of cores here
|
| 9 |
+
|
| 10 |
+
# Cognitive cocoon module (same as previous for compatibility)
|
| 11 |
+
class CognitionCocooner:
|
| 12 |
+
def __init__(self, storage_path="./astro_cocoons"):
|
| 13 |
+
self.storage_path = storage_path
|
| 14 |
+
if not os.path.exists(storage_path):
|
| 15 |
+
os.makedirs(storage_path)
|
| 16 |
+
def wrap(self,label,data):
|
| 17 |
+
meta={"label":label,"data":data}
|
| 18 |
+
fname=f"{label}_{random.randint(1000,9999)}_{os.getpid()}.cocoon"
|
| 19 |
+
fpath=os.path.join(self.storage_path,fname)
|
| 20 |
+
with open(fpath,"w") as f: json.dump(meta,f)
|
| 21 |
+
return fpath
|
| 22 |
+
|
| 23 |
+
# Perspective Agent, experiment logic unchanged
|
| 24 |
+
class PerspectiveAgent:
|
| 25 |
+
def __init__(self,name): self.name=name
|
| 26 |
+
def analyze(self,result,space_info=None):
|
| 27 |
+
if self.name=="Quantum":
|
| 28 |
+
return f"Quantum perspective: Measured value was {result}. Superposed realities possible."
|
| 29 |
+
elif self.name=="Newton":
|
| 30 |
+
return f"Newtonian logic: State followed deterministic evolution from {space_info}."
|
| 31 |
+
elif self.name=="Stardust":
|
| 32 |
+
return f"Stardust agent: Interleaved {space_info} into experiment as entropy!"
|
| 33 |
+
else: return "Unknown perspective..."
|
| 34 |
+
|
| 35 |
+
def fetch_exoplanet_star_data():
|
| 36 |
+
try:
|
| 37 |
+
url = ('https://exoplanetarchive.ipac.caltech.edu/TAP/sync?query=select+pl_hostname,pl_rade,pl_orbper+from+pscomppars+where+rownum+<2&format=json')
|
| 38 |
+
res = requests.get(url,timeout=3)
|
| 39 |
+
j=res.json()
|
| 40 |
+
return j[0] if j else {"pl_hostname":"unknown"}
|
| 41 |
+
except Exception:
|
| 42 |
+
return {"pl_hostname":"unknown"}
|
| 43 |
+
|
| 44 |
+
def quantum_astro_experiment(space_entropy):
|
| 45 |
+
radius=float(space_entropy.get("pl_rade") or 1.0)
|
| 46 |
+
period=float(space_entropy.get("pl_orbper") or 1.0)
|
| 47 |
+
superposition=np.array([random.random()*radius,random.random()*period])
|
| 48 |
+
sigma=radius; rho=period; beta=8/3; x=0.1*radius; y=0.2*period; z=0.2*radius
|
| 49 |
+
dt=0.01; steps=50
|
| 50 |
+
for _ in range(steps):
|
| 51 |
+
dx=sigma*(y-x)*dt; dy=(x*(rho-z)-y)*dt; dz=(x*y-beta*z)*dt
|
| 52 |
+
x+=dx; y+=dy; z+=dz
|
| 53 |
+
return superposition.tolist(), [x,y,z]
|
| 54 |
+
|
| 55 |
+
def codette_experiment_task(proc_id):
|
| 56 |
+
cocoons=CognitionCocooner("./astro_cocoons")
|
| 57 |
+
sp_data=fetch_exoplanet_star_data()
|
| 58 |
+
qq_state, chaos_state = quantum_astro_experiment(sp_data)
|
| 59 |
+
qa = PerspectiveAgent("Quantum")
|
| 60 |
+
na = PerspectiveAgent("Newton")
|
| 61 |
+
sa = PerspectiveAgent("Stardust")
|
| 62 |
+
q_comment=qa.analyze(qq_state[0],sp_data)
|
| 63 |
+
n_comment=na.analyze(chaos_state[0],sp_data)
|
| 64 |
+
s_comment=sa.analyze("---",sp_data["pl_hostname"])
|
| 65 |
+
record_dict={
|
| 66 |
+
"stardust_input":sp_data,
|
| 67 |
+
"quantum_state":qq_state,
|
| 68 |
+
"chaos_state":chaos_state,
|
| 69 |
+
"perspectives":[q_comment,n_comment,s_comment],
|
| 70 |
+
"run_by_proc": proc_id,
|
| 71 |
+
"pid": os.getpid()
|
| 72 |
+
}
|
| 73 |
+
cocoon_file=cocoons.wrap(label="quantum_space_trial", data=record_dict)
|
| 74 |
+
print(f"[Core {proc_id} | PID {os.getpid()}] Cocooned in {cocoon_file}")
|
| 75 |
+
return cocoon_file
|
| 76 |
+
|
| 77 |
+
if __name__=="__main__":
|
| 78 |
+
pool = Pool(CORES)
|
| 79 |
+
jobs = [i for i in range(CORES)]
|
| 80 |
+
results = pool.map(codette_experiment_task, jobs)
|
| 81 |
+
print("\n[All cocoons written across all available processors!]")
|
codette_quantum_multicore2.py
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import json
|
| 3 |
+
import numpy as np
|
| 4 |
+
import matplotlib.pyplot as plt
|
| 5 |
+
|
| 6 |
+
folder = '.' # Or your path to cocoons
|
| 7 |
+
|
| 8 |
+
quantum_states=[]
|
| 9 |
+
chaos_states=[]
|
| 10 |
+
proc_ids=[]
|
| 11 |
+
labels=[]
|
| 12 |
+
all_perspectives=[]
|
| 13 |
+
meta_mutations=[]
|
| 14 |
+
|
| 15 |
+
def simple_neural_activator(quantum_vec, chaos_vec):
|
| 16 |
+
# Lightweight thresholds: feels like a tiny neural net inspired by input!
|
| 17 |
+
q_sum = sum(quantum_vec)
|
| 18 |
+
c_var = np.var(chaos_vec)
|
| 19 |
+
activated = 1 if q_sum + c_var > 1 else 0
|
| 20 |
+
return activated
|
| 21 |
+
|
| 22 |
+
def codette_dream_agent(quantum_vec, chaos_vec):
|
| 23 |
+
# Blend them using pseudo-random logic—a “mutated” universe!
|
| 24 |
+
dream_q = [np.sin(q * np.pi) for q in quantum_vec]
|
| 25 |
+
dream_c = [np.cos(c * np.pi) for c in chaos_vec]
|
| 26 |
+
return dream_q, dream_c
|
| 27 |
+
|
| 28 |
+
def philosophical_perspective(qv, cv):
|
| 29 |
+
# Synthesizes a philosophy based on state magnitude and spread
|
| 30 |
+
m = np.max(qv) + np.max(cv)
|
| 31 |
+
if m > 1.3:
|
| 32 |
+
return "Philosophical Note: This universe is likely awake."
|
| 33 |
+
else:
|
| 34 |
+
return "Philosophical Note: Echoes in the void."
|
| 35 |
+
|
| 36 |
+
# Meta processing loop
|
| 37 |
+
print("\nMeta Reflection Table:\n")
|
| 38 |
+
header = "Cocoon File | Quantum State | Chaos State | Neural | Dream Q/C | Philosophy"
|
| 39 |
+
print(header)
|
| 40 |
+
print('-'*len(header))
|
| 41 |
+
|
| 42 |
+
for fname in os.listdir(folder):
|
| 43 |
+
if fname.endswith('.cocoon'):
|
| 44 |
+
with open(os.path.join(folder, fname), 'r') as f:
|
| 45 |
+
try:
|
| 46 |
+
dct=json.load(f)['data']
|
| 47 |
+
q=dct.get('quantum_state',[0,0])
|
| 48 |
+
c=dct.get('chaos_state',[0,0,0])
|
| 49 |
+
neural=simple_neural_activator(q,c)
|
| 50 |
+
dreamq,dreamc=codette_dream_agent(q,c)
|
| 51 |
+
phil=philosophical_perspective(q,c)
|
| 52 |
+
quantum_states.append(q)
|
| 53 |
+
chaos_states.append(c)
|
| 54 |
+
proc_ids.append(dct.get('run_by_proc',-1))
|
| 55 |
+
labels.append(fname)
|
| 56 |
+
all_perspectives.append(dct.get('perspectives',[]))
|
| 57 |
+
meta_mutations.append({'dreamQ':dreamq,'dreamC':dreamc,'neural':neural,'philosophy':phil})
|
| 58 |
+
print(f"{fname} | {q} | {c} | {neural} | {dreamq}/{dreamc} | {phil}")
|
| 59 |
+
except Exception as e:
|
| 60 |
+
print(f"Warning: {fname} failed ({e})")
|
| 61 |
+
|
| 62 |
+
# Also plot meta-dream mutated universes!
|
| 63 |
+
if len(meta_mutations)>0:
|
| 64 |
+
dq0=[m['dreamQ'][0] for m in meta_mutations]
|
| 65 |
+
dc0=[m['dreamC'][0] for m in meta_mutations]
|
| 66 |
+
ncls=[m['neural'] for m in meta_mutations]
|
| 67 |
+
|
| 68 |
+
plt.figure(figsize=(8,6))
|
| 69 |
+
sc=plt.scatter(dq0,dc0,c=ncls,cmap='spring',s=100)
|
| 70 |
+
plt.xlabel('Dream Quantum[0]')
|
| 71 |
+
plt.ylabel('Dream Chaos[0]')
|
| 72 |
+
plt.title('Meta-Dream Codette Universes')
|
| 73 |
+
plt.colorbar(sc,label="Neural Activation Class")
|
| 74 |
+
plt.grid(True)
|
| 75 |
+
plt.show()
|
| 76 |
+
else:
|
| 77 |
+
print("No valid cocoons found for meta-analysis.")
|