KR20220024456A - 양자 컴퓨터를 에뮬레이트 하기 위한 시스템 및 이와 사용하기 위한 방법 - Google Patents

양자 컴퓨터를 에뮬레이트 하기 위한 시스템 및 이와 사용하기 위한 방법 Download PDF

Info

Publication number
KR20220024456A
KR20220024456A KR1020227000705A KR20227000705A KR20220024456A KR 20220024456 A KR20220024456 A KR 20220024456A KR 1020227000705 A KR1020227000705 A KR 1020227000705A KR 20227000705 A KR20227000705 A KR 20227000705A KR 20220024456 A KR20220024456 A KR 20220024456A
Authority
KR
South Korea
Prior art keywords
columns
column
weights
variable
pass
Prior art date
Application number
KR1020227000705A
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 KR20220024456A publication Critical patent/KR20220024456A/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • 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/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/80Quantum programming, e.g. interfaces, languages or software-development kits for creating or handling programs capable of running on quantum computers; Platforms for simulating or accessing quantum computers, e.g. cloud-based quantum computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • 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)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Complex Calculations (AREA)

Abstract

N개의 열을 갖는 그리드 토폴로지로 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위한 시스템이 제시된다. 시스템은 동작을 수행하기 위해 동작 명령에 의해 구성된 적어도 하나의 클래식 프로세서를 포함하고, 동작은 그리드 토폴로지를 통해 N개의 반복 패스를 기반으로 N개의 열에 대한 최종 가중치 및 변수 할당을 생성하는 단계를 포함하고, 대응하는 서브세트의 선택된 열에 대한 초기 가중치 및 변수 할당은 대응하는 서브세트의 선택된 열에 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 하고. 복수의 큐비트의 샘플링은 N개의 열 각각에 대한 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트된다.

Description

