IBM Q Experience로 시작하는 양자컴퓨터 프로그래밍 실습

2020. 10. 18. 19:05IBM C:LOUDERs

728x90

안녕하세요. 저는 이번학기에 대학원에서 양자컴퓨팅 수업을 듣고 있었습니다.

양자게이트와 관련해서 한눈에 직관적으로 이해가 되지 않아서 Searching을 하던 중

IBM에서 양자 게이트를 시뮬레이션 돌려 볼 수 있는 서비스를 제공하는 것을 알았는데요!

 

그래서 오늘 IBM Q Experience 에 어떻게 가입하고 사용하는지에 대해서 포스팅 해보고자 합니다.

 

https://quantumexperience.ng.bluemix.net/qx/experience

 

IBM Quantum Experience

Program real quantum systems with the leading quantum cloud application.

quantum-computing.ibm.com

먼저 위 링크에 들어가시고 Sign in 을 통해서 가입을 할 수 있습니다.

링크로 이동하면 아래와 같은 화면을 볼 수 있습니다. [sign in]을 클릭하고 로그인을 합니다.

 

저는 Github를 사용하고 있어서 Github 계정과 연동 시켜 Sign in을 하였습니다.

 

동의서에 작성을 해주시고, 간단한 개인정보를 입력하고 나면 아래와 같은 대쉬보드가 뜹니다

 

그리고 나면, 간단한 튜토리얼을 할지 물어보는 팝업창이 뜨는데요, 팝업창을 클릭하면 아래의 페이지로 이동하게 됩니다. https://quantum-computing.ibm.com/docs/

 

Create your first quantum circuit 을 눌러 작성하는 방법을 알아보고,

Circuit Composer를 눌러 작성하는 환경 2개의 창을 띄워 줍니다.

 


 

1. Circuit Composer 에서 회로를 생성할 수 있습니다.

 

2. Create your first quantum circuit 에서 가이드 해준 H gate를 놓으면 , Composer에서 Q-sphere의 변화도 함께 볼 수 있습니다.

게이트는 블록을 클릭한뒤 드래그앤 드롭으로 회로에 배치할 수 있습니다.

 

 

3. 우측의 </> Code를 클릭하면 코드로는 어떻게 표현 되는 지 볼 수 있습니다

대쉬보드에 대해 잠깐 설명하자면

  • 네모 블록 들 : Gate
  • 줄 : q는 Qubit, c는 Classical bit 입니다.

각 블록이 어떤 역할을 하는지에 대해서는 ⓘ 에 마우스를 올린뒤 Operations glossary를 클릭하면 아래의 페이지로 넘어갑니다.

 

Docs and Resources - IBM Quantum Experience

Learning, how-to, and reference materials for IBM Quantum Experience

quantum-computing.ibm.com

 

4. 이제 실행을 해봅니다. 우측의 Run on ibmq_ourense 를 클릭하고 Job를 보시면 결과를 볼 수 있습니다. Completed jobs(1)의 항목을 클릭해서 들어가시면 아래와 같이 결과를 볼 수 있습니다.

[ Result ]

이렇게 볼 수 있습니다.

이렇게 GUI로 대쉬보드로 볼 수도 있고, Coder 들을 위해 Coding으로 구현할 수도 있습니다.

 

IBM에서 제공하는 QISKit (OpenQASM IBM Q experience (QX)에서 사용할 수 있는 SDK(software development kit))를 사용하면 Python으로 프로그래밍 해서 할 수 있습니다.

 

QISKit을 사용한 Python으로 작성하는 방법은 다음에 포스팅 하도록 하겠습니다 :)

 

IBM Q Experience 덕분에 어렵기만 하던 양자컴퓨팅 공부를 시각화해서 직관적으로 이해하면서 공부할 수 있을 거 같아요 ..!!  공부 의지가 너무 뿜뿜하게 떠오릅니다 ..!! 얼른 다시 처음부터 이해하러 가봐야 겠어요 하핳..

 

이렇게 입문하고 실행하기 까지 튜토리얼을 미리 작성해주셔서 참고 할 수 있었는데, 아래에 참고한 포스팅들을 Reference로 달면서 마무리 하겠습니다.

 


■ References

 

1. IBM Korea의 맹윤호님께서 작성하신

 

IBM Q Experience로 시작하는 양자컴퓨터 프로그래밍 실습 - IBM Developer

양자컴퓨팅은 오래전부터 그 개념만이 전해져왔을 뿐, 실제로 이를 활용하거나 사용한 경우를 접하기는 어려웠습니다. 이에 IBM에서는 Q Experience를 통해 Cloud 환경상에서 실제의 양자 컴퓨팅 사��

developer.ibm.com

2. IBM Korea의 이승연님께서 작성하신

 

[Quantum for Developers] IBM Q Experience

Overview이번문서에서는 직접 양자 게이트들을 GUI환경에서 실습해볼수있는 환경인 IBM Q Experience의 Circuit Composer와 양자프로그래밍에 필요한 SDK인 Qiskit에 대해 간단히 알아보도록 하겠습니다.

gruuuuu.github.io

3. Qiskit advocate 신소영님

 

IBM Q Experience를 시작해 봅시다.

무작정 양자암호통신 시작하기 — BB84

medium.com

4. QISKit 한글 문서

 

키스킷 0.23.0 문서 — Qiskit 0.23.0 문서

© 저작권 2020, Qiskit Development Team 최종 업데이트: 2020/10/17

qiskit.org

5. QISkit.slack.com

 

Slack

 

qiskit.slack.com

6. QISkit Github Translations

 

qiskit-community/qiskit-translations

Home of Qiskit documentation translations. Contribute to qiskit-community/qiskit-translations development by creating an account on GitHub.

github.com

7. https://medium.com/@sophy.shin/qiskit-advocate%EA%B0%80-%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4-2f854c6bf6eb

 

Qiskit Advocate가 되었습니다!

올해 2월에 Qiskit에 입문하고 advocate가 되기 까지

medium.com