Introduction to Computer Theory – Daniel I.A. Cohen

9788126513345_1

在很多大學中,電腦系不是附屬於工程學院,便是附屬於科學院。我以前讀的大學很奇怪,電腦系是附屬於數學院,當年我不明白原因,電腦可以用來計數,但電腦和數學有什麼關係呢?我是讀電腦工程系出身的硬件人,當年與電腦科學的同學談起,聽他們說電腦理論很難明高呼救命,天真的我以為讀電腦科學不就是學寫程式嘛,有多難?直至很多年以後,某次去印度工幹買了這本《電腦理論入門》,丟在書架上又過了幾年,然後某天心血來潮打開來看看,前後繼繼續續花了兩年多才看完,終於我明白原來電腦理論不等於電腦,而是數學上如何械械式解答問題的定律。

這本Daniel I.A. Cohen的《Introduction to Computer Theory》,是電腦理論的經典課本。某種意義上,這本書非常沉悶,全本書就好似中學讀數學不停學proof。從最簡單的regular expression開始proof,一路到finite automata,到context-free grammer和pushdown automata,最後就是頂頂大名的萬能電腦原形Turing Machine。證明什麼類形的電腦可以接受什麼類形的language,某notation又可以如何與某graph等同互換。最精彩的章節是詳細解釋Turing Machine,以前上堂聽過這個term,記得教授說過TM是萬能電腦,看完這本書後,終於明白為什麼TM可以計到任何可以計得到的數,即可以解答任何能找出答案的問題。再一次佩服Alan Turing的天材,TM的構造極其簡單,可是沒有任何機械能超越TM的解題能力。

最初開始讀這本書時,我不明白language同電腦有什麼關係,不就是一串串不同的string,起個state machine去判斷一個input是否屬於language之內,程序上是有點麻煩不過也不是很複雜,要用咪call library囉。去到context-free grammer開始看到有點關係,至少寫compiler的第一步就是要parse個syntax tree。一直以無比的耐心閱讀著,逐步逐步follow書中的proof,然後有一天開竅了,忽然間看到language和solve problem之間的關係,任何能夠解答的問題都是一個數學題,電腦就只是從機械化地處理input,然後給一個output的系統,output可以是答案,但更多時間只是一個yes/no answer,又或者更基本的halting problem。找出一個問題的答案,只是最表面那層,找出一問題有沒有可能有答案,如果有答案的話,有限時間內能否找到,那些bounding的meta問題,才是電腦理論的核心。至於如何寫個行得快些慳位些的algorithm去解題,已經是應用層面上技術性的次要問題。

若果不打算理會那些proof,這張圖表大慨是全書內容的總結。老實說那些proof讀完大部份都忘記了,能夠記得大慨就只有這圖表的內容。不過讀proof的最大得著,是讀proof會潛移默化你腦袋的思路,看完知道的東西和未看差不多,但再遇同類問題時會有一份直覺。

初版pdf下載,我看的是第二版實體書。

幼女戰記

很少可有動畫,在我看完第一集後,已經令我一頭栽進去,急不及待找漫畫追看後面的故事。看完漫畫版的最新連載後,依然意猶未盡,繼續一口氣看輕小說一去。可惜我不慬日文,輕小說的中譯本只出版到第五卷,如果我懂日文的話,恐怕我會連原文也照啃下去。平心而論,《幼女戰記》」算不上是一套上乘的作品,甚至乎設定有點亂七八糟。這本輕小說,說穿了是一個軍事宅作者,寫給軍事宅讀者看過癮過癮。幼女只是賣萌的包裝,實際上內容完全不萌不頹,是一本非常硬派的空想軍武小說。

故事背景是近年很流行的異世界轉生,中年軍武宅大叔轉生去一次大戰前的平行世界,運用現代軍事知識打遍天下無敵手。大叔心配蘿莉面孔非常惡趣味,看見蘿莉模樣蘿莉聲音,說著發自大叔內心的冷血台詞,這個反差怎樣也萌不起來,不過倒別有一番黑色幽默感。故事中什麼X存在,主角要反抗命運等等,完全不是故事重點,不過是作者隨口嗡把空想世界合理化的藉口。貫穿整個故事作者只有兩道板斧,一是把現代戰爭理論,如制空權,超限戰等劃時代慨念,以及真實歷史的先讀攻略,放回一次大戰的假想世界,二是主角整天想著如何調回安全的大後方享福,陰差陽錯因為種種誤會,總是把她送回戰鬥最激烈的前線。

