電影訊息
關鍵下一秒--Next

预见未来/惊魂下一秒/关键下一秒

6.2 / 166,508人    96分鐘

導演: 李塔瑪何瑞
編劇: 強納森漢斯林
演員: 尼可拉斯凱吉 茱莉安摩爾 潔西卡貝兒 湯瑪斯科瑞奇曼 彼得福克
電影評論更多影評

AlbertLee

2009-07-05 07:42:27

拍給程式設計師看的電影

************這篇影評可能有雷************

這個片子一點都不文藝。因此我很喜歡。因此本評論寫給程式設計師看。
這是我見過的關於「未來」「時 間旅行「一類電影中劇情最嚴密,邏輯最自圓其說的一部片子。
我懷疑編劇是個程式設計師。

首先簡單回顧下劇情:主角起初可以預見到兩分鐘內的未來情況,因此可以提前趨利避禍。後來他為了遇到了一個命中注定的女人,去尾行(tail)跟隨她來到了大峽谷。他發現和這個女人在一起時,他可以預見到更遠的未來。後面的劇情,就是被一些沒看懂的人大罵被耍了的情節:主角預見到比較遠的未來,在未來,他又不斷產生各個分支去搜索各種結局,最後這條路徑還是無法找到最優解(其實是獲得了一個最差的結果,全都死掉了),因此在電影的最後,整條搜索分支都回溯回遠點。

顯然,他運用了遞歸的能力。這一點在電影的高潮,碼頭倉庫一段體現的最淋漓盡致:他在每條岔路口都遞歸的去搜索。這個情節簡直可以拿來放到電腦算法課上當課件用了。

其實在電影的最後,主角選擇了和政府合作共同打擊黑惡勢力,還很狗血的說了幾句挺哲理的話。但這就是結局嗎? 醒醒吧,這是編劇照顧文藝小資們的情緒故意賣的破綻。誰家用遞歸寫個深度優先的搜索會只搜索一條分支呢?!

而那句很狗血的話:關於未來的一個特性就是每次你看著他時他會改變,因為你看著他了。
這分明是對side effect 的批判嘛,在另一部偉大的電影butterfly effect 中也有對 side effect 的深刻批判。因為有了副作用,程序的行為將變得不可預知,程序的正確性驗證也就無從談起。這是主角對純粹函數式開發的深切呼喚。

通過FP還有另一個好處:並行
關於這段搜索的情節,有幾點值得主義的:他同時並行執行了多個搜索任務。但是在電影裡,又似乎不是純粹的並行,因為其他的搜索分支會知道之前的搜索結果,進行剪枝。這算是搜索最佳化。


關於遞歸,大家基本上都認同吧。那麼為什麼起初主角只能預見兩分鐘,而後來尾隨了一個mm後就人品大爆發了呢?真相就是他開始」尾遞歸」了。

關於電影名 「next」 。 這是表示疊代中止,跳轉的語句。

另外,關於未來的計算,未來的過程,大家想起點什麼來沒??continuation。

think about it. 為了宣傳FP的思想,老美居然拍了部電影,真是寓教於樂阿。

評論