양자 컴퓨터를 에뮬레이트 하기 위한 시스템 및 이와 사용하기 위한 방법
본 발명은 전반적으로 컴퓨터 시스템 및 양자 컴퓨팅에 관한 것이다.
컴퓨팅 디바이스는 데이터를 통신, 데이터를 처리, 및/또는 데이터를 저장하는 것으로 알려져 있다. 이러한 컴퓨팅 디바이스는 무선 스마트폰, 랩톱, 태블릿, 개인용 컴퓨터(PC), 워크 스테이션, 스마트 시계, 연결된 자동차 및 비디오 게임 디바이스부터 매일 수백만 건의 웹 검색, 웹 애플리케이션 또는 온라인 구매를 지원하는 웹 서버 및 데이터 센터까지 다양하다. 일반적으로 컴퓨팅 디바이스는 프로세서, 메모리 시스템, 사용자 입력/출력 인터페이스, 주변 디바이스 인터페이스 및 상호 연결 버스 구조를 포함한다.
클래식 디지털 컴퓨팅 디바이스는 이진 숫자(비트)로 인코딩된 데이터를 기반으로 동작하며, 각 숫자는 두 개의 명확한 이진 상태 (즉, 0 또는 1) 중 하나를 가진다. 대조적으로, 양자 컴퓨터는 양자 역학 현상을 활용하여 데이터를 양자 비트 또는 큐비트로 인코딩하며, 이는 전통적인 이진 상태의 중첩에 있을 수 있다.
도 1은 본 발명에 따른 양자 컴퓨팅 에뮬레이터의 실시예의 개략적인 블록도이다.
도 2는 본 발명에 따른 양자 컴퓨팅 아키텍처의 실시예의 개략적인 블록도이다.
도 3은 본 발명에 따른 양자 컴퓨팅 아키텍처의 실시예의 개략적인 블록도이다.
도 4a, 4b 및 4c는 본 발명에 따른 멀티 패스 샘플링의 흐름의 실시예를 나타낸다.
도 5a 및 5b는 본 발명에 따른 듀얼 패스 샘플링의 흐름의 실시예를 나타낸다.
도 6은 본 발명에 따른 방법의 실시예의 흐름도이다.
도 7은 본 발명에 따른 방법의 실시예의 흐름도이다.
도 8은 본 발명에 따른 방법의 실시예의 흐름도이다.
도 1은 본 발명에 따른 양자 컴퓨팅 에뮬레이터의 실시예의 개략적인 블록도이다. 양자 컴퓨팅 에뮬레이터(102)는 클래식 프로세서(120) 및 그리드 토폴로지 모델(124)을 저장하는 클래식 메모리(122)를 포함한다.
클래식 프로세서(120)는 양자 컴퓨팅보다는 클래식으로 동작하는 처리 모듈 및/또는 하나 이상의 다른 프로세싱 디바이스를 포함한다. 이러한 각각의 처리 디바이스는 마이크로프로세서, 마이크로-컨트롤러, 디지털 신호 프로세서, 마이크로컴퓨터, 중앙 처리 유닛, 필드 프로그램 가능 게이트 어레이, 프로그램 가능 논리 디바이스, 상태 머신, 논리 회로부, 아날로그 회로부, 디지털 회로부 및/또는 회로부 및/또는 동작 명령의 하드 코딩을 기반으로 신호(아날로그 및/또는 디지털)를 조작하는 모든 디바이스일 수 있다. 클래식 프로세서(120)는 부착된 메모리 및/또는 클래식 메모리(122) 또는 다른 메모리 디바이스와 같은 통합된 메모리 요소와 함께 동작하고, 이는 단일 메모리 디바이스, 복수의 메모리 디바이스, 및/또는 다른 프로세싱 모듈의 내장된 회로부, 모듈, 프로세싱 회로, 프로세싱 회로부, 및/또는 프로세싱 유닛일 수 있다. 이러한 메모리 디바이스는 판독 전용 메모리, 랜덤 액세스 메모리, 휘발성 메모리, 비휘발성 메모리, 정적 메모리, 동적 메모리, 플래시 메모리, 캐시 메모리, 및/또는 디지털 정보를 저장하는 임의의 디바이스일 수 있다.
클래식 프로세서(120)가 하나 이상의 프로세싱 디아비스를 포함하는 경우, 프로세싱 디바이스는 중앙에 위치하거나 (예: 유선 및/또는 무선 버스 구조를 통해 직접 연결됨) 분산 위치할 수 있다 (예: 근거리 통신망 및/또는 광역 통신망을 통해 간접 연결을 통해 클라우드 컴퓨팅). 또한, 클래식 프로세서(120)가 상태 머신, 아날로그 회로부, 디지털 회로부 및/또는 논리 회로부를 통해 기능 중 하나 이상을 구현하는 경우, 해당 동작 명령을 저장하는 메모리 및/또는 메모리 요소가 상태 머신, 아날로그 회로부, 디지털 회로부, 및/또는 논리 회로부를 포함하는 회로부의 내장 또는 외장에 있을 수 있다. 추가로, 하나 이상의 도면에 예시된 단계 및/또는 기능의 적어도 일부에 해당하는 하드 코딩된 및/또는 다른 동작 명령을 클래식 메모리(122)는 저장하고, 클래식 프로세서(120)는 실행한다. 이러한 메모리 디바이스 또는 메모리 요소는 유형의 메모리 디바이스 또는 제조 물품에 포함되거나 제품으로서 구현되는 다른 비일시적 저장 매체일 수 있다.
QUBO(Quadratic Unconstrained Binary Optimization) 모델은 중요한 최적화 문제 클래스에 대한 통합 수학적 프레임워크이다. 문제는 스칼라 y=x T Qx의 전역 최소값을 찾는 것과 관련이 있고 여기서 x는 이진 변수의 벡터이고 Q는 계수의 정방 행렬이다. 상부 삼각 형태의 행렬 Q는 다음과 같이 정의할 수 있다:
Q[i, i], c i ix i xi로부터 cii 계수 포함
Q[i, j], i<j에 대해, c i ix i xi로부터 cii 계수 포함
Q[j, i], i>j에 대해 0을 포함
주어진 QUBO 문제가 가능한 모든 변수 조합 쌍 x i x j 의 제한된 서브세트를 포함하고 x i x j 간의 종속성이 그리드 기반 레이아웃에서 모델링될 수 있는 경우, QUBO 문제는 본원에 설명된 클래식 계산을 통해 해결될 수 있다.
양자 컴퓨터 에뮬레이터(102)를 통한 샘플링은 값비싸고 고도로 복잡한 양자 컴퓨팅 하드웨어에 대한 필요 없이 QUBO 문제 및/또는 본원에 요약된 기준을 충족하는 다른 문제에 대한 양자 알고리즘 속도의 이점을 제공함으로써 컴퓨팅 기술을 개선한다. 이러한 방식으로 경로 찾기, 일기 예보, 인공 지능, 금융 모델링, 암호학, 분자 모델링, 패턴 인식, 입자 물리학, 시뮬레이션, 다차원 최적화, 및 기타 계산 집약적 어플리케이션과 같은 고도로 복잡한 문제는 이러한 특수 목적의 양자 컴퓨팅 컴퓨팅 하드웨어 없이도 해결될 수 있다. 양자 컴퓨팅 에뮬레이션의 관점에서 위에서 설명되었지만, 본원에 설명된 기술은 그리드 토폴로지를 갖는 QUBO의 보다 일반화된 볼츠만 샘플링 및/또는 위에 요약된 기준을 충족하는 다른 QUBO 문제에 적용될 수 있다.
도 2는 본 발명에 따른 양자 컴퓨팅 아키텍처의 실시예의 개략적인 블록도(200)이다. 도시된 예에서 그리드 토폴로지는 세개의 열과 세개의 행이 있는 아홉개 셀(N=3)의 NxN 그리드를 포함한다. 다양한 실시예에서, 그리드 토폴로지 모델(124)은 양자 컴퓨팅 에뮬레이터(102)에 의해 에뮬레이트될 양자 컴퓨터의 상호 연결된 그리드-기반 아키텍처에 해당할 수 있으며, 여기서 그리드의 각 셀은 셀 내에서 상호 연결된 복수의 큐비트를 포함하고 여기서 일부 큐비트는 다른 그리드 요소와 상호 연결된다. 용어 "열" 및 "행"은 일반적으로 각각 2차원 그리드 셀의 수직 및 수평 1차원 어레이에 관련되지만, 본원에서 사용된 용어 "열"은 2차원 그리드 셀의 수직 또는 수평 1차원 어레이를 의미하는 것에 유의하고, 이는 특히 셀의 실제 방향이 계산의 맥락에서 임의적이기 때문이다. 또한, 정사각형 그리드 토폴로지가 도시되어 있지만, 다른 정사각형이 아닌 직사각형 및 다른 그리드 형태가 마찬가지로 사용될 수 있다.
다양한 실시예에서, 그리드 토폴로지 모델(124)은 서브 트리의 패밀리로 구성된 트리/서브 트리 구조로서 큐비트의 그래프를 나타낼 수 있다. 다음 속성을 만족하는 그래프의 특정 트리 분해(X,T)를 고려한다.
|X|=N:=8n 2 , X={X 1 ,...,X N },
T는 리스트 이며, T={(X 1 ,X 2 ),...(X N-1 ,XN)},
|Xj|≤W:=4n+2, j=1,...,N.
알렉스 셸비는 "Efficient subgraph-based sampling of Ising-type models with frustration"에서 샘플링에 대한 단일 패스 동적 프로그래밍 솔루션을 제안했다. 그러나 이 접근 방식은 볼츠만 분포의 대략적인 샘플만 생성하고 그리드의 모든 큐비트에 대한 초기 결과를 저장할 만큼 충분히 큰 데이터 구조를 필요로 한다.
대조적으로, 클래식 프로세서(120)는 O(N2 W ) 시간안에 그래프에 주어진 QUBO 예의 다중 속성을 계산하기 위해 서브 트리 패밀리에 의해 가이드되는 멀티 패스 동적 프로그래밍을 구현하는 동작 명령을 수행한다. 클래식 프로세서(120)는 N개의 적절하게 맞춤화된 동적 프로그래밍 패스를 수행하여 샘플 당 O(nN2W)의 총 복잡성을 제공함으로써 모든 변수(최소 상태 및 단일 볼츠만 샘플 모두에 대해)의 할당을 결정할 수 있다. 보다 정확하게는, 클래식 프로세서(120)는 다음 중 일부 또는 모두를 계산할 수 있다:
Figure pct00001
X N 에서 변수의 달성 가능한 최소 에너지 및 관련 할당,
Figure pct00002
모든 상태의 총 볼츠만 가중치,
Figure pct00003
최소 에너지 상태의 총 볼츠만 가중치,
Figure pct00004
X N 에서 변수의 모든 할당에 대한 볼츠만 분포,
Figure pct00005
단일 볼츠만 샘플의 X N 에서 변수의 할당.
특히, 양자 컴퓨팅 에뮬레이터(102)는 N개의 열을 갖는 그리드 토폴로지에 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위한 시스템을 제공한다. 다양한 실시예에서, 클래식 프로세서(120)는 그리드 토폴로지를 통해 N개의 반복 패스를 기반으로 N개의 열에 대한 최종 가중치 및 변수 할당을 생성하는 것을 포함하는 동작을 수행하도록 클래식 메모리(122)에 저장된 동작 명령에 의해 구성되고, N개의 반복 패스 각각은 N개의 열의 대응하는 서브세트에 대한 초기 가중치 및 변수 할당을 생성하고, N개의 열의 대응하는 서브세트의 선택된 열에 대한 초기 가중치 및 변수 할당은 N개의 열의 대응하는 서브세트의 선택된 열에 인접한 열에 대해 생선된 초기 가중치 및 변수 할당을 기반으로 하고, 및 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 N개의 열 각각에 대한 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트 된다.
다양한 실시예에서, N개의 반복 패스 중 제1 반복 패스는 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 N번째 열에 대한 최종 가중치 및 변수 할당을 생성한다. 예를 들어, N개의 반복 패스 중 제1 반복 패스와 관련된 N개의 열의 대응하는 서브세트에는 N개의 열의 제2 열과 N개의 열의(N-1)번째 열 사이의 범위에 있는 N개의 열의 모든 열이 포함된다. N개의 반복 패스 중 제1 반복 패스는 널(null) 열에 해당하는 널 가중치를 기반으로 N개의 열 중 제1 열에 대한 초기 가중치 및 변수 할당을 생성한다. N개의 반복 패스 중 마지막 반복 패스는 N개의 열 중 제2 열에 대한 최종 가중치 및 변수 할당을 기반으로 N개의 열 중 제1 열에 대한 최종 가중치 및 변수 할당을 생성하고, 각각의 N개의 반복 패스는 N개의 열 중 해당 열에 대한 최종 가중치 및 변수 할당을 생성한다.
다양한 실시예에서, N개의 반복 패스 중 p번째 반복 패스는 (N-p)번째 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 (N-p+1)번째 열에 대한 최종 가중치 및 변수 할당을 생성한다. N개의 반복 패스 중 p번째 반복 패스와 관련된 N개의 열의 대응하는 서브세트는 N개의 열 중 제2 열과 N개의 열 중 (N-p)번째 열 사이의 범위에 있는 N개의 열의 모든 열을 포함할 수 있다. 그리드 토폴로지는 QUBO(Quadratic Unconstrained Binary Optimization) 모델에 해당할 수 있다. 샘플은 볼츠만 분포에 해당할 수 있다.
추가 예를 고려한다. 클래식 프로세서(120)는 그리드 토폴로지를 통해 N개의 반복 패스를 기반으로 N개 열에 대한 최종 가중치 및 변수 할당을 생성하는 것을 포함하는 동작을 수행하도록 클래식 메모리(122)에 저장된 동작 명령에 의해 구성된다. 각각의 N개의 반복 패스는 열의 개수의 각각에 대해 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 열의 개수에 대한 초기 가중치 및 변수 할당을 생성한다. N개의 반복 패스 중 각각에 대해 N개의 열 중 최종 열에 대해 최종 가중치 및 변수 할당은 N개의 열 중 최종 열에 인접한 N개의 열 중 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 생성된다. 각 패스에 대해 최종 열이 변경된다. 제1 패스에서 최종 열은 N번째 열이고, 제2 패스에서 최종 열은 N-1번째 열이며, 보다 일반적으로 p번째 패스에서 최종 열은 (N-p+1)번째 열이다. N개의 반복 패스가 완료되고 N개의 열의 각각에 대한 최종 가중치 및 변수 할당이 생성될 때까지 초기 가중치 및 변수 할당이 재생성되는 경우 N개 열 중 최종 열에 대한 최종 가중치 및 변수 할당은 N개의 열의 열 수를 줄이기 위해 N개의 반복 패스의 다음 연속 패스에 사용된다. 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 N개의 열의 각각에 대한 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트된다.
다양한 실시예에서, N개의 반복 패스를 기반으로 N개의 열에 대한 초기 가중치 및 변수 할당을 생성하는 프로세서는 다음을 포함한다:
(1) 그리드 토폴로지를 통해 N개의 반복 패스 중 제1 패스를 수행하는 단계, N개의 열 중 N번째 열은 최종 열에 해당하고, 초기 가중치 및 변수 할당이 생성되는 N개의 열 중 열의 개수는 N-1과 같다; 및
(2) 다음에 의해 그리드 토폴로지를 통해 N개의 반복 패스 중 N-1개의 다른 패스를 수행하는 단계:
(a) p=2로 설정하는 단계;
(b) 그리드 토폴로지를 통해 p번째 패스를 수행하는 단계, N개의 열 중 (N-p+1)번째 열은 최종 열에 해당하고, 초기 가중치 및 변수 할당이 재생성되는 N개의 열 중 열의 개수가 (N-p)와 같다;
(c) N를 증분시키는 단계; 및
(d) p = N이 될 때까지 단계 (b) 및 (c)를 반복하는 단계.
다양한 실시예에서, 그리드 토폴로지를 통해 N개의 반복 패스 중 제1 패스는 널 열에 - 사실상, 그리드의 제1 열에 인접하게 배치되는 더미 또는 가상 열 - 해당하는 널 가중치 및/또는 변수 할당을 기반으로 N개의 열 중 제1 열에 대한 초기 가중치 및 변수 할당 생성하는 것을 포함한다.
도 3은 본 발명에 따른 양자 컴퓨팅 아키텍처의 실시예의 개략적인 블록도이다. 도 2의 양자 컴퓨팅 아키텍처처럼 그리드 토폴로지는 세개의 열과 세개의 행을 가진 아홉개 셀(N=3)NxN 그리드를 포함한다. 도시된 예에서 그리드 토폴로지는 해당하는 변수 x 0 , x 1 , ... x 71 를 가진, 각각 0-72 넘버링된 8개의 상호 연결된 개별 큐비트를 가진 9개의 상호 연결된 유닛 셀(unit cell)을 가진 키메라(Chimera) 그래프(C n )에 해당한다. 이러한 상호 연결에 기반한 일부 변수(예: x 0 x 4 ) 사이에는 종속성이 있지만 다른 변수(예: x 0 x 1 ) 사이에는 종속성이 없다. 이 그리드 토폴로지는 가능한 모든 변수 조합 쌍 x i x j 의 제한된 서브세트를 포함하는 QUBO 문제를 나타내고 x i x j 간의 종속성을 그리드 기반 레이아웃에서 모델링할 수 있으므로 QUBO 문제는 클래식인 계산을 통해 해결할 수 있다.
다양한 실시예에서, 클래식 프로세서(120)는 아래의 의사코드를 기반으로 동작할 수 있다:
def calculate_sampling( grid[ Rows ][ Columns ] ):
(last_column_variables_assigments[], weights and variable assignments[] ) =
calculate_last_column_solution( grid[ Rows ][ Columns ] )
( last_column_variable_assignment, weight ) =
select_one_sample_with_boltzman_distribution(
last_column_variables_assigments[],
weights and variable assignments[] )
for variable_assignment in last_column_variable_assignment:
if variable_assignment = 0:
ignore
elif variable_assignment = 1:
grid[ Rows ][ Columns - 1 ].xi_coeff +=
grid[ Rows ][ Columns ].xi_xj_coeff
return calculate_sampling( qubo[ Rows ][ Columns - 1 ] )
last_column_variable_assignment) +
last_column_variable_assignment
각 패스의 마지막 열에 대한 마진(marginal) 분포는 트리 분해에 대한 동적 프로그래밍을 기반으로 계산할 수 있다. 일반화된 키메라 그래프 C n 의 특정 트리 분해를 고려한다.
Figure pct00006
N개의 열 세트 X={X 1 , X 2 ,…,X N }은 각각 최대 4n+1(Nn) 크기로 구성되며,
Figure pct00007
기본 분해는 경로 P={(X 1 ,X 2 ), (X 2 ,X 3 ),…,(X N-1 ,X N )}이다.
위에서 설명한 동적 프로그래밍 접근 방식을 사용하여 양자 컴퓨팅 에뮬레이터(102)는 다음과 같이 동작한다:
Figure pct00008
에너지를 최소화하는 대응하는 서브그래프와 함께 그라운드 에너지(ground energy) 값을 결정하고,
Figure pct00009
볼츠만 (Gibbs) 분포와 관련된 총 가중치를 결정하고,
Figure pct00010
볼츠만 분포에 따라 단일 샘플을 추출한다.
다양한 실시예에서, 클래식 프로세서(120)는 왼쪽의 열로 구성된 서브 그래프의 각 열에 대한 비트(큐비트)의 가중치(마진 분포)를 계산함으로써 진행한다. 이것은 0에서 시작한 다음 (제1 열의 왼쪽에 있는 팬텀 비어 있는(널) 열의 경우), u
Figure pct00011
X k v
Figure pct00012
X k+1 인 각 에지 e=uv에 대해 다음 방정식을 적용하여 열 X k 에서 X k+1 로 가중치를 전송하여 수행된다.
1. w 0 w 1 을 열 경계의 비트 할당에 해당하는 가중치라고 하고 u에 할당된 값(각각 0및 1임)만 다르도록 하고 d를 에지 uv의 에너지 및 b는 정점 v의 에너지라고 하고;
2. 동일한 비트 할당에 해당하는 가중치를 계산하지만 이제 v가 경계 정점인 경우 타겟 가중치 w'0w'1 (v에 각각 0및 1을 할당하는 것과 유사)을 고려한다, 그 다음
w' 0 =w 0 +w1
Figure pct00013
이것을 3x3 예에 적용하면, 클래식 프로세서(120)는 N=3 패스에서 열별로 진행함으로써 그리드를 반복적으로 샘플링하도록 동작할 수 있다. 특히, 도 4a, 4b 및 4c는 본 발명에 따른 멀티 패스 샘플링의 흐름도(400, 425 및 450)의 실시예를 나타낸다. 제1 패스는 도 4a에 도시된 바와 같이 1열에서 3열로 진행된다. 3번째 열에 대한 결과는 도 4b에 도시된 바와 같이 열 1에서 2로의 패스만을 필요로 하는 제2 패스에서 사용된다. 제3패스는 도 4c에 도시된 바와 같이 1열을 마무리한다. 3회 패스 후 전체 그래프에 대한 샘플이 획득된다.
위에서 볼츠만 분포에서 단일 샘플을 추출하는 관점에서 설명했지만 위에서 설명한 기술을 수정하여 볼츠만 분포에서 여러 샘플을 효율적으로 추출할 수 있다. k개의 샘플을 뽑는다고 가정하면 위의 기술을 순차적으로 수행하는 전문 지식이 없는 접근 방식은 O(knN2 W )의 복잡성을 제공한다. 아래에 요약된 방법을 사용하면 O(N(k+N2 W ))에서 k개의 샘플을 추출할 수 있다. Nk라는 용어를 무시할 수 있을 경우, O(n) 샘플보다 훨씬 더 많은 샘플을 처리할 때 새로운 접근 방식이 분명히 낫다.
원하는 복잡성을 도달하려면, 1과 N+1 사이의 임의의 j에 대해, X j+1 k개의 부분 샘플 s 1 ,...,s k O(k+N2 W ) 시간에 X j k개의 부분샘플 t 1 ,...,t k 로 "풀백" 될 수 있다. 이것은 위에서 설명한 바와 같이, X j - 1 에서 변수 할당에 대한 볼츠만 가중치의 구성을 수행하고 다음 절차에 따라 X j 에서 변수 할당에 대한 가중치 계산을 확장하여 얻을 수 있다:
1. 처음에는 각 샘플 s l 에 대해 0(미포함)과 X j+1 (포함)에서 s l 할당 가중치
사이에서 균일하게 난수 a l 를 선택한다, l=1,...,k.
2. 할당 가중치 및 변수 할당의 계산 동안, X j 에서 t 할당의 (적절하게 조정된) 가중치 w만큼 X j+1 에서 s할당의 가중치를 증가시키려고 할 때마다, s l s에 해당하는 모든 a l w만큼 감소시킨다. 이로 인해 s l 이 양수에서 비양수로 바뀔 때마다 t l :=t를 넣는다.
X j+1 에 대한 각 할당이 최대 두 번 업데이트되므로 위의 2에 있는 추가 단계는 각 샘플에 대해 최대 두 번 발생하므로 원하는 복잡성이 발생한다. 이는 고정된 계산 증가만으로 여러 샘플이 생성된다는 이점을 제공한다. 추가 샘플 수가 많을 때 더 큰 효율성을 얻을 수 있다.
위에서 설명한 기술은 다른 방식으로도 수정할 수 있다. 1열에서 N, 다음으로 1에서 N-1 N 번째 반복 패스로 진행하는 대신, d≠0인 한, 수행된 모든 동작은 역전 가능하며, 따라서 제1 패스에서 마지막 열을 샘플링한 후 w*는 w'*로부터 복구되고 두 번째에서 마지막 열을 샘플링하는데 사용되며 (마지막 열의 비트와 함께), 이렇게 역순으로 계속된다. 이것은 2회의 패스를 통해 샘플을 추출할 수 있게 한다. 이것은 샘플링의 복잡성을 O(N n 2 4n )으로 변경한다.
동작시, 클래식 프로세서(120)는 다음을 포함하는 동작을 수행할 수 있다:
(a) 그리드 토폴로지를 통해 제1 패스를 수행는 단계, 제1 패스는 N개의 열 중 제1열부터 N개의 열 중 (N-1)번째 열까지의 제1 순서로 N-1개의 열 각각에 대해 선행하는 인접 열에 대해 생성된 초기 가중치를 기반으로 N개의 열 중 N-1개의 열에 대한 초기 가중치 및 변수 할당을 반복적으로 생성하는 것을 포함하고, N번째 열에 대한 최종 가중치는 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치를 기반으로 생성되고; 및
(b) N개의 열 중 나머지 N-1개 열에 대한 최종 가중치 및 변수 할당을 생 성함으로써 그리드 토폴로지를 통해 제2 패스를 수행하는 단계, 제2 패스는 N개의 열 중 (N-1)번째 열부터 N개의 열 중 제1 열까지의 제2 순서로 N-1개의 열 각각에 대해 선행하는 인접 열에 대해 생성된 최종 가중치를 기반으로 N개의 열 중 N-1개의 열에 대해 최종 가중치 및 변수 할당을 반복적으로 생성하는 것을 포함한다.
이전과 마찬가지로 양자 컴퓨터의 샘플링은 N개의 각각의 열에 대한 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트된다.
도 5a 및 5b는 본 발명에 따른 듀얼 패스 샘플링의 흐름도(500 및 525)의 실시예를 나타낸다. 제1 패스는 도 5a에 도시된 바와 같이 1열에서 3열로 진행된다. 3번째 열에 대한 결과는 도 5b에 도시된 바와 같이 2번째 열과 1번째 열로 역방향으로 진행하는 제2 패스에서 사용된다. 2회 패스 후 전체 그래프에 대한 샘플이 획득된다. 위에서 단일 샘플만 추출하는 것으로 설명했지만 위에서 설명한 멀티 샘플링 기술은 2회 패스안에 k개의 샘플을 추출하는 데 사용되는 이 부분에서 추가로 수정될 수 있다.
위에서 설명한 기술은 다른 방식으로 수정할 수 있다. 앞에서 설명한 특정 서브 트리 구조를 활용한 동적 프로그래밍을 통해 낮은 해결 확률을 나타내는 그래프에서 문제가 검출되는 경우를 고려한다. 이 경우, 프로세싱은 서브 트리 구조가 아닌 트리의 리프(leaf)를 사용하는 제2 구조를 통해 동적 프로그래밍으로 전환된다. 문제가 해결되면 앞에서 설명한 서브 트리 구조를 사용하여 다시 동적 프로그래밍으로 프로세싱을 전환할 수 있다. 이를 통해 특정 그래프 구조의 문제로 인해 차단될 수 있는 그래프에서 하나 이상의 샘플을 추출할 수 있다.
도 6은 본 발명에 따른 방법의 실시예의 흐름도(600)이다. 특히, 도 1-5 관련하여 설명된 하나 이상의 기능 및 특징과 함께 사용하기 위한 방법이 제시된다. 단계 602는 그리드 토폴로지를 통해 제1 반복 패스를 수행하는 단계를 포함하고, N-1개의 열 각각에 대해 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 N-1개의 열에 대한 초기 가중치 및 변수 할당을 생성함으로써, N개의 열 중 N번째 열에 대한 최종 가중치 및 변수 할당을 생성하고, N번째 열에 대한 최종 가중치 및 변수 할당은 N번째 열에 인접한 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 생성되고, 단계 604는 설정 p=2로 설정하는 단계를 포함한다. 단계 606은 그리드 토폴로지를 통해 p번째 패스를 수행하는 단계를 포함하고, N-p번째 열 각각에 대해 인접한 열에 대해 재생성 된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 N-p번째 열에 대한 초기 가중치 및 변수 할당을 재생성함으로써, N개의 열 중 (N-p+1)번째 열에 대한 최종 가중치 및 변수 할당을 생성하고, (N-p+1)번째 열에 대해 최종 가중치 및 변수 할당이 (N-p+1)번째 열에 인접한 N개의 열 중 (N-p)번째 열에 대해 재생성된 초기 가중치 및 변수 할당과 (N-p+2)번째에 대해 생성된 최종 가중치 및 변수 할당을 기반으로 생성된다. 단계 608은 p를 증분시키는 단계를 포함한다.
단계 610에서, 방법은 p = N-1인지 여부를 결정한다. 아니오인 경우, 방법은 단계 606으로 돌아간다. 만약 예인 경우, 방법은 그리드 토폴로지를 통해 최종 패스를 수행하는 단계 612로 진행하여, 제2 열에 대해 생성된 최종 가중치 및 변수 할당을 기반으로 N개의 열 중 제1 열에 대한 최종 가중치 및 변수 할당을 생성하고, 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 N개의 열 각각에 대한 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트된다.
도 7은 본 발명에 따른 방법의 실시예의 흐름도(700)이다. 특히, 도 1-6 와 관련하여 설명된 하나 이상의 기능 및 특징과 함께 사용하기 위한 방법이 제시된다. 단계 702는 그리드 토폴로지를 통해 제1 반복 패스를 수행하는 것을 포함하고, N-1개의 열 각각에 대해 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 N-1개의 열에 대한 초기 가중치 및 변수 할당을 생성함으로써, N개의 열 중 N번째 열에 대한 최종 가중치 및 변수 할당을 생성하고, N번째 열에 대한 최종 가중치 및 변수 할당은 N번째 열에 인접한 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 생성되고, 단계 704는 p=2 로 설정하는 단계를 포함한다. 단계 706은 그리드 토폴로지를 통해 N 번째 패스를 수행하는 단계를 포함하고, N-p번째 열 각각에 대해 인접한 열에 대해 재생성된 초기 가중치 및 변수 할당을 기반으로 N번째 열 중 N-p번째 열에 대한 초기 가중치 및 변수 할당을 재생성함으로써, N개의 열 중 (N-p+1)번째 열에 대한 최종 가중치 및 변수 할당을 생성하고, (N-p+1)번째 열에 대해 최종 가중치 및 변수 할당이 (N-p+1)번째 열에 인접한 N개의 열 중 (N-p)번째 열에 대해 재생성된 초기 가중치 및 변수 할당과 (N-p+2)번째에 대해 생성된 최종 가중치 및 변수 할당을 기반으로 생성된다. 단계 708은 p 를 증분시키는 단계를 포함한다.
단계 710에서, 방법은 p = N-1인지 여부를 결정한다. 아니오인 경우, 방법은 단계 706으로 돌아간다. 만약 예인 경우, 방법은 그리드 토폴로지를 통해 마지막 패스를 수행하는 단계(712)로 진행하여, 제2 열에 대해 생성된 최종 가중치 및 변수 할당을 기반으로 N개의 열 중 제1 열에 대한 최종 가중치 및 변수 할당을 생성하고, 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 N개의 열 각각에 대한 최종 가중치 및 변수 할당을 기반으로 N개의 반복 패스로부터 복수의 샘플을 생성함으로써 에뮬레이트된다.
다양한 실시예에서, 그리드 토폴로지를 통해 N번째 반복 패스의 제1 반복 패스는 N개의 열 중 제1 열에 인접한 널 열에 해당하는 널 가중치를 기반으로 N개의 열 중 제1 열에 대한 초기 가중치 및 변수 할당을 생성하는 단계를 포함한다. 그리드 토폴로지는 QUBO(quadratic unconstrained binary optimization) 모델에 해당할 수 있다. 샘플은 볼츠만 분포에 해당할 수 있다.
도 8은 본 발명에 따른 방법의 실시예의 흐름도(800)이다. 특히, 도 1-7와 관련하여 설명된 하나 이상의 기능 및 특징과 함께 사용하기 위한 방법이 제시된다. 단계 802는 그리드 토폴로지를 통해 제1 패스를 수행하는 단계를 포함하고, 제1 패스는 N개의 열 중 제1 열부터 N개의 열 중 (N-1)번째 열까지의 제1 순서로 N-1개의 열 각각에 대해 선행하는 인접 열에 대해 생성된 초기 가중치를 기반으로 N개의 열 중 N-1개의 열에 대한 초기 가중치 및 변수 할당을 반복적으로 생성하는 단계를 포함하고, N번째 열에 대한 최종 가중치는 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치를 기반으로 생성한다.
단계 804는 N개의 열 중 나머지 N-1개 열에 대한 최종 가중치 및 변수 할당을 생성함으로써 그리드 토폴로지를 통해 제2 패스를 수행하는 단계를 포함하고, 제2 패스는 N개의 열 중 (N-1)번째 열부터 N개의 열 중 제1 열까지의 제2 순서로 N-1개의 열 각각에 대해 선행하는 인접 열에 대해 생성된 최종 가중치를 기반으로 N개의 열 중 N-1개의 열에 대해 최종 가중치 및 변수 할당을 반복적으로 생성하는 단계를 포함하고, 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 N개의 열 각각에 대한 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트된다.
위의 기술은 2차원 그리드 토폴로지를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위해 제시되었지만 본원에 설명된 기술은 위에서 설명한 대로 열별로 진행하는 멀티 패스 접근 방식에서 2차원 슬라이스에 대한 결과를 생성하고, 그런 다음 3차원 그리드에 대한 최종 결과가 획득될 때까지 멀티 패스 접근 방식으로 슬라이스별로 진행하여 3차원 그리드 토폴로지로 확장될 수 있다는 것에 유의한다.
콘텐츠가 원하는 여러 유형(예: 데이터, 비디오, 음성, 텍스트, 그래픽, 오디오 등 일반적으로 '데이터' 라고 부를 수 있음)에 해당하는 디지털 정보를 설명하기 위해 비트 스트림, 스트림, 신호 시퀀스 등(또는 그 등가물)과 같은 본원에서 사용될 수 있는 용어는 상호 교환 가능하게 사용되었다는 것에 유의한다.
본원에서 사용될 수 있는, 용어 "실질적으로" 및 "대략"은 해당 용어 및/또는 항목 간의 상대성에 대해 업계에서 허용하는 허용 오차를 제공한다. 일부 업계의 경우, 업계에서 허용하는 허용 오차가 1%미만이고 다른 업계의 경우, 업계에서 허용되는 허용 오차가 10%이상이다. 업계에서 허용하는 허용 오차의 다른 예는 1%미만에서 50%까지의 범위이다. 업계에서 허용하는 허용 오차는 구성 요소 값, 집적 회로 처리 변동, 온도 변동, 상승 및 하강 시간, 열 잡음, 치수, 신호 오류, 패킷 드롭, 온도, 압력, 재료 구성 및/또는 성능 메트릭에 해당하지만 이에 국한되지는 않는다. 업계 내에서 허용하는 허용오차의 편차는 백분율 수준보다 크거나 작을 수 있다 (예: +/- 1%미만의 치수 허용오차). 항목 간의 일부 상대성은 백분율 수준 미만의 차이에서 몇 퍼센트까지의 범위일 수 있다. 항목 간의 다른 상대성은 몇 퍼센트의 차이에서 차이의 크기에 이르기까지 다양할 수 있다.
본원에서 또한 사용될 수 있는, 용어(들) "~에 구성되는", "~에 동작 가능하게 결합된", "~에 결합된" 및/또는 "결합"은 항목 간의 직접 결합 및/또는 개재 항목 (예를 들어, 항목은 구성요소, 요소, 회로 및/또는 모듈을 포함하지만 이에 국한되지 않음)을 통한 항목 간의 간접 결합을 포함하며, 간접 결합의 예를 들어, 개입 항목은 신호의 정보를 수정하지 않지만 전류 레벨, 전압 레벨 및/또는 전력 레벨을 조정한다. 본원에서 더 사용될 수 있는, 추론된 결합 (즉, 하나의 요소가 추론에 의해 다른 요소에 결합되는 경우)은 "결합"과 동일한 방식으로 두 항목 간의 직접 및 간접 결합을 포함한다.
본원에서 추가로 사용될 수 있는, "~에 구성되는", "~에 동작 가능한", "~에 결합된" 또는 "~에 동작 가능하게 결합된" 이라는 용어는 항목이 활성화되면 하나 이상의 해당 기능을 수행하기 위해 전원 연결들, 입력(들), 출력(들) 중 하나 이상을 포함한다는 것을 나타내고 하나 이상의 다른 항목에 대한 추론된 결합을 더 포함할 수 있다. 본원에서 더 사용될 수 있는, "~와 연관된"이라는 용어는 별도의 항목 및/또는 하나의 항목이 다른 항목 내에 내장되는 직접 및/또는 간접 결합을 포함한다.
본원에서 사용될 수 있는, "유리하게 비교한다"라는 용어는 둘 이상의 항목, 신호 등 사이의 비교가 원하는 관계를 제공함을 나타낸다. 예를 들어, 원하는 관계가 신호 1의 크기가 신호 2보다 큰 경우, 신호 1의 크기가 신호 2의 크기보다 크거나 신호 2의 크기가 신호 1의 크기보다 작을 때 유리한 비교가 달성될 수 있다. 본원에서 사용될 수 있는, "비호적으로 비교하다"라는 용어는 둘 이상의 항목, 신호 등 사이의 비교가 원하는 관계를 제공하는 데 실패함을 나타낸다.
본원에서 사용될 수 있는, 하나 이상의 청구범위는 이러한 일반 형태의 특정 형태로, "a, b, 및 c 중 적어도 하나" 또는 이 일반 형태의 "a, b, 또는 c 중 적어도 하나"를 "a", "b", 및 "c" 보다 많거나 적은 요소와 함께 포함할 수 있다. 두 구절 모두에서 구절들은 동일하게 해석되어야 한다. 특히, "a, b, 및 c 중 적어도 하나"는 "a, b, 또는 c 중 적어도 하나"와 동일하며 a, b, 및/또는 c를 의미해야 한다. 예를 들어, "a"만, "b"만, "c"만, "a" 및 "b", "a" 및 "c", "b" 및 "c", 및/또는 " a", "b" 및 "c"를 의미한다.
하나 이상의 실시예는 특정 기능의 수행 및 이들의 관계를 예시하는 방법 단계의 도움으로 위에서 설명되었다. 이러한 기능적 빌딩 블록 및 방법 단계의 경계 및 시퀀스는 설명의 편의를 위해 본원에서 임의로 정의되었다. 지정된 기능과 관계가 적절하게 수행되는 한 대체 경계 및 시퀀스를 정의할 수 있다. 따라서 이러한 임의의 대체 경계 또는 시퀀스는 청구범위 및 정신 내에 있다. 또한, 이러한 기능 빌딩 블록의 경계는 설명의 편의를 위해 임의로 정의되었다. 특정 중요한 기능이 적절하게 수행되는 한 대체 경계를 정의할 수 있다. 유사하게, 흐름도 블록 또한 특정 중요한 기능을 설명하기 위해 본원에서 임의로 정의되었을 수 있다.
사용된 범위 내에서 흐름도 블록 경계 및 시퀀스는 다르게 정의되어도 여전히 특정 중요한 기능을 수행할 수 있다. 따라서, 기능적 빌딩 블록과 흐름도 블록 및 시퀀스 모두에 대한 이러한 대체 정의는 청구범위 및 정신 내에 있다. 통상의 기술자는 또한 본원에서의 기능적 빌딩 블록, 및 다른 예시적인 블록, 모듈 및 구성요소가 도시된 바와 같이 또는 개별 구성요소, 애플리케이션 특정 집적 회로, 적절한 소프트웨어를 실행하는 프로세서 등 또는 이들의 임의의 조합에 의해 구현될 수 있음을 인식할 것이다.
또한, 흐름도는 "시작" 및/또는 "계속" 표시를 포함할 수 있다. "시작" 및 "계속" 표시는 제시된 단계가 선택적으로 하나 이상의 다른 루틴에 통합되거나 이와 함께 사용될 수 있음을 반영한다. 또한, 흐름도는 "종료" 및/또는 "계속" 표시를 포함할 수 있다. "종료" 및/또는 "계속" 표시는 제시된 단계가 설명 및 도시된 대로 종료될 수 있거나 선택적으로 하나 이상의 다른 루틴에 통합되거나 하나 이상의 다른 루틴과 함께 사용될 수 있음을 반영한다. 이 맥락에서 "시작"은 제시된 제1단계의 시작을 나타내며 구체적으로 표시되지 않은 다른 활동에 의해 선행될 수 있다. 더욱이, "계속" 표시는 제시된 단계가 여러 번 수행될 수 있고/또는, 구체적으로 표시되지 않은 다른 활동에 의해 계승될 수 있음을 반영한다. 더욱이, 흐름도는 단계의 특정 순서를 나타내지만 인과관계의 원칙이 유지된다면 다른 순서도 마찬가지로 가능하다.
하나 이상의 실시예는 하나 이상의 양태, 하나 이상의 특징, 하나 이상의 개념, 및/또는 하나 이상의 예를 예시하기 위해 본원에서 사용된다. 장치, 제조 물품, 기계, 및/또는 처리의 물리적 실시예는 여기에 논의된 실시예 중 하나 이상을 참조하여 설명된 양태, 특징, 개념, 예 등 중 하나 이상을 포함할 수 있다. 또한, 도면에서 도면으로, 실시예는 동일하거나 상이한 참조 번호를 사용할 수 있는 동일하거나 유사하게 명명된 기능, 단계, 모듈 등을 통합할 수 있고, 따라서 기능, 단계, 모듈 등은 동일 또는 유사한 기능, 단계, 모듈 등 또는 다른 것들 일 수 있다.
반대로 구체적으로 언급되지 않는 한, 여기에 제시된 임의의 도면의 도면에서 요소에 대한 신호, 요소로부터의 신호 및/또는 요소 사이의 신호는 아날로그 또는 디지털, 연속 시간 또는 이산 시간, 및 단일 종단 또는 차동일 수 있다. 예를 들어, 신호 경로가 단일 종단 경로로 나타나면 차동 신호 경로도 의미한다. 마찬가지로 신호 경로가 차동 경로로 나타나면 단일 종단 신호 경로도 의미한다. 하나 이상의 특정 아키텍처가 여기에 설명되어 있지만, 명시적으로 나타내지 않은 하나 이상의 데이터 버스, 요소 간의 직접 연결, 및/또는 통상의 기술자가 인식하는 다른 요소 간의 간접 결합을 사용하는 다른 아키텍처도 마찬가지로 구현될 수 있다.
"모듈"이라는 용어는 하나 이상의 실시예의 설명에서 사용된다. 모듈은 프로세서 또는 다른 프로세싱 디바이스 또는 동작 명령을 저장하는 메모리를 포함하거나 이와 관련하여 동작할 수 있는 기타 하드웨어와 같은 디바이스를 통해 하나 이상의 기능을 구현한다. 모듈은 독립적으로 및/또는 소프트웨어 및/또는 펌웨어와 함께 동작할 수 있다. 본원에서 또한 사용되는, 모듈은 하나 이상의 서브 모듈을 포함할 수 있으며, 이들 각각은 하나 이상의 모듈일 수 있다.
본원에서 더 사용될 수 있는, 컴퓨터 판독가능 메모리는 하나 이상의 메모리 요소를 포함한다. 메모리 요소는 개별 메모리 디바이스, 다중 메모리 디바이스, 또는 메모리 디바이스 내의 메모리 위치 세트일 수 있다. 이러한 메모리 디바이스는 판독 전용 메모리, 랜덤 액세스 메모리, 휘발성 메모리, 비휘발성 메모리, 정적 메모리, 동적 메모리, 플래시 메모리, 캐시 메모리, 및/또는 디지털 정보를 저장하는 임의의 디바이스일 수 있다. 메모리 디바이스는 고체 상태 메모리, 하드 드라이브 메모리, 클라우드 메모리, 썸 드라이브, 서버 메모리, 컴퓨팅 디바이스 메모리, 및/또는 디지털 정보를 저장하기 위한 다른 물리적 매체의 형태일 수 있다.
하나 이상의 실시예의 다양한 기능 및 특징의 특정 조합이 본원에서 명시적으로 설명되었지만, 이러한 특징 및 기능의 다른 조합도 마찬가지로 가능하다. 본 개시내용은 본원에 개시된 특정 예에 의해 제한되지 않고 이러한 다른 조합을 명시적으로 포함한다.