《幼女戰記》雖說是魔法配現代軍事風格,空想世界中幼女便屬於魔導士的兵種。不過劇中魔導士不外是台火力較猛的戰機,除了因劇情需要主角偶然會放地圖炮外,一切都遵守乎合正統軍事常識,主角威能頂多讓她打贏每場戰鬥,並不足以左右整體的戰局。熟悉歐洲一戰和二戰歷史的讀者,會看得很爽,尤其歷史有如果的可能性問題非常有趣。小說去到第二卷過後,作者索性把一戰和二戰撈亂來寫,甚至懶到把歷史名將,如載高樂,隆美爾等人,搬過來照直用。

動畫版的作畫時好時壞,有幾場空戰畫面流暢精彩,空中纏鬥鏡頭運用非常出色。不過動畫版的人設實在令人莫名其妙,主角幼女倒也沒有什麼,最多人咎病是副官的臉相,從漫畫版華麗的軍裝美少女,變成動畫版的智障大眼妹模樣。至於其他男性角色的設定,相信沒有人會去理會。小說原文很多長篇大論的政治和軍事知識,動畫全部刪掉有點可惜,不過那些東西照拍出來,恐怕會悶死非軍武宅的其他觀眾。原著中很多微妙的誤會,動畫版完全拍不出那份讓觀眾會心微笑的感覺。反而漫畫版取得很好的平衡,小說中要花幾版紙說明的硬軍事知識,在漫畫配上插圖和解說後更清楚易明,真是一幅圖畫抵得上一千字。

這套動畫軍武宅一定要看,更要看漫畫和輕小說,因為這套作品是為我們度身訂造的。至於對軍武沒有興趣的朋友,老實說我不肯定你會得明多少。看不明白就不能理解本劇的精萃,不知就裏的以為是一大堆巧合和超展開,熟讀歷史的朋友一看便看懂出處。

終末的伊澤塔 Izetta: The Last Witch

傳統的魔女一般是騎著掃把飛天,《終未的伊澤塔》中的魔女,卻是騎著機關炮飛天。光看這個魔法結合現代軍事的組合,便足以引起我觀看的興趣。《終末》的舞台發生在二次大戰的架空平行世界,除了國家名稱和人物是虛構外,基本上可以完全代入現實世界的歷史中。德國在吞併了東歐和法國後,向中立向小國(看地圖應該是瑞士)發動侵略,落難公主喬裝潛逃,去遊說同盟國出兵。半途公主被德軍俘虜,解放命中註定一對的最後之魔女,然後上演一齣魔法大戰飛機坦克的好戲。動畫前半部魔女大開無雙,現代軍隊在她面前不堪一擊。看魔女騎著機關炮和戰機纏鬥,揮手把中世紀的刀劍從天而降打坦克,小國在德國的大軍壓境下,憑魔女一人的戰力反敗為勝,看得很爽很過癮。公主和魔女百合放閃亦是賣點之一,這套動畫很希奇地沒有男主角,男性角色在劇中的主要用途,似乎只是用來護花送死。

魔女義名上掛名主角,不過她倒像是劇情工具,就如機械人動畫中的機械人一樣。她基本上只一個心地善良的少女,曾經被小時候的公主救了一命,於是回來報恩。公主才是真正的主角,她角色的描寫意外地立體,非常討人歡喜。不論是她遊說列強出兵抵抗德國入侵,演講鼓舞戰場上戰敗的士兵,父主駕崩後擺平國內勢力,到介紹魔女出場的公關表演,充分展現出小國領導人的政治智慧。故事描寫她的雄才大略之餘,亦不忘展現出她少女應有的感情,會與魔女,女侍,護衛一起偷走出城堡到街上吃蛋榚。公主寧可亡國也不願驅使魔女當兵器來用那一段是神來之筆,觀眾也分不清到底她是天生好人,還是她城府極深超級攻心計。心底裏知道若魔女不願意,一國之君不可能命令魔女做事,只有用愛才能讓魔女心甘情願為她賣命。

動畫一季播完,故事主線很王道,四平八穩,工整但欠缺驚喜,不過倒也看得很舒服。後半部德國的複製白之魔女出場,演變成黑白魔女大對決,過程有點展超開,太過多巧合的裏設定。不過總不成一直讓主角開無雙,最後小國打贏列強統治全世界,所以只能弄個與主角能力相若的宿敵出來。故事中白之魔女的傳說寓意深詳,白之魔女愛上小國王子,在外國入侵時,用魔力保護小國戰勝敵人,然而最後魔女被王子出賣殺死,因為王子害怕他死後,沒有人能控制得住魔女。故事中列國開會討論戰況,魔女才初陣展示魔法威力的可能性,美國代表已經把列為小國與德國相同等級的威脅。終未魔女與白之魔女命運的不同,大慨是終未魔女最終耗盡魔力,在戰勝白之魔女之後,變回一個平凡人,公主永遠都不用擔心她的力量能威脅世界,故事才有一個幸福快樂的結局。任何超乎想像的強大力量總是叫人害怕,儘管力量擁有者並沒有惡意,單是力量本身帶來破壞的可能性,不得不讓人除之而後快,魔女如是,超人如是。力量擁有者為什麼沒有野心,不如索性自已當世界統治者,大慨如此設定故事便沒有戲唱了。

