2013年10月28日星期一

算法江湖

前段时间想到独孤九剑九式破天下一切武学,令狐冲大人只需扫一眼就能看到其他人武功中的漏洞,突然想到一个非常有趣的点子:既然利用物理学来描写武侠的思路已经有了《量子江湖》,那利用Computer Science来讲述武侠,会怎么样?于是想出了这些设定,抛砖引玉吧。

内功方面,可以回忆金庸风格的武侠对于内功的描述:内息在人体的经脉网络里流转,搬运一个周天之后内力便强上一分;那么问题就在于,为什么会有那么多种类的内功?既然都是搬运一个周天,内功不都应该是类似的么?为什么会有绝世神功和平庸内力的分别么?

既然是算法江湖,我们完全可以补充设定。人体的经脉网络由人体的那么多的穴位和一些特殊的部位组成(比如丹田)。这些穴位就是网络上的节点。那么由某个穴位到另外一个穴位的内息会产生特殊效果:穴位的不同和方向的不同可以产生的特殊效果是不一样的,而内功心法的性能和所要达成的效果就是这些内息在这些穴位之间流走然后最终循环一周所造成的特殊增益。同样,如果内息流经其他的穴位,可能会造成其他的效果。追加设定,如果内息访问的路线太长,那么在同样的时间内搬运一周天所花费的时间比其他的内功要长,那么这个内功心法的效率就比那些搬运时间短的内功心法的效率要低。这样,我们就完全可以将内功心法归化成一个旅行推销员问题:我们需要访问某些特定的穴位,请问在经脉网络里怎样安排内息的流向可以达到最优的路径呢?显然这个问题是非多项式复杂的!在武林的几千年发展史以来,无数高手大家对这个问题提出了他们自己的解,显然没有一个人能够给出一个通用的内功的算法来发展出最高水平的内功;绝世神功无非就是在某个特殊的约束下达成的近最优解。如果量子计算机成功实现了,那么旅行推销员问题有多项式时间的解法,大家就可以设计出顶级的神功了,武林就此戛然而止。

外功方面,同样的,武林高手大家设计出了一门武功,那么如何破这门武功同样可以看做是一个NP问题:不存在一个多项式时间的算法来解决这个问题。然而,令狐冲向我们证明了,我们可以在多项式时间内验证某个解的正确性。所以他在思过崖后面的山洞里看见那些邪派高手耗尽心力想出来的对华山剑法的破法,一眼就看出了这些破法是非常有效的,针对五岳剑派的武功而来;而那些邪派高手则花了毕生精力来思考这些破法。那么对于某种兵器的通用破法则可以看做是NP完全问题:这种兵器的任何一种武功都可以归约到这个破法来。

所以我们可以合理的认为,独孤九剑其实是武学上对于NP=P的证明;它的九招的每一招都是对一种兵器的NP完全问题的多项式时间算法,令狐冲掌握了之后可以在实战这个时间尺度上给出任意一种武功的破法。

从后面令狐冲实战的表现上来看,打冲虚道长的问题在于虽然是多项式时间的破法,但是P太大;而打东方不败的失败原因是P之前的系数太大,所以虽然是多项式时间,但是绝对时间尺度上还是比东方不败的出招要慢,所以对付东方不败独孤九剑并没有太有效。

泰山派的岱宗如何同样是对于其他招数的破法,但是相当于Brute Force Search,是NP复杂的,所以在实战中的实用程度太低。

2013年10月17日星期四

硬科幻与软科幻的标准

又是一个足以在任何关心科幻的论坛里可以战上十页的话题。作为一个自认的资深科幻迷(读过300+长篇应该可以自认资深了吧?),从根本而言我觉得这个问题跟“怎样的作品可以算作科幻”一样,是一个彻头彻尾的伪命题:根本就不存在一个客观标准来把科幻分成硬的或者软的,或者把某些作品划到科幻里来或者某些作品从科幻里踢出去,所以争论本身就是个没有意义的事情。但是偏偏这两个问题老是有人争,所以我反正觉得我需要磨练一下我写东西的水平,所以就这样写一篇正经东西来回答这个问题,所谓什么样的科幻是硬科幻,什么样的科幻是软科幻。

分硬软科幻的通常范式是:讲一些硬邦邦的科学理论科学技术的就是硬科幻,不太关心这些只是把这些当个背景就是的就是软科幻,按照这个理论的某些形式,完全可以按照某一篇小说里出现的某些术语的数量来判断它到底是软是硬。当然这种分类方式就跟漏勺一样漏洞百出,而且从根本而言科幻小说从来不是关于科学的;除了某些最极端的例子(比如杰弗里兰迪斯的某些篇目),科幻小说说到底只是文学形式,想要了解科学还是去老老实实读个理工科的研究生学位更靠谱一些。

所以说到底如何分软硬科幻?那么我举一个例子:

特德姜的《巴比伦塔》应该算作哪种科幻呢?

从经典分类学而言,这篇小说几乎不能算作科幻。它没有未来世界时间机器宇宙飞船人工智能外星生命。它没有使用任何技术的术语,也没有牵扯到科学理论。它发生在一个完全架空的世界里,故事背景差不多松散的建立在圣经里所描述的建造巴比伦塔的那个时代。有些人甚至认为它其实是一篇奇幻小说。

但是我看来,巴比伦塔是一篇科幻,而且是最硬的硬科幻

其实Science Fiction有另外一个名字:Speculative Fiction.推测性的文学。在我看来这个名字更符合科幻的本质。建立在某个基础上进行推测的想象世界,至于这个基础是不是现有的科学理论,这个其实并不重要。
巴比伦塔就是一篇推测性文学的杰作。它讲的并不是我们这个宇宙的科学;它所描述的,是一个在它文章中出现的自为自有的科学:在那个宇宙中,人们在巴比伦竖立起这座通天的巨塔,就是为了更好的理解上帝;这与我们在日内瓦建造LHC的意图并没有什么差别。到了最后,人们爬上高塔触摸到了天空的穹顶,想象着在这坚硬的花岗岩之上是怎样的一种情形,这正是在我们现实这个宇宙的人类仰望天空的动机:为了探索未知,想要知道在银河的那一头的世界是个什么样子。科幻也就回归到了它的经典母题:人与未知的相遇。《巴比伦塔》中的主角被上帝所创造出的他们那个世界的规律所震慑,这正是康德意义上的崇高——被自然规律的伟力和其中所蕴含的美丽所感动,人所无法获得的,超越性的力量。这种崇高的感觉的获得恰恰是人所认识到的它的不可掌握性,而只能存在于我们的心灵之中。从这个角度而言,《巴比伦塔》中所崇拜的那个上帝,更接近于爱因斯坦所说的那个上帝:斯宾诺莎意义上的自然规律之神。

在科幻中,这种人与未知的相遇时刻有一个专门的短语来概括:Sense of Wonder.当基地的序章结束,谢顿首次说出心理史学是一门为银河的未来万世开太平的数学的时刻;当读到“我的上帝,这里面全是星星”的时刻;当Neo第一次醒来,看到周围无穷无尽的营养仓的时刻;当二向箔展开,将周围的一切全部吸为二维的时刻;当士官长从坠毁的逃生仓里走出,望向天空,地平线收束为一条无尽向上的环带的时刻:这就是你的Sense of Wonder时刻。之前所无从遇见,没有经验的场景扑面而来,除了浑身刺痛的感觉和单纯的一声敬畏的“WOW”,还能说什么呢?

奇幻就极少有这样的感觉;毕竟奇幻所植根于上的正是人类的日常经验和某种意义上的神秘本能,这大概是一种种族记忆。在科幻里我们可以遇到我们所超出概念的外星人(比方说七肢桶),但是奇幻里我们只会遇到龙,或者狮鹫(老鹰的翅膀和脑袋,狮子的身体),或者异鬼(僵尸或者whatever),都是从我们这个种族悠远的神话言说中脱胎而来的。我们可以顺理成章的往下推论,其实僵尸,或者美国漫画的超级英雄主题,都是一种现代神话,商业所塑造出的奥德修斯或者瓦尔基里。而科幻,就算它借用了我们神话中的那些名字(比方说海中建木或者世界之树/伊格德拉希尔),它也把它们改造的完全不同了。

所以在这里我提出了我自己的一个分类软硬科幻的标准:讲求Sense of Wonder的就是硬科幻,对此没有追求的就是软科幻。当然这个标准从来就不是一条泾渭分明的线,我们可以看到在sense of wonder和故事里所蕴含的人类情感都非常出色的作品,比方说海伯利安,四部曲的后两部也没有太多sense of wonder时刻。厄休拉·勒吉恩在她的《变化的位面》中,科幻或者外星退到远处变成仅仅是故事背景,它既是科幻,也可以看做是某种虚构的未来民族志。

“五十亿年前,在最后一个行星核心冷却周期结束之后我们永久关掉了大陆漂移环流。就是从那时候起我们开始积累存储数据。”
我最近重读Charles Stross的《Palimpsest》。如果不是为了这种句子,谁会去成为一个科幻迷呢?

2013年10月13日星期日

中国需要什么样的科幻电影?

三体的剧本过审,看起来似乎是给长期以来国内科幻圈的某种视觉化执着注入了一针新的肾上腺素,于是大家又开始讨论,中国需要什么样的科幻电影,少不了有人呼吁说我们应该投资中国科幻电影blahblahblah。

当然这其中90%是国内科幻迷的自high。在这里首先不谈“科幻迷”这个群体在整个中国看电影的观众中占多少以及能量如何,只要认真仔细的思考,就会像我一样得到一个确定无疑的结论:

中国根本就没有能力,也不需要拍摄科幻片。

首先讨论能力问题。

从大的角度来说,科幻片属于商业电影的一个子类。只要环顾全世界就会发现,科幻片是好莱坞事实上的独家产品;其他的国家所拍摄的科幻片基本属于在剧情上营造的只是最低限度的使用特效的电影,我们可以概括的将这类电影称为“软”科幻片;当然在剧情上能达到高度也不是不能够吸引观众,中国目前的电影工业水平也能够支撑这样类型的科幻片,限制的并非是电影工业能力这样的硬条件,而是编剧和导演能力这样的软条件(诸如《Limitless》或者《源代码》这样的片子是有可能拍出来的)。当然这个软条件在中国电影工业这样一个奇葩的环境下想要达到恐怕不比硬条件简单多少。但是总是有一定的希望的,在短暂的未来中我们可能可以看到这样的以剧情和创意打动人的“软”科幻片。

但是毕竟这样的科幻片不太可能达到科幻迷所期望的那种程度,也就是好莱坞那样的高成本高收入的blockbuster类型科幻片,毕竟电影作为视觉的艺术靠的还是视觉奇观。纵观好莱坞的这种类型的高成本以视觉奇观为主要卖点的姑且称为“硬”的科幻片,就不得不得出一个结论:当前的中国电影工业根本没有支撑这样的视觉奇观的能力。

视觉奇观靠的是特效。特效并不仅仅是计算机对于那些不可能出现在现实中的场景的渲染,而首先那些场景要在人的脑袋里成形才行,这些将魔法变成现实的人就是特效的前提条件,设计师。大刘说“科幻作家需要搞清楚量子力学的原则,也要知道一杯水泼在键盘上是什么样子”,这些设计师亦如是。他们需要搞清楚太阳照射在宇宙里是什么样子,也要知道宇宙飞船的细节看起来是怎么回事。《月球》作为科幻片普遍的好评,同时大家也认为它是一部小成本的科幻片:没有多少特效,全片绝大部分是室内场景。但是这个小成本是相对于好莱坞的工业体系来说的。全片中寥寥几个月球室外场景,中国电影工业绝无可能做出来。很简单:你在中国找不出一个能将月球车设计的像那么回事的人。就算那个室内场景,你在中国也找不到一个能够设计月球基地室内的设计师。太空飞船同理。实际上这个逻辑可以外推到其他类型的电影里:中国同样没有好的战争片,你光是要他们考证当时的装备和武器就要了他们的命了。《集结号》当年拍摄的时候烟火组来自韩国,因为中国自己的烟火组做不出逼真的爆炸效果,他们只懂埋汽油包,于是我们就看到无数的中国战争片里爆炸的场景就是一个火球腾空而起,然后旁边的士兵做后空翻。

好莱坞电影工业的发展是从四五十年代起科幻片还不受重视的时候开始的。那会为了拍摄廉价的科幻电影模型和道具师们花了无数精力研究如何制作特效,尝试了各种技术,化妆,制造模型,定格摄影,微缩拍摄。直到卢卡斯拍星球大战,科幻片成了主流类型,特效才真正成了显学。然而早年间的探索并不是无用功,对于概念,艺术和工业的结合的研究一直传承下来,就算现在不再像星球大战那会用土豆代替陨石,这种精神仍然是不可或缺的。就好像拍摄2001的时候库布里克真正研究了空间站的每一个小小细节。你现在让中国的电影人去做一个空间站的内部出来,他们去找谁呢?航天一机部么?

所以有人要说了:可不可以请好莱坞的特效团队来做中国的科幻电影呢?就好比《集结号》也是请了韩国的团队一样。从现况来看,如果要延请好莱坞的团队来拍中国的科幻电影,凭借中国的电影工业链条的缺失程度,就相当于直接去好莱坞拍了一部电影。我们可以假设存在一个超级有钱的中国科幻迷,他愿意出5亿美元拍三体的电影版,那么你让中国的电影人去拍,他们连这5亿美元怎么花都不知道。只能找好莱坞去拍。这还是我假设的最理想的情况:搬字过纸的将大刘所营造的故事视觉化,我们还可以自我安慰的说,这个电影的前端(可能只剩下剧本)是中国的。如果我们继续把条件往现实情况收敛,我们要投入大量的资金拍摄一部科幻片并且要有盈利的期望,那么你就不得不承认:中国可能没有改编一本书到一个剧本的能力。从经验而言,即使以好莱坞的水平,改编剧本忠于原著的可能性(不管是不是科幻)也相当低。缩小到科幻片的范畴,这个可能性可能降到0.所以说到底,我们为什么要执着将一本科幻小说改编成科幻电影呢?就凭着它是中国人写的、你能在中文科幻里找到的最好的、我们需要一部中国科幻片?

所以你到最后能得出的结论就是中国没有能力拍摄科幻片;在短时间内也不会获得这个能力,除非电影技术出现某种革命性和根本性的变化。那么接下来就是意愿了。不谈那个最明显的问题(这个亲爱的王二先生已经讲的非常清楚了),我想根本来说,我们不需要在如今这个全球化的时代将全世界所有的东西都在自家复制一份。好莱坞的电影如今的意识形态已经很淡薄了;在中国电影这个爆发性的市场,资本不会跟自己过不去。在不久的未来,完全以中国导向为依托的好莱坞电影不是什么不可能的事情,这个品类里出现科幻片也更是正常的。君不见Pacific Rim全球票房最高的是中国市场?如果Pacific Rim2出现,向中国观众的口味偏离是完全可以预期的。可能再过10年,我们可以看到一部用大刘的作品改编的,中国投资拍摄的完全中国化的好莱坞科幻电影,在全球其他地方上映只是顺带。