양자 코딩을 하는데 왜 코드가 아니라 '회로(Circuit)'를 그릴까?

Hyunjoo Lee·3일 전

Quantum Computing

목록 보기
5/6


(출처; 민형규님, PhD Biostatistics, UNC, https://hgmin1159.github.io/quantum/quantum2/)

개발자라면 파이썬(Python)으로 코딩을 할 때 위에서 아래로 흐르는 텍스트 형태의 논리 구조(조건문, 반복문 등)에 익숙할 것입니다. 하지만 Qiskit을 켜고 양자 프로그래밍에 입문하면 가장 먼저 마주하는 당혹스러운 개념이 있습니다. 바로 코드를 짜는 게 아니라 ‘회로(Circuit)’를 설계하고 악보 같은 그림을 그려야 한다는 점입니다.

왜 양자 컴퓨터는 텍스트 코딩이 아니라 회로를 그려야 할까요? 여기에는 고전 컴퓨터와 양자 컴퓨터의 구조적 패러다임 차이가 숨어있습니다.

1. 고전 컴퓨터: 정해진 길을 안내하는 '네비게이션'

우리가 쓰는 고전 컴퓨터는 CPU 내부의 수십억 개 트랜지스터 스위치가 켜지고 꺼지며 연산합니다. 이미 하드웨어적으로 길이 다 닦여 있고, 소프트웨어(코드)는 그 길을 따라 "1번 연산 끝나면 2번으로 가라"고 순서대로 지시하는 레시피에 가깝습니다. 그래서 위에서 아래로 순차적으로 읽히는 텍스트 코드가 가장 자연스럽습니다.

2. 양자 컴퓨터: 음표를 배치해 화음을 만드는 '악보'

반면 양자 컴퓨터는 전혀 다릅니다. 우리는 큐비트(Qubit)라는 살아 움직이는 파동이자 나침반 바늘을 가지고 연산을 해야 합니다. 이 큐비트들은 가만히 내버려 두면 주변 환경과 간섭을 일으켜 순식간에 상태가 붕괴해 버립니다.

따라서 양자 프로그래밍은 이미 만들어진 길로 데이터를 흘려보내는 것이 아니라, 큐비트라는 선(Wire) 위에 시간의 흐름에 따라 아다마르(H) 게이트, 제어-X(CX) 게이트 같은 자석(물리적 자극)을 정교하게 배치하는 과정입니다.

마치 오케스트라 지휘자가 5선지 악보 위에 음표를 배치하여 아름다운 화음(양자 중첩과 얽힘)을 만들어내고, 연주가 끝나는 순간(측정) 하나의 음악이라는 결과를 얻어내는 것과 정확히 같습니다.

QuantumCircuit을 선언하고 회로를 그리는 이유는, 우리가 하드웨어 제어 단계의 '양자 악보'를 직접 그리는 마에스트로이기 때문입니다.

그러면 떠오르는 질문 두가지에 대해 설명해보자

  • 첫번째 질문
    양자 컴퓨터 최초 아이디어는 누가 언제 얘기했나요?
    답) 리처드 파인만이 양자 컴퓨터의 아이디어를 최초로 공식 제안한 것은 1981년 5월이었으며, 행사의 공식 명칭은 MIT와 IBM이 공동 주최한 '컴퓨팅의 물리적 한계(Physics of Computation)' 콘퍼런스였습니다. 당시 파인만은 이 행사에서 "자연을 시뮬레이션하고 싶다면 양자역학적인 컴퓨터를 만들어야 할 것"이라는 역사적인 기조연설을 남겼습니다.

  • 두번째 질문
    고전 컴퓨터에서 프로그래밍할 때 그리는 순서도와 양자 컴퓨터의 회로가 같은건가요?
    답) 결론부터 말씀드리면, 역할(연산의 흐름을 시각적으로 보여준다) 면에서는 순서도와 비슷해 보이지만, 본질(제어하는 대상) 면에서는 고전 컴퓨터의 '하드웨어 배선도(회로도)'에 완전히 가깝습니다. 독자들이 단번에 이해할 수 있도록 그 구조적인 차이를 정리하겠습니다.

    1. 왜 '순서도(Flowchart)'와 비슷하다고 느낄까?

    고전 컴퓨팅의 순서도는 시간의 흐름에 따라 데이터가 어떻게 움직이는지 보여줍니다. "1번 단계를 거쳐 조건문(IF)을 만나면 YES는 오른쪽, NO는 아래쪽으로 가라"는 식이죠. 양자 컴퓨팅의 회로 역시 왼쪽에서 오른쪽으로 시간이 흐르면서 큐비트에 어떤 자극을 순서대로 줄지 시각적으로 나열하기 때문에, 겉보기에는 타임라인을 따라가는 순서도와 결이 같아 보입니다.

    2. 왜 순서도가 아니라 '회로(Circuit)'라고 부를까? (결정적 차이)

    여기서 고전과 양자의 본질적인 아키텍처 차이가 발생합니다.

    ① 고전의 순서도 = 소프트웨어(논리)의 레시피
    고전 컴퓨터는 이미 인텔이나 AMD가 만든 하드웨어(CPU 칩) 구조가 고정되어 있습니다. 소프트웨어 개발자가 짜는 코드가 순서도 형태로 표현되는 이유는, 고정된 하드웨어 위로 데이터를 흘려보내며 "이 데이터를 어떤 논리적 순서(조건과 반복)로 가공할 것인가"를 지시하는 레시피이기 때문입니다.

    ② 양자의 회로 = 하드웨어(물리)의 실시간 설계도
    양자 컴퓨터는 소프트웨어와 하드웨어의 경계가 없습니다. 우리가 다루는 큐비트(Qubit)는 가 상의 데이터가 아니라, 초전도 소자나 이온 등 미시 세계의 실제 물리적 입자입니다.

    양자 프로그램에서 QuantumCircuit을 선언하고 아다마르(H) 게이트나 제어-X(CX) 게이트를 배치하는 행위는, 소프트웨어 명령어를 던지는 것이 아닙니다. "몇 번째 큐비트 입자에, 몇 초 동안, 어느 정도 세기의 레이저나 마이크로파(물리적 자극)를 주어 흔들 것인가?"를 지시하는 전기 배선도를 짜는 것입니다. 즉, 라디오나 컴퓨터 메인보드의 '전자 회로도'를 실시간으로 재구성하는 물리적 영역이기 때문에 회로(Circuit)라고 부릅니다.

    3. 한눈에 보는 요약

    고전 프로그래밍: 이미 깔린 기찻길(하드웨어) 위로 기차(데이터)를 어떤 순서로 출발시킬지 레시피를 짜는 것.
    양자 프로그래밍: 큐비트라는 원자 수준의 소자들을 레이저와 전자기파로 어떻게 흔들고 엮을지 기찻길(하드웨어) 자체를 실시간으로 조립하는 것.

    우리가 텍스트 코딩 대신 악보 같은 '회로'를 그리는 이유가 바로 여기에 있습니다. 하드웨어를 직접 제어하는 마에스트로가 되는 과정이니까요.

로켓 엔진을 달아줄 징검다리: 데이비드 도이치

이 위대한 '양자 회로 모델'을 1985년에 최초로 정립하여, 파인만의 막연한 아이디어를 "프로그래밍 가능한 컴퓨터"의 실체로 바꾼 인물이 바로 영국의 물리학자 데이비드 도이치(David Deutsch)입니다. 그가 만든 최초의 회로가 있었기에 양자 컴퓨터가 고전 컴퓨터보다 물리적으로 빠를 수 있다는 것이 증명되었죠.

인프라의 관점에서 이 회로를 신속하고 정확하게 설계하고 동기화하는 것을 '프로비저닝'이라고 합니다. 베네타리저브가 꿈꾸는 퀀텀 데이터 플랫폼의 기반이기도 합니다.

다음 포스팅에서는 이 준비된 도화지(회로) 위에, 드디어 전 세계 보안 대문 자물쇠인 RSA 암호를 무력화하는 피터 쇼어(Peter Shor)의 알고리즘을 얹어 시뮬레이터로 해독하는 실전 편으로 찾아오겠습니다.

Hyunjoo Lee, Founder & CEO, VENETA Reserve
a UWS Company | IYF Group

2026년 6월 22일 회사에서

profile
CEO & Founder of VENETA Reserve

2개의 댓글

comment-user-thumbnail
2일 전

퀀텀컴퓨팅에서 낯설었던 부분 중 하나가 회로도를 왜그리지 였는데 이제 좀 이해가 되네요. 다음 편 기대하겠습니다.

1개의 답글