組合數學的核心是解決計數問題,其中很重要的即為n個元素的排列方案的計數。
一個常見的將排列問題抽象的方法就是將其抽象為棋盤多項式。
首先看一個的棋盤,n個元素的排列可以看成在這個棋盤上落下n個棋子,其中每一個橫行、每一個豎列只允許有一個棋子。
而其中棋盤的格子是可以任意的的棋盤的子集,這對應了存在一定限制的排列方案。
每一個棋盤對應着一個母函數代表該棋盤中描述無法攻擊的棋子排列數。
這個母函數即為棋盤多項式。
設C為一棋盤,稱為C的棋盤多項式,其中表示k個棋子布到棋盤C的方案數[1]。
- 規定
- 設是棋盤C的某一指定格子所在的行與列都去掉後所得的棋盤,是僅去掉該格子後的棋盤,則
- 如果由相互分離的和組成,即的任一格子所在的行和列中都沒有的格子,則有
結合容斥原理解決受限排列問題。
設為 i個棋子布入禁區的方案數,i =1,2,3,…,n。有禁區的布子方案數(即禁區內不布棋子的方案數)為
設事件為棋子落入禁區且其餘棋子不限定是否落入禁區。
那麼布子方案數即可用進行表示。該排列數可以用容斥原理求解。
即
其中,在棋盤上的不受限排列數為,那麼有
其中,至少有一個棋子落入禁區的方案數為,至少兩個棋子落入進去的方案數為,以此類推,可以得到等式
1.如下圖所示,在的棋盤上,打叉的地方為禁區,求棋子無一落入禁區的排列數。
首先通過排列多項式的性質得到禁區的棋盤多項式為。
這樣,該棋盤在受限情況下的方案數為。
2.錯排問題,即個元素組成的排列中標號為的元素不排在第位的方案數。
該問題即為受限排列問題。
具體到棋盤中,即為在的棋盤上,所有的對角線元素都是禁區。
對于禁區的棋盤多項式的計算,由於該棋盤中所有元素均不在同一行同一列,根據棋盤多項式的性質容易得到為。
那麼,根據受限排列的性質,得到錯排方案數為。