디지털 변화로 세상은 그 어느 때보다 빠르게 변화하고 있습니다.
놀라운 속도와 능력으로 현재의 패러다임을 획기적으로 바꿀 수 있는 또 다른 새로운 기술의 도래가 임박함에 따라 양자 컴퓨팅, 디지털 시대의 기본 아이디어를 이해하는 것이 훨씬 더 중요해질 것입니다.
양자 컴퓨팅이라는 획기적인 기술은 양자 물리학을 사용하여 기존 컴퓨터의 범위를 넘어선 문제를 해결합니다.
양자 이론 원리는 원자 및 아원자 규모에서 물질과 에너지가 어떻게 작용하는지 보여주며, IBM의 Qiskit은 양자 컴퓨팅 시스템을 만드는 데 도움이 되는 오픈 소스 양자 소프트웨어 개발 키트입니다.
이 기사에서는 이를 설명하고 양자 컴퓨팅에 대한 개요를 제공합니다.
우리는 오픈 소스 양자 컴퓨팅의 도움으로 독자들에게 설명할 것입니다. SDK, 즉. Qiskit을 사용하여 탐색하게 하십시오. 주피터 수첩 IBM Quantum Lab에서 호스팅됩니다.
양자 컴퓨팅이란 무엇입니까?
퀀텀 컴퓨팅 양자 이론의 아이디어를 사용하여 컴퓨터 기술 개발에 중점을 둔 컴퓨터 과학의 한 분야입니다.
그것은 0과 1과 같은 많은 상태에서 동시에 존재하는 아원자 입자의 탁월한 능력을 이용합니다.
그들은 일반 컴퓨터보다 훨씬 더 많은 데이터를 처리할 수 있습니다.
양자 컴퓨팅 프로세스에서 큐비트는 객체의 양자 상태를 사용하여 만들어집니다. 양자 컴퓨팅의 필수 정보는 큐비트입니다.
양자 컴퓨팅의 기존 컴퓨팅에서 비트와 동일한 기능을 수행하지만 완전히 다르게 작동합니다. 양자 컴퓨팅은 1980년대에 등장한 분야입니다.
그런 다음 양자 알고리즘이 고전적인 알고리즘보다 일부 컴퓨터 작업을 수행하는 데 더 효과적이라는 것이 발견되었습니다.
양자 물리학의 두 가지 개념인 중첩과 얽힘은 이러한 슈퍼컴퓨터의 기반이 됩니다.
기존 컴퓨터와 비교할 때 양자 컴퓨터는 현재 훨씬 적은 에너지를 소비하면서 훨씬 더 빠르게 작업을 수행할 수 있습니다.
양자컴퓨터를 완전히 이해하기 위해서는 양자컴퓨터의 연산을 진행해야 한다. 이제 시작하겠습니다.
양자 컴퓨터는 실제로 어떻게 작동합니까?
우리에게 익숙한 기존 컴퓨터와 비교할 때 양자 컴퓨터는 문제 해결에 접근하는 방식이 다릅니다. 일부 작업의 경우 양자 컴퓨터는 여러 면에서 기존 컴퓨터보다 선호됩니다.
한 번에 여러 상태에 존재할 수 있는 능력이 원인으로 생각됩니다. 반면에 기존 컴퓨터는 한 번에 하나의 상태만 가능합니다.
양자 컴퓨터가 어떻게 작동하는지 이해하기 위해 이해해야 하는 세 가지 핵심 개념이 있습니다.
- 위에 놓기.
- 녹채.
- 간섭.
위에 놓기
비트는 기존 컴퓨터의 기본 구성 요소입니다. 양자 비트 또는 큐비트는 양자 컴퓨터의 기본 단위입니다.
기본적으로 양자 비트는 다르게 작동합니다. 기존 비트라고도 하는 이진 비트는 0 또는 1이 될 수 있는 스위치입니다.
측정할 때 비트의 현재 상태를 다시 받습니다. 큐빗은 예외입니다. 큐빗은 XNUMX차원을 가리키는 화살표에 비유할 수 있습니다.
위쪽을 가리키면 0 상태입니다. 아래쪽을 가리키면 1 상태입니다. 클래식 비트도 마찬가지입니다.
그러나 중첩 상태를 선택할 수도 있습니다.
화살표는 다른 방향을 가리키는 상태입니다. 0과 1을 중첩하면 이 상태가 됩니다. Qubit은 측정할 때 결과로 1 또는 0을 생성합니다.
그러나 화살표의 방향에 따라 적절한 확률이 결정됩니다.
화살표가 주로 아래쪽을 가리키는 경우 1을 받고 주로 위쪽을 가리키는 경우 0을 받을 가능성이 더 높습니다.
화살표가 중앙에 있으면 각각 50%의 확률로 승리합니다. 한마디로 중첩이다.
녹채
기존 컴퓨터의 비트는 서로 독립적입니다. 한 비트의 상태는 다른 비트의 상태와 아무런 관련이 없습니다.
양자 컴퓨터의 큐비트는 서로 얽힐 수 있습니다. 이것은 그것들이 하나의 큰 양자 상태로 합쳐진다는 것을 의미합니다.
설명을 위해 다양한 중첩 상태에 있지만 아직 얽히지 않은 두 개의 큐비트를 고려하십시오. 이때 그들의 확률은 서로 의존하지 않습니다.
그것들을 얽히게 할 때, 우리는 그 독립적인 확률을 버리고 우리가 탈출할 수 있는 모든 대안 상태, 즉 00, 01, 10, 11의 확률을 결정해야 합니다.
큐비트가 얽혀 있기 때문에 한 큐비트의 화살표 방향이 바뀌면 전체 시스템의 확률 분포가 바뀝니다.
큐비트의 서로 독립성이 상실되었습니다. 그들 각각은 동일한 크기 상태의 구성 요소입니다. 당신이 얼마나 많은 큐비트를 가지고 있든 이것은 여전히 그렇습니다.
n 큐비트가 있는 양자 컴퓨터에 대해 2n 상태의 가능한 조합이 있습니다.
예를 들어 하나의 큐비트에 대해 두 가지 상태에 걸쳐 확률 분포가 있습니다. XNUMX개의 큐비트 등에 대해 XNUMX개의 상태에 걸쳐 확률 분포가 있습니다. 클래식 컴퓨터와 양자 컴퓨터의 주요 차이점은 이것입니다.
클래식 컴퓨터는 어떤 상태를 선택하든 상관없지만 한 번에 하나만 사용할 수 있습니다. 이러한 모든 상태는 중첩으로 양자 컴퓨터에 동시에 존재할 수 있습니다.
컴퓨터가 이러한 모든 상태를 한 번에 얻을 수 있는 이점은 무엇입니까? 이 지점에서 간섭의 마지막 요소가 들어갑니다.
간섭
양자 파동 함수는 큐비트의 상태를 설명하는 데 사용할 수 있습니다.
양자 물리학의 모든 것에 대한 기본적인 수학적 설명은 파동 함수로 제공됩니다.
많은 큐비트가 얽히면 개별 파동 함수가 결합되어 양자 컴퓨터의 전체 상태를 설명하는 단일 파동 함수를 형성합니다.
간섭은 이러한 파동 함수를 함께 추가한 결과입니다. 파도가 함께 추가되면 물의 잔물결처럼 건설적으로 상호 작용하고 결합하여 더 큰 파도를 만들 수 있습니다.
그들은 또한 파괴적으로 상호 작용하여 서로를 상쇄할 수 있습니다. 다양한 상태의 다양한 확률은 양자 컴퓨터의 전체 파동 함수에 의해 결정됩니다.
다양한 큐비트의 상태를 변경하여 양자 컴퓨터를 측정할 때 특정 상태가 나타날 가능성을 변경할 수 있습니다.
양자 컴퓨터가 한 번에 여러 상태 중첩에 존재할 수 있지만 측정은 이러한 상태 중 하나만 나타냅니다.
따라서 양자컴퓨터를 활용하여 연산을 수행하는 동안 정답을 받을 가능성을 높이기 위해서는 보강간섭이 필요하고, 오답을 받을 가능성을 낮추기 위해서는 상쇄간섭이 필요하다.
이제 Qiskit으로 시작하겠습니다.
키스킷?
Qiskit은 누구나 쉽게 양자 컴퓨팅 분야에 진입할 수 있도록 설계된 IBM 자금 지원 소프트웨어 프레임워크입니다.
양자 컴퓨터는 구하기 어렵기 때문에 Qiskit 도구 상자를 사용하여 IBM과 같은 클라우드 공급자를 통해 얻을 수 있습니다.
무료로 사용할 수 있으며 모든 코드는 다음과 같습니다. 오픈 소스.
거기에 온라인 교과서 양자 물리학의 모든 기본 사항을 알려주며 주제에 익숙하지 않은 사람들에게 매우 유용합니다. Python은 Qiskit 툴킷을 개발하는 데 사용됩니다.
따라서 Python 프로그래밍 언어에 익숙하다면 많은 코드를 인식할 수 있습니다.
소프트웨어 프레임워크는 다음을 원하는 사람들에게 적합합니다. 양자 컴퓨팅에 대해 배우다 또한 실제 경험을 얻는 동안.
Qiskit의 가장 근본적인 측면은 두 단계로 작동한다는 것입니다. 단계 중 하나는 구성 단계로, 여러 양자 회로를 만들고 이러한 회로를 사용하여 문제를 해결합니다.
그런 다음 빌드 단계를 완료하거나 솔루션에 도달한 후 실행 단계라고 하는 다음 단계로 진행합니다. 이 단계에서 다양한 백엔드(상태 벡터 백엔드, 단일 백엔드, 개방형 백엔드)에서 빌드 또는 솔루션을 실행하려고 시도합니다. ASM 백엔드), 실행이 완료된 후 원하는 출력에 대한 빌드의 데이터를 처리합니다.
Qiskit 시작하기
IBM이 호스팅하는 개인용 컴퓨터 또는 Jupyter 노트북에 로컬로 설치할 수 있습니다. Windows 컴퓨터에 로컬로 설치하려면 다음 코드를 작성하십시오.
IBM의 양자 장치를 활용할 수 있는 API 토큰에 액세스하려면 여기에서 등록해야 합니다. 그런 다음 회사 웹 사이트 작업을 시작할 수 있습니다. 온라인에서 실행되는 Qiskit 설치 Jupyter Notebook을 사용하여 이 작업을 수행하는 것을 상상할 수 있습니다.
페이지 오른쪽 상단에 있는 메뉴에서 프로필을 선택한 다음 계정 정보를 선택하면 액세스할 수 있습니다. API 토큰 섹션에서 *** 형식으로 API 토큰을 찾을 수 있습니다. 복사한 후 다음 코드에 입력합니다.
이 코드가 실행되면 API 토큰이 컴퓨터에 저장되어 IBM의 양자 장치를 사용할 수 있습니다. 다음을 입력하여 해당 장치에 대한 액세스 권한이 있는지 확인합니다.
앞서 언급한 코드가 실행되면 컴퓨터뿐만 아니라 내장된 양자 회로를 IBM의 양자 장치로 보내고 결과를 받아 코드를 실행할 수 있어야 합니다.
따라서 회로 라이브러리를 사용하여 첫 번째 양자 알고리즘 개발을 시작할 수 있습니다. 먼저 Qiskit에서 프로젝트로 필수 종속성을 가져옵니다.
그런 다음 XNUMX큐비트 양자 레지스터와 XNUMX비트 일반 레지스터를 구성합니다.
이제 우리는 클래식 레지스터와 양자 레지스터를 모두 설정했습니다. 이 두 가지를 사용하여 회로를 구성할 수 있으며 회로를 수정하는 동안 언제든지 양자 회로의 모양을 스케치하려면 다음 코드를 작성하십시오.
그림에서 회로가 XNUMX개의 양자 비트와 XNUMX개의 고전 비트로 구성되어 있음을 알 수 있습니다.
이 회로는 게이트가 없기 때문에 흥미롭지 않습니다. 이제 양자 게이트를 사용하여 회로를 구성해 보겠습니다. 클래식처럼 논리 게이트 (AND, OR 게이트)는 일반 디지털 회로용이고 양자 게이트는 양자 회로의 기본 구성 요소입니다.
첫 번째 큐비트에 Hadamard 게이트를 적용하는 것은 얽힘을 만드는 첫 번째 단계입니다. 그런 다음 다음 코드를 사용하여 XNUMX큐비트 제어 x 연산을 추가합니다.
이 두 연산자를 사용하여 양자 회로를 구성했으므로 이제 양자 비트(큐비트)를 측정하고 이러한 측정을 수행하여 기존 비트에 저장할 차례입니다. 이를 달성하는 데 필요한 코드를 작성해 보겠습니다.
아래 다이어그램은 회로의 레이아웃을 보여줍니다.
그런 다음 회로는 기존 컴퓨터 시뮬레이터에서 실행되어야 합니다. 회로가 완성되었습니다. 그리고 그 실행의 결과를 조사하십시오.
해당 회로를 수행하여 얻은 정보는 결과 변수에 저장됩니다. 플롯 히스토그램을 사용하여 이 결과를 표시해 보겠습니다.
그것이 우리가 양자 회로를 실행할 때 일어나는 일입니다. 숫자 00과 11에 대해 약 50%의 확률을 받습니다. 초기 양자 컴퓨터 회로가 구축되었습니다. 축하합니다!
Qiskit 양자 컴퓨팅의 응용
키스킷 파이낸스
Qiskit Finance는 시연 도구 및 응용 프로그램 모음을 제공합니다. 여기에는 포트폴리오 최적화를 위한 Ising 번역기, 실제 또는 무작위 데이터를 위한 데이터 공급업체, 다양한 금융 옵션 또는 신용 위험 평가를 위한 구현이 포함됩니다.
키스킷 네이처
같은 응용 프로그램 단백질 폴딩 및 전자/진동 구조 흥분 상태와 기저 상태 모두에 대한 계산은 Qiskit Nature에서 지원합니다.
고전 코드를 연결하고 양자 컴퓨터에 필요한 다양한 표현으로 자동 변환하는 데 필요한 모든 부품을 제공합니다.
Qiskit 머신 러닝
양자 컴퓨팅 기계 학습 이를 사용하여 회귀 및 분류와 같은 다양한 문제를 해결하는 방법은 기본 양자 커널 및 QNN(양자 신경망)은 물론 빌딩 블록으로 Qiskit Machine Learning에서 제공됩니다.
또한 양자 요소를 기존 작업에 통합하기 위해 QNN을 PyTorch에 연결할 수 있습니다.
Qiskit 최적화
Qiskit Optimization은 최적화 문제의 고수준 모델링, 필요한 다양한 표현으로의 문제 자동 번역, 간단한 양자 최적화 방법 모음을 포함하여 최적화 서비스의 전체 스펙트럼을 제공합니다.
결론
결론적으로 현재 사용 가능한 가장 빠른 슈퍼컴퓨터는 몇 년이 걸리지만 양자 컴퓨터는 현재 암호화 방법을 빠르게 돌파할 수 있습니다.
양자 컴퓨터가 오늘날 사용되는 많은 암호화 기술을 깨뜨릴 수 있다는 사실에도 불구하고 해킹 방지 대체물을 만들 것으로 예상됩니다.
문제 최적화는 양자 컴퓨터의 강점입니다. 자세한 내용은 Qiskit을 방문하십시오. GitHub의.
댓글을 남겨주세요.