行と列の入れ替え
アルゴリズムパズル プログラマのための数学パズル入門を読んでいて気になったことを書きます。

- 作者: Anany Levitin,Maria Levitin,黒川洋,松崎公紀
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/04/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (12件) を見る
次の行
列の行列の要素が
の自然数で埋められているとします。
上記の行列をとして、行の入れ替えと列の入れ替えによる問題を考えます。また、行の入れ替えと列の入れ替えを操作と呼ぶことにします。列の入れ替えとは、第
列を
としたとき、行列を
と表し、
列目と
列目を入れ替えてできる行列は
のようになります。
任意の回数操作を行って得られる行列のパターン
行列のパターンとは、操作によって得られた行列がとなるものです。
行列ではなく、一次元で数字の並びを考えると、数字が 種類あるので、これらの並び方なので、
通りあることが分かります。
これを行列に拡張して考えると、操作によって得られる行列のパターンは 通りあります。たぶん合ってる?
また、 種類の数字を行列に配置するパターンは
通りあります。操作によって得られるパターンと比較すると、
となることが分かります。
この行列の操作によって変わらないものは何かといいますと、行または列の要素は変わらないということです。つまり、同じ行にある要素は操作によって変化、順序だけが変わるということです。考えてみれば当たり前のことですが、言われるまで気が付きませんでした。
操作によって得られる行列の要素が元の位置にある個数の期待値
操作によって得られる行列のパターンは 通りあるとして、その各行列にたいして元の位置にある要素の期待値を考えます。
例えば、は最初元の行列の
成分にあります。操作によって得られた行列に対して
が存在する成分が
であれば元の位置にあるとして、個数を1数えます。このことを全ての行列のパターンにたいして、元の位置にある要素がいくつあるのかという期待値を考えます。
これも期待値の線形性から導けると思います。
うーん。どうやって解くんだろ。
感想
いつもは問題を受動的に考えるだけでしたが、今回は自発的に問題を考えてみました。答えがないので、合っているかはわかりません。