Details
A pattern is a rectangular array of positive integer values suitable for use in an
ArrayPlot.
A tile mask is a subset of positions within a rectangular array, such as the a values in {{a,a,a},{_,a,_}}. This particular mask is also known as the Tetris T shape.
A tile is an array that can contain integers or blanks.
All tiles in a tileset fit in an array of the same size, say {a,b}. If all subarrays of that size in a larger pattern matches a tile in the tileset, then that tileset can be used to make the given pattern.
An all zero tile
leads to an all white or all zero pattern
.
An all one tile
leads to an all black or all one pattern
.
The two tiles
lead to a checkboard pattern
. No subset of the tiles will make a larger pattern, so these two tiles produce a minimal tiling.
The tileset
will produce the all white pattern, but the second tile isn't necessary. Therefore, this is NOT a minimal tileset.
The above patterns have a size of 4×4.
The tileset should be specified as a dense array.
An all zero array is a tiling pattern, and a single all zero tile is a minimal tileset for it. Adding another tile to that tileset gives a non-minimal tileset.