分からない問題はここに書いてね448at MATH
分からない問題はここに書いてね448 - 暇つぶし2ch85:132人目の素数さん
18/10/25 20:54:39.62 Gnr41rTz.net
>>82
>>83
自分の答えは2511π/15となったんですがあっていますか?

86:132人目の素数さん
18/10/25 21:00:26.45 gnoSWQS2.net
約分

87:132人目の素数さん
18/10/25 21:06:36.11 Gnr41rTz.net
>>85約分すればあっていますか?

88:132人目の素数さん
18/10/25 21:38:41.16 mkO25Lni.net
>>60>>61
Ωの部分集合を事象と言う
Ω自身は全事象と言う
Ω={A,B,C,D,E,F,G,H,I,J,K,L}となる
各 i (1≦i≦12) が根元事象である
最初に宝が出るという事象A={宝}で確率P(A)は
P(A)=1/12 となる
最初に探す方向を i
列が変わる時を j として
最初に宝が出るという事象Aと事象Bを考える.
A={(i,j)| i または j が宝}
B={(i,j)| i または j が宝}
Ω={(i,j)|1≦i≦n,1≦j≦n+1}となり
このn(n+1)通りの各要素が根元事象
縦方向に探査する場合
Ω={(i,j)|1≦i≦n,1≦j≦n+1}から
#A=n(n+1)-n(n-1)=2n
#Aは事象Aに含まれる要素の個数
横方向に探査する場合
Ω={(i,j)|1≦i≦n+1,1≦j≦n}から
#B=n(n+1)-n(n-1)=2n
最初に宝が出る確率は
∴P(A)=P(B)=2n/n(n+1)

89:132人目の素数さん
18/10/25 21:52:35.93 Gnr41rTz.net
>>84
計算ミスしてました
156πです

90:132人目の素数さん
18/10/25 21:58:55.19 aLWZN9hC.net
σをn次の置換とする。R^nからR^nへの写像で、(x_1,...,x_n)を(x_σ(1),...,x_σ(n))にうつすものは連続であることを示して下さい。

91:132人目の素数さん
18/10/25 22:01:08.70 pgMxDp3h.net
直観的に考えたら違う理由が思いつかないから書いたんだけど…
何故違うかもしれないと考えたのかわからないレベルで違う理由が思いつかない
ABCDEFGHIJK
AEIBFJCGKDHL
と並んでる状態で、A-Kのうち2個がランダムで当たり
最初の当たりが左に近いのはどっち?ってことじゃん
>>80では有意差が有るように見えるけど、何故なのかよくわからない

92:132人目の素数さん
18/10/25 22:01:25.95 yIeks/2s.net
>>87
読んだ人の時間を無駄遣いさせるような明らかな誤答は慎めよ。

93:132人目の素数さん
18/10/25 22:03:12.46 yIeks/2s.net
>>90
別スレの解説をコピペ
なるほどねえ
確かにQの方が微妙に先に見つける場合が多いな
Pが先に見つけるのは以下の26通り
CE,DE,DI,EF,EG,EH,EI,EJ,EK,EL,FG,FH,FI,FJ,FK,FL,GI,GJ,HI,HJ,IJ,IK,IL,JK,JL,KL
Qが先に見つけるのは以下の27通り
BC,BD,BF,BG,BH,BI,BJ,BK,BL,CD,CF,CG,CH,CJ,CK,CL,DF,DG,DH,DJ,DK,DL,GH,GK,GL,HK,HL
同時に見つけるのは以下の13通り
AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,BE,CI

94:132人目の素数さん
18/10/25 22:05:27.49 mkO25Lni.net
>>91
具体的な反例を伴わないのは詭弁ですよ

95:132人目の素数さん
18/10/25 22:09:37.49 yIeks/2s.net
>>93
既に>80で実証済

