ライブラリ / SDK
QNLab-USTC/SimQN avatar
QNLab-USTC/SimQN

SimQNで量子ネットワークを離散イベントとして評価する

プロジェクト概要:量子ネットワーク調査のためのネットワーク層シミュレータ。私たちの取り組みをフォローしたい場合、または使いやすい量子ネットワーク シミュレーターをお探しの場合は、SimQN を見逃すことはできません。

スター 1,040フォーク 18PythonGPL-3.0

ひと目でわかる

これは何?
QNLab-USTCのSimQNについて、アーキテクチャ非依存の設計、量子物理モデル、Python導入、研究利用の主張をREADMEから読み解きます。
誰に向いている?
SimQNは、量子ネットワークの研究者がQKDやエンタングルメント配布を離散イベントシミュレーションで試し、トポロジ、ルーティング、セッション要求をPythonから組み立てたい場合に検討できるライブラリです。Cythonによる高速化や忠実度ベースのモデルはREADMEの設計説明であり、特定の規模での性能保証ではありません。
商用利用できる?
条件付きでできます。GPL-3.0 はコピーレフトのライセンスで、これを含むソフトウェアを配布する場合、そのソフトウェアのソースコードを同じライセンスで公開する必要があります。配布せず社内で使うだけなら、この義務は生じません。
今もメンテナンスされている?
されています。最後のコミットは 41 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月19日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

SimQNが扱う研究対象

QNLab-USTC/SimQNは、中国科学技術大学のQNLabが開発するPython 3の量子ネットワークシミュレーション基盤です。READMEは、離散イベント方式で量子ネットワークを評価し、量子鍵配送、エンタングルメント配布、ルーティングアルゴリズム、資源割り当てを大規模に調べられると説明しています。たとえば、QKDの性能を改善するルーティング手法を設計する用途が挙げられています。

ここでいうシミュレーションは、実際の量子ハードウェアを制御するSDKではありません。ノード、チャネル、メモリ、イベント、プロトコルをモデル化して、条件を変えた計算実験を行う道具です。READMEはQKDネットワーク、エンタングルメント配布ネットワーク、他の量子ネットワーク評価を対象にし、特定のネットワークアーキテクチャを前提にしないことを設計の中心へ置いています。

アーキテクチャを固定しないモジュール設計

量子ネットワークには、調査分野全体で確立した単一のアーキテクチャがまだないという前提から、SimQNは特定のプロトコルスタックやトポロジへ利用者を縛らないとREADMEは説明します。古典ネットワークのNS3になぞらえ、量子ノード、再利用可能なアルゴリズム、プロトコルをモジュールとして提供し、研究ごとに多層の処理を作り直す負担を減らす考え方です。

この柔軟さは、研究上の仮説を組み替えやすい反面、モデルの前提を利用者自身が管理する必要があることを意味します。どのノードを置き、どのチャネル遅延や損失を与え、どのルーティング表を使い、どのイベントを成功と数えるかで結果は変わります。READMEは使いやすさを主張しますが、研究結果の妥当性はモデル設定、乱数、比較対象、評価指標を含む再現記録で判断します。

物理モデルと計算量の扱い

READMEは、重要なコードをCythonでCまたはC++ライブラリへコンパイルし、評価の高速化を図ると説明しています。物理面では、一般的な量子状態ベースのモデルに加え、上位層の忠実度ベースのエンタングルメントモデルを用意し、計算の負担を減らしながら評価を扱いやすくするとしています。ネットワークトポロジの構築、ルーティング表の生成、複数セッション要求の管理を補助するモデルも挙げられています。

ただしREADMEに、ノード数ごとの処理時間、メモリ使用量、他シミュレータとの比較値はありません。高性能という表現は、コード構造と設計方針に関する説明であり、全ての環境で同じ速度が出るという数値保証ではありません。状態モデルと忠実度モデルの結果を比較する場合は、同じ乱数、同じトポロジ、同じ試行回数を揃え、近似による差を研究記録へ残します。

pip導入と最初のネットワーク

READMEの導入コマンドはpip3 install -U qnsです。最初の例では、ランダムトポロジに150ノードと450量子チャネルを置き、各ノードへEntanglementDistributionAppを組み込み、DijkstraルーティングでQuantumNetworkを構成します。セッション要求を生成し、時間窓の中でシミュレーターを動かす例として示されています。

例の設定には初期エンタングルメント忠実度、チャネル遅延、メモリ容量、送信レートが現れます。これはAPIの使い方を把握する入口であり、研究用の既定値や現実のネットワーク条件を保証するものではありません。READMEは詳細をホストされたドキュメント、チュートリアル、APIマニュアルへ案内しています。試行時はパッケージ版、Python版、トポロジの乱数種、設定ファイル、出力を一緒に保存してください。

リリース履歴が示す拡張

READMEのリリース履歴では、v0.1.4で優先度キューのイベントスケジューラ、量子ビットとEPR物理バックエンド、量子ノードとチャネル、トポロジとルーティングの補助機能、BB84とエンタングルメントスワッピングを導入したと記されています。v0.1.5ではCython最適化、マルチプロセス、量子メモリと遅延モデル、モニタツールが追加されました。

v0.2.1ではランダムトポロジとBB84向けのCASCADE誤り訂正、プライバシー増幅、v0.2.2ではハッシュバケット型イベント処理と実トポロジの読み込み、v0.2.3ではStableEventPool、二分ヒープDijkstra、信頼性と順序を扱うClassicChannel拡張、リンクごとのデコヒーレンス量子チャネルが挙げられています。ロードマップには量子リピータ、量子スイッチ、追加のルーティング、GUIなどがあります。予定と実装済み機能は版で照合します。

研究利用の数値とライセンス

READMEは、SimQNが22本の査読付き論文のシミュレーション基盤となり、Google Scholarで合計70回引用され、7つのシミュレーション基盤または拡張が作られたと記しています。これはREADMEによる自己報告です。論文の再現性や引用数の現在値を判断するには、列挙された論文と外部の学術情報を別に確認します。数字だけでモデルの正しさや保守を保証できるわけではありません。

ライセンスはGPL-3.0で、READMEは著者、貢献者、引用用のIEEE Network論文を案内しています。GPLの条件は再配布と改変の扱いに関わりますが、性能、研究結果、サポート、セキュリティを約束するものではありません。SimQNを採用するなら、ドキュメントのAPI例を動かし、モデルの妥当性を研究目的に照らして検討し、リリース履歴とロードマップを区別して運用版を固定してください。

編集部の結論

SimQNは、量子ネットワークの研究者がQKDやエンタングルメント配布を離散イベントシミュレーションで試し、トポロジ、ルーティング、セッション要求をPythonから組み立てたい場合に検討できるライブラリです。Cythonによる高速化や忠実度ベースのモデルはREADMEの設計説明であり、特定の規模での性能保証ではありません。導入前にはqnsパッケージの版、物理モデルの前提、乱数とトポロジ生成、論文の再現条件を固定し、READMEが示す研究採用数や引用数を独立の測定結果と混同しないようにしてください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート