2015年3月1日 星期日

圖靈機

電腦科學界的大師Alan Turing隨著影片「模仿遊戲」重新被大眾認識。Turing所發明的圖靈機(Turing Machine)是可計算機器的一個數學模型,現代電腦的可計算能力與其等價,所以有些報導(如http://www.cool3c.com/article/89381)說他是現代電腦之父。不過現代電腦其實是基於馮紐曼架構(von Neumann architecture)設計出來的。

圖靈機把要執行的演算法(程式)嵌在其設計規則中,將要處理的資料放在紙帶(tape)上。嚴格來講,一個特定的圖靈機設計對應了一個特定的演算法,或者 說一個特定的程式。我們可以說對任何演算法我們都可以設計出對應的圖靈機來執行它的計算,但此圖靈機比較像是程式已經寫死的一台電腦,與現代可程式化 (programmable)的電腦有段距離。

Turing描述過一種概念,就是將圖靈機的設計(程式規則)編碼成字串,打印在紙帶中,再設計一個通用的圖靈機 (Unieversal Turing Machine),可讀入任何圖靈機的設計,再執行原圖靈機設計的功能。這就比較像現代電腦。不過Turing只是描述過此種概念,真正將此概念實現出來的是另外一位電腦科學界的大師馮紐曼(John von Neumann)。

馮紐曼架構設計了通用的計算單元(CPU),將要執行的程式與資料放在記憶體中。在馮紐曼架構中要執行不同的程式,只要重寫記憶體的內容即可,通用計算單元的設計是不變的。不知道馮紐曼當初是否有受到圖靈的啟發,但這兩位都是了不起的天才就是了。

第87屆奧斯卡金像獎

前幾天第87屆奧斯卡獎揭曉。雖然我私心較愛「歡迎來到布達佩斯大飯店」,這片也真的比較好看,但是「鳥人」在攝影與場面調度的技術難度與層次真的是比較高,所以 後者囊括了「最佳攝影」、「最佳導演」、和「最佳影片」算是實至名歸,並不僥倖。

「鳥人」從影片一開始有九十多分鐘是類一鏡到底,看起來完全沒剪接。鏡頭的流轉和場景的變換流暢到讓人喘不過氣來。幾場從室內到戶外,再從戶外穿 越鐵窗到室內的運鏡不知如何辦到的。這片就算不能成為經典,也一定會成為教材。可惜「歡迎來到布達佩斯大飯店」要與此片強碰。不過「最佳劇本」也給了「鳥人」我是不太服氣。「歡迎來到布達佩斯大飯店」劇本並不會比較差。

「愛的萬物論」中演「霍金」的英國男演員演技雖然的確了得,獲得「最佳男 演員」並不意外,但這部片本身其實並不好看,「模仿遊戲」比前者好看多了。後者是數學家兼電腦科學家Alan Turing的傳記電影。電腦科學界的Turing Test, Turing Machine, Turing Award都以他為名。男主角 Benedict Cumberbatch的演技不俗,片尾崩潰痛哭的一幕令人動容。

2015年2月4日 星期三

酷妹麵店

交大博愛校區後門第一家的麵店,是許多老交大人的共同回憶。這家店賣的麵料多價廉,很受到當時男大生的歡迎。更特別的是店面沒有招牌,沒有服務生,也沒有點菜單。要吃什麼必須直接到廚房向掌廚的老闆娘點,吃完了也直接到廚房找老闆娘結帳。

老闆娘素無笑意,做好了麵,會吆喝她的兩個女兒幫忙端給客人。正值國小國中年紀的女兒通常忙著看卡通,往往是心不甘情不願地做,沒有好臉色給客人看。「酷妹麵店」之名不脛而走。

當年的酷妹如今應當也嫁作人婦了,仍舊守著麵店的老闆娘兩鬢多了許多白髮,在廚房和外場兩頭忙。麵的滋味沒變,點菜的程序依然。我想起第一次來這家店,是高 三某次模擬考後,出校門口時巧遇同唸竹中的國中同班同學宇德,他領著我來的。如今三十年過去,宇德也移民加拿大十多年了,不知異國的他是否偶爾還會想起這家麵店?

2014年8月16日 星期六

蕭邦和詹森

女兒唸的女中,每年有招一班美術班,不限男女,所以偶爾會在路上看到穿著女中制服的大男生,也往往引起路人側目。

八月初學校公佈新生編班名單,美術班名單中赫然出現「蕭邦」的名字,引起大家的好奇。看名字應該是位大男生,開學後應該會被全校女生行注目禮。

這不禁讓我想到,當年在成功嶺受訓時,連上有位名叫「詹森」的同學,其人能言善道,極有異性緣。如今不知人在何方。

2014年7月20日 星期日

pdflatex 的使用

我用 pdflatex 好一段時間了。pdflatex 的優點是可以直接將 LaTex 檔案轉成 pdf 檔,省略傳統從 LaTex 到 dvi,再從 dvi 到 ps 或 pdf 的轉換步驟和可能遇到的麻煩

不過 pdflatex 要求所有的圖檔格式必須為 pdf。之前我曾寫過如何用 Visio 產生 eps 圖檔格式。用 Visio 產生 pdf 檔格式的方法如下。首先必須安裝 PDF printer driver,如 PDFill PDF&Image Writer 或 Bullzip PDF Printer,然後將圖檔用列印的方式印成整頁的 pdf 檔。最後用 PDFill PDF Tools 這個工具程式中的 Rotate or Crop PDF Pages 功能,將整頁的 pdf 檔裁切成吻合圖檔大小的 pdf 檔 (目的類似將 ps 檔裁切成 eps 檔)。

Matlab 或一些其他程式本來可以輸出 eps 檔案格式,現在則要花額外功夫將 eps 檔案轉換成 pdf 格式。網路上有各式各樣的工具宣稱可以達到這個目的。因為我要轉換的皆是 Matlab 輸出的 eps 格式圖檔,所以採用的方案是以 Matlab 的 m 檔寫的程式。只要下載這個壓縮檔並置於欲轉換檔案的目錄中解壓縮,然後進入 Matlab,切換工作目錄至此目錄,執行 eps2pdf xxx.eps xxx.pdf,即可將 xxx.eps 轉換成 xxx.pdf 檔存放在同一目錄中。

圖檔都轉換成 pdf 格式後,在 LaTex 檔案中要加入 graphicx 這個  package,並設定使用 pdflatex,如下面這列所寫的:

\usepackage[pdftex]{graphicx}

載入圖形檔的指令仍為 \includegraphics,但檔案名稱的附加檔名可以不要加 pdf。如:

\includegraphics*[width=2.6in]{xxx}

可以載入 xxx.pdf 圖檔。



Win 7 下的 Generic PostScript Printer Driver

Adobe 的網頁上有 Generic PostScript Printer Driver,在將圖檔轉成 ps 或 eps 檔時,是很有效的工具。可是此驅動程式無法直接在 Win 7 下安裝。

網路上有人解決了此問題。首先將這個壓縮檔下載並解壓縮。然後在 Win 7 中新增印表機(選擇新增本地印表機/使用現有的連接埠/從磁片安裝,選取剛剛下載後已解壓縮的 Generic_Adobe_PostScript)。安裝好後就多了一個Adobe Generic PostScript Driver的印表機了。

2014年3月1日 星期六

使用 align 取代 eqnarray

論文中常需要垂直對齊多列的式子。例如,在一連串方程式的推導過程中,希望每列的等號都出現在同一垂直位置,比較美觀。在 LaTex 中,傳統上是使用 eqnarray 指令來達成這樣的目的。

其實使用 align 可完全取代 eqnarray,而且效果更好。不過使用上需要先加入 amsmath 這個 package。即
\usepackage{amsmath}