Gundam Iron Blood Orphan 機動戰士高達 – 鐵血之孤兒

高達一連幾套低齡向作品如《AGE》和《復國G》,今次回到硬派寫實軍事的風格,讓一眾老UC迷有耳目一新的感覺。《鐵血之孤兒》沒有太多舊世界的包伏,除了主角機是傳統紅白藍人面有黃色雙角外,可以說是完全沒有舊高達的影子,連武器也以實彈和實體劍為主,在《鐵血》的世界沒有光劍和死光槍(因為納米塗層讓光線武器無效化),打鬥場面很粗礦狂野,節奏感很強,看得很爽。

若果不是第二季後半劇情暴走,主角群(特別是金毛)的忽然智障,《鐵血》幾乎可以升上神檯,成為與Wing並列的劃時代作品。故事有別於傳統的聯邦大戰自護式的全人類戰爭,主角是一群命賤的少年傭兵,陰差陽錯接下護送革命少女到地球的任務,然後人在江湖身不由已,只能一直向前行,最後被迫上絕路。機體和主角威能的設定很有特色,不再是鬼扯的新人類精神力量和無敵試作機。故事世界中的科技發展,自末日戰爭以來停滯了三百年,主角的高達是出土文物,比新機體優勝之處只是搭載了人腦直連系統的黑科技。人腦直連手術成功率低,末日戰爭後被政府被禁止使用。孤兒的性命不值錢,可以用來進行人腦直連手術的實驗,手術成功便送去當傭兵,手術失敗變了癈人便由他自生自滅。

《鐵血》第一季好看的地方,是鐵華團一眾人如何爭扎求存,在絕境中打出一條生路。儘管公主要和平理性爭取火星殖民地獨立自主,鐵華團沒有什麼要改變世界的理想,他們不過是想吃一口安樂茶飯,不甘當別人完用即棄的棋子。第一季除了打戲有水準外,文戲的處理亦十分細膩。第三小隊被上司叫去送死,只有叛變死裏求生。公主在旅途中教團中小孩識字,場面不多但很有實感,知識可以改變生命。其中一集殖民星爆發工運示威,被野心家煸動變成暴動,再以此藉口出兵鎮壓,直情是現實世界政治的縮影。戲中人性刻劃很立體,就算是配角也很有生命,如肥仔的哥哥靠努力從貧民窟爬出來,過著安穩的白領生活,想法站在當權者一方,社會穩定和諧比解放受迫壓的人民更重要,對照著一無所有的鐵華團,什麼都沒有便不怕有什麼可以失去。

駕高達三日月掛名當主角,但我認為真正的主角是團長奧加。他與以前高達的艦長不同,他是鐵華團一眾兄弟的精神依靠,他所作的每個決定,都背負著鐵華團眾兄弟的命運,因為他的作戰決定,令到兄弟陣亡那場內心戲,描寫得十分出色。而今次駕高達的主角三日月,與之前的中二病高達機師完全不同層次,比同是童兵出身的00剎那和Wing希洛心理質素更高。殺人完全沒有迷惘,戰場上不是你死便是我亡。亦不曾思考戰爭的意義,那是奧加的工作。不過他整套戲除了駕高達外,沒有多少發揮,有始至終都只是奧加的劍,或者可以說他角式主要功用,是側面描寫童兵的慘況,襯托出《鐵血》世界的無情。

第一季鐵華團護送總統老伯抵壘一戰成名,又加入了老爺子的黑幫背後有大靠山,靠接保安生意理應可以過不錯的生活,雖然工作不是全無危險性,但也只限於黑社會爭地盤的小規模衝突,不是真正搵條命去搏的戰爭。然後故事就不能這樣平淡地結束,於是編劇只好扯出號角的內戰的大陰謀。第二季劇本質素急轉直下,寫不出第一季那份細緻的感情戲,變成為推劇情不斷發生新事件。鐵華團被金毛一句「火星之王」點得團團轉,甚至為什麼而打都說不清楚。第二季加入的新兵三人組,地球支部打號角的代理人戰爭,加了新元素卻沒有發揮空間。連上季性格最立體,成長最多的公主也全職當路人。

