目录
前言
“拓扑排序”在中文里是一个科学词汇,而在英文里却代表的是两种不同领域的科学涵义,一种指的是topological sort,是计算机科学或图论领域的术语;另一种指的是topological order,是凝聚态物理领域的术语。
这两者都包含“拓扑”与“排序”,但是如果你跟一个搞计算机或图论的谈“拓扑排序”,与跟一个搞物理的谈“拓扑排序”,你会得到不同的具体解释。所以,有的人会丈二和尚摸不着头脑,搞不清楚到底“拓扑排序”是什么?是此“拓扑排序”、还是彼“拓扑排序”?
先简单说说计算机科学或图论领域里的“拓扑排序”
在计算机科学领域,“拓扑排序”(topological sort)指在一个称为“有向无环图”中给出了顶点的线性顺序。对于每个有向边 a --> b,顶点“a”先于顶点“b”。一个有向无环图至少有一个入度为0的顶点和一个出度为0的顶点。有向无环图的拓扑排序可能不止一种。例如,图形的顶点可以表示要执行的任务,并且边可以表示一个任务必须在另一个任务之前执行的约束;在这个应用中,拓扑排序只是一个有效的任务顺序。
当且仅当图中没有定向环,即有向无环图时,才有可能进行拓扑排序。任何有向无环图至少有一个拓扑排序。已知有算法可以在线性时间内,构建任何有向无环图的拓扑排序。在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,才能称为该图的一个拓扑排序:1. 序列中包含每个顶点,且每个顶点只出现一次;2. 若A在序列中排在B的前面,则在图中不存在从B到A的路径。
一种称为“卡恩算法”用于对有向无环图进行拓扑排序,时间复杂度为O(V + E),其中V是顶点数,E是图中边数。卡恩的算法涉及辅助变量:1. 数组:用于保存预处理阶段的结果;2. 变量(“已访问”):用于存储已访问的顶点数;3. 用于保存拓扑排序顺序的字符串(“结果”);4. 一个线性队列数据。计算图形的每个顶点的度数,并将它们存储在数组“temp”中。
对有向无环图进行拓扑排序主要应用在具有依赖关系、因果关系的图论问题中,也常用来确定一个依赖关系集中,事物发生的顺序。例如,在日常工作中,可能会将项目拆分成A、B、C、D四个子部分来完成,但A依赖于B和D,C依赖于D。为了计算这个项目进行的顺序,可对这个关系集进行拓扑排序,得出一个线性排序的序列,则排在前面的任务就是需要先完成的任务。
另一种拓扑排序的方法运用了深度优先搜索。深度优先搜索(Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法,是图论中的经典算法,利用深度优先搜索算法可以产生目标图的拓扑排序表,利用拓扑排序表可以方便地解决很多相关的图论问题。
深度优先搜索算法会尽可能深地搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。
再简单说说物理领域里的“拓扑排序”
在物理领域,特别是凝聚态物理领域的“拓扑排序”(topological order),指物质相在零温度阶段的一种排序,所以又简称为拓扑相、或拓扑序。
这种在零温度阶段的物质相(zero-temperature phase of matter)又被称为量子物质(quantum matter)。在宏观上,这种拓扑排序是由基态简并性和简并基态的量化非阿贝尔几何相位定义和描述的。在微观上,拓扑阶数对应于远距离量子纠缠的模式。
各种拓扑有序状态具有有趣的性质,例如(1)拓扑简并和分数统计或可用于实现拓扑量子计算机的非阿贝尔统计。 (2)可能具有重要器件应用的完美导电边缘状态; (3)新兴的标距场和费米统计表明了基本粒子的量子信息起源;(4)拓扑缠结熵,揭示了拓扑阶等的缠结起源。拓扑序在研究多种物理系统(如自旋液体)中很重要和量子霍尔效应,以及潜在应用到容错的量子计算。
所有物质都由原子构成,但物质可具有不同性质,以不同形态出现,例如固态、液体、气态、等离子态、超流体态等。这些不同形态的物质通常又称为相。按照凝聚态物理,材料的不同相特性来自其中的原子在材料组织的不同的排序方式。
朗道对称性破缺理论提供了对这些材料相变的基本认知。它指出,当材料经历相变时,是因为原子组织的对称性发生了变化。例如,原子在液体中的分布是随机的,相变后,液体可以变成晶体。在晶体中,原子组织成规则的点阵列。液体和晶体之间的相变,是将液体的连续平移对称性降低到晶体的离散对称性的转变。这种对称性的变化称为对称性破缺。因此,液体和晶体之间差异的本质是原子的组织在两相中具有不同的对称性。
朗道对称性破缺理论是一个非常成功的理论,奠定了凝聚态物理的基础,所描述的材料对科技进步产生了重大影响。例如,破坏自旋旋转对称性的铁磁材料可以用作数字信息存储的介质。由铁磁材料制成的硬盘驱动器可以存储千兆字节的信息。破坏分子旋转对称性的液晶在显示技术中得到广泛应用。破坏平移对称性的晶体会导致定义明确的电子带,这又使我们能够制造半导体器件,例如晶体管。不同类型的拓扑顺序甚至比不同类型的对称破坏顺序更丰富。这表明它们具有令人兴奋的新颖应用的潜力。
自1980年代后期以来,逐渐明显的是,朗道对称性破缺理论无法描述所有可能的相变阶段。为了解释高温超导性,引入了手性自旋态。科学家意识到,存在许多具有完全相同的对称性的不同手性自旋态,因此仅凭对称性还不足以表征不同的手性自旋态。这种手性自旋态包含了一种超出通常的对称性描述的新型排序,物理学家称之为“拓扑排序”(topological order),这种通过低能量激发手性自旋态的“拓扑排序”的有效理论,是一种拓扑量子场论(topological quantum field theory,TQFT)。
拓扑量子计算技术使用拓扑排序状态作为量子计算的介质。拓扑排序状态是具有复杂的非局部量子纠缠的状态。非局域性意味着处于拓扑排序状态的量子纠缠分布在许多不同的粒子之间。结果,量子纠缠的模式不被局部扰动破坏,这大大降低了退相干的影响。
总结
这表明,如果我们以拓扑排序的状态使用不同的量子纠缠来编码量子信息,则该信息可能会持续更长的时间。由拓扑量子纠缠编码的量子信息也可以通过将拓扑缺陷彼此拖动来操纵。该过程可以提供用于执行量子计算的物理装置。因此,这种拓扑排序状态可以为量子存储和量子计算提供自然的媒介。