第一卷少年游 第八十三章变式
第一卷少年游 第八十三章变式 (第1/2页)训练营第六天上午,教室里没有试卷,桌上也没有实验器材,只有一只装着黑白塑料片的透明盒子。
负责“计算模型”课的是个很年轻的老师,姓顾,进门以后先把盒子放在讲台上,从里面抓出十几枚塑料片,一字排开。黑的朝上,白的朝上,没有任何规律,看起来像小孩子随手摆出来的游戏。他没有介绍今天要学什么,只让助教关掉前排一盏灯,然后把投影切到一段很简单的动画:屏幕最上面是一排黑白小方格,下一秒出现第二排,再下一秒出现第三排。每一排都只由黑和白构成,新的方格只受上一排附近几个格子的影响。最初十几步还像杂乱的花纹,继续往下以后,却慢慢长出了三角形、斜线和一片片重复的结构。
顾老师问:“如果我告诉你,每一个格子只会看自己和左右两个邻居,然后决定下一步变黑还是变白,你们觉得这样的系统会有多复杂?”
前排有人说:“八种情况,规则表最多八行。”
“所以应该很简单?”
“局部很简单。”
“整体呢?”
没人马上答。
顾老师把动画继续往下放。屏幕上的图案越来越大,某些区域像雪花,某些区域像织物,还有一些黑白交错的边缘不停移动,彼此撞上以后又产生新的形状。教室里开始有人往前倾。江遥最初只是觉得这些图案漂亮,看了一会儿,却渐渐忘了“八种情况”这件事。她知道每个小格子实际上什么都不会,它只是机械地按照一张极短的规则表变化,可几百行以后,人的眼睛已经很难从整体图案直接猜回那张表。
顾老师暂停动画,在屏幕上圈住一个不断移动的小结构:“它是不是像个东西?”
有人说像虫子,有人说像箭头,还有人说像一只斜着走的螃蟹。
“它当然不是虫子。”顾老师说,“每一格都没有‘往右走’这个目标,也没有一个总指挥告诉它应该往哪里去。但是你们如果只看整体,会觉得这里确实有一个东西在移动。今天我们不急着给这种现象取名字,先问一个更朴素的问题:如果世界底下只有很简单的规则,上面为什么会长出我们没有直接写进去的东西?”
江遥抬头看着那只“螃蟹”又往右走了几步。
她突然想起昨天纸袋任务里那些黑点。单独一个点没有意义,相邻关系开始变化以后,整体才出现新的状态。区别在于,昨天的数据至少还像某种实验测量,今天屏幕上的东西甚至连物理材料是什么都没有,只剩最简单的局部规则。她第一次很清楚地感觉到,一个系统的“上面”和“下面”可以像两种不同语言:下面只有黑白、左右和下一步,上面却有移动、碰撞、稳定结构,甚至有人会忍不住说“那东西在找路”。
顾老师没有继续解释。他发下一份材料,每组得到十二段动画和一张规则编号表,任务只有一句:**哪些系统在你看来属于同一种?**
简宁看到问题以后皱眉:“什么叫同一种?规则一样?”
“规则编号全不一样。”方禾把表翻过来确认了一遍,“不然这题就不用做了。”
韩思遥说:“图案像?”
沈策已经把十二段动画同时打开,很快发现其中两段肉眼看来非常相似,都有大片静止区域和少量移动的小结构。他说:“先按外观分吧。”
江遥没有反对。五个人先做了一次最直观的分类:规则产生规则状条纹的放一起,大面积快速变黑或变白的放一起,长期保持杂乱的放一起,出现稳定移动结构的放一起。这个方法很快,十分钟就分完了,但江遥看着桌上的分组,总觉得哪里不对。两段被他们放在同一组的动画虽然都“很乱”,其中一段的局部花纹不断消失,另一段却总有一些小块能保存很久;而两段被分开的动画,一段黑白比例接近一半,另一段大部分时间是白的,可里面那些移动结构遇到障碍后的反应却异常相似。
她把其中两段拖到一起,从头重新播放。
“如果颜色换过来呢?”她问。
简宁没听懂:“什么意思?”
江遥把第一段动画截图,用软件把黑白全部反转。原先看起来差异很大的两段图忽然接近了许多。她又把其中一段左右镜像,几个原本朝不同方向运动的结构几乎重合。
韩思遥说:“那你是在作弊。题里又没说可以翻。”
“为什么不能翻?”江遥问,“如果一个规律只是因为我们把黑叫黑、白叫白,或者把左叫左、右叫右就看起来不同,那它们可能本来就是同一种。”
这句话不难理解,连沈策都立刻拿出纸,把十二条规则中明显可以通过黑白互换和左右翻转得到的先圈起来。可做完以后仍然剩下七八条彼此差别很大的规则。江遥又看了一阵,把注意力从每个格子的颜色移到了黑白交界处。她在纸上画了几条短线,凡是相邻两个格子颜色不同,就在中间记一笔;颜色相同的地方什么都不记。原本密密麻麻的黑白图案这样一换,突然简化了很多:大片纯黑和纯白都消失,只剩下边界在移动、分裂、相撞。
方禾看了几秒,立刻明白了:“你不看格子,看变化发生在哪里。”
“嗯。因为大片一样的颜色有时候其实没信息,真正发生事的是边界。”
她们把几段动画都这样重画。奇怪的事情很快出现了。原来外观差得很大的两条规则,在“边界语言”里表现得几乎一样:一对边界靠近会一起消失,单个边界会按固定方向移动,两个特定结构相遇以后又会产生第三种结构。反过来,那两条一开始被放进“都很乱”一组的规则,换成这种表示以后却彻底不同,一个像不断生成又消灭的小粒子群,另一个没有任何长期稳定的东西。
江遥心里出现了一种熟悉的感觉。不是“我会做了”,而是问题忽然变薄了一层。她甚至有些兴奋地对韩思遥说:“也许我们不是在分规则,而是在分它们能长出什么。”
顾老师走到他们这组时,没有看结果,先看了江遥桌上画满短线的草稿,问她们为什么把原图删掉那么多。
江遥说:“因为我们怀疑每个格子的颜色不是最好的看法。如果只看边界,有些原来不同的规则会变得一样。”
“‘一样’到什么程度?”
这个问题让她停了一下。
她差点说“行为一样”,可马上意识到这个词太大。两条规则可能在她目前关注的几个现象上相似,却不意味着所有情况下都相同。她重新组织了一下:“至少在我们现在测试过的初始条件里,它们的边界会用相似方式移动、相撞和消失。如果换初始条件,可能还会分开。”
顾老师点了点头,没有表扬,也没有追问,只说:“那就去找一个能把它们分开的条件。如果找不到,再讨论‘同一种’。”
江遥已经习惯了训练营老师这种近乎令人讨厌的回答。每次以为找到一个结构,对方很少告诉你对不对,第一反应往往是问它会在哪里坏。可她现在已经不像一年前那样把这种追问理解成否定。一个想法如果真的有力量,最值得知道的恰恰是它能够承受多少破坏。
上午剩下的时间里,他们不断改变最初那一排黑白格子的状态。有时随机,有时全部白,只放一个黑点,有时周期性重复某个短片段。原先看起来属于同一类的两条规则,终于在一个很特殊的初始条件下分开了:其中一条会让边界彼此湮灭,最后归于平静;另一条却在碰撞以后留下一个新的移动结构,系统永远不会完全安静。
韩思遥看到结果以后叹气:“所以我们昨天白高兴了?”
“也没有。”江遥把两个动画来回切换,“至少知道什么情况下它们不一样了。”
“那到底还算不算同一种?”
江遥想了一会儿:“可能看你问什么。如果你只关心大部分随机状态,它们很像;如果你关心那个特殊结构,就不一样。”
简宁说:“听起来像耍赖。”
“我也觉得。”江遥笑了,“但可能世界本来就不给我们一个唯一分类。”
午饭时,隔壁组的人跑过来问她们怎么想到看边界。江遥一开始想解释得完整一点,后来发现最简单的说法反而最好:“像看一群人排队。如果每个人都穿一样的衣服,你不用记住所有人的位置,先看哪里从红衣服变成蓝衣服。有时候真正移动的是那条分界线。”
对方一听就懂,回去以后很快也做出了类似变换。
下午顾老师才第一次把几个专业词写在黑板上。他说,人有时会给同一件事选择不同的“表示”,有的表示让问题复杂,有的表示会让真正重要的关系露出来;如果把许多微小差异忽略,只保留在更大尺度上稳定存在的东西,就可能发现原本不同的系统会表现出相似结构。黑板上出现了“表示”“尺度”“不变量”几个词,他没有展开定义,只让大家把上午自己做过的事和这些词对应起来。
江遥抄到“不变量”三个字时,忽然想起原既白。
原既白喜欢的也是这种东西,却和她今天的路径几乎相反。他往往先寻找一个足够高的结构,希望用它把下面的细节统起来;她今天却是从十二段乱七八糟的图案出发,先看见某些局部关系反复出现,然后才试着猜,也许这些东西可以被放进同一种语言里。两个人最后都可能走到抽象,但起点和路线完全不同。
她没有立刻给他发消息,因为下午的第二道任务很快让她吃了亏。
顾老师又放出一组动画,只给最后二十步,让他们推测前面的局部规则。江遥刚看几分钟,就注意到其中几类边界碰撞极有规律,于是沿用上午的方法,很快构造出一套规则。它能解释大部分现象,也能生成几乎一模一样的移动结构。她甚至在草稿上写出了一个更简洁的版本,只需要四种有效状态,比原来的黑白格子描述还短。
第一次测试通过。
第二次也通过。
第三次,助教换了一组初始条件。
她的模型崩了。
不是差一点,而是几十步以后完全走向另一种图案。江遥最初以为是某一条碰撞规则遗漏了,补上以后又失败;再补一条,前一组测试反而坏掉。她盯着屏幕看了很久,终于发现上午那套“只看边界”的方法在这里丢掉了一个重要信息:两个看上去完全相同的边界,如果它们过去是由不同过程产生的,下一次碰撞的结果可能不一样。
换句话说,系统不只在乎“现在长什么样”,还偷偷记着“它是怎么走到这里的”。
这个发现让江遥有些懊恼。她上午刚刚因为找到更好的表示而兴奋,下午便亲手证明那个表示并不完整。更糟的是,她一开始还试图不断补规则,把失败塞回原来的框架,而不是尽快承认自己丢掉了信息。
(本章未完,请点击下一页继续阅读)