想象你是小镇邮局新上任的局长。省长布置了一个刁钻的任务:从邮局出发,走遍镇上每一户人家——每家只能进一次,最后准时抵达码头。这个“每个点恰好访问一次”的谜题,就是图论中的哈密顿路径问题。1994年,南加州大学的Adleman教授没有用电子计算机,而是往试管里滴入一管DNA溶液,让亿万“分子邮差”同时替自己找路。他成功了——这是人类第一次用分子完成计算。DNA是四字母写成的导航纸条,碱基互补是自动咬合的搭扣,试管是千万邮差同时出发的城市广场。本文从实验起源、编码原理、四步流程、并行算法、性能特性到应用前景,带你完整理解这场分子计算的开山实验。

岗位关联

理解Adleman实验,等于拿到一把钥匙:它让你看透“并行计算靠分子规模取胜”的本质,也为理解DNA存储、分子优化器等前沿AI基础设施打下直觉基础。

目录
  1. 可视化演示
  2. 实验起源:从邮局难题到试管革命
  3. DNA编码原理:四色磁珠拼出导航图
  4. 实验四步曲:从一锅高汤到唯一答案
  5. 并行穷举算法:百万邮差同时上路
  6. 性能特性:大力士的效率与短板
  7. 应用前景:从试管到未来计算
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示Adleman实验如何用DNA分子并行求解哈密顿路径问题,包含图编码、碱基杂交连接与万亿级并行搜索三个阶段。

本节配有交互动效(进入视口后自动加载,约 3KB)。

图编码:哈密顿路径问题 7顶点编码为20mer DNA序列 边编码为互补连接序列 v_i = 5end-[10mer][10mer]-3end DNA杂交使相邻顶点自动连接成路径

实验起源:从邮局难题到试管革命

想象你是一座滨海小镇新上任的邮局局长。省长布置了一个苛刻的任务:从邮局出发,把信送到每一户人家,每家只能进一次,最后准时赶到码头,不许走回头路。当小镇只有7户人家时,你可以拿纸画出所有可能路线;可当镇子扩展到70户,可能路线的数量将暴涨到连最快的计算机都算不完。这个“每个点恰好访问一次”的问题,数学家叫它哈密顿路径。

1900年前后,哈密顿把这类问题写成了“十二面体环游”猜想,后人称之为哈密顿路径问题(HPP)。它属于NP完全问题家族:检查一条给定路线是否正确很容易(沿路走一遍即可),但从零找出一条正确路线却非常难。1994年,计算机科学家Leonard Adleman却用DNA分子求解了一个含7个顶点的实例——他把每条候选路线都编码成DNA链,让它们在试管里自己“长”出来。

Adleman的实验对象是一个7节点有向图,顶点代表城市,有向边代表单向道路。他证明了这样一件事:只要信息能编码进分子,化学反应就能成为计算过程。具体来说,他为每个顶点分配一段独一无二的DNA序列,为每条边分配一个能“连接”两个顶点片段的桥梁序列。由于碱基A与T、C与G天然互补,所有片段放进同一试管后会自动配对拼接。

Adleman把“求解路径”变成了“寻找一条恰好穿过所有城市的DNA长链”。传统算法是一步步推理,他的方案是让无数分子同时把答案“试”出来——这就迈出了分子计算的第一步。

G=(V,E),V={v1,v2,…,vn}\displaystyle G=(V,E),\quad V=\{v_1,v_2,\dots,v_n\}
图G是顶点集合V和边集合E的数学模型;哈密顿路径条件要求路径经过每个顶点恰好一次。
  1. 顶点集合图论中用顶点表示城市/站点,边的集合表示道路。
    V={v1,v2,…,vn}\displaystyle V=\{v_1,v_2,\dots,v_n\}
  2. 路径约束路径P必须由顶点的一个全排列构成,每个点出现且只出现一次。
    P=vp1→vp2→⋯→vpn,{p1,…,pn}={1,…,n}\displaystyle P=v_{p_1}\to v_{p_2}\to\cdots\to v_{p_n},\quad \{p_1,\dots,p_n\}=\{1,\dots,n\}
  3. 指数爆炸枚举全部排列的时间复杂度为阶乘级,是NP完全问题难以在多项式时间内求解的根源。
    O(n!)=Ω(2n)\displaystyle O(n!)=\Omega(2^n)

DNA编码原理:四色磁珠拼出导航图

