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
![](https://www.wolframcloud.com/obj/resourcesystem/images/2ca/2cadf91c-242c-4d7c-941c-514349ebbea1/1-0-0/74276e04f73350e8.png)
leads to an all white or all zero pattern
![](https://www.wolframcloud.com/obj/resourcesystem/images/2ca/2cadf91c-242c-4d7c-941c-514349ebbea1/1-0-0/08b5d1918fbbda6a.png)
.
An all one tile
![](https://www.wolframcloud.com/obj/resourcesystem/images/2ca/2cadf91c-242c-4d7c-941c-514349ebbea1/1-0-0/24e8a863f464ed32.png)
leads to an all black or all one pattern
![](https://www.wolframcloud.com/obj/resourcesystem/images/2ca/2cadf91c-242c-4d7c-941c-514349ebbea1/1-0-0/4707e8c006c2393a.png)
.
The two tiles
![](https://www.wolframcloud.com/obj/resourcesystem/images/2ca/2cadf91c-242c-4d7c-941c-514349ebbea1/1-0-0/61f14f94d148d007.png)
lead to a checkboard pattern
![](https://www.wolframcloud.com/obj/resourcesystem/images/2ca/2cadf91c-242c-4d7c-941c-514349ebbea1/1-0-0/0d587372d3733146.png)
. No subset of the tiles will make a larger pattern, so these two tiles produce a minimal tiling.
The tileset
![](https://www.wolframcloud.com/obj/resourcesystem/images/2ca/2cadf91c-242c-4d7c-941c-514349ebbea1/1-0-0/6b233305e097874a.png)
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.