跳到主要內容

發表文章

目前顯示的是 2024的文章

天平與奇特數字系統

問題: 一組天平需要搭配多少砝碼才能測量 1g,2g,...,30g 的物品? 分析: 一個簡單而明顯的答案是搭配 30 個 1g 的砝碼,將待測物放於天平的一端,另一端逐一將 1g 砝碼放入,直到天平呈現平衡。 砝碼的數量能不能減少? 利用二進位表示法 $$ \begin{array}{ccccc} 2^4 & 2^3 & 2^2 & 2^1 & 2^0 \\ \boxed{1} & \boxed{0} & \boxed{1} & \boxed{1} & \boxed {0} \end{array} $$ 每個位數代表一個重量 $2^k$g 的砝碼,5 位數可以表示 $$ 0\\ 1 = 2^0 \\ 2 = 2^1 \\ 3 = 2^1 + 2^0 \\ \cdots \\ 31 = 2^4 + 2^3 + 2^2 + 2^1 + 2^0 $$ 因此 5 個砝碼就足夠,分別是 1g, 2g, 4g, 8g, 16g。 這是最少的數量嗎? 以上用的是 "加法" ,把待測物和砝碼放在天平的兩端,如果用 "減法" 呢? 例如 $$ \begin{array}{ccccc} \boxed{1} & \boxtimes & & \boxed{3} & \boxed{7} \\ \hline & & \blacktriangle & & \end{array} $$ 把待測物和砝碼放一起並平衡,可得到減法關係 $$ 1 + \boxtimes = 3 + 7 \\ \Rightarrow \\ \boxtimes = 3 + 7 - 1 = 9 $$ 是否可能藉此進一步減少砝碼的數量? 以 1g, 3g, 7g, 15g 四個砝碼為例,可以量測以下的重量 $$ 1 \\ 2 = 3 - 1 \\ 3 \\ 4 = 1 + 3 \\ 5 = 1 + 7 - 3 \\ 6 = 7 - 1 \\ 7 \\ ...

行百里路

