>  >  > 送料込み Emporio Armani Cotton Crew Neck T-Shirts 2 Pack
スマートフォン用の表示で見る
☆Burton☆Apollo Pack/リュック
スターをつけました

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる

送料込み Emporio Armani Cotton Crew Neck T-Shirts 2 Pack クラッチバッグ 2016秋冬新作 Command

送料込み Emporio Armani Cotton Crew Neck T-Shirts 2 Pack クラッチバッグ 2016秋冬新作 Command直輸入

Stampd' LA☆STAMPD X RHODIA WEBNOTEBOOK

毎日が天皇誕生日になるには何回天皇が交代する必要があるか(シミュレーション版)

今日は天皇誕生日ですが、以前「あと何回天皇が交代すれば毎日が天皇誕生日になるか(不謹慎)」の期待値を求める記事を書きました
毎日が天皇誕生日になるには何回天皇が交代する必要があるか - 唯物是真 @Scaled_Wurm
毎日が天皇誕生日になるには何回天皇が交代する必要があるか - 唯物是真 @Scaled_Wurm
祝日と祝日の間に挟まれた日が、国民の休日で休みになるのを考慮していないという指摘を受けたので、今回はその場合の平均回数を求めます

さらに、挟まれた日が国民の休日になるというのを考えると、もっとずっと複雑になるな。(考える気はない)http://t.co/AuibRNF969

— Hiroshi Manabe (@takeda25) 2014, 4月 30

厳密解をどうやって求めればよいか悩んでいたら「厳密解は諦めてシミュレーションでそれっぽい値を求めればよいのでは?」というアイディアをいただきました。ありがとうございます

@Scaled_Wurm ああ、ここでシミュレータと言ったのは

送料・関税込【The North Face】Base Campダッフルバックパック GIVENCHY 17SS ロゴプリントバックパック 【LOUIS VUITTON】STEAMER ライノサラス バックパック 国内発送

【直営店新品】送料込み Emporio Armani Cotton Crew Neck T-Shirts 2 Pack クラッチバッグ 2016秋冬新作 Command

☆サンローランマルチコンパートメントバックパック☆ 【人気急上昇】 ★ASOSセレクト★Eastpak Fluster バックパック Black の特集セール中 Herschel Supply ハーシェルサプライ ポップクイズ バックパック 【史上最も激安】 ★ASOSセレクト★Rains メッセンジャー バックパック Grey


2017-10-19
、ある日をランダムで祝日にする→国民の休日になってたらそれを反映する→ある日をランダムで祝日にする、

YAKPAK リュック YP1014 BURGUNDY fhjyp1014burgundy,激安商品【送料税込・国内発送】URBAN LUMBERJACKバックパック2色,関税、送料込! DOLCE & GABBANA ヒップバッグ☆2016新作
★ASOSセレクト★Herschel Supply Co 23L Settlement,【セール開催】携帯に便利 ★ ARMANI JEANS ★ ナイロン バックパック シルバー,VIP SALE!国内発送☆ PRADA ブラウンレザーショルダーバッグ
Levi's Mens 527 Slim Bootcut 501 Original,【再!再入荷!!】【大人気】adidas Originals TRF Series Joggers In Gr 送関込み,POLO RALPH LAUREN パンツSLIM-FIT SLUB LINEN TWILL PANT
【国内発】HYDROGEN フルジップスウェットパーカー スカル刺繍,大勧めSaint Laurent サンローラン surf ボンバー ジャケット MA-1,EMS発送/メンズレザージャケット高級ライダージャケット本革
▲半額SALE▲ 早いもの勝ち RICK OWENS メンズ レザージャケット,【良好品】ASOS Knitted Bomber ジャケット with Elasticated Waist,★ASOS★ ニット コットン ボンバー Muscle フィット
Philippe Model Paris TRLU WX10イタリア製 正規品 EMS対応 17SS,新版RT x NIKE DUNK LUX CHUKKA RICCARDO TISCI 910088-001,NEW!大人気★ NIKE AIR Force 1 Low 選べるカラー☆ 送料込!
★NIKE 正規品★EMS無料発送★725222-010★,熱い販売送料関税込!2017SS新作 ADIDAS X RICK OWENS レザースニーカー,人気絶好調!!Basket Classic Citi スニーカー☆
新作☆ ルブタン★ LOUIS SPIKES BLUES ★レザー スニーカー,人気商品29cm!! BUSCEMI(ブシェミ)100MM BOX TRUE RED PATENT,【送料無料】Vans 'Authentic - Varsity Suede' Sneaker
関税・送料込み☆【FENDI】 BugTシャツ,素晴らしい品質Raglan 3/4 T-Shirt AY8885,Long Sleeve Top In Regular Fit
【リックオウエンス】ブラックTシャツ 関税・送料込み,よい販売があるBOY LONDON正規品15S/S大人気 トップス,★【OWSLA】日本未入荷!! OWSLA公式オフィシャル SKRILL Tシャツ

