達文西橋承重預測 — 建模過程

從實驗數據、47 種公式搜索到 Model F 14+5 正式模型

← 回到模擬器

目錄

  1. 研究動機與目標
  2. 實驗設計
  3. 材料強度 M 的推導
  4. 從 Model E 到 Model F
  5. 14+3 驗證版 vs 14+5 正式版
  6. 模型驗證
  7. 各棍長最佳配置
  8. 搭建限制條件
🎯
SECTION 1

研究動機與目標

達文西橋是一種不需要釘子、膠水或繩子,純粹靠木棍互相交疊、摩擦力與重力就能撐住的橋梁結構。但同樣的搭法,換不同長度的棍子、改變接點位置,承重能力就天差地別。

核心問題:能不能在搭橋之前,就用一個數學公式預測這座橋最多能撐住多少重量?

我們想找出一組公式,輸入以下 5 個變數,就能算出預測承重:

符號名稱說明
L棍長每根木棍的長度 (cm)
b棍寬木棍的寬度 (cm)
t棍厚木棍的厚度 (cm)
H水平接點水平方向的交疊距離 (cm)
V垂直接點垂直方向的交疊距離 (cm)

目標:建立一個對數線性迴歸模型,讓我們不必實際搭橋測試,就能估算最大承重。

🔬
SECTION 2

實驗設計

為了控制變因,我們固定了部分條件,只改變想研究的變數:

固定條件:棍寬 b = 1.0 cm、棍厚 t = 0.2 cm、搭法 = 2 層內內法

操縱變因:

總共進行了 19 組實驗。每一組都實際搭建橋梁,然後逐步加重,直到橋梁崩塌為止,記錄崩塌前的最大承重(單位:克)。

棍長 (cm)實驗組數H 範圍 (cm)V 範圍 (cm)
154 組2 ~ 31 ~ 3
184 組2 ~ 42 ~ 4
207 組2 ~ 52 ~ 5
254 組3 ~ 62 ~ 5

每組實驗都做了至少 3 次重複測試,取平均值作為該組的最大承重數據。

🔐
SECTION 3

材料強度 M 的推導

橋梁會在哪裡斷裂或變形?答案是:V0 和 V1 之間沒有支撐的那段懸空區間

關鍵洞見:橋梁崩塌時,是中間那根棍子(V0 附近的水平棍)在懸空段被壓彎、折斷或過度變形。懸空段越長,越容易發生斷裂或變形。
橋梁俯視示意圖 — 懸空距離示意圖
懸空距離示意圖,黃色水平棍上方以藍色括線標示支撐點之間的懸空距離,棍面標示 HOU。

懸空段 S 是 V0 到 V1 之間水平棍沒有被垂直棍支撐的距離:

懸空段公式: S = L - 2H - 2b

根據材料力學的樑彎曲理論,一根矩形截面的樑在集中載重下的最大承受力,與截面寬度 b 成正比、與厚度 t 的平方成正比、與跨距 S 成反比。

我們把這些跟木棍尺寸相關的因子整合成一個數值,稱為材料強度 M

材料強度: M = b × t² / S

物理意義: M 越大 → 棍子越粗、越厚、懸空段越短 → 橋越強
M 越小 → 棍子越細、越薄、懸空段越長 → 橋越弱

M 把三個幾何變數(b、t、S)壓縮成一個數值,大幅簡化了模型。接下來只需要考慮 M 和 V 就能預測承重。

🧮
SECTION 4

從 Model E 到 Model F

我們先嘗試了較簡單的 Model E,發現它的限制後,才改良出 Model F。

Phase 3 搜索流程:先探索 47 種公式,再篩選 10 個代表性變體做 10 種分割正式評估(共 100 組比較)。結果由 V×L 交互作用模型勝出。

Model E 3 個特徵

log(F) = a·log(M) + b1·V + b2·V² + b0
  • 3 個特徵:log(M)、V、V²
  • V 的二次項能找到「最佳 V」
  • 問題:最佳 V 永遠固定在同一個值(約 3.9 cm),不會隨棍長改變
  • 20cm 棍子表現不錯,但在其他長度會失準

Model F 4 個特徵

log(F) = a·log(M) + b1·V + b2·V² + b3·V×L + b0
  • 4 個特徵:log(M)、V、V²、V×L
  • 新增 V×L 交互作用項
  • 突破:最佳 V 會隨棍長 L 動態調整
  • 更符合物理直覺,跨不同長度都穩定
V×L 交互作用的意義:垂直接點 V 的效果會隨著橋越長而遞減。短橋增加 V 可以大幅提升承重;但長橋增加 V 的效果比較有限,因為更長的懸空段才是主要瓶頸。

有了 V×L 項,最佳 V 就不再是固定值,而是一個隨棍長變化的公式:

最佳垂直接點公式: Vopt = -(b1 + b3 × L) / (2 × b2)

含義: 棍子越長 → V×L 項越大 → 最佳 V 越小
📋
SECTION 5

14+3 驗證版 vs 14+5 正式版

