login
List of fixed polyominoes in binary coding, ordered by number of bits, then value of the binary code. Can be read as irregular table with row lengths A001168.
3

%I #17 Jan 02 2023 12:30:50

%S 0,1,3,5,7,11,19,21,22,37,15,23,27,30,39,53,54,75,139,147,149,150,156,

%T 275,277,278,293,306,549,31,47,55,62,79,91,94,143,151,155,157,158,181,

%U 182,188,203,220,279,283,286,295,307,309,310,314,403,405,406,412,434,440

%N List of fixed polyominoes in binary coding, ordered by number of bits, then value of the binary code. Can be read as irregular table with row lengths A001168.

%C The binary coding (as suggested in a post to the SeqFan list by F. T. Adams-Watters) is obtained by summing the powers of 2 corresponding to the numbers covered by the polyomino, when the points of the quarter-plane are numbered by antidiagonals, and the animal is pushed to both borders as to obtain the smallest possible value. See example for further details.

%C The smallest value for an n-omino is the sum 2^0+...+2^(n-1) = 2^n-1 = A000225(n), and the largest value, obtained for the straight n-omino in y direction, is 2^0+2^2+2^5+...+2^(A000217(n)-1) = A246534(n).

%H John Mason, <a href="/A246533/b246533.txt">Table of n, a(n) for n = 1..50149</a>

%H F. T. Adams-Watters, <a href="http://list.seqfan.eu/oldermail/seqfan/2014-August/013511.html">Re: Sequence proposal by John Mason</a>, SeqFan list, Aug 24 2014

%e Number the points of the first quadrant as follows:

%e ...

%e 9 ...

%e 5 8 ...

%e 2 4 7 ...

%e 0 1 3 6 10 ...

%e The "empty" 0-omino is represented by the empty sum equal to 0 = a(1).

%e The monomino is represented by a square on 0, and the binary code 2^0 = 1 = a(2).

%e The two fixed dominos are ".." and ":", represented by 2^0+2^1 = 3 = a(3) and 2^0+2^2 = 5 = a(4).

%e The A001168(3) = 6 fixed trominoes are represented by 2^0+2^1+2^3 = 11 (...), 2^0+2^1+2^2 = 7 (:.), 2^0+2^1+2^4 =19 (.:), ..., 2^0+2^2+2^5 = 37; again these 6 values are listed in increasing size as a(5), ..., a(10).

%o (PARI) grow(L,N=[],D=[[1,0],[0,1],[-1,0],[0,-1]])={ for(i=1,#L,for(j=1,#P=L[i],for(k=1,#P,for(d=1,#D, vecmin(P[k]+D[d])<0 && P-=vector(#P,i,D[d])/*shift if needed*/; !setsearch(P,P[k]+D[d]) && N=setunion([setunion([P[k]+D[d]],P)],N); P!=L[i] && P+=vector(#P,i,D[d])/*undo...*/))));if(N,N,[[[0,0]]])}

%o p2n(P)=sum(i=1,#P,2^(P[i][2]+A000217(P[i][1]+P[i][2])))

%o for(i=0,5,print(vecsort(apply(p2n,L=if(i,grow(L),[[]])))))

%Y See A246521 and A246559 for enumeration of free and one-sided polyominoes.

%K nonn

%O 1,3

%A _M. F. Hasler_, Aug 28 2014