Claims (24)

  1. N개의 열을 갖는 그리드 토폴로지로 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트(emulate)하기 위한 시스템으로서,
    동작 명령을 저장하는 메모리;
    동작을 수행하기 위해 상기 동작 명령에 의해 구성된 적어도 하나의 클래식 프로세서(classical processor)를 포함하고, 상기 동작은,
    상기 그리드 토폴로지를 통해 N개의 반복 패스를 기반으로 N개의 열에 대한 최종 가중치 및 변수 할당을 생성하는 단계로서, 상기 N개의 반복 패스의 각각은 N개의 열의 대응하는 서브세트에 대한 초기(preliminary) 가중치 및 변수 할당을 생성하고, 상기 N개의 열의 대응하는 서브세트의 선택된 열에 대한 상기 초기 가중치 및 변수 할당은 상기 N개의 열의 대응하는 서브세트의 선택된 열에 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 하는, 상기 생성하는 단계;를 포함하고,
    상기 복수의 큐비트의 샘플링은 상기 N개의 열 각각에 대한 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트되는, 시스템
  2. 제1항에 있어서, 상기 N개의 반복 패스 중 제1 반복 패스는 상기 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 상기 N개의 열 중 N번째 열에 대한 최종 가중치 및 변수 할당을 생성하는, 시스템.
  3. 제2항에 있어서, 상기 N개의 반복 패스 중 제1 반복 패스와 연관된 상기 N개의 열에 대응하는 서브세트는 상기 N개의 열 중 제2 열과 상기 N개의 열 중 (N-1)번째 열 사이의 범위에 있는 상기 N개의 열 중 모든 열을 포함하는, 시스템.
  4. 제2항에 있어서, 상기 N개의 반복 패스 중 제1 반복 패스는 널(null) 열에 해당하는 널 가중치를 기반으로 상기 N개의 열 중 제1 열에 대한 초기 가중치 및 변수 할당을 생성하는, 시스템.
  5. 제2항에 있어서, 상기 N개의 반복 패스 중 마지막 반복 패스는 상기 N개의 열 중 제2 열에 대한 최종 가중치 및 변수 할당을 기반으로 상기 N개의 열 중 제1 열에 대한 최종 가중치 및 변수 할당을 생성하는, 시스템.
  6. 제1항에 있어서, 상기 N개의 반복 패스 각각은 상기 N개의 열 중 하나에 해당하는 최종 가중치 및 변수 할당을 생성하는, 시스템.
  7. 제1항에 있어서, 상기 N개의 반복 패스 중 p번째 반복 패스는 상기 N개의 열 중 (N-p)번째 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 상기 N개의 열 중 (N-p+1)번째 열에 대한 최종 가중치 및 변수 할당을 생성하는, 시스템.
  8. 제7항에 있어서, 상기 N개의 반복 패스 중 p번째 반복 패스와 연관된 N개의 열의 대응하는 서브세트는 상기 N개의 열 중 제2 열과 상기 N개의 열 중 (N-p)번째 열 사이의 범위에 있는 상기 N개의 열 중 모든 열을 포함하는, 시스템.
  9. 제1항에 있어서, 상기 그리드 토폴로지는 QUBO(Quadratic Unconstrained Binary Optimization) 모델에 해당하는, 시스템.
  10. 제1항에 있어서, 상기 샘플은 볼츠만 분포에 해당하는, 시스템.
  11. N개의 열을 갖는 그리드 토폴로지로 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위한 시스템으로서,
    동작 명령을 저장하는 메모리;
    동작을 수행하기 위해 동작 명령에 의해 구성된 적어도 하나의 클래식 프로세서를 포함하고, 상기 동작은,
    상기 그리드 토폴로지를 통해 N개의 반복 패스를 기반으로 상기 N개의 열에 대한 최종 가중치 및 변수 할당 생성하는 단계로서, 상기 N개의 반복 패스의 각각은 열의 개수 각각에 대해 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 상기 N개의 열 중 열의 개수에 대한 초기 가중치 및 변수 할당을 생성하고, 상기 N개의 반복 패스 각각에 대해 상기 N개의 열 중 최종 열에 대한 최종 가중치 및 변수 할당은 상기 N개의 열 중 최종 열에 인접한 상기 N개의 열 중 하나의 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 생성되고, 상기 초기 가중치 및 변수 할당이 N개의 반복 패스가 완료되고 N개의 열의 각각에 대한 최종 가중치 및 변수 할당이 생성될 때까지 재생성되는 경우 상기 N개의 열 중 최종 열에 대한 최종 가중치 및 변수 할당은 N개의 열 중 열 개수를 줄이기 위해 N개의 반복 패스의 다음 연속 패스에 사용되는, 상기 생성하는 단계를 포함하고,
    상기 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 상기 N개의 열 각각에 대해 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트되는, 시스템.
  12. 제11항에 있어서, 상기 N개의 반복 패스를 기반으로 N개의 열에 대한 초기 가중치 및 변수 할당을 생성하는 것은,
    상기 그리드 토폴로지를 통해 N개의 반복 패스 중 제1 패스를 수행하는 것을 포함하고, 상기 N개의 열 중 N번째 열이 최종 열에 해당하고, 상기 초기 가중치 및 변수 할당이 생성되는 상기 N개의 열 중 열의 개수는 N-1인, 시스템
  13. 제12항에 있어서, 상기 N개의 반복 패스를 기반으로 상기 N개의 열에 대한 초기 가중치 및 변수 할당을 생성하는 것은,
    (a) p=2 설정하는 단계;
    (b) 상기 그리드 토폴로지를 통해 p번째 패스를 수행하는 단계로서, 상기 N개의 열 중 (N-p+1)번째 열은 마지막 열에 해당하고, 상기 초기 가중치 및 변수 할당이 재생성되는 상기 N개의 열 중 열의 개수는 (N-p)와 동일한, 상기 p번째 패스를 수행하는 단계;
    (c) p를 증분시키는 단계; 및
    (d) p = N이 될 때까지 단계 (b) 및 (c)를 반복하는 단계에 의해
    상기 그리드 토폴로지를 통해 상기 N개의 반복 패스 중 N-1개의 다른 패스를 수행하는 것을 포함하는, 시스템.
  14. 제12항에 있어서, 상기 그리드 토폴로지를 통해 상기 N개의 반복 패스 중 제1 패스는 널 열에 해당하는 널 가중치를 기반으로 상기 N개의 열 중 제1 열에 대한 초기 가중치 및 변수 할당을 생성하는 것을 포함하는, 시스템.
  15. 제11항에 있어서, 상기 그리드 토폴로지는 QUBO(quadratic unconstrained binary optimization) 모델에 해당하는, 시스템.
  16. 제11항에 있어서, 상기 샘플은 볼츠만 분포에 해당하는, 시스템.
  17. N개의 열을 갖는 그리드 토폴로지로 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위한 방법으로서, 상기 방법은,
    상기 그리드 토폴로지를 통해 제1 패스를 수행하는 단계로서, N-1개의 열 각각에 대해 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 상기 N개의 열 중 N-1번째 열에 대한 초기 가중치 및 변수 할당을 생성함으로써 상기 N개의 열 중 N번째 열에 대해 최종 가중치 및 변수 할당을 생성하고, 상기 N번째 열에 대한 최종 가중치 및 변수 할당은 상기 N번째 열에 인접한 상기 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 생성되는, 상기 제1 패스를 수행하는 단계;
    (a) p=2를 설정하는 단계;
    (b) 상기 그리드 토폴로지를 통해 p번째 패스를 수행하는 단계로서, N-p번째 열 각각에 대해 인접한 열에 대해 재생성된 초기 가중치 및 변수 할당을 기반으로 상기 N개의 열 중 N-p번째 열에 대한 초기 가중치 및 변수 할당을 재생성함으로써, 상기 N개의 열 중 (N-p+1)번째 열에 대한 최종 가중치 및 변수 할당을 생성하고, (N-p+1)번째 열에 대해 최종 가중치 및 변수 할당은 (N-p+1)번째 열에 인접한 상기 N개의 열 중 (N-p)번째 열에 대해 재생성 된 초기 가중치 및 변수 할당과 (N-p+2)번째에 대해 생성된 최종 가중치 및 변수 할당을 기반으로 생성되는, 상기 p번째 패스를 수행하는 단계;
    (c) p를 증분시키는 단계;
    (d) p = N이 될 때까지 단계 (b) 및 (c)를 반복하는 단계; 및
    (e) 상기 그리드 토폴로지를 통해 최종 패스를 수행하는 단계로서, 상기 N개의 열 중 제2 열에 대해 생성된 최종 가중치 및 변수 할당을 기반으로 상기 N개의 열 중 제1 열에 대한 최종 가중치 및 변수 할당을 생성하는, 상기 최종 패스를 수행하는 단계;에 의해 상기 그리드 토폴로지를 통해 상기 N개의 반복 패스 중 N-1번째 다른 반복 패스를 수행하는 단계:
    상기 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 N개의 열 각각에 대한 최종 가중치 및 변수 할당에 기반된 샘플에 의해 에뮬레이트되는, 방법.
  18. 제17항에 있어서, 상기 그리드 토폴로지를 통해 상기 N번째 반복 패스 중 제1 반복 패스는 상기 N개의 열 중 제1 열에 인접한 널 열에 해당하는 널 가중치를 기반으로 상기 N개의 열 중 제1 열에 대한 초기 가중치 및 변수 할당을 생성하는 것을 포함하는, 방법.
  19. 제17항에 있어서, 상기 그리드 토폴로지는 QUBO(Quadratic Unconstrained Binary Optimization) 모델에 해당하는, 방법.
  20. 제17항에 있어서, 상기 샘플은 볼츠만 분포에 해당하는, 방법.
  21. N개의 열을 갖는 그리드 토폴로지로 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위한 시스템으로서,
    동작 명령을 저장하는 메모리;
    동작을 수행하기 위해 동작 명령에 의해 구성된 적어도 하나의 클래식 프로세서를 포함하고, 상기 동작은,
    상기 그리드 토폴로지를 통해 N개의 반복 패스를 기반으로 N개의 열에 대한 최종 가중치 및 변수 할당을 생성하는 단계로서, N개의 반복 패스의 각각은 열의 개수 각각에 대해 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 열의 개수에 대한 초기 가중치 및 변수 할당을 생성하고, N개의 반복 패스 각각에 대해 N개의 열 중 최종 열에 대해 최종 가중치 및 변수 할당은 N개의 열 중 최종 열에 인접한 N개의 열 중 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 생성되고, 상기 초기 가중치 및 변수 할당이 N개의 반복 패스가 완료되고 N개의 열의 각각에 대한 최종 가중치 및 변수 할당이 생성될 때까지 재생성되는 경우 상기 N개 열 중 최종 열에 대한 최종 가중치 및 변수 할당은 N개의 열의 열 개수를 줄이기 위해 N개의 반복 패스의 다음 연속 패스에 사용되는, 상기 개의 열에 대한 최종 가중치 및 변수 할당을 생성하는 단계;
    상기 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 상기 N개의 열 각각에 대한 최종 가중치 및 변수 할당을 기반으로 N개의 반복 패스로부터 복수의 샘플을 생성함으로써 에뮬레이트되는, 시스템.
  22. N개의 열을 갖는 그리드 토폴로지로 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위한 방법으로서,
    그리드 토폴로지를 통해 제1 반복 패스를 수행하는 단계로서, N-1개의 열 각각에 대해 인접한 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 N-1개의 열에 대한 초기 가중치 및 변수 할당을 생성함으로써, N개의 열 중 N번째 열에 대한 최종 가중치 및 변수 할당을 생성하고, N번째 열에 대한 최종 가중치 및 변수 할당은 N번째 열에 인접한 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치 및 변수 할당을 기반으로 생성되고, 상기 제1 반복 패스를 수행하는 단계;
    (a) p=2를 설정하는 단계;
    (b) 상기 그리드 토폴로지를 통해 p번째 패스를 수행하는 단계로서, N-p번째 열 각각에 대해 인접한 열에 대해 재생성된 초기 가중치 및 변수 할당을 기반으로 N개의 열 중 N-p번째 열에 대한 초기 가중치 및 변수 할당을 재생성함으로써, N개의 열 중 (N-p+1)번째 열에 대한 최종 가중치 및 변수 할당을 생성하고, (N-p+1)번째 열에 대해 최종 가중치 및 변수 할당은 (N-p+1)번째 열에 인접한 N개의 열 중 (N-p)번째 열에 대해 재생성된 초기 가중치 및 변수 할당과 (N-p+2)번째에 대해 생성된 최종 가중치 및 변수 할당을 기반으로 생성되는, 상기 p번째 패스를 수행하는 단계;
    (c) p를 증분시키는 단계;
    (d) p = N이 될 때까지 단계 (b) 및 (c)를 반복하는 단계; 및
    (e) 상기 그리드 토폴로지를 통한 최종 패스를 수행하는 단계로서, 제2 열에 대해 생성된 최종 가중치 및 변수 할당을 기반으로 N개의 열 중 제1 열에 대한 최종 가중치 및 변수 할당을 생성하는, 상기 최종 패스를 수행하는 단계에 의해 상기 그리드 토폴로지를 통해 N개의 반복 패스 중 N-1번째 다른 반복 패스를 수행하는 단계;를 포함하고,
    상기 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 N개의 열 각각에 대한 최종 가중치 및 변수 할당을 기반으로 N개의 반복 패스로부터 복수의 샘플을 생성함으로써 에뮬레이트되는, 방법.
  23. N개의 열을 갖는 그리드 토폴로지로 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위한 시스템으로서,
    동작 명령을 저장하는 메모리;
    동작을 수행하기 위해 동작 명령에 의해 구성된 적어도 하나의 클래식 프로세서를 포함하고, 상기 동작은,
    그리드 토폴로지를 통해 제1 패스를 수행하는 단계로서, 상기 제1 패스는 N개의 열 중 제1 열부터 N개의 열 중 (N-1)번째 열까지의 제1 순서로 N-1개의 열 각각에 대해 선행하는 인접 열에 대해 생성된 초기 가중치를 기반으로 N개의 열 중 N-1개의 열에 대한 초기 가중치 및 변수 할당을 반복적으로 생성하는 것을 포함하고, N번째 열에 대한 최종 가중치는 상기 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치를 기반으로 생성되는, 상기 제1 패스를 수행하는 단계; 및
    상기 N개의 열 중 나머지 N-1개 열에 대한 최종 가중치 및 변수 할당을 생성함으로써 상기 그리드 토폴로지를 통해 제2 패스를 수행하는 단계로서, 상기 제2 패스는 N개의 열 중 (N-1)번째 열부터 N개의 열 중 제1 열까지의 제2 순서로 N-1개의 열 각각에 대해 선행하는 인접 열에 대해 생성된 최종 가중치를 기반으로 N개의 열 중 N-1개의 열에 대해 최종 가중치 및 변수 할당을 반복적으로 생성하는 것을 포함하는, 상기 제2 패스를 수행하는 단계;
    상기 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 N개의 열 각각에 대한 최종 가중치 및 가변 할당에 기반된 샘플에 의해 에뮬레이트되는, 시스템.
  24. N개의 열을 갖는 그리드 토폴로지로 배열된 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링을 에뮬레이트하기 위한 방법으로서,
    상기 그리드 토폴로지를 통해 제1 패스를 수행하는 단계로서, 상기 제1 패스는 N개의 열 중 제1 열부터 N개의 열 중 (N-1)번째 열까지의 제1 순서로 N-1개의 열 각각에 대해 선행하는 인접 열에 대해 생성된 초기 가중치를 기반으로 N개의 열 중 N-1개의 열에 대한 초기 가중치 및 변수 할당을 반복적으로 생성하는 것을 포함하고, N번째 열에 대한 최종 가중치는 N개의 열 중 (N-1)번째 열에 대해 생성된 초기 가중치를 기반으로 생성되는, 상기 제1 패스를 수행하는 단계; 및
    N개의 열 중 나머지 N-1개 열에 대한 최종 가중치 및 변수 할당을 생성함으로써 그리드 토폴로지를 통해 제2 패스를 수행하는 단계로서, 상기 제2 패스는 N개의 열 중 (N-1)번째 열부터 N개의 열 중 제1 열까지의 제2 순서로 N-1개의 열 각각에 대해 선행하는 인접 열에 대해 생성된 최종 가중치를 기반으로 N개의 열 중 N-1개의 열에 대해 최종 가중치 및 변수 할당을 반복적으로 생성하는 것을 포함하는, 상기 제2 패스를 수행하는 단계;
    상기 복수의 큐비트를 갖는 양자 컴퓨터의 샘플링은 상기 N개의 열 각각에 대한 최종 가중치 및 가변 할당에 기반된 샘플에 의해 에뮬레이트되는, 방법.
