X



トップページ数学
1002コメント417KB
分からない問題はここに書いてね448
■ このスレッドは過去ログ倉庫に格納されています
0090132人目の素数さん
垢版 |
2018/10/25(木) 22:01:08.70ID:pgMxDp3h
直観的に考えたら違う理由が思いつかないから書いたんだけど…
何故違うかもしれないと考えたのかわからないレベルで違う理由が思いつかない

ABCDEFGHIJK
AEIBFJCGKDHL
と並んでる状態で、A-Kのうち2個がランダムで当たり
最初の当たりが左に近いのはどっち?ってことじゃん

>>80では有意差が有るように見えるけど、何故なのかよくわからない
0092132人目の素数さん
垢版 |
2018/10/25(木) 22:03:12.46ID:yIeks/2s
>>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
0095132人目の素数さん
垢版 |
2018/10/25(木) 22:31:29.47ID:StgroO81
>>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
0097132人目の素数さん
垢版 |
2018/10/25(木) 22:53:50.48ID:mkO25Lni
そんなの当たり前じゃん(´・ω・`)

等確率にしかならないのに無理やり差異を
見つけようとしているもん
0098132人目の素数さん
垢版 |
2018/10/25(木) 22:56:19.95ID:yIeks/2s
>>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
0099132人目の素数さん
垢版 |
2018/10/25(木) 22:58:30.06ID:yIeks/2s
シミュレーションしても>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
0101132人目の素数さん
垢版 |
2018/10/25(木) 23:11:46.33ID:xxxgguJP
>>92
この結果面白いね
問題が2つ見つけるまでやって多く獲った方どっち?だったらイーブンだけど、1つ目を先に獲った方が勝ち、とすると差が出る
この場合、2番目を先に見つける確率にもきっと差があるのだろう
0102132人目の素数さん
垢版 |
2018/10/25(木) 23:27:39.20ID:pgMxDp3h
>>100
納得できないのは直観的に納得できないだけで、そういうことになるよなぁとはわかっていると思います

今ちょっと考えているのが、遅く見つけたほうが勝ちというルールで行うなら
Q:ABCDEFGHIJKL
P:AEIBFJCGKDHL
では、P君の方が勝率は高いということ。
じゃあ、Qに対してP以上に勝率の高い文字列(検索順序)は存在するはずだけど
それらを具体的に求める方法は?
とか考えてしまう。
で、頭がぐーるぐーるるるるるる
0103132人目の素数さん
垢版 |
2018/10/25(木) 23:50:26.24ID:StgroO81
>>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
0104132人目の素数さん
垢版 |
2018/10/25(木) 23:55:16.91ID:StgroO81
先に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
0106132人目の素数さん
垢版 |
2018/10/26(金) 00:14:40.87ID:1urJ4mi5
ABCD
EFGH

を一般化するとこうなるかな?

横一列に並んだ ABCDEFGH の中からランダムに2つを選んで宝を隠しておく
ABCDEFGH の中から宝を探す順番は8!通りある
最初の宝を見つけた時点で終わるものとするとき、
8!通りの探し方の中で最も有利な探し方はどのような探し方か
0107132人目の素数さん
垢版 |
2018/10/26(金) 00:18:52.65ID:TSc11EGu
もっとも有利なんてないやろ。
じゃんけんと一緒。
どんな列取ってきてもその先頭文字を末尾に回した探索には負ける。
0109132人目の素数さん
垢版 |
2018/10/26(金) 00:38:06.24ID:kGQXd/Nk
全部の中で一番がないというのは>>107の考察通りだと思う。
けど、ある特定の列に対して最も勝率が高いのはどれだろうとは気になる。

けど、先頭文字を末尾に回した奴が一番勝率高くなるのかな。
ABCDEFGに対してなら
BCDEFGAが一番勝率高い気がする
0110132人目の素数さん
垢版 |
2018/10/26(金) 00:40:48.65ID:MkOm1coU
最初に当たり一つ引けばそこでゲーム終了だから
二つ目の当たりとの組み合わせは考慮しなくていい

当たりがどの座標のマスに置かれても
要素の個数は変化しないので
どの方向からの探査によっても確率は変化しない
0111132人目の素数さん
垢版 |
2018/10/26(金) 01:01:12.32ID:kGQXd/Nk
これ、当たりが1個でも、探索順番によって勝率変わってくるな
やっと構造がなんとなくわかってきた
自分の脳みその弱さが悲しくなってくる
0112132人目の素数さん
垢版 |
2018/10/26(金) 01:17:34.08ID:0VxS+eWR
>>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)より成立。
0113132人目の素数さん
垢版 |
2018/10/26(金) 02:33:21.22ID:kGQXd/Nk
>>112
おお、そういう風に片付くのか
帰納法で出来ないかとも考えたけど、自分の頭では無理だったのです
これで自分はスッキリしました!
0115132人目の素数さん
垢版 |
2018/10/26(金) 08:04:41.48ID:w2SAJyTA
>>98の結果をみると20までだが
縦nマス、横n+1マスのn(n+1)マスのとき
n=1でイーブン
n=2,3で長軸方向探索が有利
n=4以上で短軸方向探索が有利となっているので
数学的帰納法はn=3で適応できないと思う。
0117132人目の素数さん
垢版 |
2018/10/26(金) 11:12:21.06ID:Jik/lAlw
>>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)

#
0118132人目の素数さん
垢版 |
2018/10/26(金) 11:13:54.87ID:Jik/lAlw
>>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
0119132人目の素数さん
垢版 |
2018/10/26(金) 11:21:23.87ID:X/+dwIGq
>>118
なるほどね
先回り側がEの次の部屋へ進むってことは当たりはFGだからどっちに進んでも同じか
0120132人目の素数さん
垢版 |
2018/10/26(金) 11:24:00.72ID:X/+dwIGq
そうして、
先回り側の順序の最後の2つは決して実行されない
その4つの順序のどれでも最後から3番目のFかGまでで決着が付くから
0121132人目の素数さん
垢版 |
2018/10/26(金) 11:43:40.29ID:w2SAJyTA
宝を2個先にみつけた方が勝者とすると
ABCDEFGに対して一番勝率高い探索順は?
0122132人目の素数さん
垢版 |
2018/10/26(金) 11:44:35.23ID:w2SAJyTA
これも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
0123132人目の素数さん
垢版 |
2018/10/26(金) 11:46:50.17ID:aPqhQq7R
要するに「相手に『自分が探索済のマス』を探させる」「自分は『相手が探索済のマス』を探さない」の2つを出来るだけ守っていればいい話だから相手の探索方法に対応する最適解の議論はあまり意義がないのではと思う
0124132人目の素数さん
垢版 |
2018/10/26(金) 11:49:49.69ID:aPqhQq7R
しかし、n=4から先はずっと短軸探索が有利になるのか。長軸側が逆転することはなさそうだし、n≧4の場合について「短軸探索が有利である」は成り立ちそう。これを証明することは出来ないだろうか…
0126132人目の素数さん
垢版 |
2018/10/26(金) 12:47:58.81ID:kGQXd/Nk
宝箱1個なら、なんとか証明できそうな感じだし、そこから拡張すれば宝箱2個でもいけるのかなぁ
整数苦手だからよくわかんない
0127132人目の素数さん
垢版 |
2018/10/26(金) 13:00:54.84ID:Jik/lAlw
>>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
0128132人目の素数さん
垢版 |
2018/10/26(金) 13:12:19.08ID:Jik/lAlw
>>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 28400 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個 同等

と推移した。
0131132人目の素数さん
垢版 |
2018/10/26(金) 14:19:32.80ID:kGQXd/Nk
あれーほんとだ
どこかで派手な勘違いをしたままでやってたぽい
そりゃあっちこっちぐるぐるうううになるわ…
0133132人目の素数さん
垢版 |
2018/10/26(金) 14:40:12.43ID:Jik/lAlw
>>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
0134132人目の素数さん
垢版 |
2018/10/26(金) 14:48:29.91ID:D44zYEch
正の整数の組(x,y)であって,x!+y!=x^yを満たすようなものを全て求めよ
の解説をして頂けませんか?

答えは2,2 2,3だと思うのですが解答が無くて
よろしくお願いします
0137132人目の素数さん
垢版 |
2018/10/26(金) 17:18:43.03ID:CMAX0Lj4
>>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).

できました!
0138132人目の素数さん
垢版 |
2018/10/26(金) 21:20:44.30ID:yoS+SCcd
宝箱問題、
もとの 4x3 型の12部屋で宝箱の数を変えてみると
1と8以上で有利不利無し、それ以外は長軸優先有利となるな
初見での印象よりも随分奥深いなこれ
0140132人目の素数さん
垢版 |
2018/10/26(金) 21:50:07.25ID:kZgcrX3x
数列の項を並べ替えてできる数列の収束性、極限値は如何?

もう少し正確にいうと、
全単射関数 n : N -> N で 数列 a[ i ] を n で並べ替えた数列b[ i ]を
b[ i ] = a[ n(i) ] で定義する。
b[ i ] の収束性、極限値はどうなるでしょう?
0141132人目の素数さん
垢版 |
2018/10/26(金) 22:00:49.67ID:yoS+SCcd
プログラムで計算したので式はなんとも

部屋が
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
0142132人目の素数さん
垢版 |
2018/10/26(金) 22:08:18.66ID:Jik/lAlw
>>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
0143132人目の素数さん
垢版 |
2018/10/26(金) 22:13:14.38ID:Jik/lAlw
>>138

>128に書いたけど

4x5だと宝箱を増やすと途中で短軸有利から長軸有利に変わっちゃうので自分でもびっくりした。

> 141
よろしければプログラムコードをアップしていただけませんか?Pythonでしょうか?
0144132人目の素数さん
垢版 |
2018/10/26(金) 23:56:14.49ID:yoS+SCcd
>>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)
0145132人目の素数さん
垢版 |
2018/10/27(土) 00:03:42.01ID:ViIBGTWI
>>144のコードはマイナー言語J
ここで実際に動かしてみることができます

https://goo.gl/znRTwf
0146132人目の素数さん
垢版 |
2018/10/27(土) 00:29:15.21ID:jxMEHoZP
一般に,
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)離散的極限
0148132人目の素数さん
垢版 |
2018/10/27(土) 02:22:56.86ID:mmS65Xwb
>>145
お手数かけました。
残念ながら自分の知識ではアラビア文字のように理解不能でした。
0149132人目の素数さん
垢版 |
2018/10/27(土) 02:53:34.68ID:OAQWCVH9
>>60
一つ質問ですが
スタート地点Aに宝があるとゲームスタートと同時に
同着でゲーム終了になるけど、ポイントAに宝は設置されるのですか?
0150132人目の素数さん
垢版 |
2018/10/27(土) 05:41:32.14ID:wXU0Mfmd
σをn次の置換とする。
R^nからR^nへの写像で、(x_1,...,x_n)を(x_σ(1),...,x_σ(n))にうつすものは連続であることを示して下さい。
0153132人目の素数さん
垢版 |
2018/10/27(土) 07:48:26.57ID:mmS65Xwb
>>149
その場合は引き分けで終了。
宝の置き方はランダム。
12C2=66通りに等確率で配置。
0154132人目の素数さん
垢版 |
2018/10/27(土) 08:12:06.26ID:mmS65Xwb
>>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)
0155132人目の素数さん
垢版 |
2018/10/27(土) 08:42:19.60ID:jrPclkaP
SMアウトプットとか、なんかヤラシイな、おい。
0157132人目の素数さん
垢版 |
2018/10/27(土) 09:08:02.61ID:A93ydLot
可換環論ではAss、穴(Ann)、ホモロジー、(チェイン)ホモトピー、……汚い言葉がいっぱい出てくるよ!やったね!
0158132人目の素数さん
垢版 |
2018/10/27(土) 09:33:42.09ID:vmv+J04S
>>140
a[i] → c とする。
e>0 とする。
|a[i] - c| ≧ e である i は有限個。
∴ |b[i] - c| ≧ e である i は有限個。
∴ b[i] → c。
0159132人目の素数さん
垢版 |
2018/10/27(土) 09:55:50.27ID:75FsN/5Y
>>146
離散的極限って離散位相での極限?
だったら Aj が disjoint な集合なら
a[1]→α、a[1]∈A[1]、a[2]→α、a[2]∈A[2] 自体が起こりえないやろ?
誘導位相?
0160132人目の素数さん
垢版 |
2018/10/27(土) 12:33:48.57ID:n7pGg+WO
>>154
12部屋から6部屋選ぶ組み合わせは924通りしかないのに
20部屋から10部屋だと184756通り、
30部屋から15部屋だと155117520通り、
という感じなのでどうしても時間やメモリを食いますよね
0161132人目の素数さん
垢版 |
2018/10/27(土) 13:00:02.78ID:BkDpmm6u
>>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*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が偶数のとき
0162132人目の素数さん
垢版 |
2018/10/27(土) 13:42:52.35ID:0lSGEQBN
>>161

>133です。労作ありがとうございます。

コードは全く読めないのですが、宝の数を増やしての計算はこのコードで可能なのでしょうか?

4×5の場合で宝を増やすと

宝:1個 同等
宝:2〜5個 短軸有利
宝:6〜13個 長軸有利
宝:14〜20個 同等

に変化したので差分はどんな関数なのだろうかとか、
5×6ではどうなるのか(メモリ不足で実行できませんでした)とか興味があります。
0164132人目の素数さん
垢版 |
2018/10/27(土) 14:00:54.93ID:BkDpmm6u
>>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))

縦優先は縦横を替える。
0165132人目の素数さん
垢版 |
2018/10/27(土) 15:11:26.67ID:upNvrDEa
>>164
レスありがとうございます。
コードは読めないのですが、
部屋数から宝部屋の組合せを列挙してどちらが縦横どちらが先にみつけるかを探る手続きで必要な計算式をプログラムが絞りだしてくれるという理解でいいのでしょうか?
0166132人目の素数さん
垢版 |
2018/10/27(土) 16:24:46.83ID:2oyqegeD
>>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である関数とする。
0167132人目の素数さん
垢版 |
2018/10/27(土) 17:00:25.68ID:jxMEHoZP
>>159
例えば→√2を考えたい時、qの近づけ方は問題ないんでしょうが、pの近付き方を、p_n→√2になるような有理数列p_n上で考えることは出来ないんでしょうか。
→0なんかも、実際に関数に0を入れるわけではなくギリギリまで近付けるように、p自身が√2を取れないのは、定義できないほどの大問題でしょうか。
0168132人目の素数さん
垢版 |
2018/10/27(土) 17:42:26.17ID:OAQWCVH9
>>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)}
0169132人目の素数さん
垢版 |
2018/10/27(土) 17:47:25.88ID:OAQWCVH9
>>168
Ωの部分集合を事象と言う
Ω自身は全事象と言う

最初に探す方向を i
行または列が変わる時を j として
P君とQ君のうちどちらが先に宝を見つけるのかという
事象Aと事象Bを考える.

A={(i,j)| i または j が宝}
B={(i,j)| i または j が宝}
0171132人目の素数さん
垢版 |
2018/10/27(土) 18:04:31.01ID:0lSGEQBN
>>168
すでに正解とPCでのカウントの照合が終わっているのに

読んだ人の時間を無駄遣いさせるような明らかな誤答は慎めよ。
0176132人目の素数さん
垢版 |
2018/10/27(土) 19:44:20.53ID:0/HwMd6z
>>167
もちろんそういう近づけかたを考えてもいいけど、その近づけかたを離散位相といってはいけない。
流石にこの程度の基本的な単語は正確に意味を確認するようにしないといかん。
0178132人目の素数さん
垢版 |
2018/10/27(土) 20:46:19.01ID:2oyqegeD
>>173
すみません。発言がよくわかりません。
「数式として算出」とは? >>166は数式ではない?
ここでいう数式とは多項式などのΣのない形のものでしょうか?
「部屋数が増えたり」も、もともと部屋をn×(n+1)などとしていて大きさを変えられますよ?

宝の数が2以外でも(3なら3と)固定されていて部屋の形がn×(n+1)または(n+1)×nなら>>161を少し変えれば
Σのないnについての多項式が得られる、とは言えます。

念のため書いておくと
>>166は部屋の縦横、宝の数が任意だが、Σがある。
部屋の形がn×(n+1)または(n+1)×nとして適当に場合分けすることにより数式処理ソフトで
Σの計算できるようにした、そのコードが>>161
0179132人目の素数さん
垢版 |
2018/10/27(土) 21:43:17.58ID:dqzIYyC2
宝箱問題。申し訳ないのですが、プログラミングに詳しくないものでさっぱりです…
高校生にもわかるようにどなたか解説していただけませんか?(入試数学の解答のような形式であればありがたいです)
0180132人目の素数さん
垢版 |
2018/10/27(土) 22:12:53.07ID:xN+LO4jv
()>>173
可能だけど立式するのは結構な手間
Σを用いた式として立式して sagemath というソフトで簡略化して n の多項式にしたのが>>161
どう考えても面倒なので161さん以外の誰もやっていなかった

宝箱の数をkとして立式することは可能だろうけれども、
更なる面倒さに付き合ってくれる人がいなければここには書かれない
こんなとこでどうでしょうか。
0181132人目の素数さん
垢版 |
2018/10/27(土) 22:49:27.99ID:xN+LO4jv
sagemath はスマートフォンなどでも使うことができて、
僕も今初めて使うので適当ですが例えば>>161の最初の
P1の式(Σを含むもの)の簡略化などはiPhoneアプリでも以下のようにして行えました
アプリ起動して「+」ボタンで新しい式を入力するモードにして

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
0182132人目の素数さん
垢版 |
2018/10/27(土) 23:11:22.16ID:eXgFaU/v
弥勒(僧)とシュリニヴァーサ・ラマヌジャンはどっちの方が賢いですか?
0183132人目の素数さん
垢版 |
2018/10/27(土) 23:15:15.57ID:NcmCS8ch
c のプログラムが無かったようなので 宝二つ、m×(m+1)型(m=1〜69)を作ったので参考にあげておきます。

http://codepad.org/pbmWeZZ5

少し説明を加えておくと、マスに1から順に番号をあたえます。
配列P[c]には、c番目 のマスをPは何番目に調査するか
配列Q[c]には、c番目 のマスをQは何番目に調査するか を入れておきます。

i番目とj番目のマスに宝があるとき、P[i]とP[j]を比べて小さい方の値で、Pは宝を発見し、
Q[i]とQ[j]を比べて小さい方の値で、Qは宝を発見します。
この値を比べ、PとQどちらが早く発見したかを判定すると言うだけのものです。

縦、横のマスの数の変更や、宝の数の変更も難しくないと思うので、興味がある方はどうぞ。
(本当は、配列は一つで十分なんだけど、可読性や対称性を考えて書いておきました)
0184132人目の素数さん
垢版 |
2018/10/28(日) 05:58:31.87ID:Alga/Fek
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)を求めよ。
0186132人目の素数さん
垢版 |
2018/10/28(日) 06:50:48.68ID:Alga/Fek
サイコロを振り、出た目に応じて点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の値に応じて場合分けして答えよ。
0187132人目の素数さん
垢版 |
2018/10/28(日) 07:43:46.81ID:GWXw/AMj
>>178
レスありがとうございました。
多項式で与えられたので他のソフトでも>163のように
簡単にグラフ化できました。
そういう意味で数式と書いたつもりでした。
0188132人目の素数さん
垢版 |
2018/10/28(日) 11:54:19.95ID:F02xc/t9
>>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++)

という具合に増やす必要がありますよね?
0189132人目の素数さん
垢版 |
2018/10/28(日) 14:34:09.32ID:uih2KRuT
そんな感じですね。細かいところですが、少し修正を施すと、
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 を満たす
マスがいくつあるかをあらかじめカウントし、テーブル化すれば、あとは、
二項係数の積の和だけの、プログラムとなると思います。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況