01 / 問題
p 變大,平均時間 M 會變大還是變小?
答案是「看 A 與 B 誰比較大」。A 比 B 快時,M 會減少;A 比 B 慢時,M 會增加;兩者相等時,M 不變。
接下來依序看:變數定義 → 公式改寫 → 可調整的模型 → 三種情況對照 → 這個模型不能說明什麼。
來源:model.md「兩條處理路徑的平均耗時」。來源自述:「這是加權平均的示意,不是任何產品的量測數據。」本投影片的所有數字都是由公式算出的示意值。
02 / 來源定義
模型只有三個輸入和一條公式。
- p
- 採用路徑 A 的比例,介於 0 與 1。其餘比例
1 − p走路徑 B。 - A、B
- 兩條路徑各自的處理時間,各可調整為 0 到 100 毫秒。
- M
- 平均時間,
M = p * A + (1 - p) * B。
起始條件(來源指定)
p = 0.5、A = 20 ms、B = 80 ms,所以 M = 0.5 × 20 + 0.5 × 80 = 50 ms。
以上定義、範圍與起始條件逐條取自 model.md;M 的計算結果是依公式算出的值。
03 / 機制
把公式改寫,方向就寫在 A − B 裡。
M = p·A + (1 − p)·B = B + p·(A − B)p 每增加 0.1,就有 10% 的工作從路徑 B 改走路徑 A,M 改變 0.1 × (A − B) 毫秒。
- A < B:A − B 為負,p 增加時 M 減少。
- A > B:A − B 為正,p 增加時 M 增加。
- A = B:A − B 為零,p 怎麼調 M 都等於 A。
改寫與斜率是本投影片依來源公式所做的代數推導,來源本身沒有寫出這一步。M 對 p 是一條直線:p = 0 時 M = B,p = 1 時 M = A。
04 / 動手調整(示意模型)
拖動 p、A、B,看直線怎麼傾斜。
0 = 全部走 B,1 = 全部走 A
M = 50.0 ms
0.50 × 20 + 0.50 × 80 = 50.0
A < B,p 增加時 M 減少。p 每增加 0.1,M 減少 6.0 ms。
model.md 的公式即時計算,不是量測結果。此頁的滑桿需要 JavaScript;目前顯示起始條件 p = 0.5、A = 20、B = 80 的結果。
05 / 三種情況對照
同樣把 p 從 0.5 調到 0.6,結果可能相反。
| 情況 | A、B(ms) | p = 0.5 時 M | p = 0.6 時 M | p 增加時 M |
|---|---|---|---|---|
| A 比 B 快(起始條件) | 20、80 | 50 | 44 | 減少,每 +0.1 少 6 ms |
| A 比 B 慢 | 80、20 | 50 | 56 | 增加,每 +0.1 多 6 ms |
| A 與 B 相等 | 50、50 | 50 | 50 | 不變 |
決定方向的是 A − B 的正負,不是 p 本身。
第一列是來源的起始條件;第二、三列是為了對照而自訂的示意值,都在來源允許的 0–100 ms 範圍內。所有 M 值依公式計算。
06 / 範圍與限制
這個模型能說明什麼,不能說明什麼。
- 能說明:在公式成立時,p 增加會讓 M 往 A 靠近;M 一定落在 A 與 B 之間(含端點)。
- 不能說明:任何真實系統的耗時。來源明說這「不是任何產品的量測數據」。
- 模型假設:A、B 是固定值,不隨 p 改變。若真實系統中分流比例會影響各路徑的處理時間(例如某條路徑變擁擠),這條直線就不適用;來源沒有討論這種情況,這一點是本投影片的推論。
來源:model.md 的變數定義、範圍與聲明。推論部分已在句中標明。
07 / 帶回去想
先預測,再到第 4 頁驗證。
- 01 · 預測A = 30、B = 30 時,p 從 0 拉到 1,M 的直線長什麼樣?
- 02 · 預測A = 90、B = 10、p = 0.25 時,M 是多少?p 再增加會怎樣?
- 03 · 判斷想讓 M 變小,應該把更多比例分給哪條路徑?答案取決於什麼?