新たな出会いを求めて

 投稿者:GAI  投稿日:2010年 7月15日(木)09時27分46秒
  3組の夫婦(カップル)が丸いテーブルに男女交互に並び、どの人も両側に自分のパートナーでない人である確率を調べたい。
全調査をして調べたところ、2/12=1/6=0.1666・・・
を得た。

これを一般化してみたい。
いろいろなサイトを参考にしているが、
いまいちその構造が掴めない。

具体的に配列を構成していき、その確率を見てみたい。
(そこのサイトを参考に計算してみると9組の時より10組での確率が上がるような結果が出て、戸惑っています。<私の計算間違いかもしれませんが・・・>)

段階的に4組、5組、・・・
と調べてくれませんか?
 

Re: 新たな出会いを求めて

 投稿者:山中和義  投稿日:2010年 7月15日(木)12時59分55秒
  > No.1295[元記事へ]

GAIさんへのお返事です。

> 3組の夫婦(カップル)が丸いテーブルに男女交互に並び、どの人も両側に自分のパートナーでない人である確率を調べたい。
> 全調査をして調べたところ、2/12=1/6=0.1666・・・
> を得た。

2進モードでも、Nが12以上は困難です。
また18以上は、整数域を越えますので有理数モードで計算します。(さらに困難!)
!参考サイト
! http://oeis.org/classic/A059375
! http://oeis.org/classic/A000179

!n= 3,  4,    5,      6,       7,         8,           9,            10,
! 12, 96, 3120, 115200, 5836320, 382072320, 31488549120, 3191834419200, …


LET t0=TIME


FOR N=1 TO 11 !N組
   PRINT "N="; N


   !パートナーを
   ! 男   1,  2,  3,…,  N
   ! 女 N+1,N+2,N+3,…,N+N
   !とする。

   !!DIM A(2*N+1) !並び
   DIM A(100) !並び
   FOR i=1 TO N !1.2.3.4. … .Nの円順列 ※男を固定する
      LET A(2*i-1)=i
   NEXT i
   LET A(2*N+1)=1

   PUBLIC NUMERIC C !場合の数
   LET C=0
   CALL try(1,N,A) !N人の女を配置する
   IF C=0 THEN PRINT "解なし" ELSE PRINT 2*FACT(N)*C;"通り"


   PRINT "確率=";C/FACT(N)
NEXT N


PRINT "計算時間=";TIME-t0

END

EXTERNAL SUB try(p,N,A())
FOR i=1 TO N
   LET t=i+N !女の番号
   FOR j=1 TO p-1 !まだ配置されていないなら
      IF t=A(2*j) THEN EXIT FOR
   NEXT j
   IF j>p-1 THEN

      IF t=A(2*p-1)+N OR t=A(2*p+1)+N THEN !両隣がパートナー以外なら
      ELSE

         LET A(2*p)=t

         IF p=N THEN !すべて並ぶ
            LET C=C+1 !結果を表示する
            !!PRINT "No.";C
            !!MAT PRINT A;
         ELSE
            CALL try(p+1,N,A) !次へ
         END IF

      END IF

   END IF
NEXT i
END SUB

実行結果
N= 1
解なし
確率= 0
N= 2
解なし
確率= 0
N= 3
 12 通り
確率= .166666666666667
N= 4
 96 通り
確率= 8.33333333333333E-2
N= 5
 3120 通り
確率= .108333333333333
N= 6
 115200 通り
確率= .111111111111111
N= 7
 5836320 通り
確率= .114880952380952
N= 8
 382072320 通り
確率= .117509920634921
N= 9
 31488549120 通り
確率= .119562940917108
N= 10
 3191834419200 通り
確率= .121194885361552
N= 11
 390445460697600 通り
確率= .122523373617124
 

Re: 新たな出会いを求めて

 投稿者:GAI  投稿日:2010年 7月15日(木)22時24分54秒
  > No.1296[元記事へ]

山中和義さんへのお返事です。

> !参考サイト
> ! http://oeis.org/classic/A000179
>
> !n= 3,  4,    5,      6,       7,         8,           9,            10,
> ! 12, 96, 3120, 115200, 5836320, 382072320, 31488549120, 3191834419200, …
>
>    PRINT "確率=";C/FACT(N)

を参考にフリーソフトPARI/GP
で n=1000 の確率を計算したら

確率=0.135199880331055・・・・・

なる値を得ました。

n=10000
までとその確率の値を追跡していたら、僅かばかりながら増加を繰り返していきます。

n→∞ では結局確率は1に限りなく近づいていくと判断できることになるのだろうか?

なかなかみんなを満足させるためには至難の業であり、その達成のためには世界中の人が参加する必要があるのか。
 

戻る