[論文レビュー] Reversible circuit compilation with space constraints
この論文では、イン-place演算、MDDグラフを用いたデータ依存関係の追跡、ペブルゲームにインspiredされた戦略を用いて、古典的で不可逆的なプログラムを空間効率の良い可逆回路に変換するコンパイラRevsを提示する。Bennettの手法と比較して、量子コンputationに適した計算をスケーラブルにコンパイル可能にするために、qubit使用量を最大4倍まで削減する。
We develop a framework for resource efficient compilation of higher-level programs into lower-level reversible circuits. Our main focus is on optimizing the memory footprint of the resulting reversible networks. This is motivated by the limited availability of qubits for the foreseeable future. We apply three main techniques to keep the number of required qubits small when computing classical, irreversible computations by means of reversible networks: first, wherever possible we allow the compiler to make use of in-place functions to modify some of the variables. Second, an intermediate representation is introduced that allows to trace data dependencies within the program, allowing to clean up qubits early. This realizes an analog to "garbage collection" for reversible circuits. Third, we use the concept of so-called pebble games to transform irreversible programs into reversible programs under space constraints, allowing for data to be erased and recomputed if needed. We introduce REVS, a compiler for reversible circuits that can translate a subset of the functional programming language F# into Toffoli networks which can then be further interpreted for instance in LIQui|>, a domain-specific language for quantum computing and which is also embedded into F#. We discuss a number of test cases that illustrate the advantages of our approach including reversible implementations of SHA-2 and other cryptographic hash-functions, reversible integer arithmetic, as well as a test-bench of combinational circuits used in classical circuit synthesis. Compared to Bennett's method, REVS can reduce space complexity by a factor of $4$ or more, while having an only moderate increase in circuit size as well as in the time it takes to compile the reversible networks.
研究の動機と目的
- 近い将来の量子ハードウェアにおけるqubitの限界を考慮した、可逆コンパイルにおける高いqubitオーバーヘッドに対処すること。
- Bennettの手法のような従来の可逆コンパイル手法の限界を克服すること。これらの手法は、過剰なアシスタントqubitを必要とし、効率の悪い回路レイアウトをもたらす。
- 暗号ハッシュ関数のような大規模な古典的プログラムを、最小限の空間オーバーヘッドで可逆回路に実用的にコンパイルすることを可能にすること。
- 正しくかつ性能を損なわずに、インプレー計算と早期のゴミqubitクリーンアップを両立するフレームワークを開発すること。
- F#に似た関数型プログラムを、LIQUi|>のような量子言語で実行可能なToffoliネットワークに変換するドメイン特化コンパイラスタックを導入すること。
提案手法
- 変数を直接変更するインプレー関数を用いることで、計算中に追加のアシスタントqubitの必要性を低減する。
- 多値意思決定図(MDD)グラフを導入し、データ依存関係と変更をモデル化することで、ライブおよびデッド変数の正確な追跡を可能にする。
- ヒューリスティックなペブルゲーム戦略を適用し、中間値を保存する代わりに再計算することで、時間と空間のトレードオフを実現する。
- MDD構造に基づいた能動的クリーンアップ戦略を実装し、qubitがもはや必要でない段階ですぐにクリーンアップする(相互パス依存関係が存在しない場合に限る)。
- 相互パス依存関係が安全な早期クリーンアップを不可能にする場合に備え、Bennettの元の手法にフォールバックする実装を行い、すべてのプログラムに対して正しさを保証する。
- F#に似たプログラムを、LIQUi|>のようなドメイン特化言語を介して量子回路にマッピング可能なToffoliネットワークにコンパイルする。
実験結果
リサーチクエスチョン
- RQ1古典的プログラムを量子計算用にコンパイルする際、可逆回路のqubitフットプリントをどのようにして低減できるか?
- RQ2インプレー演算と早期ゴミqubit回収は、可逆回路におけるアシスタントqubit使用量をどの程度まで削減できるか?
- RQ3MDDグラフによるデータ依存関係解析は、従来の関数境界クリーンアップと比較して、より効率的かつ正確な中間qubitクリーンアップを可能にするか?
- RQ4ペブルゲームにインスパイアされた戦略は、実世界のプログラムにおいてBennettの手法と比較して、空間的・時間的効率の点でどの程度優れているか?
- RQ5提案されたフレームワークは、SHA-2 や整数算術回路のような複雑な大規模古典的プログラムにスケーラブルに適用可能か?
主な発見
- SHA-2 やMD5のような実用的プログラムにおいて、RevsはBennettの手法と比較して、空間複雑度を4倍以上削減する。
- インプレー関数とMDDベースのデータ依存関係追跡の使用により、qubitの早期クリーンアップが可能となり、アシスタントqubitの必要数が顕著に削減される。
- SHA-2 などの暗号ハッシュ関数に対して、Revsは最小限のqubitオーバーヘッドで効率的な可逆回路へのコンパイルを可能にする。
- Bennettの手法(関数境界クリーンアップを用いる場合)でさえも、細粒度の依存関係解析の利点が顕著に現れ、顕著な空間的節約が達成されることを示している。
- 回路サイズとコンパイル時間の増加はやや程度に抑えられており、実世界の応用にとって実用的である。
- 本手法は、古典的回路合成分野における組み合わせ論理回路や算術ユニットを含む中~大規模な古典的回路のスケーラブルなコンパイルをサポートする。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。