第二季前半的問題只是人物細節描寫不足,還不是致命傷,打MA那段雖對劇情沒有任何作用,至少打得熱血服務觀眾。義兄和孖辮被殺是第二季的最高點,鐵華殺死土豪替義兄復仇後,劇本便一落千丈。我其實頗喜歡主線的大橋,最後金毛起義失敗,鐵華滅團的結局。若果編劇手法高明,寫出有水準鬥智鬥力的戰鬥,最後時不與我也無奈地戰敗,不失為一個經典悲劇。金毛忽然智障,龍頭棍巴力只能看不能打,三日月忽然唔夠朱茉打,老狐狸出不停外掛滅絕魔劍,高達竟然被拿著地圖炮的雜魚打死,難怪觀眾罵聲四起。若果給我重寫後半段的劇本,我會保留滅團結局,重點是如何合情合理地讓老狐狸打贏金毛。

首先我會把起義的重點放回科技創新上,三百年來的科技沒有進步過,才是號角變成一潭死水,七星家族千秋萬代的主要原因。情況就如中世紀貴族世襲,人民沒有向上爬的通路一樣,到了文藝復興時期,科學突飛猛進,帶來新轉變衝擊舊有制度,讓有能力的精英階層取代無能的舊貴族。劇中金毛成功開發安全的人腦直連系統的手術,正正便是新科技衝擊舊思維的箭頭。人腦直連的科技本身沒有道德好壞,因為成功率太低才被冠以惡名。若手術百份百安全,每個人沒有理由不安裝這個好使好用的系統,就好似《攻殼》的世界一樣。金毛不只自己裝人腦直連,他手下起義的士兵都一起裝人腦直連。那麼他革命的王牌便不是中看不中用的巴力,而是一隊接近鐵華團戰力的精銳MS部隊。劇本可以把號角分為三派,舊七星家族是保守派,金毛是激進革命派,老狐狸只是改革派,他同樣認為應該解禁黑科技。他與金毛理念不同之處,可以改寫成金毛打算推翻號角帶來世界新秩序,而老狐狸認為號角存在對世界和平是必需的。

金毛高舉起義旗,伙同鐵華先在地球打敗七星保守派,用他們人腦直連系統應該易如反掌。然後照舊上太空,打老狐狸的月面艦隊,戰力比例照舊二比一,反正戰艦多少不是決勝關鍵,高達一向都是打MS戰,戰艦不過是運兵船。金毛出人腦連接黑科技,老狐狸便出滅絕魔劍黑科技,黑科技打黑科技,戰況不是一面倒的屠殺,而是不分高下的拉鋸戰。老狐狸先是小勝,地圖炮重創金毛的運兵船隊。但除了第一波攻其不意殺了幾台MS外,地圖炮打不到金毛靈活的MS部隊,不過在魔劍的火網下,金毛的MS部隊亦強攻不下老狐狸的陣式,鐵華團要去突破敵軍防線打開一個缺口。要保留流星號長距離狙擊的名場面,改為打中旗艦,不過老狐狸棋高一著,早料到敵方也有少量魔劍,早已改乘另一艦,旗艦放空城計當誘餌。戰況久持不下對金毛MS隊越來越不利,因為人腦直連對身體的負擔。當金毛MS隊打到接近極限時,老狐狸秘密的王牌出場,紫毛和茱莉的第二代人腦直連系統的試作機,紫毛那台用第一季人棍個腦,茱莉那台可以用小辦子個腦,早幾集求其找個機會給肌肉仔提早復仇便可。

面對新試作機金毛起義部隊兵敗如山倒,鐵華救了金毛逃回火星基地。老狐狸照舊包圍基地殺無赦,金毛走頭無路喚醒MA打算同歸盡,鐵華團則專心著草走路。金毛解封了MA便飛上火星軌道,單機殺入MS主力大部份空降了在火星地面的月球艦隊,反正巴力沒有什麼表現,送他可以單體飛出大氣層的能力又何妨。金毛打紫毛那段要保留,重點要強調新科技小型魔劍打贏三百年前最強的機體。兩機同時大破,不過金毛因為腦袋負荷過度癱左,紫毛打開巴力駕駛倉和金毛慢慢傾,最後成全金毛的遺願送他上路。火星上基本上是大混戰,三日月保護基地獨自擋MA,茱莉趁機叫軌道上的MS放魔劍殺死MA,然後舊照順手KO埋打MA打到半死的高達。戰後的劇情大致上保留,老狐狸是改革派,很順利成章接收號角,可以加多小小講他是假民主,茱莉依然當號角頭號王牌,但她的戰功是打敗MA,比打敗高達地位更崇高。至於鐵華團一眾人,因為人腦直連解禁,他們被歧視的最大原因消失了,他們再不是地底泥,反過來安裝人腦直連才是上等人。任何人也可以安裝人腦直連,便不用拐帶孤兒去安裝了,最根本的童兵問題解決了,算是大團圓結局吧。

笨大不如請我當編劇吧。