type
status
date
slug
summary
tags
category
icon
password
#1 前言
SimQN项目开源在中,指导手册对想要上手做项目的人不是很友好,不知道从哪里入手。本文从「REDP」的复现入手,学习在项目中使用SimQN。
SimQN
QNLab-USTC • Updated Dec 11, 2024
#2 从零开始的实战项目
#2.1 拓扑搭建
作为对量子网络的模拟器,首先要做的当然是搭建一个网络拓扑,并在搭建拓扑的同时,配置好网络中的量子节点和量子链路。拓扑在
qns.network.topology
中有事先定义的类Topology
,类中定义好了一个拓扑要有的基本参数和方法,我们基于这个类建立子类,实现不同的拓扑结构。搭建一个量子网络需要确定这个网络中的节点数、量子链路和经典链路的配置、量子节点的存储配置等以及哪些节点之间进行相连。前面几项我们作为参数传进
__init__
,后面一项根据拓扑结构不同,连接方式不同,我们需要在build
方法中具体配置。#2.1.1 LineTopo
对于最简单的线性拓扑,我们需要前一个节点连接上后一个构成网络。所以对于类
LineTopo
,我们在__init__
中传入参数,在build
方法中实现构建逻辑,并返回一个记录节点与连接情况的元组([QNode], [QuantumChannel])
。LineTopo
完整代码
#2.1.2 WaxmanTopo
WaxmanTopo介绍
Waxman拓扑是一种随机图模型,由Bernard M. Waxman在1988年提出。在这种拓扑中,节点随机分布在二维平面上,节点之间的连接概率取决于它们之间的距离。连接概率P(u,v)由以下公式决定:
其中:
- d是节点u和v之间的欧几里得距离
- L是任意两点间的最大距离
- α和β是控制参数(0 < α, β ≤ 1)
- α参数控制长边的相对数量
- β参数控制图的边密度
在SimQN中实现WaxmanTopo时,除了基本的节点数量参数外,还需要传入α和β这两个控制参数。节点的位置随机生成,然后根据上述概率公式决定是否在节点间建立量子通道。
WaxmanTopo完整代码
这种拓扑结构能够更好地模拟现实世界中的网络连接情况,因为它考虑了地理距离对网络连接的影响。通过调整α和β参数,我们可以控制网络的连接特性,使其更接近实际应用场景。
#2.1.3 自定义拓扑
如果我们想实现一个如下图所示的拓扑:
可用如下代码实现:
#2.2 应用程序搭建
- Author:N2F7
- URL:https://www.n2f7.site/article/Quantum-Network/paper_2
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!