我常常遇到一個現象,有些人搭電梯時,習慣按鈕去“叫”電梯來。譬如說他要搭電梯往上,但是電梯現在停在上面樓層,他會按往下的按鍵去“叫電梯下來”。當然我們知道這是錯誤的操作方式,而且往往會造成其他人的困擾。不過這個情況出現之頻繁,讓我們不得不思考其在工程與介面設計上的意義。
我認為正確的與上述錯誤的兩種電梯操作方式,正反應了兩種思維模式,也正巧對應了程式語言中 object-oriented 與 procedural programming languages 兩大類程式語言的設計典範。在 object-oriented 程式語言中,程式設計師思考的是要完成何種目標,正如同正確的電梯操作方式,要按鈕選擇你的目標 (up or down)。在 procedural 程式語言中,程式設計師思考的是如何指揮電腦工作,正如同錯誤的電梯操作方式,按鈕選擇的是你要電梯如何運作 (up or down)。
用另一種說法,前者要求使用者將注意力放在 what,後者要求使用者思考 how。
2013年2月1日 星期五
2012年12月26日 星期三
少年pi的奇幻漂流
觀賞少年pi的奇幻漂流 (Life of Pi) 是視覺和心靈的雙重衝擊。
在視覺方面,3D技術雖炫,但導演李安並沒有過分賣弄這項技術。片中3D視覺特效的使用並不像環球影城或科學博物館中的展示影片,以驚嚇觀眾或刺激觀眾的視覺為目的。確實,觀眾在影片一開始就可以感受到3D影像的神奇炫目。但隨著劇情發展,觀眾只會被擬真的影像帶入到現場,與影片主角一起經歷一段奇幻的漂流旅程。過程中,你不會對所看到的虛擬影像感到懷疑。這是李安成功的地方。
在心靈方面,一般電影很難讓我真正融入劇情中,情感上我通常與劇中角色是抽離的。但是此片的印度風配樂加上 擬真的3D影像,會讓人自然而然就融入電影中的場景,感受導演要讓觀眾感受到的東西。與其說是去欣賞一部電影,還不如說是去經歷了一段驚心動魄的旅程。這段旅程的經歷和記憶應該會讓我放在心中很長一段時間。
在視覺方面,3D技術雖炫,但導演李安並沒有過分賣弄這項技術。片中3D視覺特效的使用並不像環球影城或科學博物館中的展示影片,以驚嚇觀眾或刺激觀眾的視覺為目的。確實,觀眾在影片一開始就可以感受到3D影像的神奇炫目。但隨著劇情發展,觀眾只會被擬真的影像帶入到現場,與影片主角一起經歷一段奇幻的漂流旅程。過程中,你不會對所看到的虛擬影像感到懷疑。這是李安成功的地方。
在心靈方面,一般電影很難讓我真正融入劇情中,情感上我通常與劇中角色是抽離的。但是此片的印度風配樂加上 擬真的3D影像,會讓人自然而然就融入電影中的場景,感受導演要讓觀眾感受到的東西。與其說是去欣賞一部電影,還不如說是去經歷了一段驚心動魄的旅程。這段旅程的經歷和記憶應該會讓我放在心中很長一段時間。
2012年11月14日 星期三
該不該取消3G上網吃到飽?
這個問題其實是個經濟學的問題。
假設消費者付出 c 元,獲得了總量為 b 的資料總傳輸量,則我們可以將消費者在這筆交易中所獲得的利益 (utility) 值表示為 u = b / c。價錢越低,或者交易所能得到的價值越高,則消費者的滿意度越高。這也就是一般人在評估交易划不划算時所說的性價比。
不過經濟學上有所謂邊際效益遞減的說法。這是說某個數量的東西(如金錢),在你擁有的數量很少時對你所能產生的利益,大於同樣數量的東西在你擁有的數量很多時對你所能產生的利益。照這個說法,上面的利益值算法應該修正為形如 sqrt(b) / c 或 log(b) / c 之類的函數。不過無論如何修正,這個函數還是單調遞增(monotonically increasing)或至少是非遞減(non-decreasing)函數。
現在問題發生了。對於選擇吃到飽方案的消費者而言,他所付出的 c 是固定的,所以他所能獲得的利益 (utility) 值 u 與所獲得的資料總傳輸量 b 成正比(或至少不會成反比)。經濟學上將人都視為是自利的。在這種假設下,消費者當然是「吃越多越划算」。當所有消費者(包含未選擇吃到飽方案的消費者)的資料傳輸量總和大於系統容量,網路就會「塞車」了。
解決塞車問題有兩個方案,一是開源 (擴增系統容量),二是節流(限制使用者的資料傳輸量)。這兩個方案的差別是,開源是需要成本的,節流幾乎不必花成本,但要冒著使用者流失的風險。
3G業者可以選擇開源但不節流,也就是擴增系統容量但不取消吃到飽方案。如果擴增出來的系統容量通通被吃到飽客戶吃掉而沒有辦法增加太多收益,則業者勢必要將擴增系統容量所增加的成本攤到現有客戶上,也就是要漲費率。如果不能漲費率,那麼業者沒有採行此方案的動機。
3G業者也可以選擇節流但不開源,也就是取消吃到飽方案但不擴增系統容量。這樣一來客戶所支出的費用 c 值會隨著 b 值上升而上升,就沒有動機使用超過需求的資料傳輸量。結果所有消費者的資料傳輸量總和會小於系統容量,業者就會有多出來的系統容量可以增加利潤。不過因為此方案業者並未付出成本,多出來的利潤應該透過諸如降低費率等手段回饋給消費者。
3G業者也可以選擇開源節流併行。這樣業者付出擴增系統容量的成本,但也因為系統容量增加而獲得了利潤。對費率的影響則要細算才能得知。
結論:面對網路塞車問題,業者會選擇取消吃到飽方案而非擴增系統容量,因為這種選擇成本最低。吃到飽用戶會希望業者擴增系統容量而非取消吃到飽方案,但業者沒有動機這麼做,除非用戶願意接受費率上升的後果。所以最後結果應該就是維持現狀吧。
假設消費者付出 c 元,獲得了總量為 b 的資料總傳輸量,則我們可以將消費者在這筆交易中所獲得的利益 (utility) 值表示為 u = b / c。價錢越低,或者交易所能得到的價值越高,則消費者的滿意度越高。這也就是一般人在評估交易划不划算時所說的性價比。
不過經濟學上有所謂邊際效益遞減的說法。這是說某個數量的東西(如金錢),在你擁有的數量很少時對你所能產生的利益,大於同樣數量的東西在你擁有的數量很多時對你所能產生的利益。照這個說法,上面的利益值算法應該修正為形如 sqrt(b) / c 或 log(b) / c 之類的函數。不過無論如何修正,這個函數還是單調遞增(monotonically increasing)或至少是非遞減(non-decreasing)函數。
現在問題發生了。對於選擇吃到飽方案的消費者而言,他所付出的 c 是固定的,所以他所能獲得的利益 (utility) 值 u 與所獲得的資料總傳輸量 b 成正比(或至少不會成反比)。經濟學上將人都視為是自利的。在這種假設下,消費者當然是「吃越多越划算」。當所有消費者(包含未選擇吃到飽方案的消費者)的資料傳輸量總和大於系統容量,網路就會「塞車」了。
解決塞車問題有兩個方案,一是開源 (擴增系統容量),二是節流(限制使用者的資料傳輸量)。這兩個方案的差別是,開源是需要成本的,節流幾乎不必花成本,但要冒著使用者流失的風險。
3G業者可以選擇開源但不節流,也就是擴增系統容量但不取消吃到飽方案。如果擴增出來的系統容量通通被吃到飽客戶吃掉而沒有辦法增加太多收益,則業者勢必要將擴增系統容量所增加的成本攤到現有客戶上,也就是要漲費率。如果不能漲費率,那麼業者沒有採行此方案的動機。
3G業者也可以選擇節流但不開源,也就是取消吃到飽方案但不擴增系統容量。這樣一來客戶所支出的費用 c 值會隨著 b 值上升而上升,就沒有動機使用超過需求的資料傳輸量。結果所有消費者的資料傳輸量總和會小於系統容量,業者就會有多出來的系統容量可以增加利潤。不過因為此方案業者並未付出成本,多出來的利潤應該透過諸如降低費率等手段回饋給消費者。
3G業者也可以選擇開源節流併行。這樣業者付出擴增系統容量的成本,但也因為系統容量增加而獲得了利潤。對費率的影響則要細算才能得知。
結論:面對網路塞車問題,業者會選擇取消吃到飽方案而非擴增系統容量,因為這種選擇成本最低。吃到飽用戶會希望業者擴增系統容量而非取消吃到飽方案,但業者沒有動機這麼做,除非用戶願意接受費率上升的後果。所以最後結果應該就是維持現狀吧。
2012年10月6日 星期六
誰追誰
中午在某平價連鎖火鍋店
女兒:爸,當初是你追媽還是媽追你?
我:(訝異)... (堅決) 是我追你媽。
女兒:真的嗎?(訝異)
我:...
女兒:為什麼你會想要追我媽?
我:... 當初你媽可是美女...
女兒:真的嗎?(不可置信)
我:...
女兒:你就只因為媽漂亮就追她喔?(不屑)
我:... (慚愧)
女兒:爸,當初是你追媽還是媽追你?
我:(訝異)... (堅決) 是我追你媽。
女兒:真的嗎?(訝異)
我:...
女兒:為什麼你會想要追我媽?
我:... 當初你媽可是美女...
女兒:真的嗎?(不可置信)
我:...
女兒:你就只因為媽漂亮就追她喔?(不屑)
我:... (慚愧)
2012年9月11日 星期二
六度分隔
報紙上一篇報導,提到畢業廿多年的師大附中同學應用數學概念中的「六度分隔理論」在臉書上尋人。報導中提到,如果將尋人訊息轉發給十名臉書友人。訊息的臉書朋友再轉發給十名朋友,就會有一百人看到尋人啟事。以此類推,轉發到第五層時時,就會有一百萬人看到。
首先,我認為並不能因為「六度分隔」(Six Degree of Separation) 這個說法牽涉到一個數字,就被稱作是「數學理論」。嚴格地說,這個說法連理論都稱不上,只是一個普為接受的想法 (idea),因為它不能被嚴謹地驗證。
實際生活中每個人認識的朋友數目有多有少,而且每個人認識的人多少都有重疊,此重疊的人數並非常數。因此人際關係每往外一層可以增加的新朋友並非可簡單計算出來的。這個並非簡單數學題目。
假設每個人的朋友數目為定値 m。又假設每個人的朋友中,彼此間也是朋友的佔每個人全部朋友數目的比例亦為定値 r。請問以任何一個人為起點,人際關係往外推 n 層可以納進來的人數為多少? 這個才是數學題目。有答案的人可以告訴我。
上面第二個參數也可以用群聚係數 (Clustering Coefficient) 代替,它的定義是這樣的。n 個人之間所有可能存在的二元朋友關係總數為 n(n-1)/2,將這 n 個人之間實際存在的二元朋友關係數目除以 n(n-1)/2,即為群聚係數。假設每個人的朋友數目為定値 m,又假設此社群中的群聚係數為定値 c。請問以任何一個人為起點,人際關係往外推 n 層可以納進來的人數為多少?
首先,我認為並不能因為「六度分隔」(Six Degree of Separation) 這個說法牽涉到一個數字,就被稱作是「數學理論」。嚴格地說,這個說法連理論都稱不上,只是一個普為接受的想法 (idea),因為它不能被嚴謹地驗證。
實際生活中每個人認識的朋友數目有多有少,而且每個人認識的人多少都有重疊,此重疊的人數並非常數。因此人際關係每往外一層可以增加的新朋友並非可簡單計算出來的。這個並非簡單數學題目。
假設每個人的朋友數目為定値 m。又假設每個人的朋友中,彼此間也是朋友的佔每個人全部朋友數目的比例亦為定値 r。請問以任何一個人為起點,人際關係往外推 n 層可以納進來的人數為多少? 這個才是數學題目。有答案的人可以告訴我。
上面第二個參數也可以用群聚係數 (Clustering Coefficient) 代替,它的定義是這樣的。n 個人之間所有可能存在的二元朋友關係總數為 n(n-1)/2,將這 n 個人之間實際存在的二元朋友關係數目除以 n(n-1)/2,即為群聚係數。假設每個人的朋友數目為定値 m,又假設此社群中的群聚係數為定値 c。請問以任何一個人為起點,人際關係往外推 n 層可以納進來的人數為多少?
2012年9月9日 星期日
學術論文的價值
接近年底研討會旺季,最近收了不少審稿邀請。今天早上認真審了幾 篇論文,分屬三個國內研討會。看完要上傳審稿意見時,發現有兩篇 找不到歸屬。查了半天,最後發現這兩篇是去年某個研討會我已審過 的舊稿,檔案存在硬碟中又被我拿了出來再審一次。讓我意外的是我 竟然一點印象都沒有,還煞有其事地從頭到尾把論文看完寫審查意見 。可能是我的記憶力不行了,也可能是那些論文看起來都差不了多少 ,亦或者是這些論文的內容並沒有進入我的長期記憶區中。如果原因 是後兩者,那麼很多人批評學術論文多是垃圾的說法,在此得到一個 驗證。
2012年8月20日 星期一
電子發票中獎通知
我在之前提過在二代電子發票服務整合平台上面可以設定設定 e-mail 位址及行動電話號碼,如果你的電子發票有中獎,系統會自動發簡訊和 e-mail 通知你,沒想到這一期我就收到了通知。
由於我已經設定了自己的匯款帳號,所以獎金也自動進了我的帳戶。我不用傷腦筋如何領獎的問題了。
訂閱:
文章 (Atom)