Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
待ち行列のシミュレーション/queue_simulation
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
florets1
July 13, 2023
Programming
0
330
待ち行列のシミュレーション/queue_simulation
florets1
July 13, 2023
Tweet
Share
More Decks by florets1
See All by florets1
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
450
Tableauとggplot2の背景/Background_of_Tableau_and_ggplot2
florets1
0
51
Rで学ぶデータハンドリング入門/Introduction_to_Data_Handling_with_R
florets1
0
130
人工知能はクロスジョインでできている/AI_Is_Built_on_Cross_Joins
florets1
0
83
仮説の取扱説明書/User_Guide_to_a_Hypothesis
florets1
4
430
複式簿記から純資産を排除する/eliminate_net_assets_from_double-entry_bookkeeping
florets1
1
450
カイ二乗検定は何をやっているのか/What_Does_the_Chi-Square_Test_Do
florets1
7
2.5k
直積は便利/direct_product_is_useful
florets1
3
450
butterfly_effect/butterfly_effect_in-house
florets1
1
270
Other Decks in Programming
See All in Programming
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
170
AgentCoreとHuman in the Loop
har1101
5
230
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
190
CSC307 Lecture 07
javiergs
PRO
0
550
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.3k
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
270
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
110
CSC307 Lecture 05
javiergs
PRO
0
500
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
110
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
560
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
610
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
The Mindset for Success: Future Career Progression
greggifford
PRO
0
230
エンジニアに許された特別な時間の終わり
watany
106
230k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
64
The Language of Interfaces
destraynor
162
26k
The SEO Collaboration Effect
kristinabergwall1
0
350
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
Statistics for Hackers
jakevdp
799
230k
How to Ace a Technical Interview
jacobian
281
24k
Paper Plane
katiecoart
PRO
0
46k
Practical Orchestrator
shlominoach
191
11k
Transcript
1 2023.07.15 Tokyo.R #107 待ち行列のシミュレーション
2 待ち行列 平均到着スピード 15台/時 到着時刻 開始時刻 待ち時間 完了時刻 到着間隔 平均洗車スピード
20台/時 サービス時間
3 平均待ち時間(解析解) 平均到着スピード = 𝜆 = 15/60[台/分] 平均洗車スピード = 𝜇
= 20/60[台/分] 平均利用率 𝜌 = 𝜆 𝜇 = 0.75 平均待ち時間 = 𝜌 1 − 𝜌 1 𝜇 = 9分
4 実は解析解から得られる情報は少ない ← 9分 何番目の車か 平均待ち時間(分)
5 シミュレーション(車100台分) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 単位:分
6 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
7 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 rexp(n, rate) 指数分布に従う乱数n個 平均 1/rate
8 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着時刻 = 1つ前の車の到着時刻 + 到着間隔
9 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 開始時刻 = max(1つ前の車の完了時刻, 到着時刻)
10 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 rexp(n, rate) 指数分布に従う乱数n個 平均 1/rate
11 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 完了時刻 = 開始時刻 + サービス時間
12 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 待ち時間 = 開始時刻 – 到着時刻
13 シミュレーション(最初の1台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 アイドル時間 = 開始時刻 – 1つ前の車の完了時刻
14 シミュレーション(2台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
15 シミュレーション(2台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
16 シミュレーション(2台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
17 シミュレーション(2台目) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着時刻 = 1つ前の車の到着時刻 + 到着間隔 開始時刻 = max(1つ前の車の完了時刻, 到着時刻) アイドル時間 = 開始時刻 – 1つ前の車の完了時刻
18 シミュレーション(append) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間 到着間隔
到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
19 シミュレーション(append99回) 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
20 待ち時間に興味がある 到着間隔 到着時刻 開始時刻 サービス時間 完了時刻 待ち時間 アイドル時間
21 100台それぞれの待ち時間 何番目の車か 待ち時間(分)
22 乱数なので実行する度に変化する
23 1000回やってみた ← 9分 何番目の車か 平均待ち時間(分) 考察 先頭集団は待ち時間が少ない。後になるほど解析解の 9分に近づいていく。
24 平均待ち時間の分布 車100台の平均待ち時間 車100台の平均待ち時間を求めるシミュレーションを1000回行ったヒストグラム ← 9分 考察 多くの場合、待ち時間は9分より短いが、20分を超え ることもあるようだ。50分待ちという極端な値もある。
25 平均アイドル率(解析解) 平均利用率 𝜌 = 𝜆 𝜇 = 0.75 平均アイドル率
= 1 − 𝜌 = 0.25
26 平均アイドル率の分布 車100台の平均アイドル率 車100台の平均アイドル率を求めるシミュレーションを1000回行ったヒストグラム 0.25→ 考察 解析解の0.25より大きい傾向だ。
27 まとめ • 解析解はシステムが長時間稼働した後の安定した状態。 • シミュレーションでは、待ち行列が発生するまでの 「ウォームアップ期間」を再現できる。 • シミュレーションでは分布も得られる。