PageRank



轉移公告

計劃把 http://blog.hoamon.info/ 文章全部轉移至 http://www.hoamon.info/blog/ 這裡,而本 Blogger 站台的文章近 500 篇,我預計在 2014-12-31 前移轉完畢,完成後 http://blog.hoamon.info/ 將只作代轉服務,一律把舊連結如 http://blog.hoamon.info/index.html 轉成 http://www.hoamon.info/blog/index.html ,敬請舊雨新知互相走告。

新文章只發佈在 http://www.hoamon.info/blog/

何岳峰 敬上

2007年12月29日 星期六

讓 google 幫你作圖表

過去作研究時,為了要看清楚數據的結果是不是與我們所想的一樣,我們會把數值轉成圖表的方式展示,這比起看到 1,2,4.0,8,... 的數字能更快速了解答案的正確與否。

因為以前都是用 matlab 作研究,所以生圖表時,是在單機上生成一個圖檔來看,若不用 matlab 也可以,把生成的數據倒給 gnuplot 一樣可行,或者是直接用 GNU Octave 也成。

我們現在都是用 python 了,而在 python 上也有十分優秀的圖表函式庫 matplot 可以用。

只不過,現在不只是要求數學程式化,我們也要作模式商業化,一個可行的解題方式,我們要讓使用者方便使用,最簡單的方法是讓它變成網站。這時候使用 matplot 就有點麻煩了。

如果可以使用 google chart api ,就會比較輕鬆,而且流量還可以丟過 google 處理。只不過,機密的數據還是不要透過 GET 方法讓 Proxy 儲存到,這時候,還是用 matplot 吧!

打個廣告,歡迎有程式設計能力且數學(離散、管理數學、統計)底子好的人才來我們 lab 唸碩博士,我們 lab 的目標主要是用資訊技術讓工程的品質、生產力提高。考試科目有營建管理概論、工程經濟/工程統計,基本上,我在土木系的大學部也只學過營建管理概論(三學分),工程經濟/工程統計是得自己另外唸的。

2007年12月23日 星期日

美國土木工程師證照考試

美國是聯邦制,所以很多東西依州不同而有所不同。像是德州車牌是跟著車走,而俄亥俄州則是跟著人走。在土木技師牌照這邊,也是各州有所差異,但它們的考照方式卻令我十分欣賞,它避免了國內考照方式總讓錄取人流於紙上功夫的缺點。

美國的考照方式,可參考此網頁



備份網頁
最大的不同是:
  1. 要有實務經驗
  2. open book
  3. 依專長負責
1. 這點就不說了,在台灣,技師的能力不在於考取執照時所唸的書,而是事後接工程案所累積的經驗。
2. 這點相當重要,工程知識涵蓋範圍廣大,如果把時間都花在背公式及係數,那有多少時間來想這些公式的延伸應用及實務問題的解決。反正技師執業時,一定會看自己的參考書,那為什麼考試時,不等同處理呢?
3. 美國的土木技師執照多半只有一種(依州別),考試時也是營建、結構、水利…各種題目都考,所以你可能只會大地,那麼把大地題目全部答對,其他的只有小部份答對,你也是拿得到專業工程師執照,而執業時,你要為大樓建築結構圖簽章審核,也沒有人反對,只是簽章就代表負責,建築圖有問題,就是你的問題。

他山之石,可以為錯。那為什麼不作呢! 這就不是一個小土木人知道的了。

2007年12月22日 星期六

2008政黨票該怎麼投呢?

2008年的立委選舉有一點與過去不一樣,不是一階段取代二階段,而是不分區立委的席次將由另一張「政黨票」來決定,不同以往是從各政黨的區域立委得票率得之。

所以就算你所在地點的區域立委都很爛,基本上,只要你覺得台灣還有政黨是可以相信的話,一定要出來投個政黨票。