DNA像一条由四种彩色磁珠串成的项链:腺嘌呤A只能吸住胸腺嘧啶T,胞嘧啶C只能吸住鸟嘌呤G。你给每户人家发一段独一无二的“门牌号”磁珠串,再给每条道路发一个“桥梁”磁珠串——桥梁的两端分别能吸住相邻两家的门牌号,道路就被磁珠自动拼了出来。

在Adleman的设计中,每个顶点v_i被分配一段20个碱基的随机序列,序列分成前后两段,各10个碱基。每条有向边(i,j)的DNA序列前10个碱基与顶点v_i的后10个碱基互补,后10个碱基与顶点v_j的前10个碱基互补。这样顶点片段和边片段在试管中碰撞时,会因为碱基恰好匹配而“咔哒”一声结合到一起。

这种编码的精妙之处在于“桥接”:边片段像一座两头都有磁吸力的桥,一头吸住出发顶点的尾巴,另一头吸住到达顶点的头。于是任何一条顶点序列,只要沿着边的方向走,就能不断“长出”下一段。整条DNA链的生长过程,就是候选路径的生成过程。

这就是“分子拼图”的妙处——只要互补对存在,DNA链就会自动沿着“道路”拼接。设计代码的人换成了上帝造的化学键,而Adleman给出了第一份图纸。

vi=xi yi,eij=yi‾ xj‾\displaystyle v_i = x_i\,y_i,\qquad e_{ij} = \overline{y_i}\,\overline{x_j}
顶点v_i序列拆成前半x_i与后半y_i;边e_{ij}的前半是y_i的互补段,后半是x_j的互补段,形成双向桥接。
  1. 顶点拆分每个顶点序列拆成两段各约10个碱基,作为“门户”。
    vi=xi yi\displaystyle v_i = x_i\,y_i
  2. 边桥接边序列是出发点尾部与到达点头部的互补序列拼接。
    eij=yi‾ xj‾\displaystyle e_{ij} = \overline{y_i}\,\overline{x_j}
  3. 互补咬合当顶点i的尾巴遇到边的头部时,按Watson-Crick规则自动配对。
    yi↔yi‾,xj↔xj‾\displaystyle y_i \leftrightarrow \overline{y_i},\quad x_j \leftrightarrow \overline{x_j}

实验四步曲:从一锅高汤到唯一答案

做这道DNA大餐像炖一锅高汤:先把所有食材倒进锅里炖烂(混合连接),捞出骨头(PCR只留完整路线),用细筛滤出大小刚好的肉块(凝胶电泳),最后请老饕品尝确认滋味(测序)。Adleman的四步工序,本质上是一次“生成—筛选—再筛选—确认”的分离之旅。

第一步,合成与连接。人工合成全部顶点序列和边序列,混合于缓冲液中,加入DNA连接酶。连接酶把互补配对的相邻片段共价缝合,产生长度不一的DNA长链——每一条都是候选路径。第二步,PCR扩增。加入起点v_1和终点v_7的引物进行多轮PCR,只有同时包含起终点的完整路径片段被指数级复制。相当于只留下“从邮局出发并到了码头”的信件。

第三步,凝胶电泳。施加电场,DNA在凝胶中按长度泳动。正确路径长度固定为260碱基(20×7 + 20×6),切下该长度条带即可排除过长过短的产物。第四步,亲和纯化与测序。用磁性珠子依次捕获包含v_1、v_2……v_7的链,最后送测序仪读出碱基顺序,确定路径顶点顺序,完成验证。

四步曲是一层层收紧的漏斗:化学反应负责“造”,分子工具负责“筛”,最终从一锅乱麻中抽出一根能回答问题的线。这大概是最早的“用物理方法做单元测试”。

Lpath=20n+20(n−1)=40n−20 nt\displaystyle L_{\text{path}} = 20n + 20(n-1) = 40n-20\ \text{nt}
7节点实例中,正确路径DNA链长度 = 7个顶点序列+6条边序列,共260个核苷酸,凝胶电泳据此切胶。
  1. 顶点贡献长度n个顶点各占20碱基。
    LV=20n\displaystyle L_V = 20n
  2. 边贡献长度n-1条边各占20碱基。
    LE=20(n−1)\displaystyle L_E = 20(n-1)
  3. 总长度计算代入7节点得260个碱基,作为电泳筛选的标尺。
    L7=40×7−20=260 nt\displaystyle L_7 = 40\times 7 - 20 = 260\ \text{nt}

并行穷举算法:百万邮差同时上路