確定了 Model F 的公式架構後,我們用兩種方式來訓練模型的係數:

14+3 驗證版 held-out

  • 訓練資料:17 組
  • 保留 2 組作為 held-out 驗證(實驗 53、54)
  • 最佳分割 F515255,平均驗證偏差:6.5%
  • LOO R² = 0.8622
  • 適合說明模型形式為何成立

14+5 正式版 頁面使用

  • 訓練資料:全部 19 組
  • 用於實際預測的正式係數
  • 訓練 R² = 0.9286,LOO R² = 0.8879
  • LOO MAE = 235 g
  • 推薦用於頁面即時預測
為什麼頁面採用 14+5?正式預測要盡量利用全部 19 組資料,所以頁面使用 14+5 重訓係數;但要說明這個模型為什麼被採納,則應同時引用 14+3 held-out 驗證與 10-split 公平比較。這樣兼顧實用性與科學誠實。

Model F 14+5 正式模型係數值

a (log M)
2.0476
b1 (V)
0.6498
b2 (V²)
-0.0588
b3 (V×L)
-0.0098
b0 (截距)
18.6464
完整公式(對數形式): log(F) = 2.0476 × log(M) + 0.6498 × V − 0.0588 × V² − 0.0098 × V×L + 18.6464

等效指數形式: F = 1.253×108 × M2.048 × e(0.650V − 0.059V² − 0.0098V×L)

模擬器實際計算使用完整精度係數 2.047639 / 0.649840 / -0.058821 / -0.009847 / 18.646435;本頁公式為四捨五入展示。

SECTION 6

模型驗證

模型評估分成三層:10-split CV 用來公平比較 Model E 和 Model F;14+3 held-out 驗證用來確認 V×L 公式在未見資料上的表現;14+5 正式模型再用 LOO-CV 估計上線時的泛化誤差。

指標Model E (3 特徵)Model F (4 特徵)結果
平均 MAPE 20.2% 18.3% Model F 低 1.9 個百分點
勝出次數 3 / 10 5 / 10 另有 2 次平手

14+3 驗證版在最佳分割 F515255 的 held-out 結果如下:

驗證樣本實測Model F 預測偏差
Exp53: 15cm H2 V23800 g4279 g+12.6%
Exp54: 25cm H3 V41000 g997 g-0.3%
平均偏差F515255 held-out 驗證6.5%

14+5 正式模型的 LOO(留一法)交叉驗證指標:

指標數值說明
LOO R²0.8879模型可解釋 88.8% 的變異
訓練 R²0.9286訓練擬合度
MAE181 g訓練平均絕對誤差
LOO MAE235 g留一法平均絕對誤差
解讀:雖然 14+5 全部重訓時 Model E 的 LOO R² 略高於 Model F(0.8954 vs 0.8879),但 Model F 在 held-out 驗證與 10-split 公平比較中更能處理跨長度情境,因此頁面預測仍採用 Model F 14+5。它特別適合用來比較不同配置的相對優劣,幫助我們快速篩選出最有潛力的搭法。
🏆
SECTION 7

各棍長最佳配置(14+5 精確係數)

以下結果以頁面實際使用的 14+5 完整精度係數,並在目前整數 H、V 與搭建限制條件下搜尋所得:

L = 15 cm
H3 V2
6,904
g
L = 18 cm
H4 V4
6,289
g
L = 20 cm
H4 V4
3,681
g
L = 25 cm
H5 V3
1,781
g
L = 30 cm
H7 V3
1,320
g
觀察:
  • 棍子越短,承重越高(因為懸空段 S 更短)
  • 連續公式的最佳 V 會從 15cm 的約 4.3,逐步下降到 30cm 的約 3.0;整數搜尋後則落在 H3V2、H4V4、H4V4、H5V3、H7V3
  • 水平接點 H 隨棍長增加而增加,維持合理的懸空段長度
🚧
SECTION 8

搭建限制條件

不是任意的 L、H、V 組合都能搭出穩定的橋。以下是必須滿足的物理限制條件

條件公式白話說明
最短棍長 L ≥ 13b 棍子太短會無法交疊出穩定結構
水平接點上限 H ≤ (L - 2b) / 4 H 太大會讓懸空段消失,左右棍撞在一起
垂直接點上限 V ≤ (L - 10b) / 2 V 太大會讓橋腳太窄,容易左右搖晃
懸空段正值 S > 0 V0 和 V1 之間必須有空間

L = 20 cm、b = 1.0 cm 為例:

條件計算結果
最短棍長13 × 1.0 = 13 cm20 ≥ 13 ✔
H 上限(20 - 2) / 4 = 4.5 cmH ≤ 4.5
V 上限(20 - 10) / 2 = 5.0 cmV ≤ 5.0
懸空段(H=4, b=1)20 - 8 - 2 = 10.0 cmS = 10.0 > 0 ✔

模擬器會即時檢查這些條件。當參數超出範圍時,預測卡片會變成黃色(警告)或紅色(錯誤),並顯示具體的違規項目。

← 回到模擬器試試看