而不分區的政黨名單有 中國國民黨、民主進步黨、無黨團結聯盟、新黨、台灣團結聯盟、公民黨、紅黨、綠黨、台灣農民黨、第三社會黨、客家黨、制憲聯盟。

其中,中國國民黨、民主進步黨、無黨團結聯盟、新黨、台灣團結聯盟,這些都是比較熟為人知的政黨,我就不談了。

就剩下的 7 個,簡介如下:

公民黨:
網路上只找到這篇文章

紅黨
應該是上次反扁(貪腐)勢力的延續。

綠黨
主要訴求是環保、和平及社會正義。

台灣農民黨
爭取台灣農、林、漁、牧等四大農民階級在國會發聲,以爭取農漁民利益、促進農業發展與茁壯農漁民組織為目的而成立之階級政黨。

第三社會黨
沒看到黨綱,看網頁介紹,好像主打第三選擇,也就是不想投國/民黨的,就投他們吧!

客家黨
望文生意,一看就討厭,我不是討厭客家人,如果有個黨叫「河洛黨」、「閩南黨」,我一樣開罵,這又是在台灣族群撕裂的傷口上繼續灑鹽而已。

為弱勢族群發聲是正確的,像是以「農民」、「身心障礙者」、「窮人」為主要目標來組黨,這非常合理,因為每個人都有機會當「農民」、「身心障礙者」、「窮人」。而如果以「血統」來組黨,那我永遠沒機會了,因為我不是「客家人」(我只是「客家人」的孫女婿)。

所以,我能接受有原委會、客委會的組織來幫助弱勢族群,但我不能接受以血統來結黨這件事。

制憲聯盟
以憲法為主要目標。

就個人觀點,對「綠黨」及「台灣農民黨」比較具有認同感。還需要再認真研究一下,才能選擇。

2008總統大選及立委選舉該怎麼決定 ?

我的好朋友 change po 了一篇「受不了的 2008 總統大選」,我對這篇文章的兩個結論非常有意見,所以也提供一下我對總統及立委投票的想法。

在這次總統大選及立委選舉中,我不會再投給民進黨了(是的,2000、2004我投的都是它), 2000 年時,我想投的是連戰,但因為害怕讓宋先生異軍突起,所以,我投了第二選擇,而 2004 年,則是沒有選擇了,因為連戰和宋先生是一組的,所以,我只好再投陳水扁。

而這一次,我不會再投民進黨的原因是希望讓他們知道這 8 年,其實作的並不好。

過去 8 年,因為總統是民進黨的,立院的最大黨卻不是,所以導致行政立法效率不彰及台灣走向不明,這一點我不怪民進黨,就算他們想作事,也不一定作的好,但是「貪汙」及「枉法」就不可取了。

如果再讓謝長廷當選,我想更會「長」貪汙枉法之「昌」盛了,投「馬英九」是我給民進黨的懲罰。

那麼在立院這邊,因為考量了總統是給國民黨,也應該讓國民黨繼續掌握多數,來趕一下「行政立法效率」及「一貫台灣未來走向」,所以我也會在區域立委這邊,投給國民黨。

好了,上面講的都是不得已的選擇。而有什麼是我可以好好決定的呢? 有,在全國不分區這邊。以往的不分區,是看你所投的區域立委是那一黨的,就當作你對那一個政黨投同意票,但這一次選擇,則是明明白白的切割開來了。

攤開不分區的政黨名單: 中國國民黨、民主進步黨、無黨團結聯盟、新黨、台灣團結聯盟、公民黨、紅黨、綠黨、台灣農民黨、第三社會黨、客家黨、制憲聯盟,共有 12 個選擇,這裡是可以好好評估的地方,不用比爛了。

誠懇的呼籲大家,就算總統、區域立委選不下手,但這次可以多給新政黨一個機會,站出來投票吧!

2007年12月20日 星期四

原來這就是背包問題呀!

日前(好久前了)提了一個讀研究所時所解決的問題,那時還滿自傲的,畢竟在讀土木的同學中,還沒看到有人會解。

