스위스 연방공대(ETH Zurich) 컴퓨터 과학자들은 양자컴퓨터를 간단하고 안정적이며 안전하게 고전적인 컴퓨터로 프로그래밍하는 데 사용할 수있는 최초의 프로그래밍 언어를 설계했다.

ETH 안전하고 신뢰할 수 있는 지능형 시스템 연구소(Secure, Reliable and Intelligent Systems Lab, SRI) 컴퓨터과학 교수 마틴 베체브(Martin Vechev)는 “양자 컴퓨터 프로그래밍은 여전히 연구자들에게 어려운 과제”라며 “양자 프로그래밍 언어 ‘Silq’를 사용하면 프로그래머가 코드를 더 작고 빠르고 직관적이며 이해하기 쉽기 때문에 프로그래머가 기존 언어보다 양자 컴퓨터의 잠재력을 더 잘 활용할 수 있다”고 말했다.

이번 주 베체브는 ‘Silq’를 프로그래밍 언어 컨퍼런스 ‘PLDI 2020’에서 소개할 예정이다. 동료 과학자들과의 토론, 채택 및 추가 개발을 용이하게하기 위해 그는 Silq를 자체 웹 사이트(silq.ethz.ch)에 공개했다.

엄청난 잠재력을 가진 양자 컴퓨팅은 지난 10 년 동안 주목을 끌고 있다. 오늘날 대부분의 연구자들은 이러한 컴퓨터가 언젠가는 고전적인 컴퓨터보다 특정 문제를 더 빨리 해결할 수 있다고 생각한다. 계산을 수행하기 위해 특정 시점에서 다양한 정보 비트가 겹치는 양자 얽힘 상태를 사용하기 때문이다. 이는 미래에 양자 컴퓨터가 합리적인 기간 내에 해결할 수없는 문제를 효율적으로 해결할 수 있다는 것을 의미한다.

이 양자 우위는 여전히 결정적으로 입증돼왔다. 그러나 최근 몇 가지 중요한 기술적 발전이 이루어졌다. 2019년 여름, 양자 컴퓨터는 가장 빠른 클래식 컴퓨터보다 더 빨리 문제를 해결하는 데 성공했다. 특정 양자 알고리즘, 즉 계산 전략의 경우, 양자 컴퓨터의 잠재력을 활용하지 않는 기존 알고리즘보다 빠르다는 것도 알려졌다. 그러나 현재까지 양자 컴퓨터는 여전히 오류가 발생하기 때문에 기존의 양자 하드웨어에서 이러한 알고리즘을 계산할 수 없다.

양자 계산의 잠재력을 활용하려면 최신 기술뿐만 아니라 양자 알고리즘을 설명하기위한 양자 프로그래밍 언어도 필요하다. 프로그래밍 언어는 컴퓨터가 필요한 계산을 수행할 수 있도록 알고리즘을 설명한다. 오늘날 양자 프로그래밍 언어는 특정 하드웨어와 밀접한 관련이 있다. 기본 회로의 동작을 정확하게 설명한다. 프로그래머에게는 이러한 ‘하드웨어 설명 언어’가 번거롭고 오류가 발생하기 쉽다. 양자 알고리즘을 구현하는 데 필요한 세부 사항을 명시적으로 설명해야하기 때문이다.

연구팀에 따르면 Silq는 하드웨어의 구성 및 기능을 중심으로 설계되지는 않았지만 컴퓨터 아키텍처 및 구현의 모든 세부 사항을 이해할 필요없이 문제를 해결하고자 할 때 프로그래머의 사고 방식에 따라 설계된 최초의 양자 프로그래밍 언어다.

자동 오류 제거

Silq가 양자 프로그래밍 언어에 제공하는 가장 큰 혁신과 단순화는 지금까지 양자 프로그래밍을 괴롭힌 오류의 원인 부분이다. 컴퓨터는 여러 중간 단계로 작업을 계산하여 중간 결과 또는 임시 값을 만든다. 메모리를 줄이기 위해 클래식 컴퓨터는 이 값을 자동으로 지운다.

컴퓨터 과학자들은 불필요한 임시값이 폐기되기 때문에 이것을 ‘쓰레기 수집(garbage collection)’이라고 한다. 양자 컴퓨터의 경우, 이 폐기는 양자 얽힘으로 인해 더 까다롭다. 이전에 계산된 값이 현재 값과 상호 작용하여 올바른 계산을 방해할 수 있다. 따라서 양자 컴퓨터에서 이러한 임시 값을 정리하려면 소위 계산되지 않은 고급 기술이 필요하다.

연구진은 Silq는 더이상 필요없는 값을 자동으로 식별하고 지우는 최초의 프로그래밍 언어라고 말한다. 컴퓨터 과학자들은 고전적인 프로그래밍 언어에 대한 지식을 적용해 이를 달성했다. 자동 계산 방법은 특별한 양자 연산이 없는 프로그래밍 명령만 사용한다.

베체브는 “Silq는 양자 컴퓨터의 프로그래밍 최적화 측면에서 중요한 혁신이지만 개발의 마지막 단계는 아니다”며 “Silq가 이해하기 쉽기 때문에 양자 프로그래밍 언어의 추가 개발과 새로운 양자 알고리즘의 이론과 개발을 자극하기를 희망한다”고 말했다.

*Bichsel B, Baader M, Gehr T, Vechev M. Silq: a high-​level quantum language with safe uncomputation and intuitive semantics. PLDI 2020: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, June 2020, Pages 286–300. DOI: 10.1145/3385412.3386007