# Aztec diamond

In combinatorial mathematics, an Aztec diamond of order n consists of all squares of a square lattice whose centers (x,y) satisfy |x| + |y| ≤ n. Here n is a fixed integer, and the square lattice consists of unit squares with the origin as a vertex of 4 of them, so that both x and y are half-integers.
The Aztec diamond theorem states that the number of domino tilings of the Aztec diamond of order n is 2$^{n(n+1)/2}$. The Arctic Circle theorem says that a random tiling of a large Aztec diamond tends to be frozen outside a certain circle.
It is common to color the tiles in the following fashion. First consider a checkerboard coloring of the diamond. Each tile will cover exactly one black square. Vertical tiles where the top square covers a black square, is colored in one color, and the other vertical tiles in a second. Similarly for horizontal tiles.
Knuth has also defined Aztec diamonds of order n + 1/2. They are identical with the polyominoes associated with the centered square numbers.

## Non-intersecting paths

Something that is very useful for counting tilings is looking at the non-intersecting paths through its corresponding directed graph. If we define our movements through a tiling (domino tiling) to be
* (1,1) when we are the bottom of a vertical tiling
* (1,0) where we are the end of a horizontal tiling
* (1,-1) when we are at the top of a vertical tiling
Then through any tiling we can have these paths from our sources to our sinks. These movements are similar to Schröder paths. For example, consider an Aztec Diamond of order 2, and after drawing its directed graph we can label its sources and sinks. $a_{1},a_{2}$ are our sources and $b_{1},b_{2}$ are our sinks. On its directed graph, we can draw a path from $a_{i}$ to $b_{j}$, this gives us a path matrix, $P_{2}$,
$P_{2}={\begin{bmatrix}a_{1}b_{1}&a_{2}b_{1}\\a_{1}b_{2}&a_{2}b_{2}\\\end{bmatrix}}={\begin{bmatrix}6&2\\2&2\\\end{bmatrix}}$
where $a_{i}b_{j}=$ all the paths from $a_{i}$ to $b_{j}$. The number of tilings for order 2 is
det$(P_{2})=12-4=8=2^{2(2+1)/2}$
According to Lindstrom-Gessel-Viennot, if we let S be the set of all our sources and T be the set of all our sinks of our directed graph then
det$(P_{n})=$number of non-intersecting paths from S to T.
Considering the directed graph of the Aztec Diamond, it has also been shown by Eu and Fu that Schröder paths and the tilings of the Aztec diamond are in bijection. Hence, finding the determinant of the path matrix, $P_{n}$, will give us the number of tilings for the Aztec Diamond of order n.
Another way to determine the number of tilings of an Aztec Diamond is using Hankel matrices of large and small Schröder numbers, using the method from Lindstrom-Gessel-Viennot again. Finding the determinant of these matrices gives us the number of non-intersecting paths of small and large Schröder numbers, which is in bijection with the tilings. The small Schröder numbers are $\{1,1,3,11,45,\cdots \}=\{y_{0},y_{1},y_{2},y_{3},y_{4},\cdots \}$ and the large Schröder numbers are $\{1,2,6,22,90,\cdots \}=\{x_{0},x_{1},x_{2},x_{3},x_{4},\cdots \}$, and in general our two Hankel matrices will be
$H_{n}={\begin{bmatrix}x_{1}&x_{2}&\cdots &x_{n}\\x_{2}&x_{3}&\cdots &x_{n+1}\\\vdots &\vdots &&\vdots \\x_{n}&x_{n+1}&\cdots &x_{2n-1}\\\end{bmatrix}}$ and $G_{n}={\begin{bmatrix}y_{1}&y_{2}&\cdots &y_{n}\\y_{2}&y_{3}&\cdots &y_{n+1}\\\vdots &\vdots &&\vdots \\y_{n}&y_{n+1}&\cdots &y_{2n-1}\\\end{bmatrix}}$
where det$(H_{n})=2^{n(n+1)/2}$ and det$(G_{n})=2^{n(n-1)/2}$ where $n\geq 1$ (It also true that det$(H_{n}^{0})=2^{n(n-1)/2}$ where this is the Hankel matrix like $H_{n}$, but started with $x_{0}$ instead of $x_{1}$ for the first entry of the matrix in the top left corner).

## Other tiling problems

Consider the shape, $2\times n$ block, and we can ask the same question as for the Aztec Diamond of order n. As this has been proven in many papers, we will refer to. Letting the $2\times n$ block shape be denoted by $B_{n}$, then it can be seen
The number of tilings of $B_{n}=F_{n}$
where $F_{n}$ is the n$^{th}$ Fibonacci number and $n\geq 0$. It is understood that $B_{0}$ is a $2\times 0$ shape that can only be tiled 1 way, no ways. Using induction, consider $B_{1}$ and that is just $2\times 1$ domino tile where there is only $F_{1}=1$ tiling. Assuming the number of tilings for $B_{n}=F_{n}$, then we consider $B_{n+1}$. Focusing on how we can begin our tiling, we have two cases. We can start with our first tile being vertical, which means we are left with $B_{n}$ which has $F_{n}$ different tilings. The other way we can start our tiling is by laying two horizontal tiles on top of each other, which leaves us with $B_{n-1}$ that has $F_{n-1}$ different tilings. By adding the two together, the number of tilings for $B_{n+1}=F_{n}+F_{n-1}=F_{n+1}$.

## Generating valid tilings

Finding valid tilings of the Aztec diamond involves the solution of the underlying set-covering problem. Let $D=\{d_{1},d_{2},\dots ,d_{n}\}$ be the set of 2X1 dominoes where each domino in D may be placed within the diamond (without crossing its boundaries) when no other dominoes are present. Let $S=\{s_{1},s_{2},\dots ,s_{m}\}$ be the set of 1X1 squares lying within the diamond that must be covered. Two dominoes within D can be found to cover any boundary square within S, and four dominoes within D can be found to cover any non-boundary square within S.
Define $c(s_{i})\subset D$ to be the set of dominoes that cover square $s_{i}$, and let $x_{i}$ be an indicator variable such that $x_{i}=1$ if the $i^{th}$ domino is used in the tiling, and 0 otherwise. With these definitions, the task of tiling the Aztec diamond may be reduced to a constraint satisfaction problem formulated as a binary integer program:
$\min \sum _{1\leq i\leq m}0\cdot x_{i}$
Subject to: $\sum _{i\in c(s_{i})}x_{i}=1,$ for $1\leq i\leq m$, and $x_{i}\in \{0,1\}$.
The $i^{th}$ constraint guarantee that square $s_{i}$ will be covered by a single tile, and the collection of $m$ constraints ensures that each square will be covered (no holes in the covering). This formulation can be solved with standard integer programming packages. Additional constraints can be constructed to force placement of particular dominoes, ensure a minimum number of horizontal or vertically-oriented dominoes are used, or generate distinct tilings.
An alternative approach is to apply Knuth's Algorithm X to enumerate valid tilings for the problem.