那是一個解決鋼筋裁切的廢料量最佳化所衍生的難題。也就是要列出一根原料鋼筋要切成工地用尺寸的組合問題,如:18公尺的鋼筋若要切成 10, 7, 5, 4, 3 公尺長的鋼筋,則有那幾種切法。

Thinker 提了一個很好的方法來計算它的組合數有多少。不過,因為我要的是有那幾種組合,所以不曉得他的方法能否套用(當然可以)。

之前,我是用 Perl 來解這個問題的,不過,程式已經找不到了,不是我沒作版本控制,那時候用的是 CVS,然而在歷經多次系統安裝, CVS 的儲存庫已經不知在那了。

所以,我用 Python 重寫這個方法。有兩種解法,第一種是用我之前的觀念來解的。第二種是昨天想的,不過,第二種卻比較沒效率。
 1 #!/usr/bin/env python
 2 # -*- coding: utf8 -*-
 3 def cut(length, k, tmp):
 4     if k == sizeslen:
 5         if length >= sizes[-1]:
 6             return
 7         else:
 8             tmps.append(tmp[:])
 9             return
10
11     comp = int(length/sizes[k])
12     for i in xrange(comp+1):
13         j = comp - i
14         tmp[k] = j
15         cut(length-sizes[k]*j, k+1, tmp[:])
16
17 from time import time
18 import sys
19 if __name__ == '__main__':
20     bar = float(sys.argv[1])
21     sizes = [float(s) for s in sys.argv[2:]]
22     sizes.sort()
23     sizes.reverse()
24     sizeslen = len(sizes)
25     tmps = []
26     tmp = [0,]*sizeslen
27     time0 = time()
28     cut(bar, 0, tmp[:])
29     print time() - time0
30     print len(tmps)

第二種:
 1 #!/usr/bin/env python
 2 # -*- coding: utf8 -*-
 3 def cut(L, x, k, tmp, num):
 4     num[0] += 1
 5     diff = L-x[0]
 6     if diff > mat[0][0]:
 7         if tmp[x[1][0]] != 0: return
 8         else: tmp[x[1][0]] = x[1][1]
 9     elif diff < mat[0][0] and diff >= 0:
10         if tmp[x[1][0]] != 0: return
11         else: tmp[x[1][0]] = x[1][1]
12         tmps.append(tmp[:])
13         return 
14     else:
15         return
16     for (i, s) in enumerate(mat[k+1:]):
17         cut(L-x[0], s, i+k+1, tmp[:], num)
18         
19 def sort_by_value(k):
20     return (k, k[0])
21
22 from time import time
23 import sys
24 if __name__ == '__main__':
25     time0 = time()
26     bar = float(sys.argv[1])
27     sizes = [float(s) for s in sys.argv[2:]]
28     lensizes = len(sizes)
29     tmps = []
30     mat = []
31     for (i, s) in enumerate(sizes):
32         comp = int(bar/s)
33         for j in xrange(1, comp+1):
34             mat.append((s*j, (i, j)))
35     mat.sort(key=sort_by_value)
36     tmp = [0, ]*lensizes
37     num = [0]
38     for (i, m) in enumerate(mat):
39         cut(bar, m, i, tmp[:], num)
40
41     print time() - time0
42     print len(tmps)
43     print num[0]

新的觀念是把需求尺寸的倍數尺寸拿來當切割尺寸。如:10公尺要給7, 5, 3, 2 來切的話,我先把需求尺寸變成 7, 10, 5, 9, 6, 3, 10, 8, 6, 4, 2 等尺寸來切,如果在切的過程,剛好又遇到擁有相同因數的尺寸則跳過,像是10公尺已經被 8 切掉了,後來又遇到 2 的話,就停止處理。

在人工演練的過程中,覺得第二種方法所跑的迴圈數比較少,然而寫成程式後,效率卻比較差,且實際的迴圈數也比較多。

