首页

都市言情

学霸的模拟器系统

设置

字体样式
字体大小

学霸的模拟器系统: 第140章 积分、反演与迷宫的出口(求订阅求月票)

    林允宁顾不上去给身后的埃米特和玛利亚解释。
    他现在满脑子都是一个词??反推。
    他几乎是跑着穿过戈登综合科学中心的玻璃大厅,迎面撞上几个端着咖啡的博士生,也只是匆匆说了句“对不起”,便一头扎进了四月午后微凉的空气里。
    他需要立刻找到程新竹。
    电话打过去,响了很久才被接起,那头传来程新竹有气无力的声音,背景里是风声和一些模糊的人声。
    "......
    “你在哪?”
    林允宁问得又快又急。
    “克雷勒图书馆前面的草坪......晒太阳......怎么了?”
    “别动,等我。”
    林允宁挂掉电话,快步穿过马路。
    草坪上,学生们三三两两地坐着,享受着芝加哥难得的晴天。
    程新竹就躺在靠近图书馆的一块草地上,枕着一本厚厚的《分子生物学》,两眼望天,看着灰色的天空发呆,像一条被晒干的鱼。
    那股属于天才少女的活力,消失得无影无踪。
    “别躺着发呆了,有好消息告诉你。”
    林允宁走到她身边,弯下腰,挡住了她的视线。
    程新竹懒洋洋地挥了挥手,说道:
    “干嘛啦,我正在进行光合作用,别打扰我吸收宇宙负能量。”
    林允宁没理会她的耍宝,一把将她从草地上拉了起来,拽到旁边一条无人的长椅上坐下。
    “你看这个。”
    他从背包里拿出笔记本和笔,在干净的一页上,飞快地画了一个示意图。
    那是一个迷宫。
    一个只有一个入口,却有成千上万个出口的复杂迷宫。
    “这是蛋白质的构象空间,”
    他用笔尖点了点那个唯一的入口,“这是健康的、折叠正确的初始状态。”
    然后,他的笔尖在那些密密麻麻的出口上划过。
    “这些,是你用冷冻电镜拍到的几万张‘终点’快照。每一个出口,都代表一种不同的、错误折叠的病变构象。”
    程新竹看着那个图,眼神依旧没什么光彩,嘟囔道:
    “所以呢?我们让一只蚂蚁从入口进去,它在里面兜兜转转几百年都找不到正确的出口。这就是‘遍历性灾难,你不是已经知道了吗?”
    “对。所以我们不放蚂蚁了。”
    林允宁看着她,眼神亮得惊人,“我们换个玩法。如果我们已经知道了所有出口的位置,为什么不能从这些出口出发,倒着往回走,把整个迷宫的地图给画出来?”
    程新竹愣住了。
    “倒着走?”
    “对。我们不需要模拟蛋白质如何从头折叠,那是正向的‘积分’过程,是无底洞。我们要做的,是根据已有的实验数据,去‘反演”这个过程,是‘逆问题'!”
    林允宁的声音不大,但每个字都掷地有声,“这不是一个算力问题,这是一个信息重构问题!”
    程新竹呆呆地看着草稿纸上的迷宫,脑子有点转不过来。她毕竟是搞实验生物学的,对这些抽象的算法理论,理解起来有些吃力。
    “这......这不还是算吗?”
    她小声问,“倒着走就不会迷路了?”
    “当然会。所以我们需要一个罗盘。”
    林允宁在草稿纸的另一边,写下了一个数学符号:Dki(P||Q)。
    “这个叫‘KL散度’,是信息论里的一个工具,”
    他用最简单的语言解释道,“你可以把它理解成一个测量’意外程度”的尺子。它衡量的是,我们用一个假设的模型(Q),去描述真实的数据(P)时,会丢失多少信息。”
    他看着程新竹,打了个比方:
    “简单来说,我们从成千上万个‘出口往回推,每走一步,就用这个‘罗盘’算一下。如果算出来的信息损失变小了,说明我们走了;如果信息损失变大了,说明我们走错了,那就退回来,换条路再试。”
    “这样一步步倒推回去,最终就能找到那条信息损失最小,也就是概率最大,能量最省力的路径。那条路,就是蛋白质从健康到病变,最可能走的那条主干道’!”
    这番话,终于点醒了程新竹。
    她猛地坐直身体,一把抢过林允宁手里的笔,眼神里重新燃起了光。
    “我懂了!”
    她的大脑开始飞速运转,立刻用自己熟悉的生物学语言重构了这个逻辑,“你的意思是,我们不是要去从头养大小白鼠,看它最后得了什么病。而是直接解剖一万只已经得了不同病症的小白鼠,通过对比它们的基因和生理指
    标,来反推出最开始是哪个基因出了问题?!”
    “非常精准的比喻。
    林允宁笑了。
    “天啊......”
    程新竹的呼吸急促起来,她看着林允宁,像在看一个怪物,“你这个想法......简直是疯了!你把物理学的信息论,用到了蛋白质折叠上?”
    “为什么不呢?”
    "......"
    程新竹激动得说不出话,她站起身,在长椅前焦躁地来回踱步,嘴里不停地念叨着,“构象反向传播......最大似然路径......天啊,如果这个能成......”
    周围路过的几个学生,都用看神经病一样的眼神看着这两个在长椅前手舞足蹈,嘴里念叨着无人能懂的词汇的亚裔年轻人。
    最终,程新竹停下脚步,猛地转过身,双手抓住林允宁的肩膀,用力晃了晃。
    “走!现在就去干!”
    两人分开后,林允宁直接去了克雷勒图书馆。
    他在三楼找了个僻静的角落,把笔记本电脑接上电源。
    桌子上,摊开着两本书。
    一本是《Numerical Recipes in C》,另一本是David MacKay的《Information Theory, Inference, and Learning Algorithms》。
    他戴上耳机,隔绝了周围的一切声音,开始将脑中那个疯狂的想法,翻译成一行行冰冷、精确的代码。
    他没有从头造轮子,而是将之前为Aether开发的贝叶斯推断框架,进行了一次彻底的升级,将目标从“参数估计”,转向了“路径搜索”。
    两天后,算法原型完成。
    周五晚上,I-House的大厅。
    林允宁和程新竹并排坐在那台嗡嗡作响的笔记本电脑前,神情专注。
    “就用一千张图先试试,”
    程新竹显得有些紧张,双手合十放在胸前,像是在祈祷,“要是这个再失败,我真的不知道该怎么办了。”
    “不会的。”
    林允宁的语气很平静,他打开终端,敲下了一行命令:
    python pim_cc.py --data tau_subset_1k.dat --mode backward
    按下回车。
    笔记本的风扇开始发出微弱的嗡鸣声,屏幕上,进度条缓慢地向前移动。
    时间一分一秒地过去。
    程新竹紧张得不停地咬着自己的手指甲,眼睛死死盯着屏幕。
    几个小时后,当时钟指向凌晨一点,进度条终于走到了100%。
    一个Matplotlib绘图窗口,自动弹了出来。
    窗口的背景是黑色的,上面散落着上千个白色的数据点,像一片杂乱的星空。
    每一个点,都代表着一种蛋白质的“幽灵构象”。
    程新竹屏住了呼吸。
    下一秒,一条红色的细线,毫无征兆地出现在屏幕上。
    它像一个技术高超的画师,灵巧地穿梭在那片星空中,将一个个看似毫无关联的、孤立的数据点,优雅地串联了起来。
    最终,形成了一条平滑、连续、符合能量梯度下降的轨迹。
    “成功了......”
    程新竹捂住嘴,声音里带着一丝颤音。
    那条红色的轨迹,就是他们梦寐以求的,蛋白质错误折叠的路径!
    “等等,”
    林允宁没有庆祝,他指着屏幕上那条轨迹的中间某个位置,“你看这里。”
    他将那部分区域放大。
    只见在那段平滑的轨迹上,有一个极其突兀的“尖峰”。
    “这是什么?”
    程新竹凑了过去。
    “能量势垒。”
    林允宁调出了轨迹对应的能量变化曲线,“蛋白质在折叠到这里时,需要克服一个巨大的能量障碍才能继续往下走。
    “换句话说,这是一个能量极不稳定的‘过渡态’结构。”
    他敲了几个命令,将这个过渡态对应的三维结构单独渲染了出来。
    屏幕上,一个由无数原子构成的、结构极其扭曲的蛋白质模型,静静地悬浮着。
    程新竹看着那个模型,呼吸猛地一滞。
    “等等......这个形状......折叠片在这里发生了致命的错位......它就像一个结构上的“瓶颈'!”
    她猛地抬起头,看着林允宁,眼神里爆发出难以置信的狂喜。
    “它就是那个中间体,药物设计的完美靶点!”
    林允宁冷静地看着屏幕,点了点头。
    “而且,”
    他指着能量曲线上另外几个稍小的尖峰,“很可能不只一个。”