Chinese Chess and Perfect Matchings

166 Views Asked by At

Chinese Chess is a game with $90$ positions. The opening game has $32$ pieces on the board. The pieces come in $14$ varieties and each variety during their entire game play is restricted to certain positions. FYI pieces can be eaten (removed from the game) but they cannot be changed into other pieces. The question I am studying is:

How many legal ways can the full set of $32$ pieces be placed on the board? Ignore whether each position is actually reachable in legal play.

Or another way to put it:

Count the number of perfect matchings for the $90\times 90$ bipartite graph, and divide by the factorials of the quantities of each of the pieces and the number of empty spaces.

All the approaches I know for finding/counting perfecting matchings are unusable for a problem this large. However, the Chinese Chess problem does exhibit similar substructure and a better approach may exist.

My question is: is there a known algorithm/approach to count bipartite graph perfect matchings when many of the rows or columns are repeated?