不妨想象你雇了一百万名邮差,给每人发一张不同顺序排列的地图让他们同时出发。有人走了几步就撞进死胡同,有人兜圈子,但也有人一路畅通直达终点。你要做的不是逐条规划路线,而是安静等待那个成功者吹响口哨。

试管中的候选分子数确实是天文数字。50微升溶液、约10^-15 M的摩尔浓度,意味着约3×10^13个DNA分子。对7节点图,完整路径至多7! = 5040种,平均每条路径有约60亿个拷贝。即使部分序列拼接出错,正确拷贝仍然大量存在,保证了最终筛选能稳定检出答案。这种“用数量对抗不确定性”的设计,是分子计算的精髓。

同时,“穷举”并不是无脑蛮干。Adleman巧妙地利用起终点筛选(PCR)、长度筛选(电泳)、序列亲和筛选(纯化)三层约束,像漏斗一样一步步把候选空间缩小到唯一答案。每一步都在烧掉一部分错误路径,最终留下的就是哈密顿路径。

电子计算机用“顺序推理”步步为营,DNA计算用“海量并行”全面撒网。以空间换时间,恰恰是穷举在分子尺度的最佳舞台——不需要聪明的规划,只需要足够的分子。

N=V⋅c⋅NA≈3×1013≫7!=5040\displaystyle N = V \cdot c \cdot N_A \approx 3\times 10^{13} \gg 7! = 5040
候选分子数N远大于路径数5040,保证每条可能路线都有海量DNA拷贝参与并行搜索。
  1. 分子总数N = 试管体积 × 摩尔浓度 × 阿伏伽德罗常数。
    N=V⋅c⋅NA\displaystyle N = V \cdot c \cdot N_A
  2. 代入数值50 μL × 10^-15 M × 6.02×10^23 ≈ 3×10^13个分子。
    N≈3×1013\displaystyle N \approx 3\times 10^{13}
  3. 覆盖倍数分子数是路径数的约60亿倍,冗余度极高,抗误差能力强。
    N7!≈3×10135040≈6×109\displaystyle \frac{N}{7!} \approx \frac{3\times 10^{13}}{5040} \approx 6\times 10^9

性能特性:大力士的效率与短板

DNA计算像一位力大无穷的搬运工:他能在同一时刻扛起亿万个包裹(并行),每送一件只消耗极少的体力(低能耗),但他的动作不快,且偶尔会走错门(误差)。理解了他的肌肉,也要记住他的笨拙。

能耗方面,DNA聚合酶每一步催化耗能约1个ATP分子(约10^-19 J),单次实验总能耗可低至1焦耳以内,却能完成10^14次以上的“评估”操作。理论能效比硅基器件高出约9到10个数量级。信息密度方面,DNA碱基对间隔0.34纳米,4种碱基编码2比特,理论存储密度约10^21字节/克,是蓝光光盘的百万倍以上。

但短板同样明显。PCR扩增每个循环都有约10^-4~10^-6的错误率,互补配对也会出现错配;人工实验操作复杂、成本高昂(合成1 Mb DNA约需数千元),且每次实验只能求解一个特定问题。它不像通用计算机那样可以随时改写程序,更像是为某个问题定制的“专用协处理器”。

大力士的优点在于“大”——大规模并行、大容量存储、低单位能耗;短板则在于“不够准、不够快”。理解这些,才能理解DNA计算最适合扮演“特定任务专家”而非“通用电脑”。

EDNA∼1019 ops/J,CDNA∼1021 B/g\displaystyle E_{\text{DNA}} \sim 10^{19}\ \text{ops/J},\qquad C_{\text{DNA}} \sim 10^{21}\ \text{B/g}
DNA计算的理论能效与存储密度均比硅基器件高多个数量级,这是它最令人兴奋的两张王牌。
  1. 能效对比DNA计算理论峰值约10^19次运算/焦耳,远超硅基的10^9量级。
    EDNA∼1019 ops/J\displaystyle E_{\text{DNA}} \sim 10^{19}\ \text{ops/J}
  2. 信息密度每克DNA约可存储10^21字节,对应约1艾字节。
    CDNA∼1021 B/g≈1 EB/g\displaystyle C_{\text{DNA}} \sim 10^{21}\ \text{B/g} \approx 1\ \text{EB/g}

应用前景:从试管到未来计算

当年的邮差小车,后来发展成覆盖全国的物流网。Adleman试管里那锅DNA汤,今天也正演变为一个个产业级应用:从冷数据的高密度存档,到分子级别的组合筛选和体内诊断。

DNA存储是走得最远的方向。二进制数据被编码成四进制碱基序列,写入靠DNA合成,读取靠测序仪。微软、哈佛等团队已实现GB级数据写入与读出,理论密度驱动着“一克DNA装下整个互联网”的愿景。分子优化器方面,DNA链置换反应网络可以构建求解SAT、最大团等问题的分子电路,实验室规模已支持数十变量的组合优化。

更前沿的是混合计算架构:硅基芯片负责逻辑控制和精算,DNA模块负责高并行预处理。DNA折纸、酶逻辑门、微流控芯片的组合,正在孕育“试管计算机”的原型。Adleman实验作为第一块基石,让后来者知道分子计算不是天方夜谭,而是一条可被工程化的道路。

从送一封信到经营全球快递网,DNA计算正在从论文走向工程。Adleman实验就像第一张物流线路图,让后来者的每一步都有据可依。

Cstorage=2 bits0.34 nm≈1021 B/g\displaystyle C_{\text{storage}} = \frac{2\ \text{bits}}{0.34\ \text{nm}} \approx 10^{21}\ \text{B/g}
每个碱基对编码2比特,相邻碱基间距0.34纳米,折合质量密度即每克约10^21字节。
  1. 碱基编码容量A/T/C/G四种状态可编码2比特信息。
    b=log⁡24=2 bits\displaystyle b = \log_2 4 = 2\ \text{bits}
  2. 线性密度DNA双螺旋中相邻碱基对间距0.34纳米,每纳米约3个碱基对。
    ρ=10.34 nm≈3 bp/nm\displaystyle \rho = \frac{1}{0.34\ \text{nm}} \approx 3\ \text{bp/nm}
  3. 质量密度折算按碱基对分子量折算,1克DNA约可存储10^21字节。
    C≈1021 B/g\displaystyle C \approx 10^{21}\ \text{B/g}

AI 应用场景

DNA冷数据归档

阶段:数据存储与预处理

解决的问题:大规模深度学习训练集和日志需要长期保存,传统磁带库寿命短、能耗高。DNA存储密度高、可常温干燥保存,按Adleman实验的“编码—合成—测序—解码”链路实现归档,让冷数据“睡”在分子里。

具体案例:微软与Twist Bioscience合作,将《OK Computer》等数字文件编码为DNA后成功读回;中科院团队也在实验室中将数十GB图片数据编码存储到DNA并完整还原。

DNA编码化合物库辅助新药筛选

阶段:训练数据生成与候选分子采样

解决的问题:化学空间超过10^60,逐一合成筛选不可行。用DNA片段标记不同化合物,借并行反应一次筛选数百万级候选物,大幅压缩AI制药前期的候选命中率筛选。

具体案例:GSK等药企采用DNA编码化合物库(DEL)技术,在单次实验中完成数十亿化合物的亲和筛选,命中分子再交由机器学习模型优化迭代。

组合优化问题的分子粗筛器

阶段:推理/优化求解

解决的问题:旅行商、调度等NP难问题在数据量增大后传统算法超时。DNA反应网络能并行枚举约束组合,作为混合计算中的“粗筛器”,先输出一批候选解,再交给电子计算机精化。

具体案例:加州理工团队用DNA链置换网络求解了一个缩小版TSP,输出数条候选最短路径供传统算法二次确认。

Python 演示

python46 行
import itertools  class AdlemanDNASolver:    """模拟DNA计算求解哈密顿路径:穷举生成 + 层层筛选"""     def __init__(self, graph):        self.graph = graph        self.nodes = list(graph.keys())        self.node_count = len(self.nodes)        self.all_paths = []        self.valid_paths = []     def generate_all(self, start, end):        """模拟DNA混合:生成所有满足起终点的候选路径"""        for perm in itertools.permutations(self.nodes, self.node_count):            if perm[0] == start and perm[-1] == end:                self.all_paths.append(perm)     def verify_path(self, path):        """模拟连接验证:检查相邻节点间是否存在边"""        for i in range(self.node_count - 1):            if path[i + 1] not in self.graph[path[i]]:                return False        return True     def run(self, start, end):        """完整流程:混合生成 -> 起终点筛选 -> 连通性验证"""        self.generate_all(start, end)        self.valid_paths = [p for p in self.all_paths if self.verify_path(p)]        return self.valid_paths  if __name__ == "__main__":    city_map = {        'A': ['B', 'C'],        'B': ['C', 'D'],        'C': ['A', 'D'],        'D': []    }    solver = AdlemanDNASolver(city_map)    result = solver.run('A', 'D')    print('试管中的候选路径数:', len(solver.all_paths))    print('验证通过的哈密顿路径:')    for path in result:        print(' -> '.join(path))
目的:用Python模拟DNA计算求解哈密顿路径——穷举全部候选排列(对应试管中DNA随机拼接),再按起终点和连通性层层筛选(对应PCR+电泳+测序)。
  1. for perm in itertools.permutations(self.nodes, self.node_count):生成所有可能的城市排列,对应试管中DNA片段随机拼接出的各种候选链。
  2. if perm[0] == start and perm[-1] == end:起终点约束,对应PCR用起点/终点引物筛选完整路径。
  3. if path[i + 1] not in self.graph[path[i]]:检查道路连通性,对应互补配对失败则无法连接的生化规则。
  4. self.valid_paths = [p for p in self.all_paths if self.verify_path(p)]综合筛选,对应凝胶电泳+亲和纯化后的最终验证。

常见误区

误区DNA用几小时就算完了7城市问题,比CPU快多了,所以未来CPU要被淘汰。

正解对7个城市,普通计算机用毫秒就能枚举5040条路径,比DNA实验快几个数量级。DNA计算真正的优势是“并行规模”:一管试剂的分子数可达10^14,能同时评估海量候选路径;但单步化学操作耗时是秒到分钟级。就像一万个邮差可能不如一个摩托车快递员送得快,但送货量上亿时差别就出来了。

为何常见:媒体喜欢把“DNA算出了NP问题”简化为“DNA更快”,忽略了实验总耗时和单步反应速度极慢的事实。

误区DNA混合后会自动拼出正确答案,不需要额外操作。

正解试管得到的只是一锅“候选路径混合物”,其中绝大多数是死胡同或错误拼接。必须依次经过PCR扩增、凝胶电泳、亲和纯化和测序,才能把正确的哈密顿路径链从噪声里逼出来。Adleman实验更像“撒网捞鱼”,而不是“自动回信”。

为何常见:化学反应的“自发进行”被误读成“智能求解”,忽略了实验报告中大量分子生物学的工程操作。

误区DNA只有4个碱基,随便写20个字母就行。

正解编码要避免长片段重复、GC含量失衡、错误交叉互补等,否则会产生大量假连接和二级结构,干扰配对。Adleman当时的序列也是经过精心选择与预实验验证的。就像邮差制服颜色太相近容易认错人,碱基序列也需要足够“有区分度”。

为何常见:直观上以为字母种类少=编码简单,实际生化结合特异性是硬约束。

误区Adleman证明了DNA可以计算NP问题,密码学要完蛋了。

正解Adleman只是对7节点实例做了原理验证。分子数量、实验操作、错误率都随节点数急剧恶化:30节点需要10^30量级的分子,远超一管试剂的物质上限。因此DNA计算并未改变NP完全问题的理论边界,只是提供了另一种物理实现。

为何常见:把“难度在资源增大时依然爆炸”误读为“有了新工具就一劳永逸”。

误区DNA计算是高能效低成本的终极计算,会完全替代电子计算机。

正解目前DNA计算在通用计算的速度、精度、可编程性上都不如硅基。它的独特价值在存储密度、特定问题的大规模并行和生物相容性。未来更可能是“DNA存储+硅基主控”“DNA预筛+电子精算”的混合架构。

为何常见:新技术的进步幅度让非专业人士容易滑向“全盘替代”的叙事。

面试题

Q1. Adleman实验首次用DNA求解了哪个经典问题?

单选题 · easy

  • A.求解七点哈密顿路径← 正确答案
  • B.求解最短送信路线长度
  • C.求解二维迷宫最短出口
  • D.求解圆桌会议座位排法

答案:A。Adleman在1994年首次用DNA分子求解了7节点哈密顿路径实例,证明分子可以编码并执行计算。B是旅行商问题,C/D与图路径问题无关。就像给7户人家发了一批能互相咬合的“磁珠地图”,让分子们自己拼着看。

Q2. DNA双链中腺嘌呤A的正确配对碱基是?

单选题 · easy

  • A.鸟嘌呤G碱基
  • B.胞嘧啶C碱基
  • C.胸腺嘧啶T碱基← 正确答案
  • D.尿嘧啶U碱基

答案:C。Watson-Crick配对规则是A配T、C配G。这是DNA互补配对的基本规则,也是Adleman实验中片段自动“咬合”的物理基础。U出现在RNA中不参与DNA配对。就像磁珠只有T能吸住A。

Q3. Adleman实验中参与DNA拼接与扩增的关键酶有?

多选题 · mid

  • A.连接酶负责缝合相邻片段← 正确答案
  • B.聚合酶负责复制扩增片段← 正确答案
  • C.逆转录酶负责反转录RNA
  • D.内切酶负责精确切割片段

答案:AB。连接酶在“混合连接”阶段把互补配对的相邻片段共价缝合,相当于胶水;聚合酶在PCR阶段复制完整路径片段,相当于复印机。逆转录酶不参与DNA到DNA的扩增;内切酶用于切割DNA,本实验不需要。

Q4. 为什么DNA分子能并行生成所有候选路径?

单选题 · mid

  • A.单链分子高速旋转碰撞
  • B.海量分子随机互补配对← 正确答案
  • C.酶催化方向定向排列
  • D.电场驱动分子加速移动

答案:B。并行性来自“数量巨大且随机碰撞”:10^14个分子中每种候选路径都有海量拷贝,同时进行互补配对。单链旋转、电场驱动都不是生成所有路径的机制。这是“海量邮差同时出发”的核心前提。

Q5. 凝胶电泳筛选所依据的主要物理参数是?

单选题 · mid

  • A.DNA分子链的长度大小← 正确答案
  • B.DNA分子链的碱基组成
  • C.DNA分子链的电性正负
  • D.DNA分子链的空间曲率

答案:A。凝胶电泳使DNA按分子大小在电场中迁移,分子越小跑得越快。Adleman用它从混合物中切出260nt的目标条带。碱基组成、电荷、曲率都不是分离的主要依据。就像筛子按颗粒大小分拣豆子。

Q6. Adleman实验中将“起点到终点”完整路径富集的步骤是?

单选题 · easy

  • A.PCR聚合酶链式扩增反应← 正确答案
  • B.DNA连接酶连接缺口步骤
  • C.凝胶电泳长度分离步骤
  • D.磁珠亲和纯化捕获步骤

答案:A。PCR使用起点和终点的引物,只有同时包含两者且结构完整的片段能被指数扩增,从而富集完整路径。连接、电泳、亲和纯化都不直接做“起终点筛选”。只有同时盖了邮局和码头章的信才会被批量复印。

Q7. 下列关于Adleman实验说法正确的有?

多选题 · hard

  • A.实验首次证明DNA可算NP问题← 正确答案
  • B.实验用分子反应代替电子运算← 正确答案
  • C.实验产出大量无效DNA候选链← 正确答案
  • D.实验完全不需要人工干预步骤

答案:ABC。实验开创了“将NP问题映射到化学反应”的先河,确实用分子反应代替了电子运算;随机拼接必然产生海量无效候选链,这正是需要筛选的原因。但实验全程需要人工介入多步分子操作,D错误。

Q8. DNA计算的“以空间换时间”具体指什么?

单选题 · mid

  • A.用海量分子换取更短求解时间← 正确答案
  • B.用三维存储换取更强的算力
  • C.用更高能耗换取更快的速度
  • D.用降低精度换取更快的反应

答案:A。“以空间换时间”指用海量DNA分子同时探索所有可能路径,换取枚举时间的指数下降。B说的是三维存储,C/D分别用能耗和精度换速度,均不是Adleman实验的核心理念。

Q9. 7节点Adleman实验中正确路径DNA长度最接近?

单选题 · hard

  • A.大约40个碱基对的短链片段
  • B.大约140个碱基对的中长片段
  • C.大约260个碱基对的长链片段← 正确答案
  • D.大约700个碱基对的超长片段

答案:C。7节点哈密顿路径DNA = 7个顶点序列 + 6条边序列,每个20nt,共40×7-20=260nt。凝胶电泳会在260nt位置出现目标条带。A是单边长度,B是部分路径,D远超正确长度。

Q10. DNA计算走向实用面临的障碍包括?

多选题 · hard

  • A.分子合成成本还相当高昂← 正确答案
  • B.反应错误率难以完全消除← 正确答案
  • C.并行搜索规模仍然有限← 正确答案
  • D.硅基计算机已完全淘汰

答案:ABC。DNA计算受限于合成成本高、反应错误率难消除、试管容量限制并行规模;D明显错误,硅基计算机仍是主流。大力士还没学会穿针引线前,我们不会让裁缝工坊全部换人。