Зависит от точных правил игры. Если вы заранее знаете все фигуры и можете выбрать их порядок, то вы можете реализовать собственный алгоритм, который сначала будет планировать сопоставление кусков, а затем сопоставлять совпадения до тех пор, пока не будет составлен весь план.
Если вы знаете, что такое фигуры, и вы знаете их порядок, но вы не можете контролировать их порядок, то вы можете выполнить некоторый подсчет возврата для будущих событий.
Если вы знаете, что такое фигуры, но вы делаете Если вы не знаете их порядок, вы можете отследить все отдельные случаи так же, как указано выше.
Если вы не знаете ни части, ни их порядок, то вам нужно будет определить heuristi c, которое было бы вероятностным значением c, которое вы сможете правильно разместить для следующего элемента и вычислить возможные вариации очень похоже на альфа-бета-обрезку, известную в шахматных вычислениях.
По Кстати, если вы делаете возвратный подход, то вы все равно можете использовать heuristi c и обрезку.