== 後記 ==

這裡有最新且更有效率的解法。

2007年12月13日 星期四

各位天才們好!


經專家證實,來我 Blog 的讀者個個都是天才,口說無憑,有圖為證。

太陽底下沒啥新鮮事

昨天還很高興能想到把兩種數學模式併在一起計算,應該可以有更高的效率及最佳的解答。

結果,今天試了一天,發現了一些難點,在心灰意冷下,找了一下舊期刊,竟然發現我的想法根本不值一晒,那篇期刊還是 1997 年的,模式也定得比我好,只差在我的電腦比較棒。

本以為沒人知的絕佳妙計,沒想到,早被淘汰了。心傷呀! 這世界的人實在太多了。

2007年12月10日 星期一

「交易明日」運作模式

= 緣起 =

看到 http://nccu.swarchy.org/ 這個網站的運作方式,覺得實在是太有趣了。也興起作類似網站的作法,但目標與該網站不同。

= 新網站的目標:'''好玩'''、'''建立可賺錢模式'''、'''預測''' =

把期貨觀念應用在時事上是相當有趣的,這個應用下,可以建立一個三方(網站經營者、期貨合約建立者、使用者)都賺錢的長久運作模式,而「預測」只是網站運作的的附加產品。

= 為什麼要再建立一個與 http://nccu.swarchy.org/ 相類似的網站? =

沒有「失去」,又如何讓「得到的」是珍貴的。在「未來事件交易所」中,使用者再這麼交易,所失去的最多是時間而已,如此「不痛不癢」的懲罰,是讓使用者的決策沒有品質,所以在這樣交易環境下,得到的成交資料及預測結果其真實性有待提昇。要讓數據真實反映市場,就得讓使用者當一個理性的投資者/投機客。

而且,「未來事件交易所」的期交模式為了套用行為預測的框框所以與正常期貨交易觀念有些許不同,所以我要修正「未來事件交易所」的期交模式。

主要的修改方式是將現行的買賣權交易制度引進來,再作一點點的改變,並在商品部份更換為「政治未來事件」、「體育未來事件」、「影劇未來事件」及「其他未來事件」。

= 未來事件的新期交制度 =

新期交制度乃簡化真實社會中的期交制度,最大的差別在期貨商只從事「期貨合約的建立及結算」,並從中獲取一半的手續費,而原本為使用者下單的工作轉由期交所負責。

= 交易時段 =

即時撮合時段為台北股市有交易當天的 18:00~23:45 ,讓交易者不要太晚睡,也不要影響白天工作。其餘時段,仍可下委託單,但不進行撮合,也不提供「最佳 5 檔」資訊。
....
....
....

本文不開放回應,若要進一步閱讀或回應,請到 http://ptrac.hoamon.info/wiki/TradeTomorrow
修改帳號為 www.hoamon.info
密碼為 demo

2007年12月4日 星期二

對手滿壘,卻不能掉分的戰術


2007亞錦賽中日之戰在前六局十分精采,陽建福可媲美達比修,然而到了第七局就結束了,不過,算了,輸了,我也不會怪任何人的。

不過,我倒有一個策略,是在對手滿壘非二人出局,且己方又不能掉分的佈陣戰術想說說。

那就是讓一、三壘手趨前,大約站在一壘與本壘中間及三壘跑壘員前三步,而右外野手往前到一、二壘之間防守,二、游略往左邊防守,中左外野手略往右前方補位。如此一來,可大幅降低對方強迫取分的威脅。

當然,這種戰術是用在完全不能失分的狀態,如9局下雙方平手時,或是這次中日之戰不能再丟分的情況下。

2007年12月3日 星期一

投資不只是「錢滾錢」而已

在研究所時,想要鑽研的是財經方面的研究。不過,你知道的,結果並不是。

