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
florets1
July 13, 2023
Programming
0
320
待ち行列のシミュレーション/queue_simulation
florets1
July 13, 2023
Tweet
Share
More Decks by florets1
See All by florets1
人工知能はクロスジョインでできている/AI_Is_Built_on_Cross_Joins
florets1
0
36
仮説の取扱説明書/User_Guide_to_a_Hypothesis
florets1
4
340
複式簿記から純資産を排除する/eliminate_net_assets_from_double-entry_bookkeeping
florets1
1
400
カイ二乗検定は何をやっているのか/What_Does_the_Chi-Square_Test_Do
florets1
7
2.3k
直積は便利/direct_product_is_useful
florets1
3
400
butterfly_effect/butterfly_effect_in-house
florets1
1
230
データハンドリング/data_handling
florets1
2
230
カイ二乗検定との遭遇/The_path_to_encountering_the_chi-square_test
florets1
1
290
率の平均を求めてはいけない/Do_Not_Average_Rates
florets1
11
15k
Other Decks in Programming
See All in Programming
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
620
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
720
AIのメモリー
watany
13
1.3k
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)The Basics of Agent Development with ADK — A Demo-Focused Introduction
risatube
PRO
6
1.4k
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1.1k
Jakarta EE Meets AI
ivargrimstad
0
620
QA x AIエコシステム段階構築作戦
osu
0
250
あまり知られていない MCP 仕様たち / MCP specifications that aren’t widely known
ktr_0731
0
240
MCPで実現できる、Webサービス利用体験について
syumai
7
2.4k
バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス
uzulla
1
330
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
290
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
390
Featured
See All Featured
Designing for Performance
lara
610
69k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Designing for humans not robots
tammielis
253
25k
Six Lessons from altMBA
skipperchong
28
3.9k
Become a Pro
speakerdeck
PRO
29
5.5k
The Cost Of JavaScript in 2023
addyosmani
51
8.8k
A Tale of Four Properties
chriscoyier
160
23k
Building Adaptive Systems
keathley
43
2.7k
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 まとめ • 解析解はシステムが長時間稼働した後の安定した状態。 • シミュレーションでは、待ち行列が発生するまでの 「ウォームアップ期間」を再現できる。 • シミュレーションでは分布も得られる。