96:132人目の素数さん
18/10/25 22:31:29.47 StgroO81.net
>>80
n=2
ABC
DEF
の場合
短軸方向探索Pが先に宝を発見する埋め方:4通り
> print(matrix(LETTERS[t232$P1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4]
[1,] C D D E
[2,] D E F F
長軸方向探索Qが先に宝を発見する埋め方:5通り
> print(matrix(LETTERS[t232$Q1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5]
[1,] B B B C C
[2,] C E F E F
同時に宝を発見する埋め方:6通り
> print(matrix(LETTERS[t232$even],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] A A A A A B
[2,] B C D E F D

97:132人目の素数さん
18/10/25 22:40:16.52 pgMxDp3h.net
なんか納得できない結果が出てきてて頭がぐるぐるううううう

98:132人目の素数さん
18/10/25 22:53:50.48 mkO25Lni.net
そんなの当たり前じゃん(´・ω・`)
等確率にしかならないのに無理やり差異を
見つけようとしているもん

99:132人目の素数さん
18/10/25 22:56:19.95 yIeks/2s.net
>>96
>95の操作をn=20までやってみた。
> t(sapply(1:20,treasure1))
P1st Q1st even
[1,] 0 0 1
[2,] 4 5 6
[3,] 26 27 13
[4,] 84 83 23
[5,] 203 197 35
[6,] 413 398 50
[7,] 751 722 67
[8,] 1259 1210 87
[9,] 1986 1910 109
[10,] 2986 2875 134
[11,] 4320 4165 161
[12,] 6054 5845 191
[13,] 8261 7987 223
[14,] 11019 10668 258
[15,] 14413 13972 295
[16,] 18533 17988 335
[17,] 23476 22812 377
[18,] 29344 28545 422
[19,] 36246 35295 469
[20,] 44296 43175 519

100:132人目の素数さん
18/10/25 22:58:30.06 yIeks/2s.net
シミュレーションしても>92の結果に合致。
> x=c(1,1,rep(0,10))
> PQ <- function(){
+ Q=sample(x)
+ z=matrix(Q,ncol=4,byrow=T)
+ P=as.vector(z)
+ c( even=which.max(P) == which.max(Q),
+ p1st=which.max(P) < which.max(Q),
+ q1st=which.max(P) > which.max(Q))
+
+ }
> k=1e6
> re=replicate(k,PQ())
> mean(re['even',]) ; 13/(26+27+13)
[1] 0.197025
[1] 0.1969697
> mean(re['p1st',]) ; 26/(26+27+13)
[1] 0.393803
[1] 0.3939394
> mean(re['q1st',]) ; 27/(26+27+13)
[1] 0.409172
[1] 0.4090909

101:132人目の素数さん
18/10/25 23:06:23.26 yIeks/2s.net
>>96
宝の埋め方の組み合わせを列挙して分類したら
>95のようになるのは同意?

102:132人目の素数さん
18/10/25 23:11:46.33 xxxgguJP.net
>>92
この結果面白いね
問題が2つ見つけるまでやって多く獲った方どっち?だったらイーブンだけど、1つ目を先に獲った方が勝ち、とすると差が出る
この場合、2番目を先に見つける確率にもきっと差があるのだろう

103:132人目の素数さん
18/10/25 23:27:39.20 pgMxDp3h.net
>>100
納得できないのは直観的に納得できないだけで、そういうことになるよなぁとはわかっていると思います
今ちょっと考えているのが、遅く見つけたほうが勝ちというルールで行うなら
Q:ABCDEFGHIJKL
P:AEIBFJCGKDHL
では、P君の方が勝率は高いということ。
じゃあ、Qに対してP以上に勝率の高い文字列(検索順序)は存在するはずだけど
それらを具体的に求める方法は?
とか考えてしまう。
で、頭がぐーるぐーるるるるるる

104:132人目の素数さん
18/10/25 23:50:26.24 StgroO81.net
>>101
先に2つの宝を発見した方を勝者とするのでやってみた。
n=2
ABC
DEF
の場合

> t232=treasure2(2,3,2)
P1st Q1st even
5 4 6
短軸方向探索Pが先に2つの宝を発見する埋め方:5通り
> print(matrix(LETTERS[t232$P1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5]
[1,] A A B B D
[2,] D E D E E
長軸方向探索Qが先に2つの宝を発見する埋め方:4通り
> print(matrix(LETTERS[t232$Q1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4]
[1,] A A B C
[2,] B C C D
同時に2つめの宝を発見する埋め方:6通り
> print(matrix(LETTERS[t232$even],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] A B C C D E
[2,] F F E F F F

105:132人目の素数さん
18/10/25 23:55:16.91 StgroO81.net
先に2つの宝を発見した方を勝者とするのでやってみた。
n=3
ABCD
EFGH
IJKL
の場合
> t342=treasure2(3,4,2)
P1st Q1st even
27 26 13
> #短軸方向探索Pが先に2つの宝を発見する埋め方
> print(matrix(LETTERS[t342$P1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19]
[1,] A A A A A B B B B B C C C D E E E E F
[2,] E F I J K E F I J K I J K K F I J K I
[,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27]
[1,] F F G G G I I J
[2,] J K I J K J K K
> #長軸方向探索Qが先に2つの宝を発見する埋め方
> print(matrix(LETTERS[t342$Q1st],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19]
[1,] A A A A A B B B B C C C C C D D D D D
[2,] B C D G H C D G H D E F G H E F G H I
[,20] [,21] [,22] [,23] [,24] [,25] [,26]
[1,] E E F F G H H
[2,] G H G H H I J
> #同時に2つめの宝を発見する埋め方
> print(matrix(LETTERS[t342$even],nrow=2),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
[1,] A B C D D E F G H H I J K
[2,] L L L J L L L L K L L L L

106:132人目の素数さん
18/10/25 23:59:41.97 StgroO81.net
>>104
R の コードは  URLリンク(tpcg.io)

107:132人目の素数さん
18/10/26 00:14:40.87 1urJ4mi5.net
ABCD
EFGH
を一般化するとこうなるかな?
横一列に並んだ ABCDEFGH の中からランダムに2つを選んで宝を隠しておく
ABCDEFGH の中から宝を探す順番は8!通りある
最初の宝を見つけた時点で終わるものとするとき、
8!通りの探し方の中で最も有利な探し方はどのような探し方か

108:132人目の素数さん
18/10/26 00:18:52.65 TSc11EGu.net
もっとも有利なんてないやろ。
じゃんけんと一緒。
どんな列取ってきてもその先頭文字を末尾に回した探索には負ける。

109:132人目の素数さん
18/10/26 00:31:25.54 MkOm1coU.net
 A..B..C..D
A■■■□
E■■■■
I ■□■■

110:132人目の素数さん
18/10/26 00:38:06.24 kGQXd/Nk.net
全部の中で一番がないというのは>>107の考察通りだと思う。
けど、ある特定の列に対して最も勝率が高いのはどれだろうとは気になる。
けど、先頭文字を末尾に回した奴が一番勝率高くなるのかな。
ABCDEFGに対してなら
BCDEFGAが一番勝率高い気がする

111:132人目の素数さん
18/10/26 00:40:48.65 MkOm1coU.net
最初に当たり一つ引けばそこでゲーム終了だから
二つ目の当たりとの組み合わせは考慮しなくていい
当たりがどの座標のマスに置かれても
要素の個数は変化しないので
どの方向からの探査によっても確率は変化しない

112:132人目の素数さん
18/10/26 01:01:12.32 kGQXd/Nk.net
これ、当たりが1個でも、探索順番によって勝率変わってくるな
やっと構造がなんとなくわかってきた
自分の脳みその弱さが悲しくなってくる

113:132人目の素数さん
18/10/26 01:17:34.08 0VxS+eWR.net
>>109
部屋の数についての帰納法でいけるんじゃね?
主張は
部屋の数が n の時 P:A[1]A[2]…A[n] に引き分けないという条件下で勝つ確率最大なのは Q:A[2]A[3]…A[n]A[1]。
以下Qの探索順をB[i]とする。
n=3では多分成立。
n<k で成立として n=k のとき。
P が Q に勝つのはA[1]とA[2]以外に宝が配置されるときでその確率は (n-2)/C[n,2]。
引き分けるのはA[1]、A[2]に配置されるときで確率1/C[n,2]。
よってQがPに勝つ確率は (C[n] - 1 - (n-2)/(C[n,2] - 1)。
容易にA[1]≠B[1]の場合はコレより確率は大きくならないとわかる。
A[1] = B[1]の場合を考えればよい。
このとき引き分けないという条件下では宝箱はA[1]以外の2つに配置される場合でその場合Qの勝つ条件付き確率の最大値は (C[n-1] - 1 - (n-3)/(C[n-1,2] - 1)。
多分 (C[n] - 1 - (n-2)/(C[n,2] - 1) ≧ (C[n-1] - 1 - (n-3)/(C[n-1,2] - 1)より成立。

114:132人目の素数さん
18/10/26 02:33:21.22 kGQXd/Nk.net
>>112
おお、そういう風に片付くのか
帰納法で出来ないかとも考えたけど、自分の頭では


115:無理だったのです これで自分はスッキリしました!



116:132人目の素数さん
18/10/26 07:56:23.26 w2SAJyTA.net
>>112
一列じゃなくて長方形型 n×n+1の配置じゃないの?
nの次は (n+1)(n+2)では

117:132人目の素数さん
18/10/26 08:04:41.48 w2SAJyTA.net
>>98の結果をみると20までだが
縦nマス、横n+1マスのn(n+1)マスのとき
n=1でイーブン
n=2,3で長軸方向探索が有利
n=4以上で短軸方向探索が有利となっているので
数学的帰納法はn=3で適応できないと思う。

118:132人目の素数さん
18/10/26 08:33:37.24 UN3+CRN8.net
>>114 115
考えてる問題が違う。

119:132人目の素数さん
18/10/26 11:12:21.06 Jik/lAlw.net
>>109
# ABCDEFGに対してなら
# BCDEFGAが一番勝率高い気がする
library(gtools)
n=7
k=2
perm=permutations(n,n)
Q=perm[1,]
np=nrow(perm)
p1st=numeric(np)
for(i in 1:np){
P=perm[i,]
tre=combn(n,k)
nt=ncol(tre)
re=numeric()
for(j in 1:nt){
re[j]=min(which(tre[1,j]==P),which(tre[2,j]==P))-
min(which(tre[1,j]==Q),which(tre[2,j]==Q))
}
p1st[i]=sum(re<0)
}
plot(p1st)
p1st[which.max(p1st)]
(p.max=which(p1st==15))
print(matrix(LETTERS[perm[p.max,]],ncol=7),quote=F)
#

120:132人目の素数さん
18/10/26 11:13:54.87 Jik/lAlw.net
>>117
# ABCDEFGに対してなら
# BCDEFGAが一番勝率高い気がする
一番勝率高い探索順は4通りあった
> print(matrix(LETTERS[perm[p.max,]],ncol=7),quote=F)
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] B C D E F A G
[2,] B C D E F G A
[3,] B C D E G A F
[4,] B C D E G F A

121:132人目の素数さん
18/10/26 11:21:23.87 X/+dwIGq.net
>>118
なるほどね
先回り側がEの次の部屋へ進むってことは当たりはFGだからどっちに進んでも同じか

122:132人目の素数さん
18/10/26 11:24:00.72 X/+dwIGq.net
そうして、
先回り側の順序の最後の2つは決して実行されない
その4つの順序のどれでも最後から3番目のFかGまでで決着が付くから

123:132人目の素数さん
18/10/26 11:43:40.29 w2SAJyTA.net
宝を2個先にみつけた方が勝者とすると
ABCDEFGに対して一番勝率高い探索順は?

124:132人目の素数さん
18/10/26 11:44:35.23 w2SAJyTA.net
これも4通り出てきた。
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] A C D E F G B
[2,] B C D E F G A
[3,] C A D E F G B
[4,] C B D E F G A

125:132人目の素数さん
18/10/26 11:46:50.17 aPqhQq7R.net
要するに「相手に『自分が探索済のマス』を探させる」「自分は『相手が探索済のマス』を探さない」の2つを出来るだけ守っていればいい話だから相手の探索方法に対応する最適解の議論はあまり意義がないのではと思う

126:132人目の素数さん
18/10/26 11:49:49.69 aPqhQq7R.net
しかし、n=4から先はずっと短軸探索が有利になるのか。長軸側が逆転することはなさそうだし、n≧4の場合について「短軸探索が有利である」は成り立ちそう。これを証明することは出来ないだろうか…

127:132人目の素数さん
18/10/26 11:52:00.18 w2SAJyTA.net
>>124
俺もそっちに興味があるが、証明できる頭脳はない。

128:132人目の素数さん
18/10/26 12:47:58.81 kGQXd/Nk.net
宝箱1個なら、なんとか証明できそうな感じだし、そこから拡張すれば宝箱2個でもいけるのかなぁ
整数苦手だからよくわかんない

129:132人目の素数さん
18/10/26 13:00:54.84 Jik/lAlw.net
>>126
そうは問屋が卸さないみたいだよ。
縦4マス、横5マスで宝箱を1から7まで増やしてみると
宝が6個になると短軸有意から長軸有意に逆転した。
処理速度の制約であまり大きな数字で検証できないのだが。
> sapply(1:7,function(k) treasure(4,5,k))
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
短軸有利 9 84 463 1776 5076 11249 19797
長軸有利 9 83 453 1753 5075 11353 20057
同等 2 23 224 1316 5353 16158 37666

130:132人目の素数さん
18/10/26 13:12:19.08 Jik/lAlw.net
>>127
気長にやってみた。
> sapply(1:20,function(k) treasure0(4,5,k))
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11]
短軸有利 9 84 463 1776 5076 11249 19797 28057 32243 30095 22749
長軸有利 9 83 453 1753 5075 11353 20057 284


131:00 32528 30250 22803 同等 2 23 224 1316 5353 16158 37666 69513 103189 124411 122408 [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] 短軸有利 13820 6656 2486 695 137 17 1 0 0 長軸有利 13831 6657 2486 695 137 17 1 0 0 同等 98319 64207 33788 14114 4571 1106 188 20 1 4×5の場合 宝:1個 同等 宝:2~5個 短軸有利 宝:6~13個 長軸有利 宝:14~20個 同等 と推移した。



132:132人目の素数さん
18/10/26 13:55:10.00 kGQXd/Nk.net
>>127
えー
なかなか簡単にはいかせてもらえないね
考えながら仕事片付けるとしよう

133:132人目の素数さん
18/10/26 13:56:53.28 Jik/lAlw.net
>>129
それに宝箱1のときは、イーブンだろ。

134:132人目の素数さん
18/10/26 14:19:32.80 kGQXd/Nk.net
あれーほんとだ
どこかで派手な勘違いをしたままでやってたぽい
そりゃあっちこっちぐるぐるうううになるわ…

135:132人目の素数さん
18/10/26 14:21:23.31 kGQXd/Nk.net
あかん、今考える余裕ないw
>>131の同じになるってのもとりあえず保留

136:132人目の素数さん
18/10/26 14:40:12.43 Jik/lAlw.net
>>124
宝2個でn=30まで計算させてみた。4以上で短軸有利は不変だった。
> t(sapply(1:30,treasure1))
P1st Q1st even
[1,] 0 0 1
[2,] 4 5 6
[3,] 26 27 13
[4,] 84 83 23
[5,] 203 197 35
[6,] 413 398 50
[7,] 751 722 67
[8,] 1259 1210 87
[9,] 1986 1910 109
[10,] 2986 2875 134
[11,] 4320 4165 161
[12,] 6054 5845 191
[13,] 8261 7987 223
[14,] 11019 10668 258
[15,] 14413 13972 295
[16,] 18533 17988 335
[17,] 23476 22812 377
[18,] 29344 28545 422
[19,] 36246 35295 469
[20,] 44296 43175 519
[21,] 53615 52305 571
[22,] 64329 62810 626
[23,] 76571 74822 683
[24,] 90479 88478 743
[25,] 106198 103922 805
[26,] 123878 121303 870
[27,] 143676 140777 937
[28,] 165754 162505 1007
[29,] 190281 186655 1079
[30,] 217431 213400 1154

137:132人目の素数さん
18/10/26 14:48:29.91 D44zYEch.net
正の整数の組(x,y)であって,x!+y!=x^yを満たすようなものを全て求めよ
の解説をして頂けませんか?
答えは2,2 2,3だと思うのですが解答が無くて
よろしくお願いします

138:132人目の素数さん
18/10/26 16:53:39.39 /QODWg6q.net
>>89
お願いします

139:132人目の素数さん
18/10/26 17:11:33.07 c2QmUPBq.net
>>134
xは偶数しかありえないのでx=2mとおけば

140:132人目の素数さん
18/10/26 17:18:43.03 CMAX0Lj4.net
>>136
y≦x-1のとき,
x!+y!=y!(x!/y!)+y!=y!((x!/y!)+1),
(3≦)(x!/y!)+1=x・(x-1)!/y!+1とxは互いに素だから, x!+y!≠x^y.
すなわちx≦y.
3≦xのとき,
x!+y!=x!(1+(y!/x!))は(x-1)(≧2)の倍数.
x-1とxは互いに素であり, x!+y!≠x^y.
すなわちx≦2.
1)x=1のとき, 与式を満足させるyはない.
2)x=2のとき, 2+y!=2^y.
y≧4とすれば,
2+y!=2+24・(y!/4!)>2+3・2^(k-1)>2^k.
すなわちy≦3.
よって求める組は(x,y)=(2,2), (2,3).
できました!

141:132人目の素数さん
18/10/26 21:20:44.30 yoS+SCcd.net
宝箱問題、
もとの 4x3 型の12部屋で宝箱の数を変えてみると
1と8以上で有利不利無し、それ以外は長軸優先有利となるな
初見での印象よりも随分奥深いなこれ

142:132人目の素数さん
18/10/26 21:36:39.41 MkOm1coU.net
>>138
計算式お願いする

143:132人目の素数さん
18/10/26 21:50:07.25 kZgcrX3x.net
数列の項を並べ替えてできる数列の収束性、極限値は如何?
もう少し正確にいうと、
全単射関数 n : N -> N で 数列 a[ i ] を n で並べ替えた数列b[ i ]を
b[ i ] = a[ n(i) ] で定義する。
b[ i ] の収束性、極限値はどうなるでしょう?

144:132人目の素数さん
18/10/26 22:00:49.67 yoS+SCcd.net
プログラムで計算したので式はなんとも
部屋が
ABCD
EFGH
IJKL
として
宝物10個のときはABが空きなら縦の勝ち、
AEが空きなら横の勝ち
縦勝ちの宝物9個の配置
CDEFGHIJK
CDEFGHIJL
CDEFGHIKL
CDEFGHJKL
CDEFGIJKL
CDEFHIJKL
CDEGHIJKL
CEFGHIJKL
DEFGHIJKL
横勝ち
BCDFGHIJK
BCDFGHIJL
BCDFGHIKL
BCDFGHJKL
BCDFGIJKL
BCDFHIJKL
BCDGHIJKL
BCFGHIJKL
BDFGHIJKL
以下各個数での勝敗の数
treasures 1: p win 5 q win 5 even 2
treasures 2: p win 26 q win 27 even 13
treasures 3: p win 73 q win 76 even 71
treasures 4: p win 133 q win 140 even 222
treasures 5: p win 167 q win 176 even 449
treasures 6: p win 148 q win 153 even 623
treasures 7: p win 91 q win 92 even 609
treasures 8: p win 37 q win 37 even 421
treasures 9: p win 9 q win 9 even 202
treasures 10: p win 1 q win 1 even 64
treasures 11: p win 0 q win 0 even 12
treasures 12: p win 0 q win 0 even 1

145:132人目の素数さん
18/10/26 22:08:18.66 Jik/lAlw.net
>>139
Rでよければこんな感じ
# 宝の数を変化させる
treasure0 <- function(m=3,n=4,k=2){
y=1:(m*n)
(z=matrix(y,ncol=n,byrow=T))
(P=as.vector(z))
(Q=as.vector(t(z)))
PQ <- function(x){
p=q=numeric(k)
for(i in 1:k){
p[i]=which(P==x[i])
q[i]=which(Q==x[i])
}
min(p)-min(q)
}
tre=combn(m*n,k)
re=apply(tre,2,PQ)
return(c(短軸有利=sum(re<0),長軸有利=sum(re>0),同等=sum(re==0)))
}
sapply(1:12,function(k) treasure0(3,4,k))
> sapply(1:12,function(k) treasure0(3,4,k))
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
短軸有利 5 26 73 133 167 148 91 37 9 1 0 0
長軸有利 5 27 76 140 176 153 92 37 9 1 0 0
同等 2 13 71 222 449 623 609 421 202 64 12 1

146:132人目の素数さん
18/10/26 22:13:14.38 Jik/lAlw.net
>>138
>128に書いたけど
4x5だと宝箱を増やすと途中で短軸有利から長軸有利に変わっちゃうので自分でもびっくりした。
> 141
よろしければプログラムコードをアップしていただけませんか?Pythonでしょうか?

147:132人目の素数さん
18/10/26 23:56:14.49 yoS+SCcd.net
>>143
ちょっと整理してました。
NB. n comb n returns all n length set from 0..m-1
comb =: dyad define
if. x=1 do.
(1,~y)$i.y
elseif. x=y do.
(1,y)$i.y
elseif. do.
((y-1) ,/"0 1 (x-1) comb y-1 ), x comb y-1
end.
)
NB. usage: 3 4 game 2
game =: dyad define
p =. ,/ |: x $ i. */x
q =. i. */x
g =. y comb */x
d =. (<./"1)@(g &((i."1 0)~))
r =.(d p)-(d q)
y, (+/ r<0), (+/ r>0), (+/ r=0)
)
NB. run 3 4 games n for n in 1..12
smoutput 'tre p q even'
smoutput 3 4 game "1 0 (1+i. 12)

148:132人目の素数さん
18/10/27 00:03:42.01 ViIBGTWI.net
>>144のコードはマイナー言語J
ここで実際に動かしてみることができます
https://goo.gl/znRTwf

149:132人目の素数さん
18/10/27 00:29:15.21 jxMEHoZP.net
一般に,
U[j=1, n]A_j=ℝ となるn個の集合 A_j (*1) について,
j=1,2,...,n で a_j∈A_j となるような変数 a_j を取り,
lim[a_j→α] f(a_j) =k (*2) が全ての j について言えたならば,
lim[x→α] f(x) =k (*2) が言えますか。
例えば, p∈ℚ, q∈ℝ\ℚ とすると, p と q を合わせれば全実数を取ります。このとき,
lim[p→α] f(p) =lim[q→α] f(q) =k
かつ
lim[x→α] f(x) ≠k
となる f(x) は存在しますか。
(*1)αに十分近い要素も含む
(*2)離散的極限

150:132人目の素数さん
18/10/27 00:38:29.78 J3qsmS39.net
いいえ

151:132人目の素数さん
18/10/27 02:22:56.86 mmS65Xwb.net
>>145
お手数かけました。
残念ながら自分の知識ではアラビア文字のように理解不能でした。

152:132人目の素数さん
18/10/27 02:53:34.68 OAQWCVH9.net
>>60
一つ質問ですが
スタート地点Aに宝があるとゲームスタートと同時に
同着でゲーム終了になるけど、ポイントAに宝は設置されるのですか?

153:132人目の素数さん
18/10/27 05:41:32.14 wXU0Mfmd.net
σをn次の置換とする。
R^nからR^nへの写像で、(x_1,...,x_n)を(x_σ(1),...,x_σ(n))にうつすものは連続であることを示して下さい。

154:132人目の素数さん
18/10/27 07:18:29.04 jxMEHoZP.net
>>147
示してください

155:132人目の素数さん
18/10/27 07:28:51.70 A93ydLot.net
>>140
条件収束する級数を考えればa[i]とb[i]の収束性に関係がないことは明らか

156:132人目の素数さん
18/10/27 07:48:26.57 mmS65Xwb.net
>>149
その場合は引き分けで終了。
宝の置き方はランダム。
12C2=66通りに等確率で配置。

157:132人目の素数さん
18/10/27 08:12:06.26 mmS65Xwb.net
>>145
数字を増やしたらサイトの時間制限を超えて結果がでなくて残念。
尚、>142のRはメモリ不足で停止しました。
NB. usage: 5 6 game 2
NB. run 5 6 games n for n in 1..30
smoutput 'tre p q even'
smoutput 5 6 game "1 0 (1+i. 30)

158:132人目の素数さん
18/10/27 08:42:19.60 jrPclkaP.net
SMアウトプットとか、なんかヤラシイな、おい。

159:132人目の素数さん
18/10/27 08:49:29.55 0lSGEQBN.net
>>155
分散分析でF分布の値の比に F-ratio というのが出てくるの知ってた?

160:132人目の素数さん
18/10/27 09:08:02.61 A93ydLot.net
可換環論ではAss、穴(Ann)、ホモロジー、(チェイン)ホモトピー、……汚い言葉がいっぱい出てくるよ!やったね!

161:132人目の素数さん
18/10/27 09:33:42.09 vmv+J04S.net
>>140
a[i] → c とする。
e>0 とする。
|a[i] - c| ≧ e である i は有限個。
∴ |b[i] - c| ≧ e である i は有限個。
∴ b[i] → c。

162:132人目の素数さん
18/10/27 09:55:50.27 75FsN/5Y.net
>>146
離散的極限って離散位相での極限?
だったら Aj が disjoint な集合なら
a[1]→α、a[1]∈A[1]、a[2]→α、a[2]∈A[2] 自体が起こりえないやろ?
誘導位相?

163:132人目の素数さん
18/10/27 12:33:48.57 n7pGg+WO.net
>>154
12部屋から6部屋選ぶ組み合わせは924通りしかないのに
20部屋から10部屋だと184756通り、
30部屋から15部屋だと155117520通り、
という感じなのでどうしても時間やメモリを食いますよね

164:132人目の素数さん
18/10/27 13:00:02.78 BkDpmm6u.net
>>60
場合分けなどが面倒くさくて疲れ果てたけど、計算結果は>>133と一致。
P1st(n)-Q1st(n) が(偶奇によらず) (n^2-2n-6)(n-1)/6 になったので、n=2,3でQが、n≧4でPが有利。
コードはSagemath。
from sage.calculus.calculus import symbolic_sum
,var m,l,k,a,n
P1 = (symbolic_sum((m-1)*(m)-2*l-1, l,1,m-2)
+ symbolic_sum(symbolic_sum((m-1-k)*(m-k)+k-1-l, l,k,2*k) + symbolic_sum((m-1-k)*(m-k)+3*k-2*l-1, l,2*k+1,m-2), k,1,a-2)
+ symbolic_sum(symbolic_sum((m-1-k)*(m-k)+k-1-l, l,k,m-2), k,a-1,m-2)
).substitute({a:m/2}).substitute({m:n+1})
P2 = (symbolic_sum((m-1)*(m)-2*l-1, l,1,m-2)
+ symbolic_sum(symbolic_sum((m-1-k)*(m-k)+k-1-l, l,k,2*k) + symbolic_sum((m-1-k)*(m-k)+3*k-2*l-1, l,2*k+1,m-2), k,1,a-1)
+ symbolic_sum(symbolic_sum((m-1-k)*(m-k)+k-1-l, l,k,m-2), k,a,m-2)
).substitute({a:(m-1)/2}).substitute({m:n+1})
def P1st(x):
return P1.substitute({n:x}) if mod(x,2) == 1 else P2.substitute({n:x})
Q1 = (symbolic_sum(symbolic_sum((m+1-k)*(m-k)+k-2*l-1, k,0,l-1), l,0,a)
+ symbolic_sum(symbolic_sum((m+1-k)*(m-k)+k-2*l-1, k,0,m-l-1) + symbolic_sum((m-k)^2+k-l,k,m-l,l-1), l,a+1,m-1)
+ symbolic_sum(k^2-2*m*k+m^2+k-m,k,0,m-2)
).substitute({a:(m-1)/2}).substitute({m:n})
Q2 = (symbolic_sum(symbolic_sum((m+1-k)*(m-k)+k-2*l-1, k,0,l-1), l,0,a-1)
+ symbolic_sum(symbolic_sum((m+1-k)*(m-k)+k-2*l-1, k,0,m-l-1) + symbolic_sum((m-k)^2+k-l,k,m-l,l-1), l,a,m-1)
+ symbolic_sum(k^2-2*m*k+m^2+k-m,k,0,m-2)
).substitute({a:m/2}).substitute({m:n})
def Q1st(x):
return Q1.substitute({n:x}) if mod(x,2) == 1 else Q2.substitute({n:x})
P1 == 1/24*(6*n^3 + 20*n^2 - n - 27)*(n - 1) # nが奇数のとき
P2 == 1/4*n^4 + 7/12


165:*n^3 - 7/8*n^2 - 13/12*n + 1 # nが偶数のとき Q1 == 1/24*(6*n^2 + 10*n - 3)*(n + 1)*(n - 1) # nが奇数のとき Q2 == 1/24*(6*n^2 - 2*n - 5)*(n + 2)*n # nが偶数のとき



166:132人目の素数さん
18/10/27 13:42:52.35 0lSGEQBN.net
>>161
>133です。労作ありがとうございます。
コードは全く読めないのですが、宝の数を増やしての計算はこのコードで可能なのでしょうか?
4×5の場合で宝を増やすと
宝:1個 同等
宝:2~5個 短軸有利
宝:6~13個 長軸有利
宝:14~20個 同等
に変化したので差分はどんな関数なのだろうかとか、
5×6ではどうなるのか(メモリ不足で実行できませんでした)とか興味があります。

167:132人目の素数さん
18/10/27 13:50:43.55 0lSGEQBN.net
>>161
(n^2-2n-6)(n-1)/6 をグラフ表示してみました。
URLリンク(i.imgur.com)

168:132人目の素数さん
18/10/27 14:00:54.93 BkDpmm6u.net
>>162
>>161は多項式にまでするために、部屋をn x (n+1)、宝を2個と特殊化したものです。
#nloc(m,n,k,l)は縦m、横nの部屋で横優先が部屋(k,l)で初めて宝を発見する場合で
#宝が置かれても縦優先に先を越されない部屋の数。
def nloc(m,n,k,l):
q,r = divmod(n*k+l,m)
return (n-q)*(m-k)+q-1-l + ((k-r) if r > k else 0)
#nwin(m,n,c)は部屋が縦m、横n、宝がc個で横優先が勝つ宝の配置の数
def nwin(m,n,c):
return sum(binomial(nloc(m,n,k,l),c-1) for k in range(m) for l in range(n) if k*(n-1)<l*(m-1))
縦優先は縦横を替える。

169:132人目の素数さん
18/10/27 15:11:26.67 upNvrDEa.net
>>164
レスありがとうございます。
コードは読めないのですが、
部屋数から宝部屋の組合せを列挙してどちらが縦横どちらが先にみつけるかを探る手続きで必要な計算式をプログラムが絞りだしてくれるという理解でいいのでしょうか?

170:132人目の素数さん
18/10/27 16:24:46.83 2oyqegeD.net
>>165
いえ、計算式そのものです。数式で書けば
nwin(m,n,c) := Σ[(k,l)∈{0,…,m-1}×{0,…,n-1}, k*(n-1)<l*(m-1)] binomial((n-q)*(m-k)+q-1-l + (k-r)δ(r > k), c-1)、
ただし、n*k+lをmで割った商をq、余りをrとし、δ(P)をPが真なら1、偽なら0である関数とする。

171:132人目の素数さん
18/10/27 17:00:25.68 jxMEHoZP.net
>>159
例えば→√2を考えたい時、qの近づけ方は問題ないんでしょうが、pの近付き方を、p_n→√2になるような有理数列p_n上で考えることは出来ないんでしょうか。
→0なんかも、実際に関数に0を入れるわけではなくギリギリまで近付けるように、p自身が√2を取れないのは、定義できないほどの大問題でしょうか。

172:132人目の素数さん
18/10/27 17:42:26.17 OAQWCVH9.net
>>60
スタート地点のポイントAに宝があると
ゲーム開始とともに同着でゲーム終了になるので除外する
宝がいくつあったとしても、P君とQ君のどちらかが先に
一つでも宝を見つけるとそこでゲーム終了となる
縦方向の探査をn、横方向の探査をn+1として
宝の個数をkと置くと、調査する全範囲は
{n(n+1)-1}-(k-1)=n(n+1)-kと考えられる
Ω={n(n+1)-k)|n≧2,n(n+1)-1>k≧1}
■縦方向に探査をするP君の確率空間は
Ω={(i,j)|1≦i≦n,1≦j≦n(n+1)-k}から
#A=n{n(n+1)-k}-{n(n+1)-k-1}(n-1)
  =n(n^2+n-k)-{n(n^2-1)-k(n-1)-(n-1)}
  =n^3+n^2-kn-n^3+n+kn-k+n-1
  =n^2+2n-k-1
  
#Aは事象Aに含まれる要素の個数
■横方向に探査をするQ君の確率空間は
Ω={(i,j)|1≦i≦n+1,1≦j≦n(n+1)-k}から
#B=(n+1){n(n+1)-k}-n{n(n+1)-k-1}
  ={n(n+1)^2-k(n+1)}-{n^2(n+1)-kn-n}
  ={n^3+2n^2+n-kn-k}-{n^3+n^2-kn-n}
  =n^2+2n-k=n(n+2)-k
#Bは事象Bに含まれる要素の個数
■[n≧2,n(n+1)-1>k≧1]の条件下で以下の式が成立する
∴P(A)={n(n+2)-k-1}/{n^2(n+1)-kn}
∴P(B)={n(n+2)-k}/{n(n+1)^2-k(n+1)}

173:132人目の素数さん
18/10/27 17:47:25.88 OAQWCVH9.net
>>168
Ωの部分集合を事象と言う
Ω自身は全事象と言う
最初に探す方向を i
行または列が変わる時を j として
P君とQ君のうちどちらが先に宝を見つけるのかという
事象Aと事象Bを考える.
A={(i,j)| i または j が宝}
B={(i,j)| i または j が宝}

174:132人目の素数さん
18/10/27 17:50:10.27 upNvrDEa.net
>>168
別スレでは等確率とデタラメ書いてたよなぁ。
スレリンク(math板:87番)

読んだ人の時間を無駄遣いさせるような明らかな誤答は慎めよ。

175:132人目の素数さん
18/10/27 18:04:31.01 0lSGEQBN.net
>>168
すでに正解とPCでのカウントの照合が終わっているのに
読んだ人の時間を無駄遣いさせるような明らかな誤答は慎めよ。

176:132人目の素数さん
18/10/27 18:10:01.16 OAQWCVH9.net
別スレだって( ´,_ゝ`)

177:132人目の素数さん
18/10/27 18:12:30.45 0lSGEQBN.net
>>166
とすると、部屋数が増えたり宝が増えても数式として算出可能なのでしょうか?

178:132人目の素数さん
18/10/27 18:16:48.52 0lSGEQBN.net
>>172
なんだ、このスレでデタラメ書きつづけてたのかよw

179:132人目の素数さん
18/10/27 19:06:09.12 CcIMSnz3.net
>>152 , >>158
ご返答ありがとうございます。

180:132人目の素数さん
18/10/27 19:44:20.53 0/HwMd6z.net
>>167
もちろんそういう近づけかたを考えてもいいけど、その近づけかたを離散位相といってはいけない。
流石にこの程度の基本的な単語は正確に意味を確認するようにしないといかん。

181:132人目の素数さん
18/10/27 20:22:27.06 A93ydLot.net
>>175
>>152は無視してな
完全に寝ぼけてたわ

182:132人目の素数さん
18/10/27 20:46:19.01 2oyqegeD.net
>>173
すみません。発言がよくわかりません。
「数式として算出」とは? >>166は数式ではない?
ここでいう数式とは多項式などのΣのない形のものでしょうか?
「部屋数が増えたり」も、もともと部屋をn×(n+1)などとしていて大きさを変えられますよ?
宝の数が2以外でも(3なら3と)固定されていて部屋の形がn×(n+1)または(n+1)×nなら>>161を少し変えれば
Σのないnについての多項式が得られる、とは言えます。
念のため書いておくと
>>166は部屋の縦横、宝の数が任意だが、Σがある。
部屋の形がn×(n+1)または(n+1)×nとして適当に場合分けすることにより数式処理ソフトで
Σの計算できるようにした、そのコードが>>161

183:132人目の素数さん
18/10/27 21:43:17.58 dqzIYyC2.net
宝箱問題。申し訳ないのですが、プログラミングに詳しくないものでさっぱりです…
高校生にもわかるようにどなたか解説していただけませんか?(入試数学の解答のような形式であればありがたいです)

184:132人目の素数さん
18/10/27 22:12:53.07 xN+LO4jv.net
()>>173
可能だけど立式するのは結構な手間
Σを用いた式として立式して sagemath というソフトで簡略化して n の多項式にしたのが>>161
どう考えても面倒なので161さん以外の誰もやっていなかった
宝箱の数をkとして立式することは可能だろうけれども、
更なる面倒さに付き合ってくれる人がいなければここには書かれない
こんなとこでどうでしょうか。

185:132人目の素数さん
18/10/27 22:49:27.99 xN+LO4jv.net
sagemath はスマートフォンなどでも使うことができて、
僕も今初めて使うので適当ですが例えば>>161の最初の
P1の式(Σを含むもの)の簡略化などはiPhoneアプリでも以下のようにして行えました
アプリ起動して「+」ボタンで新しい式を入力するモ


186:ードにして var l,a,n,k = var('l','a','n','k') a=m/2 m=n+1 sum((m-1)*(m)-2*l-1, l,1,m-2) + sum(sum((m-1-k)*(m-k)+k-1-l, l,k,2*k) + sum((m-1-k)*(m-k)+3*k-2*l-1, l,2*k+1,m-2), k,1,a-2) + sum(sum((m-1-k)*(m-k)+k-1-l, l,k,m-2), k,a-1,m-2) と入力して「evaluate」ボタンでこの式を評価(簡略化) https://i.imgur.com/4bpYZLg.jpg



187:132人目の素数さん
18/10/27 23:11:22.16 eXgFaU/v.net
弥勒(僧)とシュリニヴァーサ・ラマヌジャンはどっちの方が賢いですか?

188:132人目の素数さん
18/10/27 23:15:15.57 NcmCS8ch.net
c のプログラムが無かったようなので 宝二つ、m×(m+1)型(m=1~69)を作ったので参考にあげておきます。
URLリンク(codepad.org)
少し説明を加えておくと、マスに1から順に番号をあたえます。
配列P[c]には、c番目 のマスをPは何番目に調査するか
配列Q[c]には、c番目 のマスをQは何番目に調査するか を入れておきます。
i番目とj番目のマスに宝があるとき、P[i]とP[j]を比べて小さい方の値で、Pは宝を発見し、
Q[i]とQ[j]を比べて小さい方の値で、Qは宝を発見します。
この値を比べ、PとQどちらが早く発見したかを判定すると言うだけのものです。
縦、横のマスの数の変更や、宝の数の変更も難しくないと思うので、興味がある方はどうぞ。
(本当は、配列は一つで十分なんだけど、可読性や対称性を考えて書いておきました)

189:132人目の素数さん
18/10/28 05:58:31.87 Alga/Fek.net
xyz空間の球B:x^2+y^2+z^2=1の表面または内部に点Pをとる。
Pを通り方向ベクトル(1,2,0)に平行な直線lとBとの共有点を考えるとき、以下の問いに答えよ。
(1)lとBの共有点の個数を場合を分けて答えよ。
(2)共有点の個数が2個のときを考える。共有点の一方をS、他方をTとする。
P(x,y,z)とするとき、長さの積PS・PTをx,y,zで表せ。Pが表面上にあるときはP=Sとして考えよ。
(3)Bを平面x=u(-1≦u≦1)で切った切断面D_u上を点Pが動く。P(u,y,z)においてy^2+z^2の取りうる最大値Mをuで表せ。
さらにz=0のとき、積分 I_u = ∫[0→M] (PS・PT) dy をuで表せ。
(4)(3)で求めたI_uに対して定積分K = ∫[-1→1] I_u du を求め、さらに比の値K/(4π/3)を求めよ。

190:132人目の素数さん
18/10/28 06:38:52.61 Alga/Fek.net
n≧3とする。
次の和を求めよ。
Σ[k=1,2,...,n-1] {(n,k)・(n+1,k-1)}

191:132人目の素数さん
18/10/28 06:50:48.68 Alga/Fek.net
サイコロを振り、出た目に応じて点Pを動かす。最初点Pは(0,0)にある。
点Pが(a,b)にあるとき、偶数の目が出たら(a+1,b+1)に移動させ、奇数の目が出たら(a+1,b-1)に移動させる。
このとき、以下の事象が起こる確率を求めよ。
(1)Pが半直線y=x(x≧1)の上に乗る。
(2)Pが直線y=2x+1の上に乗る。
(3)m,nを整数の定数とし、Pが半直線y=mx+n(x≧1)の上に乗る。必要があればm,nの値に応じて場合分けして答えよ。

192:132人目の素数さん
18/10/28 07:43:46.81 GWXw/AMj.net
>>178
レスありがとうございました。
多項式で与えられたので他のソフトでも>163のように
簡単にグラフ化できました。
そういう意味で数式と書いたつもりでした。

193:132人目の素数さん
18/10/28 11:54:19.95 F02xc/t9.net
>>183
いつもcのコードありがとうございます。
このコードだと縦横マスを増やすのは容易でも、宝の数を増やすには for loopを
for(i=1,Pwin=Qwin=Draw=0;i<mn;i++)for(j=i+1;j<mn;j++) for(k=j+1;k<mn;k++) for(l=k+1;l<=mn;l++)
という具合に増やす必要がありますよね?

194:132人目の素数さん
18/10/28 14:34:09.32 uih2KRuT.net
そんな感じですね。細かいところですが、少し修正を施すと、
for(i=1,Pwin=Qwin=Draw=0;i<mn-2;i++)for(j=i+1;j<mn-1;j++) for(k=j+1;k<mn;k++) for(l=k+1;l<=mn;l++)
で、空回りを回避してます。
もし、このアルゴリズムで、宝の数を一般数化するなら、i,j,k,...の変数を配列にしてループにいれるか、
再帰関数化するか等の方がスマートですが、二つで固定なら、提示したような感じがシンプルですね。
しかし、宝の数可変を前提にプログラムを組むなら、別の方策を取ります。
Qは時刻 c に最初の宝を見つけるので、
・Pの宝の発見時刻が全てcより大きい → Qの勝ち
・Pの宝の発見時刻にcを含み、残りは全てcより大きい → 引き分け
・それ以外 → Pの勝ち
です。
Qは、時刻cに、マスcを調査するので、マスc+1、c+2、...の中に、P[x]>c を満たす
マスがいくつあるかをあらかじめカウントし、テーブル化すれば、あとは、
二項係数の積の和だけの、プログラムとなると思います。

195:132人目の素数さん
18/10/28 14:34:38.18 n8pAFAJX.net
>>185
m+1≧n≧1 のとき
Σ[k=1,n] C(n,k) C(m,k-1) = C(m+n,n-1)
∵ (1+x)^n (1+x)^m を展開したときの x^(n-1) の係数だから。
Σ[k=1,n-1] C(n,k) C(n+1,k-1) = C(2n-1,n-1) - C(n+1,2)

196:132人目の素数さん
18/10/28 14:41:09.62 n8pAFAJX.net
>>182
蝉「おまえさ、人としじみのどっちが偉いか知ってるか?」
伊坂幸太郎「グラスホッパー」角川文庫 (2007)

197:132人目の素数さん
18/10/28 18:59:43.28 GWXw/AMj.net
>>189
部屋の数=mn、宝の数trでmnCtr個の組み合わせを返すサブルーチンが必要になって、ここが処理のボトルネックになるんじゃないかと思うのですが。

198:132人目の素数さん
18/10/28 20:19:07.22 WEdrppmC.net
数学とはなんでしょうか?
何が数学の本質なんでしょうか?
論理的な体系の構築? 定理の創出?

199:132人目の素数さん
18/10/28 20:30:37.13 x624ZJMX.net
>>161の若干の一般化とその導出を備忘録的に書いておきます。
>>60
まず、部屋を探る順番が一般の場合を考える。
部屋がNあり、その集合をRとする。A君、B君が探る順番を表わす全単射写像をそれぞれf,gとする:
f,g: R→{0,1,…,N-1} (順番は0から始まるとする。)
部屋自体の位置はなんら答えに影響しない。
σ=g・f^{-1} と置くと、σは{0,1,…,N-1}の置換。(・は写像の合成)
A君がi番目に探る部屋はB君がσ(i)番目に探る部屋ということ。
以下、「A君がi番目に探る部屋」のことを「部屋i」ということにする。
求めたいのは、「A君がB君よりも早く宝を見つける宝の配置の数」であるが、宝の数をcとすると、それは
 Σ[σ(i)>i] binomial(#{j| j>i, σ(j)>i}, c-1) (0≦i,j≦N-1、binomialは二項係数)
である。
なぜか?
「A君が初めて宝を見つける部屋(部屋iとする)」で場合分けしよう。
(つまり部屋0~i-1には宝がなく、部屋iに宝がある場合)
部屋iはB君がσ(i)番目に探る部屋だからσ(i)>iでないと
少なくともB君はA君よりも前か同時に部屋iで宝を見つける
(B君はその前に別の部屋で宝を見つけることもある)ことになりA君は勝てない。
したがって、σ(i)>iが必要。
残りのc-1個の宝は部屋i+1~N-1にあるが、宝がある部屋を部屋jとすると、
やはりσ(j)>iでないといけない。逆に全部の宝でそうであればA君が勝つ。
よって


200:、残りのc-1個の宝が置かれてもいい部屋の数は#{j| j>i, σ(j)>i}だけあり、 全部そこに置かれる場合はbinomial(#{j| j>i, σ(j)>i}, c-1)通り。 したがって、上記のようになる。 続く



201:132人目の素数さん
18/10/28 20:31:26.72 x624ZJMX.net
>>194
続き
部屋が縦m、横nで、A君は横1行を探し終えたらすぐ下の1行に移り、
B君は縦1列を探し終えたらすぐ右の1列に移るという場合を考える。
つまり、m=4,n=3の場合、A君は
0123
4567
891011
B君は
0369
14710
25811
という順番で探す。
このとき、σ=0,3,6,9,1,4,7,10,2,5,8,11。
一般には、σ(nk+l)=ml+k (0≦k≦m-1, 0≦l≦n-1)。
ここまでをPythonで表すと:
#二項係数。SageMathでは定義ずみ
def binomial(n,r):
from math import factorial as f
return f(n)//f(r)//f(n-r) if r>=0 and n-r>=0 else 0
#置換p、宝c個で勝つ宝の配置の数
def nwinperm(p,c):
N = len(p)
return sum(binomial(len([j for j in range(i+1, N) if i<p[j]]),c-1)
for i in range(N) if i<p[i])
#部屋が縦m、横nのときの置換
def rectperm(m,n):
return [m*l+k for k in range(m) for l in range(n)]
#部屋が縦m、横n、宝がc個で横優先が勝つ宝の配置の数
def nwinrect0(m,n,c):
return nwinperm(rectperm(m,n),c)
続く

202:132人目の素数さん
18/10/28 20:32:10.70 x624ZJMX.net
>>195
続き
部屋が縦m、横nの場合を考えているが、もう少し計算を進める。
#{j| j>i, σ(j)>i} をこの場合に具体的に表そう。
i,j (0≦i,j≦mn-1)をそれぞれ nk+l, nk'+l' (0≦k,k'≦m-1, 0≦l,l'≦n-1) とする。
σ(i)>i ⇔ lm+k>nk+l ⇔ (m-1)l>(n-1)k、
j>i ⇔ nk+l>nk'+l' ⇔ 「k=k' かつ l<l'」または「k<k'」、
σ(j)>i ⇔ l'm+k'>nk+l ⇔ l' + k'/m > (nk+l)/m [ここで nk+lをmで割った商をq、余りをrとすると]
   ⇔ l' + k'/m > q + r/m ⇔ 「q≦l'≦n-1 ただし l'=q, k'≦r を除く」
を使って
#{j| j>i, σ(j)>i} = #{(k',l')|『「k=k' かつ l<l'」または「k<k'」』かつ l'm+k'>nk+l}
に出てくる『「k=k' かつ l<l'」または「k<k'」』かつ l'm+k'>nk+lを満たす組(k',l')の数を求める。
k=k' かつ l<l'のとき σ(i)>iからlm+k>nk+lだからl'm+k'>nk+lは常に成り立つので、l<l'≦n-1でn-1-l個。
k<k' のとき l'm+k'>nk+l ⇔ 「q≦l'≦n-1, k<k'≦m-1 ただし l'=q, k<k'≦r を除く」だから
(n-q)(m-1-k) - (r-k)δ(r>k)個、ただしδ(P)はPが真なら1、偽なら0である関数。
よって、#{j| j>i, σ(j)>i} = (n-1-l) + (n-q)(m-1-k) - (r-k)δ(r>k)。
したがって、求める数は
Σ[0≦k≦m-1, 0≦l≦n-1, (m-1)l>(n-1)k] binomial((n-1-l) + (n-q)(m-1-k) - (r-k)δ(r>k), c-1)。
これを使ったPythonコード:
#nloc(m,n,k,l)は縦m、横nの部屋で横優先が部屋(k,l)で初めて宝を発見する場合で
#宝が置かれても縦優先に先を越されない部屋の数。
def nloc(m,n,k,l):
q,r = divmod(n*k+l,m)
return (n-1-l) + (n-q)*(m-1-k) - (r-k if r > k else 0)
#部屋が縦m、横n、宝がc個で横優先が勝つ宝の配置の数
def nwinrect1(m,n,c):
return sum(binomial(nloc(m,n,k,l),c-1) for k in range(m) for l in range(n) if (m-1)*l>(n-1)*k)
続く

203:132人目の素数さん
18/10/28 20:34:35.87 x624ZJMX.net
>>196
続き
部屋がm×(m+1) (n=m+1) のとき。
(m-1)l>(n-1)k ⇔ 0≦k≦m-2 かつ k+1≦l≦m。
(nk+l)/m = k + (k+l)/m より k+l<mのときq=k,r=k+l、k+l≧mのときq=k+1,r=k+l-m。
r>k (k+l<m)とr≦k (k+l≧m)とに分けるように場合分けをする:
①0≦k≦[(m-1)/2], k+1≦l≦m-k-2 のとき r>k、
②[(m+1)/2]≦l≦m-1, m-1-l≦k≦l-1 または ③l=m, 0≦k≦m-2 のとき r≦k。
m=6のとき
×①①①①②③
××①①②②③
×××②②②③
××××②②③
×××××②③
×××××××
m=7のとき
×①①①①①②③
××①①①②②③
×××①②②②③
××××②②②③
×××××②②③
××××××②③
××××××××
後はΣの計算。>>60に合わせるとQ君がA君の立場でmが>>60でのn。
#以下 SageMathコード
,var m,n,l,k,q,r,c
T2 = (n-1-l) + (n-q)*(m-1-k)
T1 = T2 - (r-k)
#mが奇数の場合:
Q1 = (sum(sum(binomial(T1.subs({n:m+1,q:k,r:k+l}),c-1), l,k+1,m-k-2), k,0,(m-1)/2-1)
+ sum(sum(binomial(T2.subs({n:m+1,q:k+1,r:k+l-m}),c-1), k,m-1-l,l-1), l,(m+1)/2,m-1)
+ sum(binomial(T2.subs({n:m+1,l:m,q:k+1,r:k}),c-1), k,0,m-2)
).subs({m:n,c:2}).simplify_full().factor()
#mが偶数の場合:
Q2 = (sum(sum(binomial(T1.subs({n:m+1,q:k,r:k+l}),c-1), l,k+1,m-k-2), k,0,m/2-2)
+ sum(sum(binomial(T2.subs({n:m+1,q:k+1,r:k+l-m}),c-1), k,m-1-l,l-1), l,m/2,m-1)
+ sum(binomial(T2.subs({n:m+1,l:m,q:k+1,r:k}),c-1), k,0,m-2)
).subs({m:n,c:2}).simplify_full().factor()
def Q1st(x):
return (Q1 if mod(x,2) == 1 else Q2).subs({n:x})
続く

204:132人目の素数さん
18/10/28 20:36:18.50 x624ZJMX.net
>>197
続き
部屋がm×(m-1) (n=m-1) のとき。
(m-1)l>(n-1)k ⇔ 1≦l≦m-2 かつ 0≦k≦l。
(nk+l)/m = k + (l-k)/m より q=k,r=l-k。
r>k (l>2k)とr≦k (l≦2k)とに分けるように場合分けをする:
①0≦k≦[(m-3)/2], 2k+1≦l≦m-2 のとき r>k、
②1≦k≦[(m-3)/2], k≦l≦2k または ③[(m-1)/2]≦k≦m-2, k≦l≦m-2 のとき r≦k。
m=7のとき
×①①①①①
×②②①①①
××②②②①
×××③③③
××××③③
×××××③
××××××
m=8のとき
×①①①①①①
×②②①①①①
××②②②①①
×××③③③③
××××③③③
×××××③③
××××××③
×××××××
後はΣの計算。>>60に合わせるとP君がA君の立場でmが>>60でのn+1。
#mが偶数の場合:
P1 = (sum(sum(binomial(T1.subs({n:m-1,q:k,r:l-k}),c-1), l,2*k+1,m-2), k,0,m/2-2)
+ sum(sum(binomial(T2.subs({n:m-1,q:k,r:l-k}),c-1), l,k,2*k), k,1,m/2-2)
+ sum(sum(binomial(T2.subs({n:m-1,q:k,r:l-k}),c-1), l,k,m-2), k,m/2-1,m-2)
).subs({m:n+1,c:2}).simplify_full().factor()
#mが奇数の場合:
P2 = (sum(sum(binomial(T1.subs({n:m-1,q:k,r:l-k}),c-1), l,2*k+1,m-2), k,0,(m-3)/2)
+ sum(sum(binomial(T2.subs({n:m-1,q:k,r:l-k}),c-1), l,k,2*k), k,1,(m-3)/2)
+ sum(sum(binomial(T2.subs({n:m-1,q:k,r:l-k}),c-1), l,k,m-2), k,(m-1)/2,m-2)
).subs({m:n+1,c:2}).simplify_full().factor()
def P1st(x):
return (P1 if mod(x,2) == 1 else P2).subs(n=x)
以上、整理して少し異なったけど>>161の導出でした。

205:132人目の素数さん
18/10/28 20:51:31.12 aWEG2qvY.net
>>198
P1 == 1/24*(6*n^3 + 20*n^2 - n - 27)*(n - 1) # nが奇数のとき
P2 == 1/4*n^4 + 7/12*n^3 - 7/8*n^2 - 13/12*n + 1 # nが偶数のとき
Q1 == 1/24*(6*n^2 + 10*n - 3)*(n + 1)*(n - 1) # nが奇数のとき
Q2 == 1/24*(6*n^2 - 2*n - 5)*(n + 2)*n # nが偶数のとき
それだけ前置きやってkを含めた式が作れないのですか?

206:132人目の素数さん
18/10/28 21:10:22.97 x624ZJMX.net
>>199
「kを含めた式」って何?
あと>>178見て
宝の数が任意のものならΣが取れないでしょう。

207:132人目の素数さん
18/10/28 21:49:45.92 aWEG2qvY.net
kが任意でΣを含む高次方程式プリース

208:132人目の素数さん
18/10/28 21:57:24.16 WCFpjODS.net
論理的に考えて「最強」は存在しませんか?

209:132人目の素数さん
18/10/28 22:38:16.21 Z1Fuh7vT.net
私は何人かの方のコンピュータによる解法はすごいと思いました
正直、Pythonはわからないし、sagemathは数学そのものなのでまだ理解できていないので
読めたのはCだけですが…
久しぶりにまともなスレになった気がします

210:132人目の素数さん
18/10/28 22:46:21.43 aWEG2qvY.net
>>168
P(A)をP(B)で割ることによって
P君の勝つ数とQ君の勝つ数が導ける
P(A)/P(B)=(P君の勝つ数)/(Q君の勝つ数)
          {n(n+2)-k-1}/{n^2(n+1)-kn}
P(A)/P(B)=――――――――――
          {n(n+2)-k}/{n(n+1)^2-k(n+1)}

       =(n+1)(n^2+2n-1-k)/{n^2(n+2)-nk}
          
        ∵[n≧2,n(n+1)-1>k≧1]
∵の範囲でnとkをいろいろと変えて見ることにより
様々な勝率が導ける
計算知能にそのまま入力するだけで通分と約分を
自動計算してくれるので試してごろうじろう
■Wolfram入力例
(n+1)(n^2+2n-1-k)/{n^2(n+2)-nk},k=2,n=3

211:132人目の素数さん
18/10/28 22:56:23.58 Ebjnjc92.net
かわいそうな人がいるな。

212:132人目の素数さん
18/10/29 16:29:35.98 K6kqvvZ+.net
三角形ABCにおいて、
AからBCへ下した垂線をAD,
BCの中点をMとする。
BD > CDとすると
BD^2 - CD^2 = 2BC・MD を示せ。

213:132人目の素数さん
18/10/29 16:48:09.17 WCQIfvcO.net
>>206
中線定理やろ

214:132人目の素数さん
18/10/29 16:50:07.73 K6kqvvZ+.net
>>206
「垂線の定理」と言うらしい

215:132人目の素数さん
18/10/29 16:52:03.17 mtYrY7kH.net
左辺を因数分解すれば簡単

216:132人目の素数さん
18/10/29 16:53:18.72 fIbV3UU4.net
スイセンか
ナルシストやね

217:132人目の素数さん
18/10/29 17:00:59.61 K6kqvvZ+.net
BD-CD=2MD

BD-MD=CD+MD
こんな感じか

218:132人目の素数さん
18/10/29 17:57:30.68 5zZ9Wrnc.net
>>206
BD^2 - CD^2 = (BD+CD) (BD-CD)
= BC ( (BM+MD) - (CM - MD) )
= 2BC・MD
(∵ BM=CM )
特に垂線である意味がないし「垂線の定理」って何かの間違いでは?

219:132人目の素数さん
18/10/29 18:00:54.26 yQLOzO3v.net
左辺がAB


220:^2 - AC^2なら意味あるな。



221:132人目の素数さん
18/10/29 18:09:56.96 W1s3xJ8u.net
>>210
誰が面白い‥‥

222:132人目の素数さん
18/10/29 19:19:47.83 5zZ9Wrnc.net
>>213
AB^2 - AC^2 = (BD^2 + h^2) - (CD^2 + h^2) = BD^2 - CD^2 = ... = 2 BC・MD
なるほど

223:132人目の素数さん
18/10/29 20:28:17.47 WCQIfvcO.net
自然数a,b,cは以下の2つの等式を共に満たす。
a+b^2=c^3
a^2-b(b+c)=a+b+c
(1)このような(a,b,c)を一組求めよ。
(2)(1)で求めたもの以外に(a,b,c)の組が存在するなら、全て決定せよ。

224:132人目の素数さん
18/10/29 21:01:48.36 EbZkQmPV.net
>>216
Prelude> [(a,b,c)|a<-[1..100],b<-[1..100],c<-[1..100],a+b^2==c^3,a^2-b*(b+c)==a+b+c]
[(4,2,2)]

225:132人目の素数さん
18/10/29 21:19:32.81 EbZkQmPV.net
Prelude> [(b,c)|b <-[1..1000],c<-[1..1000],(c^3-b^2)*(c^3-b^2-1)==(b+c)*(b+1)]
[(2,2)]

226:132人目の素数さん
18/10/29 21:40:32.14 DqqH4kka.net
変な質問ですいません
最初にピタゴラスの定理を証明した人って、どういう発想で定理が正しいと考えたのでしょうか?直感でしょうか、経験的によく知られていたのでしょうか?

227:132人目の素数さん
18/10/29 21:53:25.38 Qhs7/BzP.net
ピタゴラスとエウクレイデスはどっちの方が賢いですか?

228:132人目の素数さん
18/10/29 21:59:50.45 t6V71XZu.net
>>216
a=-1,b=-3,c=2
a=0,b=-1,c=1
a=0,b=0,c=0
a=-1,b=1,c=0
a=4,b=2,c=2

229:132人目の素数さん
18/10/29 22:03:14.93 Cj4YfFKv.net
>>219
証明はどうだかわからないがピタゴラスが多いついたのはタイルを見て予想したと言われているらしい
直角二等辺三角形を敷き詰めると直角二等辺三角形の場合にはピタゴラスの定理が成り立つことがすぐにわかる
ピタゴラスはそこから直角三角形なら常に成り立つのではないかと考えたということのようだ

230:132人目の素数さん
18/10/29 22:03:18.99 Qhs7/BzP.net
リーマン予想を証明したいのですが、まずは何から勉強をした方が良いのでしょうか?

231:132人目の素数さん
18/10/29 23:00:58.41 TMKIolLb.net
証明した人に聞いてください
例えばAtiyahとかdeBrangeさんなど

232:132人目の素数さん
18/10/29 23:08:05.79 tvCSRcc2.net
風呂場の壁のタイルじゃないかね
URLリンク(www.wfg-bluebonnet.com)

233:132人目の素数さん
18/10/29 23:11:35.44 H845d6uJ.net
リーマン予想が証明されたとしたら、残りの他の全ての数学の未解決問題を自分一人で解決したい。
そのためにはやはり、数学の全分野だけでなく、物理学とか哲学とか計算機科学の全分野も究めないと無理なレベルでしょうか?

234:132人目の素数さん
18/10/29 23:33:15.93 Y5FWd7jd.net
とりあえず、二項定理くらいはわかるようになりましょうよ、ヒマラヤさん

235:132人目の素数さん
18/10/29 23:37:10.79 WCQIfvcO.net
>>221
証明は?

236:132人目の素数さん
18/10/29 23:39:31.99 t6V71XZu.net
b^2=c^3-a
a=c^3-b^2
a^2-b(b+c)=a+b+c
a^2-b^2-bc=a+b+c
a^2-c^3+a-bc=a+b+c
a^2-c^3-bc-b-c=0
(c^3-b^2)^2-c^3-bc-b-c=0
の整数解を求める

237:132人目の素数さん
18/10/29 23:44:55.83 EbZkQmPV.net
>>142
宝の数を変化させるコードをHaskellに移植してみた。
import Data.List
import Data.List.Split
m = 5 -- 縦マス(短軸)
n = 6 -- 横マス(長軸)
k = 5 -- 宝の数
q = [0..m*n-1]
matQ = chunksOf m q
matP = transpose matQ --行列を転置して
p = concat matP -- 配列に変換
combinations :: Int -> [a] -> [[a]]
combinations 0 _ = [ []


238:] combinations n xs = [ y:ys | y:xs' <- tails xs, ys <- combinations (n-1) xs'] treasure = combinations k q -- 宝の組み合わせ ip y = minimum $ map(\x -> elemIndices x p!!0) y -- 宝の、配列pでのindex列を求めて最小値を返す iq y = minimum $ map(\x -> elemIndices x q!!0) y idxp = map ip treasure -- 宝の組み合せで実行して idxq = map iq treasure p_q = zipWith (-) idxp idxq -- 差をとって大小判別 p1st = length $ filter (<0) p_q -- 短軸方向探索pが先に宝をみつける q1st = length $ filter (>0) p_q draw = length $ filter (==0) p_q main = do putStrLn $ "p1st = " ++ show p1st ++ ", q1st = " ++ show q1st ++ ", draw = " ++ show draw Prelude> :main p1st = 54036, q1st = 55469, draw = 33001



239:132人目の素数さん
18/10/29 23:56:48.49 xsxPk+Li.net
無限ホテルのパラドックス読んでてわからないことがあって、新しい宿泊客のために既存の客が部屋を一つづつずらすってあるけど、あれは何でそうなるの?
ネットで調べたけどそれらしい答えが無くて困ってる
無限ホテルが集合論のお話で、ホテルは可算無限集合、無限に居る宿泊客全員も可算無限集合で、どっちも無限としての大きさが合うから部屋は過不足なく用意されるって話だってところまではネットで読んだ
で、Wikipediaには順序数? の計算ルールが書いてあって、1+ωとω+1は違うってあったからこれが部屋移動の理由かと最初は思った
でも無限ホテルって無限人の来客があってもokってあるから、これってω+ωでどこに客をぶちこんでも意味変わらないなと
だからこの予想は違うと今は思ってる
この疑問のしっくり来る(理解できる)解説が見つからなくてずっとモヤモヤしてるので、誰か教えてくれるとありがたいです

240:132人目の素数さん
18/10/29 23:58:10.32 EbZkQmPV.net
-- バグ修正(行と列を間違えていた(._.)
import Data.List
import Data.List.Split
m = 5 -- 縦マス(短軸)
n = 6 -- 横マス(長軸)
k = 5 -- 宝の数
q = [0..m*n-1]
matQ = chunksOf n q
matP = transpose matQ --行列を転置して
p = concat matP -- 配列に変換
combinations :: Int -> [a] -> [[a]]
combinations 0 _ = [ [] ]
combinations n xs = [ y:ys | y:xs' <- tails xs, ys <- combinations (n-1) xs']
treasure = combinations k q -- 宝の組み合わせ
ip y = minimum $ map(\x -> elemIndices x p!!0) y -- 宝の、配列pでのindex列を求めて最小値を返す
iq y = minimum $ map(\x -> elemIndices x q!!0) y
idxp = map ip treasure -- 宝の組み合せで実行して
idxq = map iq treasure
p_q = zipWith (-) idxp idxq -- 差をとって大小判別
p1st = length $ filter (<0) p_q -- 短軸方向探索pが先に宝をみつける
q1st = length $ filter (>0) p_q
draw = length $ filter (==0) p_q
main = do
putStrLn $ "p1st = " ++ show p1st ++ ", q1st = " ++ show q1st ++ ", draw = " ++ show draw
>matrix.exe
p1st = 55469, q1st = 54036, draw = 33001

241:132人目の素数さん
18/10/30 00:30:32.81 pMMbbUDs.net
>>231
先頭を開けて1人追加するのは 1+ω = ω
倍の部屋番号へ移して ω 人追加するのは 2ω = ω

242:132人目の素数さん
18/10/30 00:43:18.09 i2Q1wF9o.net
リーマン予想とP≠NP予想はどっちの方が証明するのが難しいですか?

243:132人目の素数さん
18/10/30 03:04:00.18 1kUFo2x+.net
ABC
EFG
n=2の6マスでP君Q君のそれぞれのファーストの
組の総数をお願いします<(_ _)>

244:132人目の素数さん
18/10/30 03:44:10.47 oVqepi6V.net
P勝ち:EG FG EF BF
Q勝ち:BG CG BC CE CF
引き分け:AB AC AD AE AF AG BE

245:132人目の素数さん
18/10/30 04:26:38.58 uBW8ean2.net
p win : CE, EF, EG, FG
q win : BC, BF, BG, CF, CG
even : AB, AC, AE, AF, AG, BE
かと思った

246:132人目の素数さん
18/10/30 04:35:38.02 m3nuFJvJ.net
ABC
DEF
P勝ち  CD DE DF EF
Q勝ち  BC BE BF CE CF
引分け  AB AC AD AE AF BD

247:132人目の素数さん
18/10/30 04:38:18.15 uBW8ean2.net
質問では DEF が EFG になってるのから俺はちゃんとその通りにやってるのにお前らときたら自由だな…
>>236に至ってはよく見るとABCDEFGの7種使ってるし

248:132人目の素数さん
18/10/30 05:53:06.67 DPM


249:EzEI3.net



250:132人目の素数さん
18/10/30 05:57:47.96 m3nuFJvJ.net
自由ついでに分かりやすいように数字に置き換えてみた
1個目だけじゃなく、2個目の宝を先に見つけることも考えたら
結局、PQで差はないという直感どおりの結果になるな
123
456
12 ・Q
13 ・Q
14 ・P
15 ・P
16 ・・
23 QQ
24 ・P
25 QP
26 Q・
34 PQ
35 Q・
36 Q・
45 PP
46 P・
56 P・

251:132人目の素数さん
18/10/30 06:46:01.45 t8neO5le.net
別スレでこんなの見つけたんですが、これどこで証明されてるかご存知の方います?
スレリンク(math板:256番)
>オイラー定数をγと置く。nの約数の総和をσ(n)と置く。RHは

>σ(n)<(e^γ)*n*log(log n) (∀n>5040)

>と同値であることが知られている。

252:132人目の素数さん
18/10/30 07:07:11.36 t8neO5le.net
自己レス
とりあえず元論文はコレらしい
[24] G. Robin, Grandes valeurs de la fonction somme de diviseurs et hypoth`ese de Riemann,
J. Math. Pures Appl. 63 (1984), 187–213.
英語で読めるのないかなぁ?

253:132人目の素数さん
18/10/30 07:43:21.61 TZqGbv4d.net
5×6マスで宝の数を10まで増やしていくと、
D:\bin>for %i in (1,2,3,4,5,6,7,8,9,10) do treasure 5 6 %i
D:\bin>treasure 5 6 1
p1st = 14, q1st = 14, draw = 2
D:\bin>treasure 5 6 2
p1st = 203, q1st = 197, draw = 35
D:\bin>treasure 5 6 3
p1st = 1801, q1st = 1727, draw = 532
D:\bin>treasure 5 6 4
p1st = 11418, q1st = 11008, draw = 4979
D:\bin>treasure 5 6 5
p1st = 55469, q1st = 54036, draw = 33001
D:\bin>treasure 5 6 6
p1st = 215265, q1st = 211894, draw = 166616
D:\bin>treasure 5 6 7
p1st = 685784, q1st = 680768, draw = 669248
D:\bin>treasure 5 6 8
p1st = 1827737, q1st = 1825076, draw = 2200112
D:\bin>treasure 5 6 9
p1st = 4130886, q1st = 4139080, draw = 6037184
D:\bin>treasure 5 6 10
p1st = 7995426, q1st = 8023257, draw = 14026332

1:同等
1~8:短軸探索有利
9、10:長軸探索有利
という結果になった。
Haskellのコードはここ
--exe Fileにコンパイルしてコマンドラインから実行できるように改変(但し、エラー処理皆無)
スレリンク(math板:209番)

254:132人目の素数さん
18/10/30 07:47:14.67 TZqGbv4d.net
>>235
$Rscript main.r
P1st Q1st even
3 4 13
6マスで宝を3個にしてみた
$Rscript main.r
P1st Q1st even
3 4 13
P 1st
[,1] [,2] [,3]
[1,] C C D
[2,] D D E
[3,] E F F
Q 1st
[,1] [,2] [,3] [,4]
[1,] B B B C
[2,] C C E E
[3,] E F F F
even
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
[1,] A A A A A A A A A A B B B
[2,] B B B B C C C D D E C D D
[3,] C D E F D E F E F F D E F
Rのスクリプトをここに置いたから数値を変更して実行可能
URLリンク(tpcg.io)

255:132人目の素数さん
18/10/30 08:05:02.49 TZqGbv4d.net
>>241
自由ついでに5×6マスで宝が5個、先に全部の宝を見つけた方が勝者とすると
これくらい差が出る
D:\bin>treasure2 5 6 5
p1st = 54036, q1st = 55469, draw = 33001
確率にすると
> treasure2(5,6,5)
P1st Q1st even
54036 55469 33001
> 54036/(54036+55469+33001)
[1] 0.379184
> 55469/(54036+55469+33001)
[1] 0.3892398
なので差があると直観するかどうかは個々人の感性だな。

256:132人目の素数さん
18/10/30 10:08:36.51 ioBJjPrr.net
Haskel


257: だの R だの。そういうのは他でやれよ...。



258:132人目の素数さん
18/10/30 10:18:37.37 TZqGbv4d.net
>>247
使える人間にとっては電卓みたいなもんだよ。
log2の計算にいちいちマクローリン展開して手書き計算しないだろ。

259:132人目の素数さん
18/10/30 10:39:58.25 mcxWdfpM.net
ここまでjuliaが出てこなかった
juliaが流行しているのは自分の周りだけなのかな
(NGに巻き込まれて見えてないだけだったらゴメン)

260:132人目の素数さん
18/10/30 11:31:49.43 txysSoS4.net
>>249
どれかを移植して実力を示していただけたらうれしい。
5✕6マスで宝が15個の時の計算とかまだ誰も出してない。

261:132人目の素数さん
18/10/30 11:59:04.31 TZqGbv4d.net
>>241
先に2個の宝をみつけた方なら
123
456
12 Q
13 Q
14 P
15 P
16 =
23 Q
24 P
25 P
26 =
34 Q
35 =
36 =
45 P
46 =
56 =
にならない?

262:132人目の素数さん
18/10/30 12:07:08.08 TZqGbv4d.net
>>241
2個を先にみつけるじゃなくて
これは1個めの発見はQの方が確率が高くて、2個めに発見はPの方が確率が高いというだけの話だったみたいね。

263:132人目の素数さん
18/10/30 12:13:42.28 mcxWdfpM.net
>>250
juliaが周りで流行ってるだけで自分自身はCの人(Cソース書いてくれた人とは別人)
5x6ますで宝15個とか、ID:TZqGbv4dにお願いしたらすぐやってくれるんじゃない?
完全に作り直してるし。

264:132人目の素数さん
18/10/30 13:03:57.24 TZqGbv4d.net
>>252
i 番目をどちらが先にみつけるかを計算してみた。
4×5マスに宝が5個あるとき
> treasures(4,5,5)
p1st q1st even
[1,] 1948 9680 3876
[2,] 5488 10016 0
[3,] 7752 7752 0
[4,] 10016 5488 0
[5,] 9680 1948 3876
1個め2個めは短軸方向探索のQが、4個め5個めは長軸方向探索のPが、先にみつける宝の配置の組み合わせが多い。3個めは同じ。
全体としてはイーブンだが、
勝者は1個めを先にみつけた方にするか、全部を先にみつけた方にするかで結果が変わる。
Rのコードはここに置いたので数値を変えて実行可能。
URLリンク(tpcg.io)

265:132人目の素数さん
18/10/30 13:37:28.67 SFtp+jj6.net
n元集合からk個の元を取り出す順番を考慮して可能な場合を数え上げるとn*(n-1)*....*(n-k+1)通りあるというのはより原始的なものから導かれるものですか?

266:132人目の素数さん
18/10/30 14:00:45.62 ioBJjPrr.net
>>248
「プログラムで、ごり押し計算」
「マクローリン展開して手書き計算」
俺は後者の方が美しく感じるけどな。
実は前者で計算したのに後者を装ってほしいくらい。 (※ 私見です)

267:132人目の素数さん
18/10/30 14:14:18.76 uBW8ean2.net
>>254
単なる確認なんだけれども、
「i番目をどちらが見つけるか」というのは
先にi個見つけた方を勝ちとするのではなくて
例えばi=2だと
Pが1つ発見、Qが1つ発見⇒2番目を見つけたQの勝ち、ということですか?

268:132人目の素数さん
18/10/30 14:25:49.72 MIHAlyHX.net
ム板でやれ

269:132人目の素数さん
18/10/30 14:26:37.34 txysSoS4.net
>>257
>254の計算は各人にとってi番めの計算。
例えばi=2だと
Pが1つ発見、Qが1つ発見だと勝敗は未決で
どちらが発見者にとって2個めを発見したらそれが勝者として数えた。

270:132人目の素数さん
18/10/30 15:54:47.28 TZqGbv4d.net
んで、
ここまで答が出せた
254 名前:132人目の素数さん[sage] 投稿日:2018/10/30(火) 13:03:57.24 ID:TZqGbv4d
>>252
i 番目をどちらが先にみつけるかを計算してみた。
4×5マスに宝が5個あるとき
> treasures(4,5,5)
p1st q1st even
[1,] 1948 9680 3876
[2,] 5488 10016 0
[3,] 7752 7752 0
[4,] 10016 5488 0
[5,] 9680 1948 3876
1個め2個めは短軸方向探索のQが、4個め5個めは長軸方向探索のPが、先にみつける宝の配置の組み合わせが多い。3個めは同じ。
全体としてはイーブンだが、
勝者は1個めを先にみつけた方にするか、全部を先にみつけた方にするかで結果が変わる。
Rのコードはここに置いたので数値を変えて実行可能。
URLリンク(tpcg.io)

271:132人目の素数さん
18/10/30 16:19:16.88 txysSoS4.net
>>260
全体を眺めると直感的通り互角。
局所でみると濃淡があるということと理解した。

272:132人目の素数さん
18/10/30 16:39:29.02 wUEbhoSy.net
ゲルト・ファルティングスとアラン・コンヌの知能指数はどれくらいですか?

273:132人目の素数さん
18/10/30 16:45:15.00 wUEbhoSy.net
「真理」というのは存在するのでしょうか?
「真理」の探究は意味があるのでしょうか?

274:132人目の素数さん
18/10/30 16:54:34.66 wUEbhoSy.net
マイケル・アティヤとエドワード・ウィッテンはどっちの方が賢いですか?

275:132人目の素数さん
18/10/30 18:53:47.66 TZqGbv4d.net
>>253
ここまでは算出できたが、宝を14にしたらエラー終了した。
D:\bin>treasure 5 6 11
p1st = 13346984, q1st = 13395944, draw = 27884372
D:\bin>treasure 5 6 12
p1st = 19312228, q1st = 19372871, draw = 47808126
D:\bin>treasure 5 6 13
p1st = 24301031, q1st = 24358063, draw = 71100756

276:132人目の素数さん
18/10/30 19:00:13.09 1kUFo2x+.net
>>92
■引き分けの組み合わせは勝敗と無関係なので除外
宝が2個以上の時、
スタート地点のAマスと対極にある最終マスのLには
P君もQ君もどちらも決してたどり着くことはできないので
このLマスと組みとなる宝の配置は重複情報で意味を持たない
ので除外する
Pが先に見つけるのは以下の21通り
CE,DE,DI,EF,EG,EH,EI,EJ,EK,FG,FH,FI,FJ,FK,GI,GJ,HI,HJ,IJ,IK,JK,
Qが先に見つけるのは以下の22通り
BC,BD,BF,BG,BH,BI,BJ,BK,CD,CF,CG,CH,CJ,CK,DF,DG,DH,DJ,DK,GH,GK,HK,
となる

277:132人目の素数さん
18/10/30 20:06:33.85 m3nuFJvJ.net
>>260
何マスだろうが、宝が何個であろうが
出発点と終点が同じであれば
PQの宝を得られる個数の期待値は同じということだな

278:132人目の素数さん
18/10/30 20:09:54.61 TZqGbv4d.net
>>266
BE と CI の扱いは?

279:132人目の素数さん
18/10/30 20:16:22.96 TZqGbv4d.net
>>267
期待値は宝の数なわけで、元の問題は1個めをみつけるステップの数を比較しているんだと思う。

280:132人目の素数さん
18/10/30 20:27:29.84 TZqGbv4d.net
>>267
宝を先にみつけたら独り占め、同時にみつけたら折半 というルールなら手に入れる宝の数の期待値は同じになるだろうね。

281:132人目の素数さん
18/10/30 20:34:58.13 j0+hm9Fv.net
>>268
BI, CIは引き分けで除外なのでは
>>265
メモリを食わないコードを書いてみた
今思ったけど再帰で書いた方が読みやすかったか
URLリンク(ideone.com)
>>270
n x n+1 の部屋を縦横に調べる2人の場合は先着する部屋数が等しくなるからそうなるね
p君 ABCDEFGHIJKL
q君 BCDEFGHIJKLA
とかなら殆どq君が独り占め

282:132人目の素数さん
18/10/30 20:43:01.18 txysSoS4.net
>>271
URLリンク(ideone.com)
ありがとうございます、これを待望しておりました。

283:132人目の素数さん
18/10/30 20:45:58.07 1kUFo2x+.net
>>238
ABC
DEF
P勝ち  CD DE 
Q勝ち  BC BE  CE 
勝敗だけ知りたければデータ圧縮が可能

284:132人目の素数さん
18/10/30 21:02:19.29 j0+hm9Fv.net
P君Q君問題から得られる知見
早い者勝ちなら先回りすることが勝つ秘訣

285:132人目の素数さん
18/10/30 21:22:07.77 txysSoS4.net
>>274
>244に数値を挙げたけど宝の数が増えると逆転しちゃう。
個人的にはどこが逆転する境なのか算出方法が知りたいところ。

286:132人目の素数さん
18/10/30 21:26:43.68 DPMEzEI3.net
>>233
質問してばっかりだったので反省して自分で調べてみたんですけど
ω+ω=ω×ω=ω2だってことでした
でも、これは「無限ホテルのω号室の次の部屋からω人の客を泊めた」って事ですよね?
だから無限ホテルの話にあるように1号室→2


287:号室、2号室→4号室、3号室→6号室とずらして、間に入れ込めば2ω=ωになって万事解決って事で合ってますか?



288:276
18/10/30 21:32:47.59 DPMEzEI3.net
>>276
ω×ωはちがうかった……
これじゃω^2になっちゃう

289:132人目の素数さん
18/10/30 22:12:40.40 1kUFo2x+.net
q1..q2..q3..q4
q5..q6..q7..q8
q9q10q11q12
p1..p4..p7..p10
p2..p5..p8..p11
p3..p6..p9..p12
同じ座標なら数字の小さいほうが勝ち

290:132人目の素数さん
18/10/30 22:27:09.96 1kUFo2x+.net
[q2とq10] & [p4とp6]に宝が配置された時は
互いに数字の小さいほうを選んで勝負
q2 vs p4 で q2の勝ちとなる
この後にq10とp6の探査をしても
情報としての価値はゼロ

291:132人目の素数さん
18/10/30 22:38:59.14 j0+hm9Fv.net
>>276
>だから無限ホテルの話にあるように1号室→2号室、2号室→4号室、3号室→6号室とずらして、間に入れ込めば2ω=ωになって万事解決って事で合ってますか?
そうそう

292:132人目の素数さん
18/10/30 22:51:43.84 CVZYPi3J.net
まだ続いているようなので、>>189の後半で示したようなアイデアで、宝の数可変版の
プログラムを書いてみました。
多倍長を使える処理系を用いればいいのかもしれませんが、実数型で誤魔化しました。
故に大きな数字のところでは誤差があります。
URLリンク(codepad.org)

293:132人目の素数さん
18/10/30 23:11:50.13 A6MsJC+y.net
>>281
同じ方針のものがPythonで>>194-198にある

294:132人目の素数さん
18/10/30 23:22:12.50 NK3I4+n+.net
てか>>194-199に書いてある事がちゃんと読めれば宝の数が何個になっても場合わけ+多項式で記述できるのはすぐわかる。
読めよ。数学板なんだから。

295:132人目の素数さん
18/10/31 00:17:31.03 2LxBlHwr.net
>>281
いつもありがとうございます。
いやぁ、この出力は圧巻ですね。
Haskell先生もびっくり。

296:132人目の素数さん
18/10/31 00:20:44.63 GuJ72hDq.net
>>280
ありがとうございます
おかげさまですごくしっくりきました

297:132人目の素数さん
18/10/31 00:38:46.92 Ikjqn6xu.net
>>282 >>283
失礼しました。
数列を無理矢理分数式化する人や、価値の無い長い文章を投下する人がいるので、
読み飛ばしていました。
宝箱が二つの場合は、多項式での表現が完成していたんですね。
あのようなσやδを含む式を整理する数式処理ツールがあったとは驚きです。
二個で可能だったのだから、もっと多くの場合でも、可能なんでしょうね。

298:132人目の素数さん
18/10/31 01:01:33.69 JttzkDdq.net
P1 == 1/24*(6*n^3 + 20*n^2 - n - 27)*(n - 1) # nが奇数のとき
P2 == 1/4*n^4 + 7/12*n^3 - 7/8*n^2 - 13/12*n + 1 # nが偶数のとき
Q1 == 1/24*(6*n^2 + 10*n - 3)*(n + 1)*(n - 1) # nが奇数のとき
Q2 == 1/24*(6*n^2 - 2*n - 5)*(n + 2)*n # nが偶数のとき
多項式ってこれだけ?
kは変えられないし出力は意味不明だしナニコレ?
>>204の式ならk=554222,n=322300988とかでも
数秒で出力してくれるよ

299:132人目の素数さん
18/10/31 01:06:31.87 J5/yP0Q2.net
>>204の式ならkにどんな整数をいれても正解にならん。n=3でやってみろよ。
でn=3の場合66通り全部書きだして比較してみろよ。
実際書き出してみた正解とひとつも合わない式になんの意味がある?

300:132人目の素数さん
18/10/31 01:09:47.40 JttzkDdq.net
>>204の式は11C2=55通りで計算してある

301:132人目の素数さん
18/10/31 01:17:26.16 Xdi8PWHY.net
>>289
Prelude Data.Ratio> print [(n+1)*(n^2+2*n-1-k)%(n^2*(n+2)-n*k)|let n = 3,k<-([0..14]++[16..30])]
[56 % 45,26 % 21,16 % 13,11 % 9,40 % 33


302:,6 % 5,32 % 27,7 % 6,8 % 7,10 % 9,16 % 15,1 % 1,8 % 9,2 % 3,0 % 1,8 % 3,2 % 1,16 % 9,5 % 3,8 % 5,14 % 9,32 % 21,3 % 2,40 % 27,22 % 15,16 % 11,13 % 9,56 % 39,10 % 7,64 % 45] Prelude Data.Ratio> kに0~30何入れても正解なんぞ出てこんやろ?



303:132人目の素数さん
18/10/31 01:19:38.26 JttzkDdq.net
>>290
kに500~80000だとどうですか?

304:132人目の素数さん
18/10/31 01:22:51.22 JttzkDdq.net
k=554299747212,n=3212301098855
でも出力できたよ
ためしてごろうじろう

305:132人目の素数さん
18/10/31 01:28:28.82 9szLelGu.net
>>291
k>15だとすべて4/3より大きい値しかでないからアウト。何入れてもだめ。
>>292
n = 3~100までいれて全滅の式にそんな値いれても糞の意味もない。

306:132人目の素数さん
18/10/31 01:37:55.98 JttzkDdq.net
正確に一致しなくてもどちらが勝者になるかが
わかればいいと思う
k=5723457754299747212,n=3212301098855でも
出力できたぞ

307:132人目の素数さん
18/10/31 01:38:09.31 o8TBhUGW.net
3x4 の部屋で宝箱2個の場合は p, q の勝ちが 26,27だっけ
>>204
>       =(n+1)(n^2+2n-1-k)/{n^2(n+2)-nk}
宝箱の数 k=1のとき p の勝ち数 = q の勝ち数になるけど、
上記の式は
= (n+1)(n^2+2n-2) / {n^2(n+2)-n}
= (n^3+3n^2-2) / (n^3+2n^2-n)
だから間違ってるね
というか式の導出過程がどの1ステップも論理的じゃないから検算する必要もないんだけど

308:132人目の素数さん
18/10/31 01:39:59.62 VK521Oc+.net
>>286
>あのようなσやδを含む式を整理する数式処理ツールがあったとは驚きです。
σを処理できないから>>195-196、δを処理できないから>>196-197を人手で行っている
SageMathにやらせているのはn乗の和の公式さえあれば高校生ができる計算
>二個で可能だったのだから、もっと多くの場合でも、可能なんでしょうね。
>>196-197のsubs({m:n+1,c:2})の2を3に変えれば宝が3個の場合の多項式が得られる


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch