KR20230113782A - 양자 컴퓨팅을 위한 그래프들 내 가중화된 얼터네이팅경로들 - Google Patents

양자 컴퓨팅을 위한 그래프들 내 가중화된 얼터네이팅경로들 Download PDF

Info

Publication number
KR20230113782A
KR20230113782A KR1020237022036A KR20237022036A KR20230113782A KR 20230113782 A KR20230113782 A KR 20230113782A KR 1020237022036 A KR1020237022036 A KR 1020237022036A KR 20237022036 A KR20237022036 A KR 20237022036A KR 20230113782 A KR20230113782 A KR 20230113782A
Authority
KR
South Korea
Prior art keywords
nodes
quantum
unmatched
matched
edges
Prior art date
Application number
KR1020237022036A
Other languages
English (en)
Inventor
나단 코디 존스
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20230113782A publication Critical patent/KR20230113782A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/70Quantum error correction, detection or prevention, e.g. surface codes or magic state distillation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Complex Calculations (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Nuclear Medicine (AREA)
  • Semiconductor Lasers (AREA)
  • Error Detection And Correction (AREA)

Abstract

부분적으로 매칭되는 그래프 내 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법은 컴퓨팅 시스템에 의해, 매칭 세트를 갖는 부분적으로 매칭되는 그래프를 획득하는 단계를 포함하고, 부분적으로 매칭되는 그래프는 하나 이상의 에지들 및 복수의 노드들을 포함하고, 하나 이상의 에지들은 매칭 라벨을 갖는다. 방법은 적어도 두 개의 매칭되지 않는 노드들을 획득하는 단계를 포함할 수 있다. 방법은 적어도 2개의 매칭되지 않는 노드들 중 제1 매칭되지 않는 노드로부터 적어도 2개의 매칭되지 않는 노드들 중 제2 매칭되지 않는 노드로의 얼터네이팅 경로를 결정하는 단계를 포함할 수 있으며, 얼터네이팅 경로는 하나 이상의 에지들 중 적어도 하나의 에지를 포함한다. 방법은 적어도 2개의 매칭되지 않는 노드들이 부분적으로 매칭되는 그래프의 매칭 세트에 포함되도록 얼터네이팅 경로의 적어도 하나의 에지의 매칭 라벨을 반전시키는 단계를 포함할 수 있다.

Description

양자 컴퓨팅을 위한 그래프들 내 가중화된 얼터네이팅 경로들
[0001] 본 출원은 "Algorithm for Computing Costs for Weighted Alternating Paths in Graphs for Quantum Computing"이라는 제목으로 2020년 12월 3일에 출원된 미국 가출원 일련 번호 63/121,027의 우선권 이익을 주장하며, 이는 본원에서 인용에 의해 포함된다.
[0002] 본 개시내용은 일반적으로 그래프들 내 가중화된 얼터네이팅 경로(alternating path)들의 비용을 컴퓨팅하기 위한 알고리즘들에 관한 것으로, 보다 구체적으로 양자 컴퓨팅 시스템들에 대한 오류 그래프들 내 가중화된 얼터네이팅 경로들의 비용을 컴퓨팅하기 위한 알고리즘들에 관한 것이다.
[0003] 양자 컴퓨팅은 기본 상태들의 중첩 및 얽힘과 같은 양자 효과들을 이용하여 특정 컴퓨테이션(computation)들을 고전적 디지털 컴퓨터보다 더 효율적으로 수행하는 컴퓨팅 방법이다. 정보를 "1" 또는 "0"과 같은 비트들의 형태로 저장하고 조작하는 디지털 컴퓨터와 대조적으로, 양자 컴퓨팅 시스템들은 양자 비트들("큐비트들")을 사용하여 정보를 조작할 수 있다. 큐비트는 다수의 상태들의 중첩 예컨대, "0" 및 "1" 둘 모두의 상태의 데이터를 가능하게 하는 양자 디바이스 및/또는 다수의 상태들에서 데이터의 중첩 그 자체를 지칭할 수 있다. 종래의 용어에 따라, 양자 시스템에서 "0" 및 "1" 상태의 중첩은 예컨대, 로서 표현될 수 있다. 디지털 컴퓨터의 "0" 및 "1" 상태들은 각각 큐비트의 |0 〉 및 |1 〉 기본 상태들과 유사하다.
[0004] 본 개시내용의 실시예들의 양상들 및 이점들은 다음 설명에서 부분적으로 설명될 것이거나, 설명으로부터 학습될 수 있거나, 실시예의 실시를 통해 학습될 수 있다.
[0005] 본 개시내용의 하나의 예시적인 양상은 부분적으로 매칭되는 그래프에서 매칭된 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법에 관한 것이다. 방법은 하나 이상의 컴퓨팅 디바이스들을 포함하는 컴퓨팅 시스템에 의해, 매칭 세트를 갖는 부분적으로 매칭되는 그래프를 획득하는 단계를 포함할 수 있으며, 부분적으로 매칭되는 그래프는 하나 이상의 에지들 및 복수의 노드들을 포함하고, 하나 이상의 에지들은 매칭 라벨을 갖는다. 방법은 컴퓨팅 시스템에 의해, 적어도 2개의 매칭되지 않는 노드들을 획득하는 단계를 포함할 수 있다. 방법은 컴퓨팅 시스템에 의해, 적어도 2개의 매칭되지 않는 노드들 중 제1 매칭되지 않는 노드로부터 적어도 2개의 매칭되지 않는 노드들 중 제2 매칭되지 않는 노드로의 얼터네이팅 경로를 결정하는 단계를 포함할 수 있으며, 얼터네이팅 경로는 하나 이상의 에지들 중 적어도 하나의 에지를 포함한다. 방법은 컴퓨팅 시스템에 의해, 적어도 2개의 매칭되지 않는 노드들이 부분적으로 매칭되는 그래프의 매칭 세트에 포함되도록 얼터네이팅 경로의 적어도 하나의 에지의 매칭 라벨을 반전시키는 단계를 포함할 수 있다.
[0006] 일부 구현들에서, 노드들 중 적어도 하나는 경계 노드일 수 있다. 경계 노드는 경계 노드가 매칭되지도 않고 격리되지도 않도록 변하지 않는 경계 상태를 가질 수 있다. 경계 노드는 0회 이상과 같은 임의의 적절한 횟수들로 매칭될 수 있다. 일부 구현들에서, 본원에서 설명된 바와 같은 알고리즘은 매칭되지 않는 노드로부터 경계 노드로의 얼터네이팅 경로가 발견되도록 구성될 수 있다. 예컨대, 경계 노드는 임의의 기존의 매칭들에 관계없이 항상 매칭되도록 이용 가능하기 때문에, 경계 노드는 얼터네이팅 경로를 발견하기 위한 목적으로 항상 매칭되지 않는 노드로서 작동할 수 있다.
[0007] 본 개시내용의 다른 예시적인 양상은 양자 컴퓨팅 시스템에서 오류 검출을 위한 방법에 관한 것이다. 방법은 하나 이상의 컴퓨팅 디바이스들을 포함하는 컴퓨팅 시스템에 의해, 하나 이상의 에지들 및 복수의 노드들을 포함하는 매칭되는 그래프를 획득하는 단계를 포함할 수 있으며, 복수의 노드들은 양자 컴퓨팅 시스템의 복수의 큐비트들에 대응하고, 하나 이상의 에지들은 매칭 라벨을 갖는다. 방법은 컴퓨팅 시스템에 의해, 제1 엔드포인트 및 제2 엔드포인트를 포함하는 오류 검출 신호를 획득하는 단계를 포함할 수 있으며, 제1 엔드포인트 및 제2 엔드포인트는 복수의 큐비트들 중 제1 큐비트 및 제2 큐비트에 대응한다. 방법은 컴퓨팅 시스템에 의해, 제1 엔드포인트로부터 제2 엔드포인트로의 얼터네이팅 경로를 결정하는 단계를 포함할 수 있으며, 얼터네이팅 경로는 하나 이상의 에지들 중 적어도 하나의 에지를 포함한다. 방법은 컴퓨팅 시스템에 의해, 얼터네이팅 경로에 적어도 부분적으로 기초하여 양자 컴퓨팅 시스템에서 적어도 하나의 오류 포지션을 검출하는 단계를 포함할 수 있다.
[0008] 본 개시내용의 다른 예시적인 양상은 양자 컴퓨팅 시스템에 관한 것이다. 양자 컴퓨팅 시스템은 복수의 큐비트들을 포함하는 양자 하드웨어를 포함할 수 있다. 양자 하드웨어는 하나 이상의 고전적 프로세서들을 포함할 수 있다. 하나 이상의 고전적 프로세서들은 동작들을 수행하도록 구성된다. 동작들은 하나 이상의 에지들 및 복수의 노드들을 포함하는 매칭되는 그래프를 획득하는 것을 포함할 수 있으며, 복수의 노드들은 복수의 큐비트들에 대응하고, 하나 이상의 에지들은 매칭 라벨을 갖는다. 동작들은 제1 엔드포인트 및 제2 엔드포인트를 포함하는 오류 검출 신호를 획득하는 것을 포함할 수 있으며, 제1 엔드포인트 및 제2 엔드포인트는 복수의 큐비트들 중 제1 큐비트 및 제2 큐비트에 대응한다. 동작들은 제1 엔드포인트로부터 제2 엔드포인트로의 얼터네이팅 경로를 결정하는 것을 포함할 수 있으며, 얼터네이팅 경로는 하나 이상의 에지들 중 적어도 하나의 에지를 포함한다. 동작들은 얼터네이팅 경로에 적어도 부분적으로 기초하여 양자 하드웨어에서 적어도 하나의 오류 포지션을 검출하는 것을 포함할 수 있다.
[0009] 본 개시내용의 다른 양상들은 다양한 시스템들, 방법들, 장치들, 비-일시적 컴퓨터 판독 가능 매체들, 컴퓨터 판독 가능 명령들 및 컴퓨팅 디바이스들에 관한 것이다.
[00010] 본 개시내용의 다양한 실시예들의 이들 및 다른 특징들, 양상들 및 이점들은 다음의 설명 및 첨부된 청구범위들을 참조하여 더 잘 이해될 것이다. 본 명세서에 통합되어 본 명세서의 일부를 구성하는 첨부 도면들은 본 개시내용의 예시적인 실시예들을 예시하고, 설명과 함께 관련된 원리들을 설명한다.
[0011] 당업자에게 지시된 실시예들의 상세한 논의는 첨부 도면들을 참조하는 명세서에 기술된다.
[0012] 도 1은 본 개시내용의 예시적인 실시예들에 따른 예시적인 양자 컴퓨팅 시스템을 묘사한다.
[0013] 도 2는 본 개시내용의 예시적인 실시예들에 따른 예시적인 큐비트 그리드를 묘사한다.
[0014] 도 3은 본 개시내용의 예시적인 실시예들에 따른 예시적인 그래프를 묘사한다.
[0015] 도 4a 및 도 4b는 본 개시내용의 예시적인 실시예들에 따른 오류 정보를 포함하는 예시적인 그래프들을 묘사한다.
[0016] 도 5는 본 개시내용의 예시적인 실시예들에 따라 부분적으로 매칭되는 그래프 내 매칭된 노드들의 세트를 확장하기 위한 예시적인 방법의 흐름도를 묘사한다.
[0017] 도 6은 본 개시내용의 예시적인 실시예들에 따른 양자 컴퓨팅 시스템에서 오류 검출을 위한 예시적인 방법의 흐름도를 묘사한다.
[0018] 도 7은 본 개시내용의 예시적인 실시예들에 따른 예시적인 컴퓨팅 시스템을 묘사한다.
[0019] 본 개시내용의 예시적인 양상들은 부분적으로 매칭되는 그래프의 매칭(예컨대, 매칭 및/또는 격리된 노드들 및/또는 에지들의 매칭 세트) 및/또는 그래프 내 가중화된 얼터네이팅 경로의 컴퓨팅 비용을 확장하기 위한 시스템들 및 방법들에 관한 것이다. 특히, 본원에서 설명된 시스템들 및 방법들은 하나 이상의 큐비트들을 포함하는 양자 컴퓨팅 시스템의 오류 검출에 유용할 수 있다. 그래프는 하나 이상의 노드들 및/또는 하나 이상의 에지들을 포함할 수 있다. 각각의 에지는 2개의 노드들에 의해 공유될 수 있다. 예컨대, 각각의 에지는 제1 노드를 제2 노드에 연결할 수 있다. 그래프(예컨대, 하나 이상의 에지들)는 각각의 에지가 "매칭되는" 또는 "매칭되지 않는" 중 하나가 되도록 매칭 세트(예컨대, 노드들 및/또는 에지들의 세트)를 가질 수 있다. 부가적으로, 매칭 세트는 매칭된 또는 격리된 중 하나인 노드를 포함할 수 있다. 노드들이 매칭되는 에지를 공유하는 경우, 2개의 노드들은 매칭되는 것으로 간주된다. 노드는 최대 하나의 다른 노드와 매칭되는 에지를 공유할 수 있다. 예컨대, 그래프의 제약들에 따라, 노드는 최대 하나의 매칭되는 에지에 링크될 수 있다. 다른 예로서, 매칭되는 에지들의 세트는 2개의 에지들에 공통되는 노드들 또는 정점들을 갖지 않는 에지들의 세트일 수 있다. 매칭되는 에지들을 갖지 않는 노드는 격리된 노드이다. 일부 구현들에서, 에지들은 가중화된 에지들일 수 있다. 예컨대, 각각의 에지는 연관된 가중치가 가질 수 있다.
[0020] 본 개시내용의 예시적인 양상들은 노드들(예컨대, 매칭되는 노드 대 격리된 노드) 및 에지들(예컨대, 매칭되는 에지 대 매칭되지 않는 에지)에서 매칭하는 라벨들을 참조하여 논의될 것임을 이해되어야 한다. 일부 구현들에서, 매칭은 매칭 라벨들만을 사용하여 표현될 수 있고, 매칭 노드는 통상적으로 매칭되는 에지를 공유하는 노드를 지칭할 수 있다. 따라서 매칭되는 노드들의 쌍은 매칭되는 에지의 노드들 둘 모두를 참조할 수 있다. 부가적으로 및/또는 대안적으로, 노드가 매칭되는지, 격리되는지 및/또는 매칭되지 않는지를 표시하는 노드 라벨들이 노드들에 적용될 수 있다.
[0021] 본 개시내용의 예시적인 양상들에 따르면, 하나 이상의 매칭되지 않는 노드들은 그래프에 도입되고 그리고/또는 다른 방식으로 존재할 수 있다. 매칭되지 않는 노드들을 포함하도록 그래프의 매칭이 확장될 수 있다. 본원에서 사용된 바와 같이, "매칭되지 않는 노드"는 매칭되지도 않고 격리되지도 않는 노드, 예컨대, 현재 그래프의 매칭 세트에 포함되지 않은 노드를 지칭한다. 예컨대, 부분적으로 매칭되는 그래프는 그래프가 부분적으로 매칭될 때 매칭하지도 않고 격리되지도 않는 하나 이상의 매칭되지 않는 노드들을 포함할 수 있다. 매칭되지 않는 노드들은 매칭되지 않는 에지들에만 연결될 수 있지만, 부분적으로 매칭되는 그래프의 솔루션에서 매칭하거나 격리될 수 있다. 예컨대, 부분적으로 매칭되는 그래프 내 매칭되는 노드들 및/또는 에지들의 세트는 이를테면, 매칭되지 않는 노드들의 일부 또는 전부를 포함하도록 그래프 내 에지들의 매칭 라벨들을 변경함으로써 매칭되지 않는 노드들을 포함하도록 확장될 수 있다. 매칭을 갖는 노드들 및/또는 에지들의 세트는 매칭의 하나 이상의 제약들을 만족시키면서 확장될 수 있다. 일 예로서, 제약은 노드가 정확히 하나의 다른 노드와의 매칭되는 쌍의 일부이거나 격리된다는 것일 수 있다. 다른 예로서, 제약은 각각의 노드가 최대 하나의 매칭되는 에지에 터치할 수 있다는 것일 수 있다.
[0022] 부가적으로 및/또는 대안적으로, 이를테면, 비용 함수를 최적화(예컨대, 최소화 및/또는 최대화)하기 위해 비용 함수와 관련하여 그래프의 매칭이 확장될 수 있다. 예컨대, 일부 구현들에서, 비용 함수는 매칭되는 에지들의 에지 가중치들에 적어도 부분적으로 기초할 수 있다. 예컨대, 비용 함수는 매칭되는 에지들의 세트의 에지 가중치들의 합을 최소화하도록 추구할 수 있다. 비용 함수는 에지가 매칭되는 세트에 포함될 때 더 낮은 에지 가중치들에 보상하고 그리고/또는 더 높은 에지 가중치에 페널티를 줄 수 있다. 다른 예로서, 비용 함수는 제1 매칭되지 않는 노드로부터 제2 매칭되지 않는 노드로의 얼터네이팅 경로의 비용을 최소화하도록 선택될 수 있다.
[0023] 본 개시내용의 예시적인 양상들은 그래프 및 부분적인 매칭을 확장하는 그래프의 부분적 매칭(예컨대, 그래프 내 노드들 및/또는 에지들의 서브세트를 커버하는 매칭 라벨들의 할당)이 주어지면 매칭하는 라벨들의 재할당을 컴퓨팅하기 위한 알고리즘을 포함할 수 있다. 알고리즘은 알고리즘의 하나 이상의 반복들을 통해 부분 매칭을 완전 매칭으로 확장할 수 있다. 예컨대, 알고리즘은 그래프의 완전한 매칭을 제공하기 위해 그래프 내 각각의 노드 및/또는 에지가 매칭된 및/또는 격리된 할당을 가질 때까지 여러 반복들을 통해 반복될 수 있다.
[0024] 특히, 이 알고리즘은 최소 비용 얼터네이팅 경로와 같은 얼터네이팅 경로 및/또는 하나의 매칭되지 않는 노드로부터 다른 노드 이를테면, 제2 매칭되지 않는 노드로의 얼터네이팅 경로의 비용을 발견하는 것을 포함할 수 있다. 본원에서 사용되는 바와 같이, 얼터네이팅 경로는 매칭되지 않음 및 매칭됨으로 라벨링된 에지들을 교번하는 에지들 및/또는 노드들의 시퀀스이다. 특히, 매칭되지 않는 노드에서 종결되는 얼터네이팅 경로를 따라 에지들의 매칭 라벨들이 반전되는 경우, 매칭은 유효한 상태로 유지되며 각각의 기존 매칭 노드에 추가로 매칭되지 않는 노드를 부가적으로 포함한다. 얼터네이팅 경로가 2개의 매칭되지 않는 노드들 사이에 걸쳐 있는 경우, 매칭하는 라벨이 반전되면, 매칭되지 않는 노드들 둘 모두는 새로운 매칭에 포함된다. 또한, 매칭되는 에지의 총 비용은 얼터네이팅 경로의 비용에 의해 변경된다. 일부 구현들에서, 얼터네이팅 경로의 비용은 경로 내 모든 매칭되지 않는 에지들의 가중치들의 합에서 경로 내 모든 매칭되는 에지들의 가중치들 합을 뺀 것일 수 있다. 따라서 최소 비용의 경로를 증대시킴으로써, 매칭되지 않는 노드들은 전체 비용 증가가 가장 낮은 매칭에 포함된다. 이것은 전역적으로 최적의 가중화된 매칭을 찾기 위해 반복적으로 적용될 수 있다. 일부 구현들에서 매칭되지 않는 노드에 뿌리를 둔 트리를 구성함으로써 경로 비용들이 결정될 수 있다. 그래프를 통해 도달 가능한 모든 각각의 노드에 대해, 노드에 대한 최소 비용 얼터네이팅 경로 및 그에 도달하는 경로(트리)가 그 후 설정될 수 있다. 이는 사이클들의 형성을 방지할 수 있으며, 이는 양자 컴퓨팅 애플리케이션들에 유익할 수 있다. 일부 구현들에서, 트리는 트리를 생성할 때 루프들을 회피하기 위해 수정된 벨먼-포드(Bellman-Ford) 알고리즘에 의해 생성될 수 있다. 예컨대, 트리 내 다음 노드 후보로서 현재 노드의 조상들인 노드들이 방문되지 않도록 알고리즘을 수정될 수 있다.
[0025] 본 개시내용의 예시적인 양상들에 따르면, 이 알고리즘은 양자 컴퓨팅 시스템들에서 오류 검출을 위해 적용될 수 있다. 예컨대, 알고리즘은 양자 컴퓨테이션들에서 오류들을 식별하기 위한 오류 검출 및/또는 오류 정정 시스템에 의해 구현될 수 있다. 예컨대, 일부 구현들에서, 매칭되는 그래프의 노드들은 양자 컴퓨팅 시스템에서 하나 이상의 큐비트들의 포지션들에 대응할 수 있다. 기존 매칭되는 그래프는 이전 시점으로부터 매칭되는 그래프일 수 있다. 일 예로서, 하나 이상의 큐비트들은 큐비트들의 그리드 또는 어레이로 배열될 수 있다. 예컨대, 그래프 내 노드들은 큐비트들의 어레이 내의 큐비트들의 좌표들에 대응할 수 있다. 그래프 내 에지들의 가중치들은 양자 컴퓨팅 시스템 내 일부 포인트에서 오류의 가능성에 대응할 수 있다. 이러한 가중치들은 양자 컴퓨팅 시스템의 사용 데이터 이력으로부터 학습하거나 시뮬레이션들 또는 설계로부터 추정하거나, 또는 임의의 다른 적합한 방법에 의해 설정될 수 있다. 예컨대, 최소 비용 경로가 또한 오류가 발생할 가능성이 가장 높은 경로가 되도록 오류의 가능성이 적은 포인트들에 더 높은 가중치들이 할당될 수 있다. 가중치들은 양자 컴퓨터가 동작 중일 때 이미 존재할 수 있다.
[0026] 일부 구현들에서, 큐비트 그리드는 하나 이상의 컴퓨테이션 큐비트들 및 하나 이상의 보조 큐비트들을 포함할 수 있다. 예컨대, 일부 구현들에서, 큐비트 그리드는 보조 큐비트들 및 컴퓨테이션 큐비트들의 인터레이싱된 그리드일 수 있다. 컴퓨테이션 큐비트들은 하나 이상의 양자 알고리즘들의 평가를 위한 컴퓨테이션들을 수행할 수 있다. 부가적으로 및/또는 대안적으로, 보조 큐비트들은 양자 컴퓨팅 시스템의 오류들을 검출하기 위해 양자 컴퓨팅 시스템의 패리티(예컨대, 컴퓨테이션 큐비트)를 모니터링하도록 구성될 수 있다.
[0027] 예컨대, 일부 구현들에서, 컴퓨팅 시스템은 미스매칭된 패리티의 엔드포인트들을 설명하는 좌표들을 포함하는 오류 정보를 수신할 수 있다. 예컨대, 좌표들은 미스매칭된 패리티가 검출되는 큐비트 그리드의 보조 큐비트들의 포지션들에 대응할 수 있다. 일부 경우들에서, 오류 정보는 실시간으로 이를테면, 타임 슬라이스 별로 및/또는 연속적으로 수신될 수 있다. 예컨대, 각각의 타임 슬라이스는 복수의 큐비트들 각각에서 양자 게이트 동작들의 세트에 대응할 수 있다. 오류 정보는 마이크로초 레벨의 정밀도(예컨대, 0.5마이크로초)로 수신될 수 있다. 예컨대, 일부 실시예들에서, 컴퓨팅 시스템은 미스매칭된 패리티의 엔드포인트들의 쌍들을 포함하는 오류 정보를 실시간으로 수신할 수 있다.
[0028] 본 개시내용의 예시적인 양상들에 따른 시스템들 및 방법들은 엔드포인트들의 쌍들 사이의 최소 비용 얼터네이팅 경로를 해결하기 위해 제공될 수 있다. 최소 비용 얼터네이팅 경로는 엔드포인트들에서 미스매칭되는 패리티를 초래하는 오류 가능성이 가장 높은 소스를 표시할 수 있다. 따라서 최소 비용 얼터네이팅 경로는 오류가 발생한 컴퓨테이셔널 큐비트의 포지션을 표시할 수 있다. 예컨대, 최소 비용 얼터네이팅 경로는 불규칙한 큐비트(erratic qubit)를 포함할 수 있다. 일부 경우들에서, 이러한 오류들은 양자 컴퓨테이션을 통해 전파될 수 있고, 이에 따라 즉각적인 검출 및/또는 수정이 유익할 수 있다.
[0029] 본 개시내용의 예시적인 양상들은 예시 목적으로 양자 컴퓨팅 애플리케이션들 및 오류 검출과 관련하여 본원에서 설명된다. 본 개시내용의 예시적인 양상들은 양자 컴퓨팅 시스템들에서 오류들을 평가하는 데 유익할 수 있다. 또한, 그래프 내 가중화된 매칭의 일반적인 문제는 다수의 엔지니어링 분야들을 포함한 다른 애플리케이션들에서 유용할 수 있다. 본 개시내용의 예시적인 양상들은 본 개시내용에 따른 그러한 다른 애플리케이션들에 적용될 수 있다.
[0030] 본 개시내용의 예시적인 양상들에 따른 시스템들 및 방법들은 컴퓨팅 기술(예컨대, 양자 컴퓨팅 기술)에 대한 개선들을 포함하는(그러나 이에 제한되지 않음) 다수의 기술적 효과들 및 이점들을 제공할 수 있다. 예컨대, 본 개시내용의 예시적인 양상들은 특히 더 작은 그래프들 이를테면, 예시적인 양자 컴퓨팅 시스템에서 큐비트들의 자릿수에 필적하는 노드들의 자릿수들을 포함하는 그래프들에 대해 오류 정보의 감소된 평가 시간을 제공할 수 있다. 이는 작은 그래프 문제들을 신속하게 해결하는 데 필요할 수 있는 양자 컴퓨팅 애플리케이션들에서 특히 유용하다. 예컨대, 양자 컴퓨팅 제어 시스템들의 정밀한 타이밍 요건들을 충족하기 위해 가능한 한 신속하게 이를테면, 오류가 참작 및/또는 정정될 수 있도록 충분히 빠르게 2-엔드포인트 오류 정보 문제를 해결하는 것이 바람직할 수 있다. 특히 이러한 경우들에서, 본 개시내용의 예시적인 양상들에 따른 시스템들 및 방법들은 예컨대, 블로섬(Blossom) 알고리즘과 같은 일부 기존 방법들에 비해 감소된 평가 시간을 가질 수 있다.
[0031] 이제, 도면들을 참조하여, 본 개시내용의 예시적인 실시예들이 더 상세히 논의될 것이다. 여기서 사용된 바와 같이, 값과 함께 용어 "약"의 사용은 값의 20% 이내를 지칭한다.
[0032] 도 1은 예시적인 양자 컴퓨팅 시스템(100)을 묘사한다. 예시적인 시스템(100)은 아래에 설명된 시스템들, 컴포넌트들 및 기법들이 구현될 수 있는, 하나 이상의 로케이션들에 있는 하나 이상의 고전적 컴퓨터들 또는 양자 컴퓨팅 디바이스들 상의 시스템의 예이다. 본원에서 제공된 개시내용들을 사용하는 당업자들은 본 개시내용의 범위를 벗어나지 않고 다른 양자 컴퓨팅 구조들 또는 시스템들이 사용될 수 있다는 것일 이해할 것이다.
[0033] 시스템(100)은 하나 이상의 고전적 프로세서들(104)과 데이터 통신하는 양자 하드웨어(102)를 포함한다. 양자 하드웨어(102)는 양자 컴퓨테이션을 수행하기 위한 컴포넌트들을 포함한다. 예컨대, 양자 하드웨어(102)는 양자 시스템(110), 제어 디바이스(들)(112) 및 판독 디바이스(들)(114)(예컨대, 판독 공진기(들))를 포함한다. 양자 시스템(110)은 큐비트들의 레지스터와 같은 하나 이상의 다중 레벨 양자 서브시스템들을 포함할 수 있다. 일부 구현들에서, 다중 레벨 양자 서브시스템들은 초전도 큐비트들 이를테면, 플럭스 큐비트들, 전하 큐비트들, 트랜스몬 큐비트들, gmon 큐비트들 등을 포함할 수 있다.
[0034] 시스템(100)이 활용하는 다중 레벨 양자 서브시스템들의 유형은 변동될 수 있다. 예컨대, 일부 경우들에서, 하나 이상의 초전도 큐비트들, 예컨대, 트랜스몬, 플럭스, gmon, xmon 또는 다른 큐비트들에 부착된 하나 이상의 판독 디바이스(들)(114)를 포함하는 것이 편리할 수 있다. 다른 경우들에서, 이온 트랩들, 광자 디바이스들 또는 초전도 캐비티들(예컨대, 큐비트들을 요구하지 않고 상태들이 준비될 수 있게 함)이 사용될 수 있다. 다중 레벨 양자 서브시스템들 실현들의 추가 예들은 플럭스몬 큐비트들, 실리콘 양자점들 또는 인 불순물 큐비트들을 포함한다.
[0035] 양자 회로들은 구성되고 하나 이상의 제어 디바이스들(112)에 커플링된 다중 제어 라인들을 통해 양자 시스템(110)에 포함된 큐비트들의 레지스터에 적용될 수 있다. 큐비트들의 레지스터 상에서 동작하는 예시적인 제어 디바이스들(112)은 양자 게이트들 또는 복수의 양자 게이트들, 예컨대, 파울리 게이트들, 하다마드 게이트(Hadamard gate)들, CNOT(controlled-NOT) 게이트들, 제어된 위상 게이트들, T 게이트들, 다중-큐비트 양자 게이트들, 커플러 양자 게이트들 등을 갖는 양자 회로들을 구현하는 데 사용될 수 있다. 하나 이상의 제어 디바이스들(112)은 하나 이상의 개개의 제어 파라미터들(예컨대, 하나 이상의 물리적 제어 파라미터들)을 통해 양자 시스템(110) 상에서 동작하도록 구성될 수 있다. 예컨대, 일부 구현들에서, 다중 레벨 양자 서브시스템들은 초전도 큐비트들일 수 있고 제어 디바이스들(112)은 큐비트들의 주파수를 조정하기 위해 자기장들을 생성하도록 제어 라인들에 제어 펄스를 제공하게 구성될 수 있다.
[0036] 양자 하드웨어(102)는 판독 디바이스들(114)(예컨대, 판독 공진기들)을 더 포함할 수 있다. 측정 디바이스들을 통해 획득된 측정 결과들(108)은 프로세싱 및 분석을 위해 고전적 프로세서들(104)에 제공될 수 있다. 일부 구현들에서, 양자 하드웨어(102)는 양자 회로를 포함할 수 있고 제어 디바이스(들)(112) 및 판독 디바이스(들)(114)는 양자 하드웨어(102)에 포함된 와이어들을 통해 전송되는 물리적 제어 매개변수들(예컨대, 마이크로파 펄스들)을 통해 양자 시스템(102) 상에서 동작하는 하나 이상의 양자 로직 게이트들을 구현할 수 있다. 제어 디바이스들의 추가 예들은 임의적 파형 생성기를 포함하며, 여기서 DAC(digital to analog converter)가 신호를 생성한다.
[0037] 판독 디바이스(들)(114)는 양자 시스템(110) 상에서 양자 측정들을 수행하고 측정 결과들(108)을 고전적 프로세서들(104)에 전송하도록 구성될 수 있다. 또한, 양자 하드웨어(102)는 고전적 프로세서들(104)로부터 물리적 제어 큐비트 파라미터 값들(106)을 지정하는 데이터를 수신하도록 구성될 수 있다. 양자 하드웨어(102)는 수신된 물리적 제어 큐비트 파라미터 값들(106)을 사용하여 양자 시스템(110) 상의 제어 디바이스(들)(112) 및 판독 디바이스(들)(114)의 액션을 업데이트할 수 있다. 예컨대, 양자 하드웨어(102)는 제어 디바이스(112)에 포함된 하나 이상의 DAC들의 전압 강도들 표현하는 새로운 값들을 지정하는 데이터를 수신할 수 있고 양자 시스템(110) 상의 DAC들의 액션을 상응하게 업데이트할 수 있다. 고전적 프로세서들(104)은 예컨대, 파라미터들(106)의 초기 세트를 지정하는 양자 하드웨어(102)에 데이터를 전송함으로써 초기 양자 상태에서 양자 시스템(110)을 초기화하도록 구성될 수 있다.
[0038] 판독 디바이스(들)(114)는 큐비트와 같은 양자 시스템의 엘리먼트의 |0 〉 및 |1 〉상태들에 대한 임피던스 차이를 이용하여 엘리먼트(예컨대, 큐비트)의 상태를 측정할 수 있다. 예컨대, 판독 공진기의 공진 주파수는 큐비트의 비선형성으로 인해 큐비트가 상태 |0 〉 또는 상태 |1 〉에 있을 때 상이한 값들을 가질 수 있다. 따라서, 판독 디바이스(114)로부터 반사된 마이크로파 펄스는 큐비트 상태에 의존하는 진폭 및 위상 시프트를 전달한다. 일부 구현들에서, 퍼셀(Purcell) 필터는 큐비트 주파수에서 마이크로파 전파를 방해하기 위해 판독 디바이스(들)(114)와 함께 사용될 수 있다.
[0039] 도 2는 본 개시내용의 예시적인 실시예들에 따른 예시적인 큐비트 그리드(200)를 묘사한다. 도 2에 예시된 바와 같이, 큐비트 그리드(200)는 하나 이상의 보조 큐비트들(202)(속이 찬 원들에 의해 예시됨) 및/또는 하나 이상의 컴퓨테이션 큐비트들(204)(속이 빈 원들에 의해 예시됨)의 인터레이싱된 큐비트 그리드일 수 있다. 보조 큐비트들(202)은 컴퓨테이션 큐비트들(204)의 출력들에서 오류들(예컨대, 패리티)을 측정하도록 구성될 수 있다. 예컨대, 모든 컴퓨테이션 큐비트들(204) 중 일부는 컴퓨테이션 큐비트들(204) 중 일부 또는 전부에 걸쳐 양자 알고리즘을 정의하는 양자 게이트 동작들의 시계열을 가질 수 있다. 이러한 양자 게이트 동작들의 성능의 오류들은 큐비트 그리드(200)를 통해 전파될 수 있으며 결국 보조 큐비트들(202)에서 패리티 체크들에 의해 검출된다. 그 후, 오류 검출을 담당하는 보조 큐비트들(202)의 좌표들에 대응하는 엔드포인트들을 포함하는 오류 정보가 생성되고 그리고/또는 오류 검출 및/또는 정정을 위해 제어 시스템에 통신된다.
[0040] 도 3은 본 개시내용의 예시적인 실시예들에 따른 예시적인 그래프(300)를 묘사한다. 그래프(300)는 노드들(302) 및 에지들(304)을 포함한다. 본 개시내용의 예시적인 양상들에 따르면, 노드들(302)은 양자 컴퓨팅 시스템의 보조 큐비트들에 대응할 수 있다. 도 3에 예시된 바와 같이, 노드들(302)은 에지들(304)에 의해 연결될 수 있다. 에지들(304) 중 일부 또는 전부는 컴퓨테이션 큐비트(305)과 연관될 수 있다. 예컨대, 엔드포인트들로서 2개의 노드들(302)을 포함하는 오류 정보가 수신되는 경우, 오류를 담당하는 컴퓨테이션 큐비트(들)(305)는 본 개시내용의 예시적인 양상들에 따라, 2개의 노드들 사이의 최소 비용 얼터네이팅 경로들의 에지들(304)와 연관(예컨대, 매칭)될 수 있다.
[0041] 도 4a 및 도 4b는 본 개시내용의 예시적인 실시예들에 따른 오류 정보를 포함하는 예시적인 그래프들(400, 450)을 묘사한다. 예컨대, 도 4a는 오류 엔드포인트들(402, 404, 406 및 408)을 포함하는 예시적인 그래프(400)를 묘사한다. 그래프(400)는 노드들(410) 및 에지들(420)을 포함할 수 있다. 노드들은 보조 큐비트들에 대응할 수 있다. 부가적으로 및/또는 대안적으로, 에지들(420)의 일부 또는 전부는 컴퓨테이션 큐비트들을 표현할 수 있다. 예컨대, 일부 구현들에서, 각각의 에지(420)는 단일 컴퓨테이션 큐비트를 표현할 수 있다. 부가적으로 및/또는 대안적으로, 일부 구현들에서, 에지는 보조 큐비트 및 컴퓨테이션 큐비트와 같이 하나 초과의 큐비트에 영향을 미치는 오류를 표현할 수 있다. 예시된 바와 같이, 각각의 노드(410)는 에지들(420)에 의해 하나 이상의 다른 노드들(410)에 연결될 수 있다. 일부 구현들에서, 각각의 에지(420)는 관련된 가중치를 가질 수 있다. 엔드포인트들(402, 404, 406 및 408)은 패리티 체크가 실패한 보조 큐비트들과 같이 오류를 검출하는 보조 큐비트들에 대응할 수 있다.
[0042] 도 4b는 그래프(400)보다 더 많은 수의 엔드포인트들(452)을 포함하는 예시적인 그래프(450)를 묘사한다. 예컨대, 그래프(450)는 엔드포인트들(452)의 수가 증가함에 따라 오류 포지션들을 해결하는데 복잡도가 얼마나 증가하는지를 예시한다. 예컨대, 도 4a 및 도 4b의 비교로부터 이해될 수 있는 바와 같이, 더 많은 수의 엔드포인트들(452)을 포함하는 그래프(450)보다 적은 엔드포인트들을 포함하는 그래프(400)를 해결(예컨대, 매칭 에지들을 그에 할당함)하는 것이 더 쉬울 수 있다. 예컨대, 에지(422)가 엔드포인트들(402 및 404)과 매칭될 수 있고 에지(424)가 엔드포인트(406 및 408)와 매칭될 가능성이 가장 높다는 것이 쉽게 추론될 수 있다(가중치들은 무시함). 그러나 도 4b에서 알 수 있는 바와 같이, 그래프(450)에 매칭들을 할당하는 것은 컴퓨테이션적으로 더 복잡할 수 있다.
[0043] 본 개시내용의 예시적인 양상들은 그래프들(400 및/또는 450)의 매칭을 결정하는 것을 제공될 수 있다. 예컨대, 본 개시내용의 예시적인 양상에 따른 시스템들 및 방법들은 각각의 엔드포인트(예컨대, 402-408)가 매칭에 포함되도록 "매칭됨" 또는 "매칭되지 않음"(또는 다른 유사한 이진 품질)의 매칭 라벨들을 에지들(420)에 할당할 수 있다. 예컨대, 본 개시내용의 예시적인 양상들에 따른 시스템들 및 방법들은 제1 매칭되지 않는 노드(예컨대, 제1 엔드포인트)로부터 제2 매칭되지 않는 노드(예컨대, 제2 엔드포인트)로의 최소 비용 얼터네이팅 경로를 찾을 수 있다. 예컨대, 최소 비용 얼터네이팅 경로는 오류 엔드포인트들을 야기했을 가능성이 가장 높은 큐비트들에 대응하는 에지들을 포함할 수 있다. 얼터네이팅 경로를 따른 매칭 라벨들이 반전되어, 매칭되지 않는 노드들을 포함하는 새로운 최적(예컨대, 최저 비용) 매칭을 초래할 수 있다. 이는 전체 최적(예컨대, 가장 가능성이 높은) 솔루션이 달성될 때까지 반복될 수 있다. 이러한 방식으로 시스템을 통한 오류 전파 및/또는 다수의 오류들은 양자 컴퓨팅 시스템이 동작하는 동안 지속적으로 참작될 수 있다.
[0044] 도 5는 본 개시내용의 예시적인 실시예들에 따라 부분적으로 매칭되는 그래프 내 매칭된 노드들의 세트를 확장하기 위한 예시적인 방법(500)의 흐름도를 묘사한다. 도 5는 예시 및 논의를 위해 특정 순서로 수행되는 단계들을 묘사하지만, 본 개시내용의 방법들은 특별히 예시된 순서 또는 어레인지먼트로 제한되지 않는다. 방법(500)의 다양한 단계들은 본 개시내용의 범위를 벗어나지 않고 다양한 방식들로 생략, 재배열, 결합 및/또는 적응될 수 있다.
[0045] 방법(500)은 502에서, (예컨대, 하나 이상의 컴퓨팅 디바이스들을 포함하는 컴퓨팅 시스템에 의해) 하나 이상의 에지들 및 복수의 노드들을 포함하는 부분적으로 매칭되는 그래프를 획득하는 것을 포함할 수 있다. 하나 이상의 에지들은 매칭을 가질 수 있다. 예컨대, 매칭 라벨들에는 에지들이 매칭되는지 또는 매칭되지 않는지를 표시하도록 하나 이상의 에지들이 할당될 수 있다. 예컨대, 일부 구현들에서, 매칭은 각각의 에지에 대해, 매칭 조건을 갖는 매칭된 에지 또는 매칭되지 않는 조건을 갖는 매칭되지 않는 에지 중 하나를 표시하는 매칭 라벨일 수 있거나 이를 포함할 수 있다. 그래프는 특정 제약들에 따라 매칭되는 노드들 및/또는 에지들을 정의할 수 있다. 예컨대, 일부 구현들에서, 그래프는 복수의 노드들 각각이 최대 하나의 매칭되는 에지에 터치(touch)하도록 매칭된다.
[0046] 일부 구현들에서, 하나 이상의 에지들 각각은 가중치를 포함할 수 있다. 예컨대, 일부 구현들에서, 이를테면, 그래프가 복수의 큐비트에 대응하는 구현에서, 각각의 에지는 해당 에지에서의 오류의 가능성에 기초하여 가중될 수 있다. 예컨대, 일부 구현들에서, 에지 가중치들은 양자 컴퓨팅 시스템의 이전 분석 및/또는 시뮬레이션에 적어도 부분적으로 기초하여 설정될 수 있다. 일부 구현들에서, 가중치는 오류의 가능성과 역으로 관련될 수 있다. 예컨대, 낮은 오류 가능성을 갖는 에지는 높은 가중치를 가질 수 있다.
[0047] 방법(500)은 504에서, (예컨대, 컴퓨팅 시스템에 의해) 적어도 2개의 매칭되지 않는 노드들을 획득하는 단계를 포함할 수 있다. 예컨대, 적어도 2개의 매칭되지 않는 노드들은 적어도 2개의 매칭되지 않는 노드들을 획득하기 전에 그래프에 있지 않던 노드들과 같은 새로운 노드들일 수 있다. 부가적으로 및/또는 대안적으로, 적어도 2개의 매칭되지 않는 노드들은 이전의 매칭으로부터 매칭되지 않음으로서 토글링된 노드들과 같이 업데이트된 상태(예컨대, 매칭됨 및/또는 매치되지 않음)를 가진 기존 노드들일 수 있다. 일부 구현들에서, 적어도 2개의 매칭되지 않는 노드들은 양자 컴퓨팅 시스템으로부터의 오류 정보에 포함된 엔드포인트들(예컨대, 제1 엔드포인트 및/또는 제2 엔드포인트)일 수 있거나 이를 포함할 수 있다.
[0048] 방법(500)은 506에서, 컴퓨팅 시스템에 의해, 적어도 2개의 매칭되지 않는 노드들 중 제1 매칭되지 않는 노드로부터 적어도 2개의 매칭되지 않는 노드들 중 제2 매칭되지 않는 노드로의 얼터네이팅 경로를 결정하는 것을 포함할 수 있다. 얼터네이팅 경로는 하나 이상의 에지들 중 적어도 하나의 에지를 포함할 수 있다. 예컨대, 얼터네이팅 경로는 매칭되는 에지들과 매칭되지 않는 에지들 사이를 교번할 수 있다. 예로서, 제1 매칭되지 않는 노드로부터 제2 매칭되지 않는 노드로의 에지들의 순차적인 순서는 매칭되는 에지들과 매칭되지 않는 에지들 사이에서 교번할 수 있다. 일부 구현들에서, 단 하나의 에지를 갖는 얼터네이팅 경로들의 경우, 에지는 매칭되거나 매칭되지 않을 수 있다.
[0049] 일부 구현들에서, 얼터네이팅 경로는 최소 비용 얼터네이팅 경로일 수 있다. 예컨대, 일부 구현들에서, 얼터네이팅 경로의 비용은 얼터네이팅 경로 내 매칭되지 않는 에지들의 매칭되지 않는 가중치들의 합일 수 있으며, 얼터네이팅 경로 내 매칭되는 에지들의 매칭되는 가중치의 합은 매칭되지 않는 가중치들의 합으로부터 감산된다. 예컨대, 양자 컴퓨팅 오류 검출을 위한 구현들에서, 이 비용 함수에 따른 얼터네이팅 경로는 이에 따라, 가장 가능성이 높은 오류 경로에 대응할 수 있다.
[0050] 일부 구현들에서, 적어도 2개의 매칭되지 않는 노드들 중 제1 매칭되지 않는 노드로부터 적어도 2개의 매칭되지 않는 노드들 중 제2 매칭되지 않는 노드로의 얼터네이팅 경로를 결정하는 것은, 컴퓨팅 시스템에 의해, 제1 매칭되지 않는 노드로부터 복수의 노드들 각각으로의 복수의 얼터네이팅 경로들을 갖는 트리를 결정하는 것 그리고 트리로부터 얼터네이팅 경로를 선택하는 것을 포함한다. 예컨대, 선택된 매칭되지 않는 노드로부터 그래프 내 각각의 노드로의 얼터네이팅 경로들의 트리가 결정될 수 있다. 부가적으로 및/또는 대안적으로, 얼터네이팅 경로들은 최소 비용 얼터네이팅 경로들일 수 있다. 따라서 제2 매칭되지 않는 노드를 초래하는 얼터네이팅 경로가 선택될 수 있다. 얼터네이팅 경로들의 트리는 사이클들을 회피하는 데 유익할 수 있으며, 이는 양자 컴퓨팅 애플리케이션들에서 특히 유익할 수 있다. 예컨대, 일부 구현들에서, 복수의 얼터네이팅 경로들 중 어느 것도 사이클을 포함할 수 없다. 둘 이상의 인스턴스들에서 단일 에지를 사용하는 경로에 사이클이 존재할 수 있다. 다른 예로서, 단일 노드를 두 번 이상 포함하는 경로에 사이클이 존재할 수 있다. 얼터네이팅 경로들의 트리는 임의의 적합한 알고리즘에 의해 결정될 수 있다. 예컨대, 일부 구현들에서, 복수의 얼터네이팅 경로들을 포함하는 트리를 결정하는 것은 벨먼-포드(Bellman-Ford) 알고리즘을 적용함으로써 수행된다. 벨먼-포드 알고리즘은 이를테면, 사이클들을 포함하지 않는 경로들만 선택함으로써 사이클들의 형성을 방지하도록 수정될 수 있다. 예컨대, 알고리즘은 현재 노드의 조상들인 노드들을 방문하는 것이 방지될 수 있다.
[0051] 방법(500)은 508에서, 얼터네이팅 경로의 적어도 하나의 에지의 매칭 라벨(들)을 반전시키는 것을 포함할 수 있다. 예컨대, 얼터네이팅 경로가 식별되면, 얼터네이팅 경로를 따른 각각의 에지의 매칭 라벨이 반전될 수 있다. 예컨대, 얼터네이팅 경로를 따른 매칭되는 에지들은 매칭되지 않는 에지들로 반전될 수 있고 그리고/또는 얼터네이팅 경로를 따른 매칭되지 않는 에지들은 매칭되는 에지들로 반전될 수 있다. 본 개시내용의 예시적인 양상들에 따르면, 제1 매칭되지 않는 노드들로부터 제2 매칭되지 않는 노드로의 얼터네이팅 경로를 따른 매칭 라벨들을 반전시키는 것은 기존 노드들에 대해 유효한 채로 유지하면서 매칭되지 않는 노드들을 포함하도록 그래프의 매칭 세트를 확장할 수 있다. 또한, 최소 비용 얼터네이팅 경로가 반전되는 경우, 새로운 매칭은 (예컨대, 비용 함수에 의해 정의된 바와 같이) 전체 최적 매칭일 수 있다.
[0052] 도 6은 본 개시내용의 예시적인 실시예들에 따른 양자 컴퓨팅 시스템에서 오류 검출을 위한 예시적인 방법(600)의 흐름도를 묘사한다. 도 6은 예시 및 논의를 위해 특정 순서로 수행되는 단계들을 묘사하지만, 본 개시내용의 방법들은 특별히 예시된 순서 또는 어레인지먼트로 제한되지 않는다. 방법(600)의 다양한 단계들은 본 개시내용의 범위를 벗어나지 않고 다양한 방식들로 생략, 재배열, 결합 및/또는 적응될 수 있다.
[0053] 방법(600)은 602에서, (예컨대, 하나 이상의 컴퓨팅 디바이스들을 포함하는 컴퓨팅 시스템에 의해) 하나 이상의 에지들 및 복수의 노드들을 포함하는 매칭되는 그래프를 획득하는 것을 포함할 수 있다. 하나 이상의 에지들은 매칭을 가질 수 있다. 예컨대, 매칭 라벨들에는 에지들이 매칭되는지 또는 매칭되지 않는지를 표시하도록 하나 이상의 에지들이 할당될 수 있다. 예컨대, 일부 구현들에서, 매칭은 각각의 에지에 대해, 매칭 조건을 갖는 매칭된 에지 또는 매칭되지 않는 조건을 갖는 매칭되지 않는 에지 중 하나를 표시하는 매칭 라벨일 수 있거나 이를 포함할 수 있다. 그래프는 특정 제약들에 따라 매칭되는 노드들 및/또는 에지들을 정의할 수 있다. 예컨대, 일부 구현들에서, 그래프는 복수의 노드들 각각이 최대 하나의 매칭되는 에지에 터치하도록 매칭된다.
[0054] 복수의 노드들은 양자 컴퓨팅 시스템의 복수의 큐비트들에 대응할 수 있다. 예컨대, 일부 구현들에서, 복수의 큐비트들은 큐비트들의 인터레이싱된 그리드에 대응할 수 있다. 인터레이싱된 그리드는 복수의 보조 큐비트들과 인터레이싱된 복수의 컴퓨테이션 큐비트들을 포함할 수 있다. 예컨대, 노드들 각각은 보조 큐비트에 대응할 수 있다. 부가적으로 및/또는 대안적으로, 하나 이상의 에지들 각각은 컴퓨테이션 큐비트에 대응할 수 있다. 예시적인 큐비트 그리드가 도 2에 도시된다. 임의의 적합한 큐비트 그리드 및/또는 다른 복수의 큐비트들이 본 개시내용의 예시적인 양상들에 따라 사용될 수 있다.
[0055] 일부 구현들에서, 하나 이상의 에지들 각각은 가중치를 포함할 수 있다. 예컨대, 일부 구현들에서, 각각의 에지는 해당 에지 및/또는 에지의 노드들(예컨대, 큐비트들)에서의 오류의 가능성에 기초하여 가중될 수 있다. 예컨대, 일부 구현들에서, 에지 가중치들은 양자 컴퓨팅 시스템의 이전 분석 및/또는 시뮬레이션에 적어도 부분적으로 기초하여 설정될 수 있다. 일부 구현들에서, 가중치는 오류의 가능성과 역으로 관련될 수 있다. 예컨대, 낮은 오류 가능성을 갖는 에지는 높은 가중치를 가질 수 있다.
[0056] 방법(600)은 604에서, (예컨대, 컴퓨팅 시스템에 의해) 제1 엔드포인트 및 제2 엔드포인트를 설명하는 오류 검출 신호를 획득하는 것을 포함할 수 있다. 예컨대, 일부 구현들에서, 제1 엔드포인트 및/또는 제2 엔드포인트는 매칭되는 그래프 내 매칭되지 않는 노드들일 수 있다. 제1 엔드포인트 및 제2 엔드포인트는 복수의 큐비트들 중 제1 큐비트 및 제2 큐비트에 대응할 수 있다. 예컨대, 일부 구현들에서, 제1 엔드포인트 및 제2 엔드포인트는 각각 보조 큐비트에 대응한다. 컴퓨팅 시스템은 미스매칭된 패리티의 엔드포인트들을 설명하는 좌표들을 포함하는 오류 정보를 수신할 수 있다. 예컨대, 엔드포인트들은 미스매칭된 패리티가 검출되는 큐비트 그리드의 보조 큐비트들의 포지션들에 대응할 수 있다. 일부 경우들에서, 엔드포인트들을 포함하는 오류 정보는 실시간으로 이를테면, 타임 슬라이스 별로 및/또는 연속적으로 수신될 수 있다. 예컨대, 각각의 타임 슬라이스는 복수의 큐비트들 각각에서 양자 게이트 동작들의 세트에 대응할 수 있다. 오류 정보는 마이크로초 레벨의 정밀도로 수신될 수 있다. 예컨대, 일부 실시예들에서, 컴퓨팅 시스템은 미스매칭된 패리티의 엔드포인트들의 쌍들을 포함하는 오류 정보를 실시간으로 수신할 수 있다.
[0057] 방법(600)은 606에서, (예컨대, 컴퓨팅 시스템에 의해) 제1 엔드포인트로부터 제2 엔드포인트로의 얼터네이팅 경로를 결정하는 것을 포함할 수 있다. 얼터네이팅 경로는 하나 이상의 에지들 중 적어도 하나의 에지를 포함할 수 있다. 예컨대, 얼터네이팅 경로는 매칭되는 에지들과 매칭되지 않는 에지들 사이를 교번할 수 있다. 예로서, 제1 엔드포인트로부터 제2 엔드포인트로의 에지들의 순차적인 순서는 매칭되는 에지들과 매칭되지 않는 에지들 사이에서 교번할 수 있다. 일부 구현들에서, 단 하나의 에지를 갖는 얼터네이팅 경로들의 경우, 에지는 매칭되거나 매칭되지 않을 수 있다.
[0058] 일부 구현들에서, 얼터네이팅 경로는 최소 비용 얼터네이팅 경로일 수 있다. 예컨대, 일부 구현들에서, 얼터네이팅 경로의 비용은 얼터네이팅 경로 내 매칭되지 않는 에지들의 매칭되지 않는 가중치들의 합일 수 있으며, 얼터네이팅 경로 내 매칭되는 에지들의 매칭되는 가중치의 합은 매칭되지 않는 가중치들의 합으로부터 감산된다. 예컨대, 양자 컴퓨팅 오류 검출을 위한 구현들에서, 이 비용 함수에 따른 얼터네이팅 경로는 이에 따라, 가장 가능성이 높은 오류 경로에 대응할 수 있다.
[0059] 일부 구현들에서, 적어도 2개의 엔드포인트들 중 제1 엔드포인트로부터 적어도 2개의 엔드포인트들 중 제2 엔드포인트로의 얼터네이팅 경로를 결정하는 것은, 컴퓨팅 시스템에 의해, 제1 엔드포인트로부터 복수의 노드들 각각으로의 복수의 얼터네이팅 경로들을 갖는 트리를 결정하는 것 그리고 트리로부터 얼터네이팅 경로를 선택하는 것을 포함한다. 예컨대, 선택된 매칭되지 않는 노드로부터 그래프 내 각각의 노드로의 얼터네이팅 경로들의 트리가 결정될 수 있다. 부가적으로 및/또는 대안적으로, 얼터네이팅 경로들은 최소 비용 얼터네이팅 경로들일 수 있다. 따라서 제2 엔드포인트를 초래하는 얼터네이팅 경로가 선택될 수 있다. 얼터네이팅 경로들의 트리는 사이클들을 회피하는 데 유익할 수 있으며, 이는 양자 컴퓨팅 애플리케이션들에서 특히 유익할 수 있다. 예컨대, 일부 구현들에서, 복수의 얼터네이팅 경로들 중 어느 것도 사이클을 포함할 수 없다. 얼터네이팅 경로들의 트리는 임의의 적합한 알고리즘에 의해 결정될 수 있다. 예컨대, 일부 구현들에서, 복수의 얼터네이팅 경로들을 포함하는 트리를 결정하는 것은 벨먼-포드 알고리즘을 적용함으로써 수행된다. 벨먼-포드 알고리즘은 이를테면, 사이클들을 포함하지 않는 경로들만 선택함으로써 사이클들의 형성을 방지하도록 수정될 수 있다.
[0060] 방법(600)은 608에서 (예컨대, 컴퓨팅 시스템에 의해) 얼터네이팅 경로에 적어도 부분적으로 기초하여 양자 컴퓨팅 시스템에서 적어도 하나의 오류 포지션을 검출하는 것을 포함할 수 있다. 예컨대, 얼터네이팅 경로는 양자 컴퓨테이션에서 오류들의 포지션들을 식별하기 위해 복수의 큐비트들과 비교될 수 있다. 일 예로서, 매칭되는 에지들은 불규칙한 큐비트를 표시할 수 있다. 따라서 오류의 포지션은 예컨대, 큐비트 인덱스, 좌표 및/또는 다른 식별자에 대응할 수 있다.
[0061] 일부 구현들에서, 방법(600)은 610에서, 컴퓨팅 시스템에 의해, 양자 컴퓨팅 시스템에서 적어도 오류 포지션으로부터 양자 측정을 정정하는 것을 더 포함할 수 있다. 예컨대, 일부 구현들에서 오류가 존재한 양자 알고리즘을 오류를 정정하도록 재실행될 수 있다. 다른 예로서, 일부 구현들에서, 오류 로케이션으로부터 측정된 값은 정정될 수 있고 양자 알고리즘은 정정된 값으로 평가를 계속할 수 있다.
[0062] 도 7은 도 1을 참조하여 논의된 시스템과 같은 본 개시내용의 예시적인 실시예들에 따른 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 시스템(1000)의 블록도를 묘사한다. 시스템(1000)은 네트워크(1050)를 통해 통신 가능하게 커플링된 제어 시스템(1010) 및 양자 컴퓨팅 시스템(1030)을 포함한다. 본원에서 설명된 방법들 중 임의의 것의 하나 이상의 양상들은 제어 시스템(1010) 및/또는 양자 컴퓨팅 시스템(1030) 상에서 구현될 수 있다.
[0063] 제어 시스템(1010)은 임의의 유형의 컴퓨팅 디바이스(예컨대, 고전적 컴퓨팅 디바이스)를 포함할 수 있다. 제어 시스템(1010)은 하나 이상의 프로세서들(1012) 및 메모리(1014)를 포함한다. 하나 이상의 프로세서들(1012)은 임의의 적합한 프로세싱 디바이스(예컨대, 프로세서 코어, 마이크로프로세서, ASIC, FPGA, 제어기, 마이크로제어기 등)를 포함할 수 있고, 하나의 프로세서 또는 동작 가능하게 연결되는 복수의 프로세서들일 수 있다. 메모리(1014)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 디바이스들, 자기 디스크 등 및 이들의 조합들과 같은 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 메모리(1014)는 제어 시스템(1010)으로 하여금, 본원에서 개시된 방법 중 임의의 것의 하나 이상의 양상들과 같은 동작들을 수행하게 하기 위해 프로세서(1012)에 의해 실행되는 명령들(1018) 및 데이터(1016)(예컨대, 큐비트 파라미터들, 측정들 등)를 저장할 수 있다. 제어 시스템(1010)은 본 개시내용의 예시적인 실시예들에 따라 양자 컴퓨테이션들에서 오류들을 식별하기 위해 양자 시스템(예컨대, 양자 시스템(1040))의 출력들을 측정함으로써 획득된 오류 정보(1020)를 프로세싱하도록 구성될 수 있다.
[0064] 양자 컴퓨팅 시스템(1030)은 하나 이상의 프로세서들(1032) 및 메모리(1034)를 포함한다. 하나 이상의 프로세서들(1032)은 적합한 프로세싱 디바이스(예컨대, 프로세서 코어, 마이크로프로세서, ASIC, FPGA, 제어기, 마이크로제어기 등)를 포함할 수 있고, 하나의 프로세서 또는 동작 가능하게 연결되는 복수의 프로세서들일 수 있다. 메모리(1034)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 디바이스들, 자기 디스크 등 및 이들의 조합들과 같은 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 메모리(1034)는 양자 컴퓨팅 시스템(1030)으로 하여금, 복수의 큐비트들을 갖는 양자 시스템(1040) 상의 하나 이상의 양자 게이트들을 갖는 양자 회로의 구현 및 연관된 측정들(예컨대, 오류 정보(1020))을 획득하는 것과 같은 동작들을 수행하게 하도록 프로세서(1032)에 의해 실행되는 명령들(1038) 및 데이터(1036)를 저장할 수 있다. 양자 컴퓨팅 시스템(1030)은 도 1을 참조하여 논의되고 설명된 양자 컴퓨팅 시스템과 유사할 수 있다. 본 개시내용의 범위를 벗어나지 않고 다른 적합한 양자 컴퓨팅 시스템들이 사용될 수 있다.
[0065] 네트워크(1050)는 로컬 영역 네트워크(예컨대, 인트라넷), 광역 네트워크(예컨대, 인터넷) 또는 이들의 일부 조합과 같은 임의 유형의 통신 네트워크일 수 있고 임의의 수의 유선 또는 무선 링크들을 포함할 수 있다. 일반적으로, 네트워크(1050)를 통한 통신은 매우 다양한 통신 프로토콜들(예컨대, TCP/IP, HTTP, SMTP, FTP), 인코딩들 또는 포맷들(예컨대, HTML, XML) 및/또는 보호 체계들(예컨대, VPN, 보안 HTTP, SSL)을 사용하여 임의의 유형의 유선 및/또는 무선 연결을 통해 전달될 수 있다. 일부 구현들에서, 제어 시스템(1010)이 양자 컴퓨팅 시스템(1030)과 직접 신호 통신하도록 네트워크(1050)가 생략될 수 있다.
[0066] 본 명세서에 설명된 디지털, 고전적 및/또는 양자 청구 대상 및 디지털 기능 동작들 및 양자 동작들의 구현들은 본 명세서에 개시된 구조들 및 이들의 구조적 등가물들, 또는 이들 중 하나 이상의 조합들을 포함하는 디지털 전자 회로부, 적합한 양자 회로부 또는 더 일반적으로, 양자 컴퓨테이셔널 시스템들에서, 실체가 있게 구현된 디지털 및/또는 양자 컴퓨터 소프트웨어 또는 펌웨어에서, 디지털 및/또는 양자 컴퓨터 하드웨어에서 구현될 수 있다. "양자 컴퓨팅 시스템들"이라는 용어는 양자 컴퓨터들/컴퓨팅 시스템들, 양자 정보 프로세싱 시스템들, 양자 암호 시스템들 또는 양자 시뮬레이터들을 포함할 수 있다(그러나 이에 제한되지 않음).
[0067] 본 명세서에 설명된 디지털 및/또는 양자 청구 대상의 구현들은, 데이터 프로세싱 장치에 의한 실행을 위해, 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 실체가 있는 비-일시적 저장 매체 상에 인코딩된 디지털 및/또는 양자 하나 이상의 컴퓨터 프로그램들, 즉 디지털 및/또는 양자 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있다. 디지털 및/또는 양자 컴퓨터 저장 매체는, 머신-판독 가능 저장 디바이스, 머신-판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 하나 이상의 큐비트들 및/또는 큐비트 구조들 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 부가적으로, 프로그램 명령들은, 데이터 프로세싱 장치에 의한 실행을 위해 적합한 수신기 장치로의 송신을 위한 디지털 및/또는 양자 정보를 인코딩하도록 생성되는, 디지털 및/또는 양자 정보를 인코딩할 수 있는 인위적으로 생성된 전파된 신호(예컨대, 머신-생성 전기, 광학, 또는 전자기 신호) 상에서 인코딩될 수 있다.
[0068] 양자 정보 및 양자 데이터라는 용어들은 양자 시스템들에 의해 전달, 홀딩 또는 저장되는 정보 또는 데이터를 지칭하며, 여기서 가장 작은 비사소한 시스템은 큐비트, 즉 양자 정보의 유닛을 정의하는 시스템이다. "큐비트"이라는 용어는 대응하는 맥락에서 2-레벨 시스템으로 적절하게 근사화될 수 있는 모든 양자 시스템들을 포함하는 것으로 이해된다. 그러한 양자 시스템들은 예컨대, 2개 이상의 레벨들을 갖는 다중 레벨 시스템들을 포함할 수 있다. 예로써, 이러한 시스템들은 원자들, 전자들, 광자들, 이온들 또는 초전도 큐비트들을 포함할 수 있다. 다수의 구현들에서, 컴퓨테이셔널 기본 상태들은 그라운드 및 제1 여기된 상태들로 식별되지만, 컴퓨테이셔널 상태가 더 높은 레벨의 여기된 상태들(예컨대, 큐비트들)로 식별되는 다른 셋업들이 가능하다는 것이 이해된다.
[0069] "데이터 프로세싱 장치"라는 용어는 디지털 및/또는 양자 데이터 프로세싱 하드웨어를 지칭하며, 예로써 프로그래밍 가능 디지털 프로세서, 프로그래밍 가능 양자 프로세서, 디지털 컴퓨터, 양자 컴퓨터 또는 다수의 디지털 및 양자 프로세서들 또는 컴퓨터들 및 이들의 조합들을 포함하여, 디지털 및/또는 양자 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스 및 머신들을 포함한다. 장치는 또한 특수 목적 로직 회로부, 예컨대, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit) 또는 양자 시뮬레이터, 즉 특정 양자 시스템에 대한 정보를 시뮬레이팅하거나 생성하도록 설계된 양자 데이터 프로세싱 장치일 수 있거나 이를 더 포함할 수 있다. 특히, 양자 시뮬레이터는 범용 양자 컴퓨테이션을 수행하는 역량을 갖지 않는 특수 목적의 양자 컴퓨터이다. 장치는 선택적으로, 하드웨어 외에도, 디지털 및/또는 양자 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
[0070] 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로서 또한 지칭되거나 설명될 수 있는 디지털 또는 고전적 컴퓨터 프로그램은 컴파일되거나 인터프리팅된 언어들, 선언형 또는 절차형 언어들을 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 그것은 자립형 프로그램 또는 모듈, 컴포넌트, 서브루틴 또는 디지털 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함한 임의의 형태로 전개될 수 있다. 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로서 또한 지칭되거나 설명될 수 있는 양자 컴퓨터 프로그램은 컴파일되거나 인터프리팅된 언어들, 선언형 또는 절차형 언어들을 포함한 모든 형태의 프로그래밍 언어로 작성되고 적합한 양자 프로그래밍 언어로 번역되거나 양자 프로그래밍 언어 예컨대, QCL, Quipper, Cirq 등으로 작성될 수 있다.
[0071] 디지털 및/또는 양자 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만 반드시 대응할 필요는 없을 수 있다. 프로그램은, 다른 프로그램들 또는 데이터 예컨대, 마크업 언어 문서에 저장되는 하나 이상의 스크립트들을 보유하는 파일의 부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 편성된 파일들 예컨대, 하나 이상의 모듈들, 서브-프로그램들 또는 코드의 부분들을 저장하는 파일들에 저장될 수 있다. 디지털 및/또는 양자 컴퓨터 프로그램은 하나의 사이트에 로케이팅되거나 다수의 사이트들에 걸쳐 분산되어 디지털 및/또는 양자 데이터 통신 네트워크에 의해 상호연결되는 다수의 디지털 및/또는 양자 컴퓨터들 상에서 실행되거나 또는 하나의 디지털 또는 하나의 양자 컴퓨터 상에서 실행되도록 전개될 수 있다. 양자 데이터 통신 네트워크는 양자 시스템들 예컨대, 큐비트들을 사용하여 양자 데이터를 송신할 수 있는 네트워크인 것으로 이해된다. 일반적으로, 디지털 데이터 통신 네트워크는 양자 데이터를 송신할 수 없지만, 양자 데이터 통신 네트워크는 양자 데이터 및 디지털 데이터 둘 모두를 송신할 수 있다.
[0072] 본 명세서에서 설명된 프로세스들 및 로직 흐름들은 하나 이상의 디지털 및/또는 양자 프로세서들과 함께 적절하게 동작하고 하나 이상의 디지털 및/또는 양자 컴퓨터 프로그램들을 실행하여 입력 디지털 및 양자 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하는 하나 이상의 프로그래밍 가능 디지털 및/또는 양자 컴퓨터들에 의해 수행될 수 있다. 프로세스 및 로직 흐름들은 또한 특수-목적 로직 회로부, 예컨대, FPGA 또는 ASIC, 또는 양자 시뮬레이터 또는 특수-목적 로직 회로부 또는 양자 시뮬레이터들 및 하나 이상의 프로그래밍된 디지털 및/또는 양자 컴퓨터들의 조합에 의해 수행될 수 있고 이들로서 장치가 또한 구현될 수 있다.
[0073] 하나 이상의 디지털 및/또는 양자 컴퓨터들 도는 프로세서들의 시스템이 특정 동작들 또는 액션들을 수행하도록 "구성되고" 또는 특정 동작들 또는 액션들을 수행하도록 "동작 가능하게" 되는 것은, 시스템에는, 동작 시에 시스템이 동작들 또는 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 설치되어 있음을 의미한다. 하나 이상의 디지털 및/또는 양자 컴퓨터 프로그램들이 특정 동작들 또는 액션들을 수행하도록 구성된다는 것은, 하나 이상의 프로그램들이, 디지털 및/또는 양자 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령들을 포함한다는 것을 의미한다. 양자 컴퓨터는 양자 컴퓨팅 장치에 의해 실행될 때, 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령들을 디지털 컴퓨터로부터 수신할 수 있다.
[0074] 디지털 및/또는 양자 컴퓨터 프로그램의 실행에 적합한 디지털 및/또는 양자 컴퓨터들은 범용 또는 특수 목적 디지털 및/또는 양자 마이크로프로세서들, 또는 둘 모두 또는 임의의 다른 종류의 디지털 및/또는 양자 중앙 처리 장치에 기초할 수 있다. 일반적으로 디지털 및/또는 양자 중앙 처리 장치는 판독 전용 메모리, 랜덤 액세스 메모리 또는 양자 데이터를 송신하기에 적합한 양자 시스템들 예컨대, 광자들 또는 이들의 조합들로부터 명령들 및 디지털 및/또는 양자 데이터를 수신할 것이다.
[0075] 디지털 및/또는 양자 컴퓨터의 일부 예시적인 엘리먼트들은 명령들을 수행 또는 실행하기 위한 중앙 처리 장치, 및 명령들 및 디지털 및/또는 양자 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 중앙 처리 장치 및 메모리는 특수-목적 로직 회로부 또는 양자 시뮬레이터들에 의해 보완되거나 또는 거기에 통합될 수 있다. 일반적으로, 디지털 및/또는 양자 컴퓨터는 또한, 디지털 및/또는 양자 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들 예컨대, 자기, 광-자기 디스크들 또는 광학 디스크들, 또는 양자 정보를 저장하기에 적합한 양자 시스템들로부터 디지털 및/또는 양자 데이터를 수신하거나 거기로 디지털 및/또는 양자 데이터를 전달하거나 또는 둘 모두를 행하도록 동작 가능하게 커플링되거나 그러한 하나 이상의 대용량 저장 디바이스들을 포함할 것이다. 그러나 디지털 및/또는 양자 컴퓨터는 이러한 디바이스들을 가질 필요가 없다.
[0076] 디지털 및/또는 양자 컴퓨터 프로그램 명령들 및 디지털 및/또는 양자 데이터를 저장하기에 적합한 디지털 및/또는 양자 컴퓨터 판독 가능 매체들은, 예로써, 반도체 메모리 디바이스들, 예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 예컨대, 내부 하드 디스크들 또는 제거 가능 디스크들; 광-자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들; 및 양자 시스템들, 예컨대, 트래핑된 원자들 또는 전자들을 포함하는 모든 형태들의 비-휘발성 디지털 및/또는 양자 메모리, 매체 및 메모리 디바이스들을 포함한다. 양자 메모리들은 양자 데이터를 높은 충실도 및 효율로 장시간 저장할 수 있는 디바이스들 예컨대, 광이 송신에 사용되고 물질이 중첩 또는 양자 코히어런스(quantum coherence)와 같은 양자 데이터의 양자 특징들을 저장하고 보존하는데 사용되는 광-물질 인터페이스들인 것으로 이해된다.
[0077] 본 명세서에 설명된 다양한 시스템들 또는 그의 일부들의 제어는 하나 이상의 실체가 있는 비-일시적 머신 판독 가능 저장 매체들 상에 저장되고, 하나 이상의 디지털 및/또는 양자 프로세싱 디바이스들 상에서 실행 가능한 명령들을 포함하는 디지털 및/또는 양자 컴퓨터 프로그램 제품으로 구현될 수 있다. 본 명세서에 설명된 시스템들 또는 그의 일부들은 하나 이상의 디지털 및/또는 양자 프로세싱 디바이스들 및 본 명세서에 설명된 동작들을 수행하기 위한 실행 가능한 명령들을 저장하는 메모리를 포함할 수 있는 장치, 방법 또는 전자 시스템으로서 각각 구현될 수 있다.
[0078] 본 명세서가 많은 특정한 구현 세부사항들을 포함하지만, 이들은 청구될 수 있는 것의 범위에 대한 제한들로서 해석되는 것이 아니라 오히려, 특정한 구현들에 특정할 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 구현들의 맥락에서 본 명세서에 설명된 소정의 특징들은 또한, 단일 구현으로 조합하여 구현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한, 다수의 구현들에서 개별적으로 또는 임의의 적합한 서브조합으로 구현될 수 있다. 또한, 특징들이 소정의 조합들에서 동작하는 것으로 위에서 설명되고 심지어 초기에는 그와 같이 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서, 그 조합으로부터 삭제될 수 있으며, 청구된 조합은 서브-조합 또는 서브-조합의 변동으로 안내될 수 있다.
[0079] 유사하게, 동작들이 특정한 순서로 도면들에 도시되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행된다는 것을 요구하는 것으로서 이해되지는 않아야 한다. 소정의 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 위에서 설명된 구현에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 구현들에서 그러한 분리를 요구하는 것으로서 이해되지는 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로, 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
[0080] 청구대상의 특정 구현들이 설명되었다. 다른 구현들은 다음의 청구항들의 범위 내에 존재한다. 예컨대, 청구항들에서 열거된 액션들은, 상이한 순서로 수행될 수 있으며, 그럼에도 불구하고 바람직한 결과들을 달성할 수 있다. 일 예로서, 첨부한 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해, 도시된 특정한 순서 또는 순차적인 순서를 반드시 요구하지는 않는다. 일부 경우들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.

Claims (23)

  1. 부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법으로서,
    하나 이상의 컴퓨팅 디바이스들을 포함하는 컴퓨팅 시스템에 의해, 매칭 세트를 갖는 부분적으로 매칭되는 그래프를 획득하는 단계 ― 상기 부분적으로 매칭되는 그래프는 하나 이상의 에지들 및 복수의 노드들을 포함하고, 상기 하나 이상의 에지들은 매칭 라벨(matching label)을 가짐 ― ;
    상기 컴퓨팅 시스템에 의해, 적어도 2개의 매칭되지 않는 노드들을 획득하는 단계;
    상기 컴퓨팅 시스템에 의해, 상기 적어도 2개의 매칭되지 않는 노드들 중 제1 매칭되지 않는 노드로부터 상기 적어도 2개의 매칭되지 않는 노드들 중 제2 매칭되지 않는 노드로의 얼터네이팅 경로(alternating path)를 결정하는 단계 ― 상기 얼터네이팅 경로는 상기 하나 이상의 에지들 중 적어도 하나의 에지를 포함함 ― ; 및
    상기 컴퓨팅 시스템에 의해, 상기 적어도 2개의 매칭되지 않는 노드들이 상기 부분적으로 매칭되는 그래프의 매칭 세트에 포함되도록 상기 얼터네이팅 경로의 상기 적어도 하나의 에지의 매칭 라벨을 반전시키는 단계를 포함하는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  2. 제1 항에 있어서,
    상기 적어도 2개의 매칭되지 않는 노드들 중 상기 제1 매칭되지 않는 노드로부터 상기 적어도 2개의 매칭되지 않는 노드들 중 상기 제2 매칭되지 않는 노드로의 얼터네이팅 경로를 결정하는 단계는,
    상기 컴퓨팅 시스템에 의해, 상기 제1 매칭되지 않는 노드로부터 상기 복수의 노드들 각각으로의 복수의 얼터네이팅 경로들을 포함하는 트리를 결정하는 단계; 및
    상기 트리로부터 상기 얼터네이팅 경로를 선택하는 단계를 포함하는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  3. 제1 항 또는 제2 항에 있어서,
    상기 컴퓨팅 시스템에 의해, 상기 복수의 얼터네이팅 경로들을 포함하는 트리를 결정하는 단계는 상기 부분적으로 매칭되는 그래프에 벨만-포드 알고리즘(Bellman-Ford algorithm)을 적용함으로써 수행되는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 복수의 얼터네이팅 경로들 중 어느 것도 사이클(cycle)을 포함하지 않는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  5. 제1 항 내지 제4 항 중 어느 한 항에 있어서,
    상기 하나 이상의 에지들 각각은 가중치를 포함하는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서,
    상기 얼터네이팅 경로는 최소 비용 얼터네이팅 경로를 포함하는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서,
    상기 매칭 라벨은 매칭된 조건을 갖는 매칭된 에지 또는 매칭되지 않는 조건을 갖는 매칭되지 않는 에지 중 하나를 표시하고, 상기 얼터네이팅 경로는 매칭된 에지들 및 매칭되지 않는 에지들을 교번하는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서,
    상기 얼터네이팅 경로의 비용은 상기 얼터네이팅 경로 내 매칭되지 않는 에지들의 매칭되지 않는 가중치들의 합을 포함하며, 상기 얼터네이팅 경로 내 매칭되는 에지들의 매칭되는 가중치들의 합은 상기 매칭되지 않는 가중치들의 합으로부터 감산되는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  9. 제1 항 내지 제8 항 중 어느 한 항에 있어서,
    상기 그래프는 상기 복수의 노드들 각각이 최대 하나의 매칭되는 에지에 터치(touch)하도록 매칭되는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  10. 양자 컴퓨팅 시스템에서 오류 검출을 위한 방법으로서,
    하나 이상의 컴퓨팅 디바이스들을 포함하는 컴퓨팅 시스템에 의해, 하나 이상의 에지들 및 복수의 노드들을 포함하는 매칭되는 그래프를 획득하는 단계 ― 상기 복수의 노드들은 양자 컴퓨팅 시스템의 복수의 큐비트(qubit)들에 대응하고, 상기 하나 이상의 에지들은 매칭 라벨을 가짐 ― ;
    상기 컴퓨팅 시스템에 의해, 제1 엔드포인트 및 제2 엔드포인트를 포함하는 오류 검출 신호를 획득하는 단계 ― 상기 제1 엔드포인트 및 상기 제2 엔드포인트는 상기 복수의 큐비트들 중 제1 큐비트 및 제2 큐비트에 대응함 ― ;
    상기 컴퓨팅 시스템에 의해, 상기 제1 엔드포인트로부터 상기 제2 엔드포인트로의 얼터네이팅 경로를 결정하는 단계 ― 상기 얼터네이팅 경로는 상기 하나 이상의 에지들 중 적어도 하나의 에지를 포함함 ― ; 및
    상기 컴퓨팅 시스템에 의해, 상기 얼터네이팅 경로에 적어도 부분적으로 기초하여 상기 양자 컴퓨팅 시스템에서 적어도 하나의 오류 포지션을 검출하는 단계를 포함하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  11. 제10 항에 있어서,
    상기 컴퓨팅 시스템에 의해, 상기 양자 컴퓨팅 시스템에서 상기 적어도 오류 포지션으로부터 양자 측정을 정정하는 단계를 더 포함하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  12. 제10 항 또는 제11 항에 있어서,
    상기 복수의 큐비트들은 큐비트들의 인터레이싱된 그리드(interlaced grid)를 포함하고, 상기 인터레이싱된 그리드는 복수의 보조 큐비트들과 인터레이싱된 복수의 컴퓨테이션 큐비트들을 포함하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  13. 제10 항 내지 제12 항 중 어느 한 항에 있어서,
    상기 제1 엔드포인트 및 상기 제2 엔드포인트는 각각 보조 큐비트에 대응하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  14. 제10 항 내지 제13 항 중 어느 한 항에 있어서,
    상기 하나 이상의 에지들 각각은 컴퓨테이션 큐비트에 대응하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  15. 제10 항 내지 제14 항 중 어느 한 항에 있어서,
    상기 컴퓨팅 시스템에 의해, 상기 제1 엔드포인트로부터 상기 제2 엔드포인트로의 얼터네이팅 경로를 결정하는 단계는,
    상기 컴퓨팅 시스템에 의해, 상기 제1 엔드포인트로부터 상기 복수의 노드들 각각으로의 복수의 얼터네이팅 경로들을 포함하는 트리를 결정하는 단계; 및
    상기 트리로부터 상기 제2 엔드포인트에서 종결되는 얼터네이팅 경로를 선택하는 단계를 포함하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  16. 제10 항 내지 제15 항 중 어느 한 항에 있어서,
    상기 하나 이상의 에지들 각각은 가중치를 포함하고, 상기 가중치는 오류의 가능성에 적어도 부분적으로 기초하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  17. 제10 항 내지 제16 항 중 어느 한 항에 있어서,
    상기 얼터네이팅 경로는 최소 비용 얼터네이팅 경로를 포함하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  18. 제10 항 내지 제17 항 중 어느 한 항에 있어서,
    상기 매칭 라벨은 매칭된 조건을 갖는 매칭된 에지 또는 매칭되지 않는 조건을 갖는 매칭되지 않는 에지 중 하나를 표시하고, 상기 얼터네이팅 경로는 매칭된 에지들 및 매칭되지 않는 에지들을 교번하는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  19. 제10 항 내지 제18 항 중 어느 한 항에 있어서,
    상기 얼터네이팅 경로의 비용은 상기 얼터네이팅 경로 내 매칭되지 않는 에지들의 매칭되지 않는 가중치들의 합을 포함하며, 상기 얼터네이팅 경로 내 매칭되는 에지들의 매칭되는 가중치들의 합은 상기 매칭되지 않는 가중치들의 합으로부터 감산되는,
    양자 컴퓨팅 시스템에서 오류 검출을 위한 방법.
  20. 양자 컴퓨팅 시스템으로서,
    복수의 큐비트들을 포함하는 양자 하드웨어; 및
    하나 이상의 고전적 프로세서들을 포함하고,
    상기 하나 이상의 고전적 프로세서들은 동작들을 수행하도록 구성되며, 상기 동작들은,
    하나 이상의 에지들 및 복수의 노드들을 포함하는 매칭되는 그래프를 획득하는 동작 ― 상기 복수의 노드들은 상기 복수의 큐비트들에 대응하고, 상기 하나 이상의 에지들은 매칭 라벨을 가짐 ― ;
    제1 엔드포인트 및 제2 엔드포인트를 포함하는 오류 검출 신호를 획득하는 동작 ― 상기 제1 엔드포인트 및 상기 제2 엔드포인트는 상기 복수의 큐비트들 중 제1 큐비트 및 제2 큐비트에 대응함 ― ;
    상기 제1 엔드포인트로부터 상기 제2 엔드포인트로의 얼터네이팅 경로를 결정하는 동작 ― 상기 얼터네이팅 경로는 상기 하나 이상의 에지들 중 적어도 하나의 에지를 포함함 ― ; 및
    상기 얼터네이팅 경로에 적어도 부분적으로 기초하여 상기 양자 하드웨어에서 적어도 하나의 오류 포지션을 검출하는 동작을 포함하는,
    양자 컴퓨팅 시스템.
  21. 제1 항 내지 제9 항 중 어느 한 항에 있어서,
    상기 적어도 2개의 매칭되지 않는 노드들 중 적어도 하나는 경계 노드를 포함하는,
    부분적으로 매칭되는 그래프에서 매칭되는 노드들의 세트를 확장하기 위한 컴퓨터 구현 방법.
  22. 제10 항 내지 제19 항 중 어느 한 항에 있어서,
    상기 제1 엔드포인트 또는 상기 제2 엔드포인트 중 적어도 하나는 경계 노드를 포함하는,
    방법.
  23. 제20 항에 있어서,
    상기 제1 엔드포인트 또는 상기 제2 엔드포인트 중 적어도 하나는 경계 노드를 포함하는,
    양자 컴퓨팅 시스템.
KR1020237022036A 2020-12-03 2021-11-29 양자 컴퓨팅을 위한 그래프들 내 가중화된 얼터네이팅경로들 KR20230113782A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063121027P 2020-12-03 2020-12-03
US63/121,027 2020-12-03
PCT/US2021/060965 WO2022119764A2 (en) 2020-12-03 2021-11-29 Weighted alternating paths in graphs for quantum computing

Publications (1)

Publication Number Publication Date
KR20230113782A true KR20230113782A (ko) 2023-08-01

Family

ID=79259443

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237022036A KR20230113782A (ko) 2020-12-03 2021-11-29 양자 컴퓨팅을 위한 그래프들 내 가중화된 얼터네이팅경로들

Country Status (8)

Country Link
US (2) US20220179737A1 (ko)
EP (1) EP4232968A2 (ko)
JP (1) JP2023552551A (ko)
KR (1) KR20230113782A (ko)
CN (1) CN116547678A (ko)
AU (1) AU2021391403A1 (ko)
CA (1) CA3201059A1 (ko)
WO (1) WO2022119764A2 (ko)

Also Published As

Publication number Publication date
WO2022119764A2 (en) 2022-06-09
CN116547678A (zh) 2023-08-04
US20240086279A1 (en) 2024-03-14
AU2021391403A1 (en) 2023-06-22
JP2023552551A (ja) 2023-12-18
WO2022119764A3 (en) 2022-07-14
EP4232968A2 (en) 2023-08-30
CA3201059A1 (en) 2022-06-09
US20220179737A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
AU2021203991B2 (en) Automatic qubit calibration
CN111464154B (zh) 一种控制脉冲的计算方法及装置
JP2019502216A (ja) その場量子エラー訂正
US20220019928A1 (en) Majorana loop stabilizer codes for error correction of fermionic quantum simulations
AU2023200020A1 (en) Error corrected variational algorithms
US20220358392A1 (en) Parallel cross entropy benchmarking
KR20230113782A (ko) 양자 컴퓨팅을 위한 그래프들 내 가중화된 얼터네이팅경로들
US20230029092A1 (en) Denoising Qubit Calibration Data with Deep Learning
US12026589B1 (en) Preprocessing for correlated topological quantum error correction
US12008435B2 (en) Frequency configuration in quantum gates for leakage removal
WO2024081051A2 (en) Matrix product state-based decoders for stabilizer codes under device noise for quantum computing and information processing
US11550872B1 (en) Systems and methods for quantum tomography using an ancilla
US20240160976A1 (en) Backtesting Quantum Device Calibration
Havstöm et al. Machine Learning Assisted Quantum Error Correction Using Scalable Neural Network Decoders
WO2024112696A1 (en) Surface codes with densely packed gauge operators

Legal Events

Date Code Title Description
A201 Request for examination