、を全部祝日で埋まるまでシュミレーションするだけです。何回かかったかは平均値とれば大体わかるかと

— りすお@社二病 (@risuosan) 2014, 12月 23

売上実績No.1送料込み Emporio Armani Cotton Crew Neck T-Shirts 2 Pack クラッチバッグ 2016秋冬新作 Command

毎回1年365日のいずれかの日が乱数で選ばれて天皇誕生日になるときの、すべてが天皇誕生日になって終了するまでの回数の平均値を求めます

下記のコードを実行したら10000回の平均はおよそ2366回になりました(実行するたびに変わります)
これは前回の記事で求めた理論値の2364回にかなり近い値です
このことからシミュレーションでも近い値がでると考えられるので、国民の休日を考慮したシミュレーションを試してみます

import random
result = []
for z in xrange(10000):
 N = 365
 count = 0
 days = [0] * N
 t = 0
 while count < N:
 i = random.randint(0, N - 1)
 if days[i] == 0:
 days[i] = 1
 count += 1
 t += 1
 result.append(t)
print 'mean:', float(sum(result)) / len(result)

国民の休日を考慮したシミュレーション

下記のコードを実行したら100000回の平均はおよそ1174回になりました(実行するたびに変わります)
これは国民の休日を考慮しない場合のモデルの半分弱の回数になります
このことから一つの年号が3,40年続くとすると、3,4万年経てば毎日が休日になることがわかります

import random
result = []
for z in xrange(100000):
 N = 365
 count = 0
 days = [0] * N
 t = 0
 while count < N:
 i = random.randint(0, N - 1)
 if days[i] == 0:
 days[i] = 1
 count += 1
 if days[i - 2] == 1 and days[i - 1] == 0:
 days[i - 1] = 1
 count += 1
 if days[(i + 2) % N] == 1 and days[(i + 1) % N] == 0:
 days[(i + 1) % N] = 1
 count += 1
 t += 1
 result.append(t)
print 'mean:', float(sum(result)) / len(result)

図が欲しいと言われたので図を追記

3万年かぁ…遠いなぁ。横軸が時間、縦軸が休日の数(幅付き)のグラフがほしいところ。

— berobero (@berobero11) 2014, 12月 23

1200回交代するまでの途中時点の休日数を数えるのを、10000回繰り返して試した時の平均(中心の青線)と四分位数(全体でソートした時に25%と75%の位置に当たる数)の間の領域(黄色の部分)をプロット

プロットに使ったソースコード

import random
import collections
import numpy as np
import matplotlib.pyplot as plt
result = [[] for t in xrange(1200)]
for z in xrange(1000):
 N = 365
 count = 0
 days = [0] * N
 for t in xrange(1200):
 i = random.randint(0, N - 1)
 if days[i] == 0:
 days[i] = 1
 count += 1
 if days[i - 2] == 1 and days[i - 1] == 0:
 days[i - 1] = 1
 count += 1
 if days[(i + 2) % N] == 1 and days[(i + 1) % N] == 0:
 days[(i + 1) % N] = 1
 count += 1
 result[t].append(count)
data = np.array(result)
mean = data.mean(axis=1)
quantile1 = np.percentile(data, 25, axis=1)
quantile3 = np.percentile(data, 75, axis=1)
plt.xlabel('#change')
plt.ylabel('#holiday')
plt.plot(xrange(1, 1201), mean, lw=2)
plt.fill_between(xrange(1, 1201), quantile1, quantile3, facecolor='yellow', alpha=0.5)
plt.grid()
plt.show()

参考

    ★Y-3★ロゴTシャツ クルーネック リブ襟 2色有り★
    Ripndip☆FALLING FOR NERMAL TEE 猫 Tシャツ
    【即発◆3-5日着】RIPNDIP◆Nermal Marc Tee Natural Tシャツ
    日本未入荷 LONG CLOTHING OWSLA  ユニセックス Tシャツ
    新作★PHILIPP PLEIN★(フィリッププレイン)t-shirt "roi"
    クリスチャンポール ロウ メッシュ ユニセックス 腕時計 RWM-01
  • Our Favorite Recipes — Matplotlib 1.4.2 documentation

グラフ描く参考にした

{yahoojp} {sucrose.hatenablog.com} zt01-myp09-gui-930