中國古文有言:"行百里者半於九十"。 意思是說,一百里的路程,走到九十里,只能算完成了一半,完成剩下十里的難度,幾乎等同於前九十里的路程。 其他語系也有類似的描述,如 "The last mile is the hardest."。 有另一句話,"萬事起頭難",或是 "好的開始是成功的一半"。 開始難,完成也難。這是一個普世的現象。 依上述說法,把行走里程和「完成進度」做成關係圖 還沒開始時,進度為零,走到九十里處,進度 50%,走完一百里,進度 100%。 做一些合理的簡化:每走一步,進度不該倒退,因此「進度-里程」關係為一個遞增函數(不必為嚴格遞增),因此一個可能的函數圖形為 九十里到一百里的進度相對陡峭,對比九十里之前,前進一步,增加非常多的進度。 從這個關係圖似乎感受不到九十里後的「困難」,反而看起來過了九十里後,每一步都變得比之前更加有價值?但實際上,行走百里,一開始必然比較輕鬆,隨著體力消耗,越走越累,越走越慢,時間過去,卻感覺終點沒有變近多少。 我們不禁要問:「進度」究竟是指什麼? 會不會是「時間」?前面九十里花費的時間,等同於最後十里。這是個合理的設定,符合一般的經驗。 我們假設行走的速度隨著時間變慢,簡化起見,假設變慢的速度,即加速度,為恆定,$V_0$ 為一開始的速度,$a$ 為加速度(負值),在時間 $t$ 的速度為 $$ V(t) = V_0 + at $$ 在時間 $t$ 時,累積行走的距離為 $$ S(t) = V_0t + \dfrac{1}{2}at^2 $$ 若以時間為進度,假設走完百里的時間為 $T$,則走完九十里的時間為 $\dfrac{T}{2}$ $$ \begin{eqnarray} \left\{ \begin{array}{rl} 100 &= V_0T + \dfrac{1}{2}aT^2 \\ 90 &= V_0\left(\dfrac{T}{2}\right) + \dfrac{1}{2}a\left(\dfrac{T}{2}\right)^2 \end{array} \right. \end{eqnarray} $$ 若把 $V_0$ 當作已知,簡單...

馬力扭力

「馬力」及「扭力」是動力系統常見的規格項目之一。例如以下是 BMW G20 318i 的引擎規格 對於內燃機引擎,一般型錄上的描述的是「最大馬力」與「最大扭力」,以及其發生的引擎(曲軸)轉速範圍。 馬力不是一種力,指的是引擎的功率($P$),即單位時間做的功($W$)。引擎常用的功率單位除了馬力(hp/ps),還有千瓦 (kW)。 $$ P = \frac{W}{\Delta t} $$ 扭力也不是一種力,指的是力矩,也就是 力$\times$力臂,用來表示旋轉的力道。 $$ T = F \times L $$ 究竟馬力、扭力代表什麼? 簡言之,馬力代表了車輛的加速能力,扭力則是構成馬力的要素之一,沒有扭力就沒有馬力。 汽油引擎透過燃爆汽油產生力量,推動活塞,轉動曲軸造成力矩,力矩帶動傳動系統,透過槓桿原理放大或縮小力矩,進而在一個速度下轉動車輪,車輪藉著路面摩擦力提供的反作用力加速或減速。 汽油的燃爆間接造成了車輛的移動。 我們做極度的簡化,把傳動系統,如曲軸、飛輪、離合器、變速箱、傳動軸、輪子等等都拿掉,讓汽油燃爆直接把活塞炸飛。活塞能飛多快,要看爆炸產生了多大的力,假設一秒內,一次燃爆產生 10N (牛頓)的力,讓活塞移動了 10cm,根據能量守恆原理,化學能轉成動能,原本靜止的活塞,被加速到 $V_1$, $$ W_1 = F_1d = 10\text{N} \times 0.1\text{m} = \dfrac{1}{2}mV_1^2 $$ 另一種情況,假設一秒內,發生 2 次燃爆,每次燃爆都產生了 5N 的力,讓活塞移動了 10cm,則 $$ W_2 = \sum{F_2d} = 2 \times (5\text{N} \times 0.1\text{m}) = \dfrac{1}{2}mV_2^2 $$ 可得 $W_1 = W_2$,$V_1 = V_2$,兩種情況下,一秒內的平均功率相等,活塞的末速也一樣。也就是說,同樣的時間內,力量減半,頻率加倍,則功率相同,對活塞的加速結果相同。 引擎的扭力與轉速 $f$ (施力的頻率)的乘積,正比於馬力(功率), $$ P = \frac{W}{\Delta t} = Fd\frac{1}{\Delta t} \propto Fdf = ...

一筆連完所有

問題: 如上圖,把所有波羅包用一條線連起來,線只能走水平或垂直,且不碰到普通麵包。 分析: 這是所謂的一筆畫問題的一種。可以將問題轉化成圖(Graph),由頂點(Vertex)和邊(Edge)構成,每個波羅包為一個頂點,編號 1-22,連到上下左右相鄰的波羅包為邊 針對一個圖,一筆畫連接所有頂點的解,稱為一個 Hamiltonian path。基於對稱性可以理解,一個解的反向順序亦為一解,所以解的總數必為偶數。 這類問題的一般解法相當耗時,計算量和頂點的個數成指數函數關係,一筆畫的解一定在 $n$ 個頂點的排列之中,而 $n$ 個頂點的排列數有 $n!$ 種,由此可略知一二。 組合學的結論基本上是說,邊的數量要夠多,才能構成一筆畫。 這個問題和[ 這題 ]有點相似,我們嘗試用相同的方法解看看。 先試一個簡單的例子 把頂點、邊的關係列出: net = { '1': ['2','3'], '2': ['1','3'], '3': ['1','2'] } 其餘的程式不變,求所有解,可得 6 個解,也就是說,3 個頂點的所有 3! = 6 種排列,都是一筆畫的解 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 回到原問題,每個頂點連接的邊,最多 4 個,少則只有 2 個,很可能無解。一樣把頂點、邊的關係列出: net = { '1': ['2','7'], '2': ['1','3','8'], '3': ['2','4','9'], '4': ['3','5','10'], '5': ['4','11'], '6': [...

Focus MK3.5 (2015-2018) 後保險絲盒取電

汽車若需要加裝電子設備,如行車紀錄器,需要取得電源,一般車內會提供 12V 點菸器插座,但設備的線材散落車內,佔空間亦不美觀,因此常會直接從保險絲盒取電,設備線材則塞進內裝。Focus MK3.5 的後保險絲盒在行李箱左後方,保險絲盒的插座設計很深,開口又設計的大小剛剛好,一般的保險絲取電器無法直接插入 要先用直式的延長線把插座接出來 可能還需要磨掉一些延長線黑色的塑膠部分,才能順利插入。 使用三用電表,選擇一個保險絲,汽車電源開啟時即有電,Focus MK3.5 可選用左下方 F30 (5A,停車輔助模組)。 保險絲接的是設備的正極,設備的負極可接車身金屬部分,Focus MK3.5 尾門上有數個金屬螺絲處可用,如下圖紅框處。設備電源線以及負極線可從防水橡膠管中穿出,穿出後塞入隔音膠條翻開後的內裝中。 接好的線如下圖 Focus MK3.5 的尾門白色飾板拆卸時,金屬卡扣可能掉進門板內,可拆開防水橡膠管上方固定座,從固定座孔洞取出。若沒有取出,車輛行進中可能會發生金屬敲擊異音。可考慮在尾門關上的狀態下拆飾板,讓金屬卡扣掉入行李箱。 內裝復原之前,務必打開及關閉汽車電源,測試設備是否能正常開、關機,以免復原之後才發現線路沒接好,需要再度拆內裝。

世界越複雜,球越小

平面上一個半徑為 $r$ 的圓,內接在一個邊長為 $2r$ 的正方形中, 圓的面積為 $\pi r^2$ 正方形的面積為 $4r^2$ 圓和正方形面積的比例為 $\dfrac{\pi}{4} \approx 0.785$。 想像一下,如果在更高的空間維度,球和超正方體的體積比例會是如何?收斂到一個固定值?越來越大?越來越小?還是...? 答案是: 隨著維度增加,超正方體內接球和正方體的體積比例逐漸趨近於零 。 在 2 維的情況,圓的面積為 $\pi r^2$,在 3 維的情況,球的體積為 $ \dfrac{4}{3}\pi r^3$。可以理解在 $n$ 維空間,半徑 $r$ 球的體積為 $$ V_n(r) = C_n r^n $$ $C_n$ 為常數。想像一個與原物件相似的形體,在每個維度上的長度為原物件的 $s$ 倍,則體積為原物件的 $s^n$ 倍。 透過 Gamma Function (${\displaystyle \Gamma (z)=\int _{0}^{\infty }t^{z-1}e^{-t}\,dt}$,$\Gamma(n)=(n-1)!$,$\Gamma(\frac{1}{2}) = \sqrt{\pi}$) 可推得 [ Wikipedia ] $$ V_n(r) = \cases { 1 & \text{, } n = 0\cr 2r & \text{, } n = 1\cr \dfrac{2\pi}{n}r^2V_{n-2}(r) & \text{, otherwise} } $$ 1 維空間的情況,體積定義為直線上正負 $r$ 截出長度 $2r$ 的線段長度。 0 維空間的所有球,體積定義為 1。 若 $n=2k$,可推得 $V_{2k}(r) = \dfrac{\pi^k}{k!}r^{2k}$ 而超正方體的體積為 (${2r})^{2k}$ 兩者的比例 $$ \dfrac{\pi^k}{k!2^{2k}} = \left(\dfrac{\pi}{4}\right)^k \cdot \dfrac{1}{k!} $$ 隨著 $k$ 增加而越來越接近零。 不只是內接球的體積比例越來越小,內接球的體積本身,就會隨著維度增加而變小。 假設半徑...

井字遊戲

井字遊戲是一個簡單而有趣的兩人對玩遊戲,在一個 $3 \times 3$ 的九宮格內輪流畫圈(O)、叉(X),先連成一條水平、垂直或對角直線的玩家贏。 這個遊戲在很早就被徹底研究了,因為盤面排列的數量不大,$3 \times 3$ 個位置,若每個位置都可以有空、圈(O)、叉(X)三種可能,總共也不過 $3^9 = 19683$ 種排列組合,且兩玩家是輪流畫,出現一條連線就結束,因此有意義的盤面總數遠比這個數量少。 事實上,井字遊戲是一個 "已解遊戲(Solved game)",意思是說,在兩人都使用 "最好的方法" 的前提下,一出手就可知道勝負,也就是說,第一步已決勝,這讓井字遊戲變得無趣。但現實的世界中,不是所有的玩家都能使用最好的方法,人類之間的對玩,會有看錯、畫錯的疏失,結果如何還很難說。 使用電腦程式做一些分析,做出一些簡單又可能致勝的方法。使用 python。 首先,選一個盤面表示法,直覺的作法,使用一個 list 或 array 表示,每個元素表示九宮個的一個位置,對應關係如下: [0] [1] [2] [3] [4] [5] [6] [7] [8] 以 0 表示空格,1 表示圈(O),2 表示叉(X),例如 [1,2,0,2,0,1,2,1,0] 表示 O X - X - O X O - 一個盤面可以轉換成一個整數,反之亦然,轉換的方法是把 list 當成一個 3 進位的整數,因此 $$ [1,2,0,2,0,1,2,1,0] = 1\times 3^8 + 2 \times 3^7 + 0 \times 3^6 + 2 \times 3^5 + 0 \times 3^4 + 1 \times 3^3 + 2 \times 3^2 + 1 \times 3^1 + 0 \times 3^0 $$ 假設第一個畫的玩家總是先畫圈,不論輸贏,總共有幾種盤面呢? M = 3 N = 3 L = M * N E = 0 O = 1 X = 2 space = [] def num_to_pat(count): p = [] for i in range(L): p.insert(0, cou...

月球有多遠

自古以來,長度測量一直是必要的需求,物品的交易以長度、大小計價,各式製品,小至寶石飾品,大至建物,都需要掌握尺寸。測量是一種比較關係,先有單位,再得知待測物與單位的比例關係,就得到測量結果。 自古至今,日常生活中一般大小的長度測量,可以用尺。 拜科技所賜,今日要測量比較大的物體、較遠的距離,已經可用雷達或雷射測距儀,基於電磁波或光的速度速恆定的性質,以及速度與距離、時間的關係計測: $$ \text{速度} = \frac{\text{距離}}{\text{時間}} \\ \Rightarrow \\ \text{距離} = \text{速度} \times \text{時間} $$ 美國太空總署持續利用雷射測距儀,往月球打雷射光到月球上的反射板測距,精確度已達毫米級。最早的反射板是阿波羅 11 號登月的太空人裝的,後續幾座是靠機器人。要打中 38 萬公里外的反射板並非易事,反射回來的光更是少得可憐,是用幾顆光子在算的,如此嚴苛的條件下還能做精準的測量,可見其中有相當精妙的工程技術。 沒有這些科技,古人是怎麼測量大尺度的物體? 萬中選一的聰明人發現了一些幾何關係,可以用來間接地從已知長度算出未知長度。 例如,相似圖形 兩個三角形,若三個內角都相等,稱作兩個三角形相似。兩個相似三角形三個對應邊的邊長,呈固定的比例。 舉例來說, 假設 $\triangle ADE$ 和 $\triangle ABC$ 相似,則存在以下關係: $$ \frac{\overline{BC}}{\overline{AC}} = \frac{\overline{DE}}{\overline{AE}} $$ 因此 $$ \overline{BC} = \overline{AC} \times \frac{\overline{DE}}{\overline{AE}} \tag{eq.1} \label{eq.1} $$ ($\ref{eq.1}$) 可以用來測量 101 大樓的高度 站在捷運世貿站 5 號出口,這是 A 點 拿一支 90cm 長的雨傘,直立在眼前,傘柄底端對齊眼睛,傘是 $\overline{DE}$ 的位置 調整傘的遠近,保持傘是直立的,讓傘尖剛好對到 101 大樓頂端,此時紀錄 $\overline{AE}...

生生不息

有一種微生物,壽命超過一個月,在養分充足,空間不受限的環境,進行無性生殖,每小時每隻微生物一分為二,一天後,總共有多少隻微生物? 這是一個國中的數學題。微生物的數量每小時變成 2 倍,為一個等比數列 $$ \begin{array}{c|c} \text{Hour} & \text{Number} \\ \hline 1 & 1 \\ 2 & 2 \\ 3 & 4 \\ \vdots & \vdots \\ n & 2^{n-1} \\ \end{array} $$ 一天後,也就第 25 小時,微生物數量為 $2^{25-1} = 16,777,216$,約 1 千 6 百萬隻。 若把微生物的數量變化關係寫成遞迴式,定義 $V_n$ 表示第 $n$ 小時的微生物數量,則 $$ \begin{eqnarray} \left\{ \begin{array}{l} V_1 = 1 \\ V_n = 2V_{n-1},~n\gt 1 \end{array} \right. \end{eqnarray} $$ 高中數學介紹了費式數列(Fibonacci sequence),描述一對兔子不斷近親繁殖後的總數量:有一對兔子,出生後過 1 個月會交配,再過 1 個月會生 1 對兔子,之後每個月都會生 1 對兔子,生下來的每對兔子都以相同方式繁殖,假設兔子壽命超過 5 年,一年後會有幾對兔子? 定義 $F_n$ 表示第 $n$ 個月兔子家族的總對數,則 $$ \begin{eqnarray} \left\{ \begin{array}{l} F_1 = 1 \\ F_2 = 1 \\ F_3 = 2 \\ F_4 = 3 \\ \cdots \\ F_n = F_{n-1}+F_{n-2},~n\gt2 \end{array} \right. \end{eqnarray} $$ 第 $n$ 個月的總對數,等於前 1 個月的總對數,加上前 2 個月的總對數(因為...

登高至邇

問題: 10 塊材質均勻,形狀、大小相同的方塊磚,長 24cm,寬 12cm,高 6cm,把所有磚放在一個堅固高聳的平台,只靠重力,這些磚最多可以伸出平台多遠的距離? 分析: 如圖,目的是將距離 $D$ 最大化。這是有名的疊方塊問題(Block-stacking problem)。理論上,只要磚塊夠多,不論多長的距離都能達成。 先看 1 塊磚的情況,$D$ 最大是半塊磚的長度 12cm,再大的話,磚就掉出平台了。只能靠重力,因此磚的重心不能超出平台,而磚的重心在長、寬、高的 $\frac{1}{2}$ 處。 2 塊磚的情況,把第 2 塊磚放在第 1 塊磚底下,如同只有 1 塊磚的情況,第 1 塊磚的重心不能超出第二塊磚 除此之外,第 2 塊磚也必須包持平衡:以平台邊緣為支點(即座標原點),第 2 塊磚重量造成的力矩,要等於第 1 塊磚重量造成的力矩,假設磚重 $w$ $$ w \cdot (\frac{1}{2} - d_2) = w \cdot d_2 \\ \Rightarrow \\ d_2 = \frac{1}{2} \cdot \frac{1}{2} = \frac{1}{4} $$ 這是 2 塊磚能達到的最大距離,$D = \frac{1}{2} + \frac{1}{4} = \frac{3}{4}$ 倍磚長。 若把 2 塊磚當成 1 大塊磚,則這塊大磚的重心位置 $g_2$ (以平台邊緣為原點) $$ 2w \cdot g_2 = w \cdot (\frac{1}{2} - \frac{1}{4}) + w \cdot (\frac{1}{4} - \frac{1}{2})\\ \Rightarrow \\ g_2 = 0 $$ 也就是說,這塊重量 $2w$ 的大磚,重心正好壓在平台邊緣,這與 1 塊磚的情況是相同的。 3 塊磚的情況,相同的手法,先把 2 塊磚照前述方法疊好,再把第 3 塊磚放在底下。前 2 塊磚已然平衡了,第 3 塊磚必須在平台上保持平衡。 第 3 塊磚重量造成的力矩,要等於第 1 塊磚與第 2 塊磚重量造成的力矩 $$ w \cdot (\frac{1}{2} - d_3) = 2w \cdot d_3 \\ \Rightarrow...