Skip to main content
QUICK REVIEW

[논문 리뷰] Reversible circuit compilation with space constraints

Alex Parent, Martin Roetteler|arXiv (Cornell University)|2015. 10. 01.
Quantum Computing Algorithms and Architecture참고 문헌 49인용 수 29
한 줄 요약

이 논문은 고전적 비가역 프로그램을 공간 효율적인 재가역 회로로 변환하는 컴파일러인 Revs를 제안한다. 이는 현장 연산, MDD 그래프를 통한 데이터 의존성 추적, 페블 게임 기반 전략을 사용한다. Bennett의 방법에 비해 큐비트 사용을 최대 4배까지 줄여, 양자계산을 위한 암호 해시 함수와 산술 회로의 확장 가능한 컴파일링을 가능하게 한다.

ABSTRACT

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.

연구 동기 및 목표

  • 근접한 양자 하드웨어에서 큐비트 자원이 제한된 상황에서 재가역 컴파일링의 높은 큐비트 오버헤드 문제를 해결한다.
  • Bennett의 방법과 같은 전통적 재가역 컴파일링 기법의 한계를 극복한다. 이러한 기법들은 과도한 보조 큐비트를 요구하며 비효율적인 회로 레이아웃을 초래한다.
  • 암호 해시 함수와 같은 대규모 고전적 프로그램을 최소한의 공간 오버헤드로 재가역 회로로 실용적으로 컴파일할 수 있도록 한다.
  • 정확성과 성능을 훼손하지 않은 채 현장 연산과 조기 폐기 큐비트 정리 기능을 모두 지원하는 프레임워크를 개발한다.
  • F# 유사 기능 프로그램을 Toffoli 네트워크로 변환할 수 있는 도메인 특화 컴파일러 스택을 도입하며, 이는 LIQUi|>와 같은 양자 프로그래밍 언어에서 실행 가능하다.

제안 방법

  • 변수를 직접 수정하는 현장 함수를 사용하여 계산 중 추가 보조 큐비트의 필요성을 줄인다.
  • 다중값 결정도형(MDD) 그래프를 도입하여 데이터 의존성과 변수의 변경을 모델링하고, 살아있는 변수와 죽은 변수를 정확히 추적할 수 있도록 한다.
  • 일부 중간 값은 저장 대신 재계산하여 시간을 소비함으로써 공간을 확보하는 히우리스틱 페블 게임 전략을 적용한다.
  • MDD 구조에 기반한 급한 정리 전략을 구현하여, 경로 간 의존성이 없을 경우 더 이상 필요하지 않은 큐비트를 즉시 정리한다.
  • 경로 간 의존성이 존재해 안전한 조기 정리가 불가능할 경우, 원래 Bennett의 방법으로의 후속 처리를 구현하여 모든 프로그램에 대해 정확성을 보장한다.
  • F# 유사 프로그램을 Toffoli 네트워크로 컴파일하며, 이는 LIQUi|>와 같은 도메인 특화 언어를 통해 양자 회로로 매핑할 수 있다.

실험 결과

연구 질문

  • RQ1고전적 프로그램을 양자 계산을 위해 컴파일할 때 재가역 회로의 큐비트 면적을 어떻게 줄일 수 있는가?
  • RQ2현장 연산과 조기 폐기 큐비트 정리 기법이 재가역 회로에서 보조 큐비트 사용을 얼마나 줄일 수 있는가?
  • RQ3MDD 그래프를 통한 데이터 의존성 분석이 기존의 함수 경계 기반 정리 방식보다 더 효율적이고 정확한 중간 큐비트 정리가 가능한가?
  • RQ4페블 게임 기반 전략이 실제 프로그램에 대해 Bennett의 방법과 비교해 공간 및 시간 효율성 측면에서 어떻게 성능을 내는가?
  • RQ5제안된 프레임워크는 SHA-2와 정수 산술 회로와 같은 복잡한 대규모 고전적 프로그램에 대해 확장 가능한가?

주요 결과

  • SHA-2와 MD5와 같은 실용적 프로그램에 대해 Revs는 Bennett의 방법 대비 공간 복잡도를 4배 이상 줄였다.
  • 현장 함수와 MDD 기반 데이터 의존성 추적 기법을 사용함으로써 큐비트 조기 정리가 가능해져 보조 큐비트 요구량이 크게 감소했다.
  • SHA-2와 같은 암호 해시 함수에 대해 Revs는 최소한의 큐비트 오버헤드로 효율적인 재가역 회로 컴파일링을 가능하게 했다.
  • Bennett의 방법이 함수 경계 기반 정리 방식을 사용하는 경우조차도 프레임워크는 상당한 공간 절감 효과를 보이며, 세밀한 의존성 분석의 우수성을 입증했다.
  • 회로 크기와 컴파일 시간에 대한 증가 폭이 중간 정도로 유지되어 실제 응용에 실용적임을 입증했다.
  • 조합 논리와 산술 유닛을 포함한 중간에서 대규모 고전적 회로의 확장 가능한 컴파일링을 지원하며, 고전적 회로 합성 분야의 기여를 이어간다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.