基于可编程光子芯片的NP完全问题实现方法
文献发布时间:2024-04-18 19:58:21
技术领域
本发明涉及一种光子芯片应用领域的技术,具体涉及一种以光子作为信息载体,内部架构可以重新设置,实现对不同NP完全问题高速求解的集成光子芯片。
背景技术
随着问题规模的扩大,NP完全问题的解空间指数增长,这导致即使是面对中等规模的问题仍然需要大量的计算时间,严格限制现有的传统计算机能够处理的问题规模。NP完全问题在许多现实场景如交通运输,通信,工业制造和药物设计中广泛应用,意味着高速求解此类问题有助于提高社会工作效率,甚至可能对社会的未来发展产生变革性影响-,因此迫切需要一种实用且高效的用于求解NP完全问题的新型计算机。
目前已经发展一些求解NP完全问题的新型计算架构,如:量子计算、记忆计算(memcomputing)、生物计算。这些新型计算架构通过利用不同的工作原理或信息载体来解决传统计算机所面临的困境。但是目前要同时实现高计算速度、高准确性和可编程性仍然是这些计算架构走向实际应用的主要挑战。
发明内容
本发明针对传统电子计算机求解NP完全问题所耗的计算时间成本过大,甚至无法在合理时间内完成计算的问题,DNA芯片技术无法编程、不能直接读取计算结果以及不能实现三维空间扩展的问题,提出一种基于可编程光子芯片的NP完全问题实现方法,将NP完全问题按照特定的规则映射到光子芯片上,光子作为信息载体注入芯片并在波导网络中并行演化以执行计算任务。通过发挥光子的高速传播和并行传播等特点,并结合集成光子技术的优势,基于光子芯片实现对不同NP完全问题的高速计算。
本发明是通过以下技术方案实现的:
本发明涉及一种基于可编程光子芯片的NP完全问题实现方法,通过将NP完全问题映射到光子芯片中的三维光波导网络并以飞秒激光直写技术制备光子芯片后,通过对光子芯片进行编程后将光子注入所制备的光子芯片,使光子在光子芯片内传播演化,实现NP完全问题的计算含义,最终在光子芯片的输出端直接读取计算结果。
所述的NP完全问题是指:可由非确定性图灵机(nondeterministic Turingmachine)在多项式时间内求解的问题,此类问题无法由确定性图灵机(deterministicTuringmachine)高效求解。
所述的三维光波导网络包括:可调分束模块、传递模块和汇聚模块,其中:可调分束模块将经过的光子①分别以1/2的概率沿竖直方向和斜对角方向传播至后续的模块或②全部沿竖直方向传播至下一个模块;传递模块维持经过光子的原有传播方向;汇聚模块与传递模块相连并汇聚接收到的光子,通过三种模块的组合排列实现对NP完全问题的映射。
所述的可调分束模块的前端设有若干入射端口;汇聚模块的输出端即为输出端口。
所述的映射,即将NP完全问题映射到光子芯片的规则包括:
a)在光子芯片中,总是以一行可调分束模块作为起始,即可调分束模块位于光波导网络的最前端,并与输入端口相连。其次,总是以一行汇聚模块作为结束,即汇聚模块位于光波导网络的末端,并与输出端口相连。此外,每一行可调分束模块之后均设有若干行传递模块,这些可调分束模块和传递模块合起来称作一个层级。光波导网络则由若干个上述层级构成。
b)对于涉及N个变量{X
c)不区分模块类别地,第i行模块的数量为i,其中入射端口和汇聚模块不计入排列。第3行模块的数量为3,其中该行模块为可调分束模块,第5行模块的数量为5,其中该行模块为传递模块。汇聚模块的数量与最后一个层级中可调分束模块的数量相同。
所述的可调分束模块通过三维马赫曾德尔干涉仪实现。
所述的马赫曾德尔干涉仪包括两个级联的50:50三维定向耦合器,其中:两个定向耦合器关于YZ面镜像对称,由干涉仪臂连接,其中:定向耦合器包括两个入射端、一个耦合区和两个出射端,其中光在经过耦合区时发生倏式波耦合,入射端和出射端位于不同深度、不在一个平面内。在干涉仪臂上方的相移器用于调控干涉仪的分束比,进而调控经过该模块的光子的传播方向。通过改变施加到相移器上的电流或电压,可调分束模块的反射率可以从1(全反射模式)变化到0.5(平衡模式),再变化到0(全透射模式)。当可调分束模块处于平衡模式,光子在经过该模块时分别以50%的概率沿竖直方向和斜对角方向传播。当可调分束模块处于全反或全透模式,光子在经过该模块时以100%的概率沿竖直方向传播。
所述的传递模块通过三维交叉结构实现,该三维的交叉结构包括两根位于不同深度的互相解耦合的直波导。
所述的汇聚模块通过三维Y型合束器实现,该Y型合束器包括:一根弯曲波导和一根直波导,其中:两根波导的左端互相分离、位于不同深度,位于较浅位置的波导逐渐向下方的波导靠近直至二者合并为一个整体。
所述的编程包括:切换入射端口和/或改变可调分束模块的工作模式。
技术效果
本发明通过飞秒激光直写技术将三维马赫曾德尔干涉仪,三维交叉结构以及三维Y型合束器按特定的规则进行片上集成,形成超出上述元件原始功能范围的三维光子芯片,并依托光子这一载体在三维光子芯片上实现对NP完全问题的求解。本发明采用两种编程方式,二者可分别单独使用,也可同时使用。其一,改变马赫曾德尔干涉仪的工作模式(全透、全反或平衡模式),可直接重新配置光子芯片的计算架构。其二,光子进入光子芯片的入射端口可选,切换入射端口可直接重新配置光子芯片的计算架构。
与现有技术相比,本发明技术效果包括:
1)能够在单个光子芯片上实现对不同的NP完全问题实例的求解。若光子芯片的初始设计对应的最大问题规模为N,那么该光子芯片可求解的NP完全问题实例最多可达2
2)本发明采用飞秒激光直写技术可实现集成上千个光学模块的三维光子芯片。与非电子计算机手段相比,能够对更大规模的子集和问题实现求解。
3)光子芯片在计算时间方面展现出优势。与电子计算机相比,光子芯片的计算时间随着问题规模而增长的趋势较缓。与生物蛋白分子计算相比,光子芯片在计算时间上领先若干个数量级。
4)基于飞秒激光直写技术的三维交叉结构比基于平面光刻技术的二维交叉结构拥有更小的损耗。随着问题规模的增大,交叉结构的数量不断增多,采用三维交叉结构的光子芯片在损耗方面的优势不断增大。
5)具有三维Y型结构的合束器使得位于不同深度的两个输入信号能够合束,并从单一端口输出,提升三维光子芯片的设计灵活性,并保证求解NP完全问题的可能性和准确性。
附图说明
图1为本发明架构示意图;
图2为可调分束模块的物理实现方式示意图;
图3为传递模块的物理实现方式示意图;
图4为汇聚模块的物理实现方式示意图;
图5为实施例中的可调分束模块示意图;
图6为实施例中的传递模块示意图;
图7为实施例中的汇聚模块示意图;
图8为光子芯片的编程流程图示意图;
图9为实施例中的可编程光子芯片示意图;
图10为实验装置示意图;
图11为求解子集和问题实例{2,3,5,7,11,13,17}的结果示意图;
图12为求解子集和问题实例{2,5,7,11,13,17}的结果示意图;
图13为求解子集和问题实例{3,5,7,11,13,17}的结果示意图;
图14为求解子集和问题实例{5,7,11,13,17}的结果示意图;
图15为求解子集和问题实例{7,11,13,17}的结果示意图;
图16为求解子集和问题实例{11,13,17}的结果示意图;
图17为求解子集和问题实例{13,17}的结果示意图;
图18为光子芯片求解实施例的计算时间分析示意图;
图19为交叉结构引入的总损耗对比示意图。
具体实施方式
本实施例涉及一种利用可编程三维光子芯片高速求解子集和问题(Subset SumProblem)的方法,通过将子集和问题映射到光子芯片中的三维光波导网络,然后通过飞秒激光直写技术制备光子芯片,通过片上集成的可调光学模块对光子芯片进行编程,然后将光子注入所制备的光子芯片,使光子在光子芯片内传播演化,光子的传播演化行为赋予特定的计算含义,最终通过光电探测设备在光子芯片的输出端直接读取计算结果。
所述的子集和问题是一种典型的NP完全问题,具体为:给定一个包含N个元素的集合S={X
优选地,通过调整光波导网络的入射端口和如图5所示的可调分束模块的工作模式,得到求解不同NP完全问题的光子芯片架构。
本实施例中,光子的传播演化行为赋予的计算含义为:①光子在光波导网络中的第i层级中的传播演化对应变量X
以光子从入射端口1进入,从如图1所示的输出端口32出射的其中一条路径为例。将所有可调分束模块的工作模式设置为平衡模式。光子从入射端口1进入网络,在第一层级的分束模块,以50%的概率选择竖直传播方向,竖直传播代表不进行加法操作,即相当于加0。在第二层级分束模块上,光子以50%的概率选择沿斜对角传播,并总共历经3个模块,即1个第二层级的分束模块和2个传递模块,此时对应执行加3操作。之后,光子到达第三层级分束模块,并继续以50%的概率选择沿斜对角传播,历经5个模块,即1个第三层级的分束模块和4个传递模块,此时对应执行加5操作。类似地,光子在第四、五、六、七层级的分束模块上分别选择竖直、斜对角、斜对角、竖直的传播方向,这分别代表的计算操作是:不执行加法,即相当于加0、加11、加13、不执行加法。在历经7个层级的模块后,光子最终到达的汇聚模块,并从输出端口32出射。上述过程表示对一个子集的求和,即0+3+5+0+11+13+0=32。
本实施例中的可调分束模块采用如图2和图5所示的马赫曾德尔干涉仪实现,其中的50:50定向耦合器的波导弯曲半径为50mm,耦合长度为0.55mm,耦合间距为10μm。两个5mm的干涉仪臂连接着两个定向耦合器,由金属薄膜实现的相移器位于干涉臂的正上方。第一个定向耦合器的输出端口间距和第二个定向耦合器的输入端口间距扩展到100μm,目的是增加干涉仪臂之间的温差。
本实施例中的传递模块采用如图3和图6所示的三维交叉结构实现,两根直波导在Z方向的解耦合间距为25μm。
本实施例中的汇聚模块采用如图4和图7所示的三维Y型合束器实现。
如图8所示,本实施例通过设置可调分束模块的工作模式和切换入射端口对光子芯片进行编程,从而求解不同的子集和问题实例,具体包括:
1)选择入射端口:针对端口i,光子芯片求解的子集和问题为:{X
2)设置第i层级至第N层级中的可调分束模块的工作模式,选择是否移除集合中的某个变量,从而改变光子芯片求解的子集和问题实例,包括:
①当第j(i≤j≤N)层级中的可调分束模块处于全透射模式或全反射模式时,光子在经过第j行可调分束模块时以100%沿竖直方向传播,此时不执行加法操作,即元素X
②当第j(i≤j≤N)层级中的可调分束模块处于平衡模式时,光子在经过第j行可调分束模块时分别以50%的概率沿竖直和斜对角方向传播,即元素X
对于编码N个元素的光子芯片而言,有2
本实施例涉及一种制备上述光子芯片的方法,包括:
步骤1)通过飞秒激光直写技术实现光子芯片内部的光波导网络:康宁玻璃(型号Eagle XG)作为基底,放置于高精度的自动化平移台上。经过柱面镜整形后的飞秒激光光束聚焦于康宁玻璃内部,深度范围为55~155微米。在自动化平移台的协同运动下,激光光斑在玻璃内部形成平滑的运动轨迹,激光所照射的区域具有高于原始基底的折射率,从而激光光斑的运动轨迹可形成波导。并且,芯片表面刻写三个微小的三角形标记,用于后续涉及的光波导网络和对准。所采用的飞秒激光的重复频率为1MHz,脉宽为290fs,中心波长为513nm,单脉冲能量为185nJ,平移台的运动速度为10mm/s。
步骤2)在光子芯片表面通过电子束蒸发沉积一层2nm铬和一层100nm金构成的金属薄膜,其中:金沉积于铬薄膜层之上,2nm铬直接沉积于玻璃表面以增强金属薄膜的整体附着力,使金属薄膜不易脱落。
步骤3)利用单脉冲能量为245nJ的飞秒激光,设置平移台的运动速度为5mm/s对金属薄膜进行烧蚀,形成相移器。
如图10所示,为编码集合{2,3,5,7,11,13,17}的可编程光子芯片焊接在PCB(printed circuit board)上,该芯片连同PCB整体固定于三维平移台上。芯片上的热光相移器通过PCB与外部稳压源连通。稳压源设定为恒流模式,通过调节施加电流的大小设置热光相移器的工作模式,从而使可调分束模块处于不同的工作模式。
本实施例涉及上述可编程光子芯片的NP完全问题实现方法,包括:
步骤1)将所有可调分束模块设置为平衡模式,将波长为810nm的连续激光由透镜汇聚后,通过自由空间耦合的方式进入光子芯片的入射端口1;光子在芯片内部的光波导网络中演化直至达到芯片的输出端;输出的光信号由透镜汇聚后,聚焦于CCD(charge-coupled device)相机的采集端口,实现对子集和问题实例{2,3,5,7,11,13,17}的求解。
如图11所示,为实验结果,即集合{2,3,5,7,11,13,17}的所有子集的和。
步骤2)保持所有可调分束模块处于平衡模式,并分别选择将光子从入射端口2,3,4,5,6注入,可分别实现对子集和问题实例{3,5,7,11,13,17}、{5,7,11,13,17}、{7,11,13,17}、{11,13,17}、{13,17}的求解。
如图13-图17所示,分别是对应上述实例的实验结果。
步骤3)将第二层级的可调分束模块设置为全反射或全透射模式,使光子在经过第二层级的可调分束模块时总是沿竖直方向传播,并选择将光子从入射端口1注入。此时,可实现对子集和问题实例{2,5,7,11,13,17}的求解。
如图12所示,为实验结果,即集合{2,5,7,11,13,17}的所有子集的和。
优选地,演化结果通过CCD相机的一次成像进行采集,呈现的实验结果为一行光斑,其具体按照如下规则给出子集和问题的解:在出射端口i探测到光斑表示存在对应的子集和,在出射端口i未探测到光斑则表示不存在对应的子集和,子集和的大小等于光斑所对应的出射端口的空间位置。光斑下方的数字表示出射端口的空间位置,柱状图给出在出射端口测得的理论和实验归一化光强。
理论上,任何具有非零强度的光信号都表示存在对应的子集和。而在实验中,由于不可避免的环境噪声影响,在不应该出现光信号的输出端口也可能测得非零的光强。通过对实验结果设置阈值,可以正确区分有效和无效的光信号。当实验归一化光强超过阈值,则认定为有效信号,否则视为无效信号,即噪声。认定为噪声的实验结果由白色斜线图案填充突出。阈值的设定区间由柱状图中的灰色斜条纹填充区域表示。如图11所示,阈值的上限为0.00143,阈值的下限为0.00027。
通过切换入射端口和改变可调分束模块的工作模式,本实施例中的光子芯片成功实现对多个不同的子集和问题实例的求解如图11-图17所示,证明基于本发明所提出的计算架构的光子芯片的可编程能力。此外,通过比较实验结果和理论结果可知,在针对不同实例的求解中,光子芯片均具有100%的计算正确率,且信噪比最高可超过500:1,如图15中的柱状图所示。
与几款具有代表性的电子芯片比较,本实施例中的飞秒激光直写三维光子芯片在计算时间这一性能指标上展现出优势,如图18所示,为不同芯片求解子集和问题所需的计算时间随着问题规模N增大的增长情况,左图中虚线框内的部分进一步放大并展示于右图。子集和问题中的集合S由质数序列中的前N个质数构成。
所述的光子芯片的计算时间,即光子在光波导网络的最长路径中的传播时间。其由最长传播路径的长度除以光在波导中的传播速度得到。基于本实施例中光子芯片的几何参数和扩展规律以及飞秒激光直写光波导的折射率,可求得光子芯片的计算时间。
电子芯片的计算时间定义为:求解问题所需的算术操作总数除以其每秒浮点运算次数(FLOPS,floating-point operation per second)。
如图18的左图所示,在一开始时,光子芯片的计算时间可以与2001年发布的电子芯片Intel Pentium III相媲美,但落后于在2020年和2021年推出的电子芯片Intel Corei7-11370H和i7-1160G7。然而,随着问题规模的增大,光子芯片逐渐超越甚至远远优于电子芯片。
如图18的右图所示,在求解子集和问题实例{2,3,5,7,11,13,17},即N=7)的实验演示中,本实施例中光子芯片已经超过所展示的电子芯片。具体地,本实施例中光子芯片的计算速度比Intel Pentium III快几个数量级,比Intel Core i7-11370H和i7-1160G7快好几倍。
此外,从图18中曲线的趋势来看,光子芯片在计算时间上的优势随着问题规模的增大将会进一步增强。光子芯片在计算时间上呈现出的较为平缓的增长趋势从根本上使其与任意其他电子芯片比较时仍保有优势。
与二维交叉结构相比,本实施例中的所采用的三维交叉结构引入的损耗较小,如图19所示,为随着子集和问题规模增大,光子芯片中最长传播路径所包含的交叉结构引入的总损耗的增长情况,并比较同等数量的基于平面光刻工艺的二维硅基交叉结构引入的总损耗。
如图6所示,本实施例中的三维交叉结构由两根在Z方向上完全解耦合的光波导交叉而成,该三维交叉结构引入的损耗与光波导本身的传输损耗以及结构本身的物理尺寸正相关。本发明中,单个三维交叉结构的损耗可低至0.017dB。对于单个二维硅基交叉结构,其可引入0.2dB的插入损耗。上述的损耗参数参考来自国内外处于领先水平的加工工艺参数。明显地,飞秒激光直写三维交叉结构在损耗上展现出优势。
如图19所示,本实施例中采用的物理硬件——飞秒激光直写三维交叉结构,在降低芯片能耗上远远优于二维硅基交叉结构。由于本发明中的光子芯片包含大量的传递模块,因此采用低损耗的物理硬件来实现传递模块对于降低光子芯片的能耗至关重要。
综上,与现有技术相比,本发明充分利用光子超高的传播速度和并行性以及先进的三维集成光子技术,成功实现高速求解子集和问题的演示,提供一种非冯诺依曼体系之外的、能够高速求解NP完全问题的、可编程的光子芯片。该光子芯片的计算优势不依赖量子加速。而且,光子芯片的可编程性使其具备求解不同的NP完全问题实施例的能力,提供一个可潜在求解许多NP完全问题的多功能新型计算架构。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
- 一种基于NP完全问题延伸的七爻排课方法
- 一种基于NP完全问题延伸的七爻组班方法