分からない問題はここに書いてね448
■ このスレッドは過去ログ倉庫に格納されています
数学とはなんでしょうか? 何が数学の本質なんでしょうか? 論理的な体系の構築? 定理の創出? >>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君が勝つ。 よって、残りのc-1個の宝が置かれてもいい部屋の数は#{j| j>i, σ(j)>i}だけあり、 全部そこに置かれる場合はbinomial(#{j| j>i, σ(j)>i}, c-1)通り。 したがって、上記のようになる。 続く >>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) 続く >>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) 続く >>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、 A[(m+1)/2]≦l≦m-1, m-1-l≦k≦l-1 または Bl=m, 0≦k≦m-2 のとき r≦k。 m=6のとき ×@@@@AB ××@@AAB ×××AAAB ××××AAB ×××××AB ××××××× m=7のとき ×@@@@@AB ××@@@AAB ×××@AAAB ××××AAAB ×××××AAB ××××××AB ×××××××× 後はΣの計算。>>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}) 続く >>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、 A1≦k≦[(m-3)/2], k≦l≦2k または B[(m-1)/2]≦k≦m-2, k≦l≦m-2 のとき r≦k。 m=7のとき ×@@@@@ ×AA@@@ ××AAA@ ×××BBB ××××BB ×××××B ×××××× m=8のとき ×@@@@@@ ×AA@@@@ ××AAA@@ ×××BBBB ××××BBB ×××××BB ××××××B ××××××× 後はΣの計算。>>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 の導出でした。 >>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を含めた式が作れないのですか? >>199 「kを含めた式」って何? あと>>178 見て 宝の数が任意のものならΣが取れないでしょう。 私は何人かの方のコンピュータによる解法はすごいと思いました 正直、Pythonはわからないし、sagemathは数学そのものなのでまだ理解できていないので 読めたのはCだけですが… 久しぶりにまともなスレになった気がします >>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 三角形ABCにおいて、 AからBCへ下した垂線をAD, BCの中点をMとする。 BD > CDとすると BD^2 - CD^2 = 2BC・MD を示せ。 BD-CD=2MD ⇔ BD-MD=CD+MD こんな感じか >>206 BD^2 - CD^2 = (BD+CD) (BD-CD) = BC ( (BM+MD) - (CM - MD) ) = 2BC・MD (∵ BM=CM ) 特に垂線である意味がないし「垂線の定理」って何かの間違いでは? >>213 AB^2 - AC^2 = (BD^2 + h^2) - (CD^2 + h^2) = BD^2 - CD^2 = ... = 2 BC・MD なるほど 自然数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)の組が存在するなら、全て決定せよ。 >>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)] Prelude> [(b,c)|b <-[1..1000],c<-[1..1000],(c^3-b^2)*(c^3-b^2-1)==(b+c)*(b+1)] [(2,2)] 変な質問ですいません 最初にピタゴラスの定理を証明した人って、どういう発想で定理が正しいと考えたのでしょうか?直感でしょうか、経験的によく知られていたのでしょうか? ピタゴラスとエウクレイデスはどっちの方が賢いですか? >>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 >>219 証明はどうだかわからないがピタゴラスが多いついたのはタイルを見て予想したと言われているらしい 直角二等辺三角形を敷き詰めると直角二等辺三角形の場合にはピタゴラスの定理が成り立つことがすぐにわかる ピタゴラスはそこから直角三角形なら常に成り立つのではないかと考えたということのようだ リーマン予想を証明したいのですが、まずは何から勉強をした方が良いのでしょうか? 証明した人に聞いてください 例えばAtiyahとかdeBrangeさんなど リーマン予想が証明されたとしたら、残りの他の全ての数学の未解決問題を自分一人で解決したい。 そのためにはやはり、数学の全分野だけでなく、物理学とか哲学とか計算機科学の全分野も究めないと無理なレベルでしょうか? とりあえず、二項定理くらいはわかるようになりましょうよ、ヒマラヤさん 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 の整数解を求める >>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 _ = [ [] ] 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 無限ホテルのパラドックス読んでてわからないことがあって、新しい宿泊客のために既存の客が部屋を一つづつずらすってあるけど、あれは何でそうなるの? ネットで調べたけどそれらしい答えが無くて困ってる 無限ホテルが集合論のお話で、ホテルは可算無限集合、無限に居る宿泊客全員も可算無限集合で、どっちも無限としての大きさが合うから部屋は過不足なく用意されるって話だってところまではネットで読んだ で、Wikipediaには順序数? の計算ルールが書いてあって、1+ωとω+1は違うってあったからこれが部屋移動の理由かと最初は思った でも無限ホテルって無限人の来客があってもokってあるから、これってω+ωでどこに客をぶちこんでも意味変わらないなと だからこの予想は違うと今は思ってる この疑問のしっくり来る(理解できる)解説が見つからなくてずっとモヤモヤしてるので、誰か教えてくれるとありがたいです -- バグ修正(行と列を間違えていた(._.) 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 >>231 先頭を開けて1人追加するのは 1+ω = ω 倍の部屋番号へ移して ω 人追加するのは 2ω = ω リーマン予想とP≠NP予想はどっちの方が証明するのが難しいですか? ABC EFG n=2の6マスでP君Q君のそれぞれのファーストの 組の総数をお願いします<(_ _)> P勝ち:EG FG EF BF Q勝ち:BG CG BC CE CF 引き分け:AB AC AD AE AF AG BE p win : CE, EF, EG, FG q win : BC, BF, BG, CF, CG even : AB, AC, AE, AF, AG, BE かと思った ABC DEF P勝ち CD DE DF EF Q勝ち BC BE BF CE CF 引分け AB AC AD AE AF BD 質問では DEF が EFG になってるのから俺はちゃんとその通りにやってるのにお前らときたら自由だな… >>236 に至ってはよく見るとABCDEFGの7種使ってるし >>233 ありがとうございます 連続の質問になって申し訳ないんで付けど、2ωとω+ωってこれは違うものなんですか? 自由ついでに分かりやすいように数字に置き換えてみた 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・ 別スレでこんなの見つけたんですが、これどこで証明されてるかご存知の方います? https://rio2016.5ch.net/test/read.cgi/math/1537516085/256 >オイラー定数をγと置く。nの約数の総和をσ(n)と置く。RHは > >σ(n)<(e^γ)*n*log(log n) (∀n>5040) > >と同値であることが知られている。 自己レス とりあえず元論文はコレらしい [24] G. Robin, Grandes valeurs de la fonction somme de diviseurs et hypoth`ese de Riemann, J. Math. Pures Appl. 63 (1984), 187–213. 英語で読めるのないかなぁ? 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にコンパイルしてコマンドラインから実行できるように改変(但し、エラー処理皆無) https://rio2016.5ch.net/test/read.cgi/math/1490734993/209 >>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のスクリプトをここに置いたから数値を変更して実行可能 http://tpcg.io/X3bC0A >>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 なので差があると直観するかどうかは個々人の感性だな。 Haskel だの R だの。そういうのは他でやれよ...。 >>247 使える人間にとっては電卓みたいなもんだよ。 log2の計算にいちいちマクローリン展開して手書き計算しないだろ。 ここまでjuliaが出てこなかった juliaが流行しているのは自分の周りだけなのかな (NGに巻き込まれて見えてないだけだったらゴメン) >>249 どれかを移植して実力を示していただけたらうれしい。 5✕6マスで宝が15個の時の計算とかまだ誰も出してない。 >>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 = にならない? >>241 2個を先にみつけるじゃなくて これは1個めの発見はQの方が確率が高くて、2個めに発見はPの方が確率が高いというだけの話だったみたいね。 >>250 juliaが周りで流行ってるだけで自分自身はCの人(Cソース書いてくれた人とは別人) 5x6ますで宝15個とか、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のコードはここに置いたので数値を変えて実行可能。 http://tpcg.io/Ph7TUQ n元集合からk個の元を取り出す順番を考慮して可能な場合を数え上げるとn*(n-1)*....*(n-k+1)通りあるというのはより原始的なものから導かれるものですか? >>248 「プログラムで、ごり押し計算」 「マクローリン展開して手書き計算」 俺は後者の方が美しく感じるけどな。 実は前者で計算したのに後者を装ってほしいくらい。 (※ 私見です) >>254 単なる確認なんだけれども、 「i番目をどちらが見つけるか」というのは 先にi個見つけた方を勝ちとするのではなくて 例えばi=2だと Pが1つ発見、Qが1つ発見⇒2番目を見つけたQの勝ち、ということですか? >>257 >254の計算は各人にとってi番めの計算。 例えばi=2だと Pが1つ発見、Qが1つ発見だと勝敗は未決で どちらが発見者にとって2個めを発見したらそれが勝者として数えた。 んで、 ここまで答が出せた 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のコードはここに置いたので数値を変えて実行可能。 http://tpcg.io/Ph7TUQ >>260 全体を眺めると直感的通り互角。 局所でみると濃淡があるということと理解した。 ゲルト・ファルティングスとアラン・コンヌの知能指数はどれくらいですか? 「真理」というのは存在するのでしょうか? 「真理」の探究は意味があるのでしょうか? マイケル・アティヤとエドワード・ウィッテンはどっちの方が賢いですか? >>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 >>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, となる >>260 何マスだろうが、宝が何個であろうが 出発点と終点が同じであれば PQの宝を得られる個数の期待値は同じということだな >>267 期待値は宝の数なわけで、元の問題は1個めをみつけるステップの数を比較しているんだと思う。 >>267 宝を先にみつけたら独り占め、同時にみつけたら折半 というルールなら手に入れる宝の数の期待値は同じになるだろうね。 >>268 BI, CIは引き分けで除外なのでは >>265 メモリを食わないコードを書いてみた 今思ったけど再帰で書いた方が読みやすかったか https://ideone.com/HaAqJO >>270 n x n+1 の部屋を縦横に調べる2人の場合は先着する部屋数が等しくなるからそうなるね p君 ABCDEFGHIJKL q君 BCDEFGHIJKLA とかなら殆どq君が独り占め >>238 ABC DEF P勝ち CD DE Q勝ち BC BE CE 勝敗だけ知りたければデータ圧縮が可能 P君Q君問題から得られる知見 早い者勝ちなら先回りすることが勝つ秘訣 >>274 >244に数値を挙げたけど宝の数が増えると逆転しちゃう。 個人的にはどこが逆転する境なのか算出方法が知りたいところ。 >>233 質問してばっかりだったので反省して自分で調べてみたんですけど ω+ω=ω×ω=ω2だってことでした でも、これは「無限ホテルのω号室の次の部屋からω人の客を泊めた」って事ですよね? だから無限ホテルの話にあるように1号室→2号室、2号室→4号室、3号室→6号室とずらして、間に入れ込めば2ω=ωになって万事解決って事で合ってますか? >>276 ω×ωはちがうかった…… これじゃω^2になっちゃう q1..q2..q3..q4 q5..q6..q7..q8 q9q10q11q12 p1..p4..p7..p10 p2..p5..p8..p11 p3..p6..p9..p12 同じ座標なら数字の小さいほうが勝ち [q2とq10] & [p4とp6]に宝が配置された時は 互いに数字の小さいほうを選んで勝負 q2 vs p4 で q2の勝ちとなる この後にq10とp6の探査をしても 情報としての価値はゼロ >>276 >だから無限ホテルの話にあるように1号室→2号室、2号室→4号室、3号室→6号室とずらして、間に入れ込めば2ω=ωになって万事解決って事で合ってますか? そうそう まだ続いているようなので、>>189 の後半で示したようなアイデアで、宝の数可変版の プログラムを書いてみました。 多倍長を使える処理系を用いればいいのかもしれませんが、実数型で誤魔化しました。 故に大きな数字のところでは誤差があります。 http://codepad.org/VN03aiqT >>281 同じ方針のものがPythonで>>194-198 にある てか>>194-199 に書いてある事がちゃんと読めれば宝の数が何個になっても場合わけ+多項式で記述できるのはすぐわかる。 読めよ。数学板なんだから。 >>281 いつもありがとうございます。 いやぁ、この出力は圧巻ですね。 Haskell先生もびっくり。 >>280 ありがとうございます おかげさまですごくしっくりきました >>282 >>283 失礼しました。 数列を無理矢理分数式化する人や、価値の無い長い文章を投下する人がいるので、 読み飛ばしていました。 宝箱が二つの場合は、多項式での表現が完成していたんですね。 あのようなσやδを含む式を整理する数式処理ツールがあったとは驚きです。 二個で可能だったのだから、もっと多くの場合でも、可能なんでしょうね。 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とかでも 数秒で出力してくれるよ >>204 の式ならkにどんな整数をいれても正解にならん。n=3でやってみろよ。 でn=3の場合66通り全部書きだして比較してみろよ。 実際書き出してみた正解とひとつも合わない式になんの意味がある? >>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,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何入れても正解なんぞ出てこんやろ? >>290 kに500〜80000だとどうですか? k=554299747212,n=3212301098855 でも出力できたよ ためしてごろうじろう >>291 k>15だとすべて4/3より大きい値しかでないからアウト。何入れてもだめ。 >>292 n = 3〜100までいれて全滅の式にそんな値いれても糞の意味もない。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる