-
最新日志
存档页
- 2010年09月
- 2010年08月
- 2010年07月
- 2010年06月
- 2010年05月
- 2010年04月
- 2010年03月
- 2010年02月
- 2010年01月
- 2009年12月
- 2009年11月
- 2009年10月
- 2009年09月
- 2009年08月
- 2009年07月
- 2009年06月
- 2009年05月
- 2009年04月
- 2009年03月
- 2009年02月
- 2009年01月
- 2008年12月
- 2008年11月
- 2008年10月
- 2008年09月
- 2008年08月
- 2008年07月
- 2008年06月
- 2008年05月
- 2008年04月
- 2008年03月
- 2008年02月
- 2008年01月
- 2007年12月
- 2007年11月
- 2007年10月
- 2007年09月
- 2007年08月
- 2007年07月
- 2007年06月
- 2007年05月
- 2007年04月
- 2007年03月
- 2007年01月
- 2006年12月
- 2006年11月
- 2006年10月
- 2006年09月
- 2006年08月
- 2006年07月
- 2006年06月
- 2006年05月
- 2006年04月
- 2006年03月
- 2006年02月
- 2006年01月
- 2005年12月
- 2005年11月
- 2005年10月
- 2005年03月
分类
功能
Monthly Archives: 09月 2010
Hello world!
Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!
发表在 Uncategorized
1条评论
09/05/2010 诺兰就是一码农——《Inception》观后感
《Inception》的故事没啥好难理解的,用多线程程序递归调用来解释就很OK。 梦中梦的设计就是递归调用,每进入一层梦境就是call stack的下一层,重新进入一层新的梦境会获得比上一层梦境更多的运行时间。而这个世界的设计中显然缺乏类似标志位(图腾勉强算是一个‘全局’标志位)区分梦境与现实,或者异常中断的机制让梦的主体直接返回现实(死亡跳出只在末端梦境有效,并且只在现实主体仍存在意识的情况下有效,否则参见斋藤),所以Nolan在影片中设定每一次入侵梦境时都有一个独立的筑梦人。 筑梦人的作用是设计这层梦境的世界(可有其他的筑梦人协同设计,如Ellen,在第三层雪地城堡里加入了一段通风管道,这条管道不是Eames的梦境 设计)并负责同步唤醒其他盗梦者,带有筑梦人的梦中梦这个过程实际上是迭代,每筑梦人是该层梦境调用下层梦境的调用点,但不参与下一层梦境的活动。因为如前所述,梦中梦递归缺乏足够 的异常跳出条件(死掉即中断末层调用),梦链越长,末端梦境越不稳定。 梦中梦的递归可以实现,即盗梦者同时也是筑梦人。证明是,Cobb在他人梦中仍可带入他的潜意识,Cobb和他老婆反复进入多层梦境而两人都 是意识的主体,而不是对方形象的投射。但是那样缺乏独立的筑梦人同步引导的调用存在一个致命的危险,如果上层梦境中的实体被消灭,该层梦境的盗梦者可能就无法返回 梦的call stack而变成limbo状态。 如果类比,这就像多线程的多层递归调用一样,对每次新的递归调用都fork一个新线程,假设下一层调用正在运行时,而上一层线程被强行kill掉,那么下 层调用的结果就无处返回了。放电影里这就是游荡在潜意识边缘的Limbo状态。由此可见,Nolan的Inception世界没有Garbbage Collection(GC)机制。 Limbo就是Zombie进程。 并不是所有的梦主都不能进入下一层梦境,在每一层梦境留下一个负责同步唤醒的梦主是出于安全的考量,避免其他进入下一层意识空间的盗梦者因为找不到返回上一层的路而迷失在limbo中。 每一层意识空间之间的“梦链”不能断,这也不是绝对的基本设定,还有种例外就是盗梦者可以找到返回上层意识空间的路径,即“记得梦是如何发端的”,Cobb 夫妇在做梦中梦实验的时候,他们两个人都是以拥有自我意识的主体进入多层梦境,这可以说明两人并没有留下其中的一个作为彼此上层意识空间的“梦主”,而是进入了只有彼此的意识空间。 当然这种不设独立筑梦人的多层梦境非常危险,因为没有人可以作为同步跳跃的参照来告诉进入梦境的人他现在是在第几层梦境,身边的世界是现实还是梦境。影 片中提到过Cobb夫妇曾经在梦的世界里游荡了50年的时间(那只是做梦者的心理时间,现实世界也许只是一个下午),返回现实的时候已经是“苍老的灵魂回到年轻的 躯体,因而分不清现在所处的世界是现实还是另一个梦”,说的就是他们从limbo状态返回时的那种非真实感。而所谓limbo,并不不是绝对的无路可回, 而是找不到返回上层梦境和现实的一种迷路状态。 最后说一下Cobb和他老婆卧轨那一段。Cobb夫妇发现了在最末端的意识空间结束生命可以返回上一层“现实”的时候,已经是n度的深度梦境,在Cobb 的老婆被incept之后同意回到现实,到他们真的回到现实这期间,Cobb夫妇应该进行了多次的梦境穿越,最后把Cobb夫人搞成了神经病在现实中跳楼 自杀了。 而影片里有些语焉不详的地方就在这里,斋藤在第一层梦境调用的时候受了重伤,而在第三层失去意识陷入重度昏迷(即打开进入第四层乃至更深梦境的状 态),Cobb拯救Fischer时发现斋藤在第一层梦境已经死亡在余下的梦境中游荡,而决定去救回他的意识,那么Cobb是怎么在没有上层筑梦者同步的情况下, 返回到现实世界中的呢? 唯一的解释就是Cobb自己拥有相当于程序运行环境的GC能力,即可以在Limbo中找到返回最初梦的发端。 虽然说用“主角Cobb是个盗梦者的例外”的来解释Cobb最后为什么可以在Limbo空间中找到斋藤而安全返回现实听起来非常扯。而没有“梦主”的Cobb夫妇进入多层梦境似乎也违背了影片中“梦主是必不可少的”这一基本设定。 但是似乎也没有别的更好的解释,影片里导演都让Cobb自己说了——“我就是全世界最厉害的盗梦者”——好吧,算你牛逼,谁让你是主角呢?