2つの順列のある関係について

 投稿者:GAI  投稿日:2010年 4月10日(土)06時47分13秒
  2つの次の順列P1、P2において、おもしろい関係が成立する。

P1=(3,8,5,10,9,4,6,1,7,2)

P2=(8,10,1,6,3,7,9,2,5,4)

<関係>
P1の数"3"は"1"番目にあるが、P2では"3"番目が"1"の数である。
P2の数"8"は"1"番目にあるが、P1では"8"番目が"1"の数である。

P1の数"8"は"2"番目にあるが、P2では"8"番目が"2"の数である。
P2の数"10"は"2"番目にあるが、P1では"10"番目が"2"の数である。

P1の数"5"は"3"番目にあるが、P2では"5"番目が"3"の数である。
P2の数"1"は"3"番目にあるが、P1では"1"番目が"3"の数である。

・・・・・・
・・・・・・

P1の数"2"は"10"番目にあるが、P2では"2"番目が"10"の数である。
P2の数"4"は"10"番目にあるが、P1では"4"番目が"10"の数である。


この関係を上手く利用したら、なにか面白いパズルやマジックが作れそうな気がする。


また、この関係について調べていたら
要素が例えば4つの場合に
全順列が4!=24通りある中で、次の10個
(1,2,3,4)
(1,2,4,3)
(1,3,2,4)
(1,4,3,2)
(2,1,3,4)
(2,1,4,3)
(3,2,1,4)
(3,4,1,2)
(4,2,3,1)
(4,3,2,1)
をP1としてとったとき、例の関係を満たすようにするP2が全く同じものになりました。

そこで一般に要素がn個のとき、これらが何個あるのかが気になってきます。
どなたか、n個の順列には例の関係をみたしながら、しかも元の順列と全く同じものになるものが何通りあるのかを調べて頂きたい。
 

Re: 2つの順列のある関係について

 投稿者:山中和義  投稿日:2010年 4月10日(土)11時05分26秒
  > No.1169[元記事へ]

GAIさんへのお返事です。

> 要素が例えば4つの場合に
> 全順列が4!=24通りある中で、次の10個
> (1,2,3,4)
> (1,2,4,3)
> (1,3,2,4)
> (1,4,3,2)
> (2,1,3,4)
> (2,1,4,3)
> (3,2,1,4)
> (3,4,1,2)
> (4,2,3,1)
> (4,3,2,1)
> をP1としてとったとき、例の関係を満たすようにするP2が全く同じものになりました。

N=4の場合、条件を満たすものを置換および巡回置換で表現すると

┌  1  2  3  4 ┐
└  1  2  3  4 ┘
=( 1 )( 2 )( 3 )( 4 )

┌  1  2  3  4 ┐
└  1  2  4  3 ┘
=( 1 )( 2 )( 3  4 )

┌  1  2  3  4 ┐
└  1  3  2  4 ┘
=( 1 )( 2  3 )( 4 )

┌  1  2  3  4 ┐
└  1  4  3  2 ┘
=( 1 )( 2  4 )( 3 )

┌  1  2  3  4 ┐
└  2  1  3  4 ┘
=( 1  2 )( 3 )( 4 )

┌  1  2  3  4 ┐
└  2  1  4  3 ┘
=( 1  2 )( 3  4 )

┌  1  2  3  4 ┐
└  3  2  1  4 ┘
=( 1  3 )( 2 )( 4 )

┌  1  2  3  4 ┐
└  3  4  1  2 ┘
=( 1  3 )( 2  4 )

┌  1  2  3  4 ┐
└  4  2  3  1 ┘
=( 1  4 )( 2 )( 3 )

┌  1  2  3  4 ┐
└  4  3  2  1 ┘
=( 1  4 )( 2  3 )


恒等置換と長さ2の巡回置換のみが該当するので
 恒等置換 1つ
 長さ2 (x x)、(x x)(x x)の形は、COMB(4,2)=6、COMB(4,2)*COMB(2,2)/FACT(2)=3
したがって、1+6+3=10
!参考サイト http://www.research.att.com/~njas/sequences/A000085
!1 + COMB(N,2)/1! + COMB(N,2)*COMB(N-2,2)/2! + COMB(N,2)*COMB(N-2,2)*COMB(N-4,2)/3! + …
LET N=4
LET T=1
FOR i=1 TO INT(N/2)
   LET S=1
   FOR k=0 TO i-1
      LET S=S*COMB(N-2*k,2)
   NEXT k
   LET T=T+S/FACT(i)
NEXT i
PRINT T
END
 

戻る