I improved the lower bound on a B/S012345678 endemic pattern to
62.
The bound comes from a LP/IP setup. Set 511 variables N(X) for each nonempty 3x3 block X, where N(X) represents the number of times X appears in the pattern. To express the population, note that the total number of live cells in all instances of X is N(X)*|X| where |X| is the number of live cells in X, but each live cell appears in 9 blocks, so the total number of live cells is sum(N(X)*|X|)/9. Next we add the following constraints:
- Coverage: each INT condition appears at least once, which translates to a constraint sum(N(X))>=1 where the sum is taken over an orbit of X under rotation and reflection.
- Consistency: for each 2x3 block A, the number of occurrences of A is the number of 3x3 blocks whose leftmost two columns form A, as well as the number of 3x3 blocks whose rightmost two columns form A. If A is empty this constraint is trivial, otherwise we get a constraint sum(N(X))=sum(N(Y)) where X ranges over all 3x3 blocks whose leftmost two columns are A and Y ranges over all 3x3 blocks whose rightmost two columns are A. We have a similar constraint for 3x2 blocks.
- Corners: in any finite, nonempty pattern, each orientation of B1c appears. So we have N(X)>=1 for each orientation X of B1c.
- Perimeter: this is the most complicated constraint. Let S be the set of cells that are live or adjacent to at least one live cell, EXCEPT for centers of B1c configurations (i.e. dead cells adjacent to exactly one live cell where that live cell is diagonally adjacent). Let int(S) be the set of all cells in S such that all four orthogonal neighbors are in S, and let bound(S) be the set of all cells in S such that at least one orthogonal neighbor is not in S.
Each cell in bound(S) is the center in one of B1e2acek3ainj4a. Every block except for those, B1c, and B0 must appear in int(S). So int(S) contains at least 90 cells. A set of 28 cells can only bound a region of round((28-2)^2/8)=85 cells. Since bound(S) bounds int(S) of at least 90 cells, this means bound(S) contains at least 29 cells. So there are at least 29 instances of B1e2acek3ainj4a. This leads to the constraint sum(N(X))>=29 where X ranges over all 3x3 blocks representing B1e2acek3ainj4a.
Solving this as an integer program yields the bound of 62.
AI came up with the original linear programming setup with constraints 1 and 2. This setup was posted by LuveelVoom on the Discord, and it gives the 55 bound mentioned in their post previously. I noticed that the system did not include constraints that deal with edges, and added constraints 3 and 4. The AI was responsible for giving a rigorous construction of the "perimeter" bound(S) in constraint 4, therefore showing that the constraint I added actually holds.
Meanwhile, here are two new and more compact 68-cell endemic patterns. I asked AI to use the standard search approach but have it be bounding diamond-limited rather than bounding box limited.
Code: Select all
x = 15, y = 13, rule = B/S012345678
5bo$7b2o$3b2obo$3bobob2obo$3b2obo4bo$b3ob2obob3o$o3b2o2bob2o$2b5obobo
2bo$ob3ob5obobo$2b5obo2b2o$3b2o2b2obobo$7b3o$6bo2bo!
Code: Select all
x = 14, y = 13, rule = B/S012345678
7bobo$7bobo$2bobobob4o$bo5bo3b2o$o2b2obob4o$2b2o4bobo$bo2b8obo$4b3obob
2obo$3b5obo3bo$2bob2ob2o2b2o$4bo2b3o$4bobob2o$6b2o!