一直對數字很有感覺/興趣,所以當初在接觸股票時,對除息、除權、本益比、營收、融券比…等一大堆數字可是樂在其中的。不過愛鑽研不等於會賺錢,要不,唸台大電機/法律/醫科的,可是最會作股票的人。

在我賠了不少錢後,我體會到一件事:「投資不應該只是用錢滾錢的。」

從一本談期貨的書中,看到一個例子,一位大學財經教授,出了一題填空題給同學作答:

當市場趨勢(  )時,你(  )股票將可以獲利。

結果呢!大部份的學生都填了上昇/買進,只有少部份的人會填下降/賣出。這反應了大家都是習慣作多,而作多者必須買進股票,所以在投資的策略上,已經輸了一半。

而事實上,一般投資者多半也只有買進的方式才能作投資,因為他手頭是沒有股票可以放空的,於是,想要投資的人就必須在市場上挑個個股或是基金作「買進」的動作,然後給它時間,期待它上漲。因為投資者只能「買進」正確的股票,也就比較不容易獲利。

實際上,一般投資者所能作的投資,也的確只能「買進」個什麼東西,而不能靠「賣出」來賺錢。像我常常接到一些銷售儲蓄壽險、期滿領回意外險的電話,這些保險公司也把保單作得像股票一樣地賣,只是它風險低、獲利低(甚至沒獲利)。

在一個市場趨勢不明朗或是走空頭時,你應該讓自己放個假,把錢好好地存在銀行中,然後不再看股票,至少銀行利率是正值而不是負值,空手也是一種投資。

但如果我繳的學費只買了「空手也是一種投資」的觀念,那這也太貴了。
*

另外買回來的觀念是:「投資自己」 以及「除了出錢,你還得出時間」。

如果你可以一個月花三千元繳錢買基金,那當然可以花三千塊去學美語、寫程式、體操…,那為什麼不這麼作呢?因為基金會漲價,但美語不會、因為錢才有複利效應,程式沒有、因為就是要賺錢,又不是要賺體操。

所以有些人對自己不好,但每個月總可以省點錢來作「投資」別人的事,既然把「資源」放在別人身上,所以自己的工作、身體也就不期待突出表現,反正等退休,基金經理人會給你「公道」的。

但是你認為一個月存 3000 元,以年利率 6% 來算,存了 30 年後你可以拿到多少,答案是 284 萬,以 10% 來算,可以得到 592 萬,這還是理想狀態喔!如果你挑錯基金的話,那就難說了。

如果是投資自己,則未來無窮,別再省那點小錢,捨棄了讓自己成長的機會,又或者投資自己後,你的未來還是那個樣,那也別氣餒,畢竟這是毀在自己手裡呀!

註1 斜字粗體刪除文字是我在股市慘賠後的心得,但是在看過效率市場理論及綠角的文章後,這一段文字已經是不對的了。

apache2 + ssl on ubuntu 7.04

和 Fedora 的設定方式稍有不同。

1. 產生認證檔案
sudo mkdir /etc/apache2/ssl
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

2. 修改設定檔案 /etc/apache2/sites-available/ssl
NameVirtualHost *:443
<virtualhost *:443>
  ServerAdmin webmaster@localhost
  ...
  ...
  SSLEngine On
  SSLCertificateFile /etc/apache2/ssl/apache.pem
</virtualhost>

3. 重新啟動 Apache 伺服器
sudo /etc/init.d/apache2 restart

2007年12月2日 星期日

我可以接受 2008 奧運棒球賽沒有「中華台北」隊! 你呢 ?

看中日之戰(2007世界盃)有點失落~ 中,我還是認為業餘就歸業餘,職業歸職業。

change 給了我更好的理由:「不要讓我們的國球到北京去給人家糟踏!」

所以這次中韓之戰( 2007 亞錦賽)輸了,我覺得沒關係!

另外附上一則新聞「馮勝賢一句話 洋基多了勝投王」來說說台灣之光到底是誰「擦」的。
Related Posts Plugin for WordPress, Blogger...