KR1020227000705A 2019-06-21 2020-04-03 양자 컴퓨터를 에뮬레이트 하기 위한 시스템 및 이와 사용하기 위한 방법 KR20220024456A (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201962864765P 2019-06-21 2019-06-21
US201962864778P 2019-06-21 2019-06-21
US62/864,765 2019-06-21
US62/864,778 2019-06-21
US201962949764P 2019-12-18 2019-12-18
US62/949,764 2019-12-18
US16/835,914 US10922618B2 (en) 2019-06-21 2020-03-31 Multi-pass system for emulating a quantum computer and methods for use therewith
US16/835,914 2020-03-31
PCT/US2020/026580 WO2020256808A1 (en) 2019-06-21 2020-04-03 Systems for emulating a quantum computer and methods for use therewith

Publications (1)

Publication Number Publication Date
KR20220024456A true KR20220024456A (ko) 2022-03-03

Family

ID=74037810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227000705A KR20220024456A (ko) 2019-06-21 2020-04-03 양자 컴퓨터를 에뮬레이트 하기 위한 시스템 및 이와 사용하기 위한 방법

Country Status (6)

Country Link
US (3) US10922618B2 (ko)
EP (1) EP3987458A4 (ko)
JP (1) JP7452885B2 (ko)
KR (1) KR20220024456A (ko)
CA (1) CA3140980A1 (ko)
WO (1) WO2020256808A1 (ko)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239366A1 (en) 2004-06-05 2007-10-11 Hilton Jeremy P Hybrid classical-quantum computer architecture for molecular modeling
US20060224547A1 (en) 2005-03-24 2006-10-05 Ulyanov Sergey V Efficient simulation system of quantum algorithm gates on classical computer based on fast algorithm
CN108256651B (zh) * 2013-06-28 2022-09-06 D-波系统公司 用于对数据进行量子处理的方法
CN103473111A (zh) 2013-08-16 2013-12-25 运软网络科技(上海)有限公司 一种仿脑计算虚拟化的方法和系统
US9588940B2 (en) * 2013-12-05 2017-03-07 D-Wave Systems Inc. Sampling from a set of spins with clamping
CN107683460B (zh) * 2015-05-05 2022-01-28 凯恩迪股份有限公司 在传统处理器上模拟量子样计算的quanton表示
US10599988B2 (en) * 2016-03-02 2020-03-24 D-Wave Systems Inc. Systems and methods for analog processing of problem graphs having arbitrary size and/or connectivity
US10565514B2 (en) * 2016-03-31 2020-02-18 Board Of Regents, The University Of Texas System System and method for emulation of a quantum computer
CA2927171C (en) * 2016-04-13 2017-05-02 1Qb Information Technologies Inc. Quantum processor and its use for implementing a neural network
US11042811B2 (en) * 2016-10-05 2021-06-22 D-Wave Systems Inc. Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers
US10332024B2 (en) * 2017-02-22 2019-06-25 Rigetti & Co, Inc. Modeling superconducting quantum circuit systems
WO2018170027A1 (en) * 2017-03-13 2018-09-20 Universities Space Research Association System and method to hardcode interger linear optimization problems on physical implementations of the ising model

Also Published As

Publication number Publication date
JP2022537311A (ja) 2022-08-25
US20210365828A1 (en) 2021-11-25
EP3987458A1 (en) 2022-04-27
US20200401926A1 (en) 2020-12-24
US10922618B2 (en) 2021-02-16
JP7452885B2 (ja) 2024-03-19
EP3987458A4 (en) 2023-07-19
US11113623B2 (en) 2021-09-07
CA3140980A1 (en) 2020-12-24
WO2020256808A1 (en) 2020-12-24
US20210133619A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
CN106875013B (zh) 用于多核优化循环神经网络的系统和方法
CN108154240B (zh) 一种低复杂度的量子线路模拟系统
Barisal et al. Large scale economic dispatch of power systems using oppositional invasive weed optimization
Li et al. Training itself: Mixed-signal training acceleration for memristor-based neural network
Taha et al. Memristor crossbar based multicore neuromorphic processors
CN105637541A (zh) 用于神经模拟器的共享存储器架构
KR20180075368A (ko) 인공 신경망 모델에서 메모리 효율성 및 학습 속도 향상을 위한 드롭아웃 방법과 이를 이용한 학습 방법
CN106502964B (zh) 一种基于Spark的极限学习机并行化计算方法
CN115803754A (zh) 用于在神经网络中处理数据的硬件架构
CN111914378A (zh) 一种单振幅量子计算模拟方法
CN112633482A (zh) 一种高效宽度图卷积神经网络模型及其训练方法
Dutta et al. Addressing unreliability in emerging devices and non-von neumann architectures using coded computing
CN112513861B (zh) 使用并行处理进行层次电路模拟的方法和系统
KR20220024456A (ko) 양자 컴퓨터를 에뮬레이트 하기 위한 시스템 및 이와 사용하기 위한 방법
Sebastian et al. Gpu accelerated three dimensional unstructured geometric multigrid solver
Mounir et al. On biclustering of gene expression data
CN112651492A (zh) 一种自连接宽度图卷积神经网络模型及其训练方法
CN111539522A (zh) 基于固定尺寸忆阻阵列的大规模ncs容错框架的构建方法
Ueyoshi et al. Robustness of hardware-oriented restricted Boltzmann machines in deep belief networks for reliable processing
Ueyoshi et al. Memory-error tolerance of scalable and highly parallel architecture for restricted Boltzmann machines in deep belief network
US20240037307A1 (en) Semiconductor device simulation system and method
CN220773595U (zh) 可重配置处理电路以及处理核心
Alom et al. Convolutional sparse coding on neurosynaptic cognitive system
Yeh et al. Grey adaptive growing CMAC network
Cardwell et al. Mosaics a technique to make neuromorphic computing scalable adaptive and flexible.