IT Insight

양자 컴퓨터로 게임을 만들면 어떨까?

2020. 3. 4. 09:30

미국의 물리학자 리처드 파인만(Richard Feynman)은 1980년대에 '양자 컴퓨터(Quantum Computer)'를 예견했습니다. 최근에는 많은 기업의 투자와 여러가지 성과로 주목받고 있습니다. 그러나 구체적인 활용 사례는 찾을 수 없습니다. 범용적인 양자 컴퓨터를 만들기 위해서 풀어야 할 물리적인 문제가 잔뜩 남아있기 때문입니다.


컴퓨터는 0과 1로 이루어져 있습니다. 정확히는 트랜지스터로 구성한 논리 회로가 이진수 연산을 하는 것입니다. 트랜지스터의 역할은 정보가 지나는 통로의 스위치입니다. 스위치로 통로를 닫거나 열어서 0과 1로 지정된 신호를 만드는 거죠. 우리는 그 신호를 비트(Bit)라고 부릅니다.


l IBM 양자 컴퓨터 (출처: https://www.ibm.com/quantum-computing/)


트랜지스터가 모이면 더 많은 비트를 한번에 처리할 수 있고, 그러한 트랜지스터의 집합체가 바로 컴퓨터를 이루는 CPU나 RAM과 같은 부품입니다. 그래서 반도체 산업은 작은 칩에 더 많은 트랜지스터를 넣는 경쟁으로 지금까지 성장했습니다. 그렇게 컴퓨터는 점점 빨라졌습니다.


하지만 트랜지스터, 즉 비트를 연산하는 컴퓨터는 물리적인 한계에 다다르고 있습니다. 현재 CPU는 7nm 공정까지 내려왔습니다. 이론적으로는 1.5nm까지 전자가 통로를 지날 수 있지만, 14nm 공정에서도 전자들이 벽을 통과하는 터널링 효과(Tunneling Effect)가 발생해 연산에 오류를 만들고 있습니다.


끝내 공정 개선만으로 컴퓨터가 더 빨라지기 어렵다는 겁니다. 그래서 0과 1이 중첩된 상태의 퀀텀 비트(Quantum Bit), 줄여서 큐비트(Qubit)를 기본 단위로 원자보다 작은 양자를 연산에 사용하는 양자 컴퓨터의 필요성이 증가했습니다.


 양자 컴퓨터의 필요성


문제는 양자 컴퓨터가 실용적인 수준이 되려면 양자를 효과적으로 제어해야 하지만, 현재 기술로는 그럴 수 없다는 겁니다. 양자로 구성된 큐비트는 미세한 온도 변화나 진동, 즉 노이즈(Noise)에 따라서 연산 오류가 무작위로 발생합니다.


l 비트와 큐비트 (출처: IBM Think Academy)


큐비트가 증가할수록 오류가 발생할 확률도 많이 증가하고, 양자 컴퓨터의 대부분 연산은 이 오류를 수정하는 데 사용해야 합니다. 그 이유로 현재 개발 중인 양자 컴퓨터는 외부 노이즈를 최소화하고자 절대영도에 가까운 저온, 진공 상태에서 에너지를 전달하는 고가의 초전도체를 사용하고, 큐비트를 안정적으로 유지하기 위해서 많은 에너지를 소모합니다. 짧은 시간 안에 해결할 수 없는 문제이며, 일각에서는 이런 이유로 양자 컴퓨터의 실현이 불가능하다고 주장하기도 합니다.


결국, 지금의 PC나 스마트폰과 같은 크기, 효율의 양자 컴퓨터를 만나는 건 아직 상상하기 어려운 일입니다. 그런데도 양자 컴퓨터가 실현되었을 때 어떤 일들을 할 수 있는지, 활용에 대한 기대감이 계속 늘어난다는 건 흥미로운 일입니다. 의약품 및 신소재 개발, 강력한 인공지능 개발, 기후 변화 대응 등 양자 컴퓨터 개발과 다른 면에서는 양자 컴퓨터의 활용도 연구 중이죠. 게임도 그런 분야입니다.


범용적인 양자 컴퓨터의 개발도 이루어지지 않았고, 연구 및 개발, 분석에 활용하려는 시도가 주목을 받는 상황에서 웬 게임이냐는 의문이 들 수 있습니다. '저렇게 까다로운 문제들을 해결하면서 개발 중인 양자 컴퓨터로 게임이나 만든다?'라고 말입니다. 그러나 게임은 현재 부족한 양자 컴퓨터를 가장 포괄적으로 수용할 수 있는 분야로 관심을 끌고 있습니다.


IBM 양자 컴퓨터 연구원이자 게임 개발자인 제임스 우튼(James Wootton)은 IBM이 개발한 양자 컴퓨터를 활용해 게임을 개발합니다.


아직 실용적인 수준의 양자 컴퓨터가 없는 시점에서 게임을 개발한다는 건 이상한 얘기일 수 있으나 IBM, 마이크로소프트(MS) 등 기업과 연구소는 양자 컴퓨터를 위한 프로그래밍 언어나 시뮬레이터를 수년 전부터 배포했고, 많은 양자 물리학자 및 개발자가 소프트웨어적 활용을 연구하고 있습니다. 우튼은 이런 도구를 통해서 게임을 개발한 겁니다. 그럼 어떤 게임을 개발했을까요?


 양자 컴퓨터를 통해 개발한 게임


'퀀텀 솔리테리어(Quantum Solitaire)'라는 카드 게임이 있습니다. HTML5 기반으로 유니티 엔진을 활용해서 개발했지만, IBM이 클라우드를 통해 제공하는 프로토타입 양자 프로세서 온라인 플랫폼인 '퀀텀 익스피리언스(Quantum Experience)'와 퀀텀 SDK '프로젝트 Q(Project Q)'를 결합해 실제 IBM의 양자 컴퓨터가 카드를 처리하는 게임입니다.


l 퀸텀 솔리테리어 (출처: https://decodoku.itch.io/quantum-solitaire)


게임은 테이블에 놓인 4장의 카드를 뒤집어서 검정색과 빨간색 카드를 각각 1~12까지 모은 한 벌을 만드는 게 목표입니다. 왼쪽에서 하나를 선택하면, 꼭 오른쪽의 카드 하나를 선택해야 합니다. 여기에는 몇 가지 규칙이 있습니다.


1. 아래쪽에 깔린 카드는 모두 빨간색이 아닙니다.

2. 위쪽 카드는 모두 홀수가 아닙니다.

3. 위쪽 카드가 빨간색이면 뒤집을 아래 대각선 쪽 카드는 항상 빨간색입니다.

4. 아래쪽 카드가 홀수면 뒤집을 위 대각선 쪽 카드는 항상 홀수입니다.


게임을 해보면 단순한 카드 뒤집기라고 느낄 수도 있습니다. 하지만 게임에서 사용하는 양자 카드는 일반 카드와 큰 차이가 있습니다. 일반 카드를 사용하면 카드는 뒤집기 전부터 규칙을 준수한 카드를 배치해야 합니다.


아래 왼쪽에서 홀수 빨간색이 나왔다면, 아래 오른쪽에서는 무조건 검정색이고, 위 대각선 쪽 카드는 홀수로 결정되어 있어야 하죠. 양자 카드는 뒤집을 때까지 규칙을 따르지 않습니다. 뒤집힌 카드는 모든 색과 숫자를 한꺼번에 가진 상태로 존재하며, 뒤집어야만 우리가 인지할 수 있는 하나의 색상과 숫자를 가진 카드처럼 보입니다.


먼저 4개 카드 중 하나를 뒤집으면 그 카드는 무작위로 무엇이 될지 결정됩니다. 그런 순간 뒤집어야 할 다른 쪽 카드는 규칙을 따르기 위해서는 어떠해야 하는지 즉시 알게 됩니다. 동시에 뒤집거나 우주 반대편에 있어도 무작위성은 발휘됩니다. 아주 이상한 얘기처럼 들리지만, 카드를 뒤집은 순간 규칙에 대한 정보가 우주 반대편까지 전달되는 것은 아닙니다.



이는 '양자 얽힘(Quantum entanglement)', '양자 비국소성(Quantum nonlocality)'의 효과이자 양자 컴퓨터를 제대로 활용하기 위한 중요한 원리입니다. 한번 얽힌 입자의 상태는 아무리 거리가 멀리 떨어져 있더라도 연결되어 있습니다. 그래서 한쪽에서 어떤 변화가 발생하면, 즉각 다른 입자에도 변화가 발생합니다.


거시 세계 관점에서는 어떤 정보가 빠르게 전달된 것처럼 보입니다. 그러나 국소성의 위배할 뿐 빛보다 빠르게 전달하는 것은 아니므로 상대성 이론을 위배하진 않습니다. 단지 변화가 거리와 관계없이 즉각 나타나므로 빛보다 빠른 것처럼 보이고, 이러한 비 직관성에 물리학자 알베르트 아인슈타인도 양자 얽힘에 반감을 품었었죠. 정보를 한 곳에서 다른 곳으로 순간 이동시키는 양자 전송도 양자 얽힘과 양자 비국소성의 원리로 연구됩니다.


그렇다면 양자 카드에 양자 얽힘과 비국소성 효과가 나타난다는 걸 어떻게 알 수 있을까요?

규칙 1에 따르면 아래쪽에 깔린 카드는 동시에 빨간색일 수 없습니다. 하지만 규칙 3을 따르면 위쪽 카드가 모두 빨간색일 때 아래쪽 카드도 전부 빨간색이어야 합니다. 그래서 위쪽 카드가 모두 빨간색일 경우는 많지 않을 거로 생각할 수 있습니다.


빨간색을 뽑으려면 위쪽 카드가 빨간색일 때 아래 대각선 쪽 카드를 뒤집는 게 확실한 방법이니까요. 다만, 처음 뒤집은 아래 카드가 빨간색일 때 위쪽 대각선 카드는 꼭 빨간색이지 않습니다. 홀수일 때만 규칙 2와 4에 따라서 홀수로 뒤집힐 뿐입니다. 그래서 게임을 해보면 위쪽 카드가 모두 빨간색인 경우는 흔하게 나타나며, 카드가 뒤집는 순간 규칙에 따라서 결정된다는 걸 알 수 있습니다.


우튼이 개발한 또 다른 게임인 '배틀쉽(Battleships)'은 노이즈로 인해 나타나는 연산 오류를 게임의 무작위성으로 활용합니다. 앞서 얘기한 것처럼 비트는 0과 1로 이루어져 있습니다. 논리 회로에 따라서 0이거나 1로 나타나죠. 배틀쉽은 양자 컴퓨터를 통해서 0과 1 사이의 중첩된 상태를 만듭니다.


일종의 가위바위보와 같습니다. 손에서 내기 전에는 중첩되어 있다가 내밀 때 가위, 바위, 보로 나타납니다. 단지 양자 얽힘에 따라서 결과가 나타나지만, 노이즈로 인해 가위를 냈더니 바위를 내밀게 될 수도 있는 것입니다. 배틀쉽은 어뢰로 공격하는 걸 1이라고 했을 때, 때로는 0이 실행될 수 있습니다. 상대 플레이어의 공격이 배를 침몰시키지 않을 수준이라고 생각했더라도 배를 가라앉게 할 공격일 수도 있는 겁니다.


l 배틀쉽 (출처: http://bit.ly/2PCVlVu)


주사위를 굴린 것과 같은 무작위라고 생각할 수 있습니다. 주사위와 다른 점이라면 양자 얽힘에 플레이어의 선택에 따라서 전투를 관측할 때 나타난 변화가 나타나고, 이 변화에 노이즈가 개입해서 나타난 무작위성이 다른 결과를 내놓기도 하는 거라 일반적인 게임의 확률적인 요소가 아닌 전혀 예상치 못한 결과로 이어지게끔 합니다.


예를 들면, 배가 서로 공격하는 중에 갑작스러운 폭풍으로 모두 침몰할 수 있습니다. 물론 무작위성이 게임에서 나타날 수 있도록 하는 개발 과정이 필요하고, 배틀쉽은 아직 초기 단계라서 무작위성보다는 퀀텀 솔리테리어처럼 양자 얽힘의 효과로 게임이 진행되지만, 우튼은 많은 게임에 큐비트의 무작위성을 게임에 적용할 수 있으리라 말했습니다.


지난해 2월, 핀란드 헬싱키에서는 양자 컴퓨터 게임 개발 행사인 '퀀텀 휠 2019(Quantum Wheel 2019)'가 개최되었습니다. 퀀텀 휠 2019는 2014년부터 퀀텀 게임 잼(Quantum Game Jam)이라는 이름으로 시작되었지만, 처음으로 양자 컴퓨터를 통한 게임 개발이 실제 진행된 행사입니다. 50명 이상의 참가자, 10개 팀이 48시간 동안 경쟁했습니다. 양자 물리학자와 협력해 개발된 10개의 게임은 모두 받아서 해볼 수 있습니다.


모든 게임을 소개할 수는 없지만, '퀀텀 소켓(Quantum Socket)'이라는 게임은 USB 케이블을 USB 단자에 올바르게 삽입하는 게임으로 케이블이 제대로 된 방향인지 컨트롤러의 진동으로 알려줍니다. 케이블을 맞는 방향으로 돌리는 버튼과 삽입하는 버튼이 있으며, 시간 안에 최대한 많은 케이블을 연결하는 것이 목표입니다.


플레이어는 컨트롤러를 쥔 손에서 끊임없이 변하는 양자의 상태를 느낄 수 있습니다. 무작위성을 게임과 연결한 것입니다. 이 밖에도 다른 9개의 게임은 양자 얽힘과 무작위성을 이용하는 방법으로 개발되었습니다. 현재 양자 컴퓨터의 한계를 무시하고, 연산 오류조차 게임의 일부인 것처럼 보이게 하는 게임의 개발로 이어진 겁니다.


이를 통해 우튼은 무작위로 게임 세계를 생성하는 '양자 섬 생성기(Quantum Island Generator)'도 개발했습니다. 그래픽 렌더링 방식과 움직이는 방법 등 게임의 나머지는 고전적인 컴퓨터를 통해 제어하지만, 무작위성을 이용한 섬의 생성은 양자 컴퓨터를 이용합니다.


MS의 자회사인 모장의 게임인 마인크래프트(Minecraft)를 연상케 하는 게임 세계는 양자 컴퓨터가 자동으로 디자인했습니다. 이런 방식으로 넓고, 변칙적인 게임 세계를 만드는 데에 양자 컴퓨터를 사용할 수 있을 거라고 우튼은 말했습니다.


l 양자 섬 생성기 (출처: http://bit.ly/3crcoDQ)


퀀텀 휠 2019에 참여한 우튼은 양자 AI에 관해서도 설명했습니다. 양자 컴퓨터로 게임 AI를 만들면, 좀 더 지능적이고, 일반적인 것과는 다른 변수를 지닌 게임 내 AI 캐릭터를 만들어서 사실감을 불어넣을 수 있다는 의견입니다.


예컨대, 양자 컴퓨터로 만든 게임 세계에서 특정 AI 캐릭터가 어떤 변화를 보이거나 변화를 유도했을 때 그에 따라 게임 세계가 변화하고, 게임 플레이에 영향을 무작위로 끼치게 할 수 있겠죠. 이것은 사람들이 양자 컴퓨터와 양자 역학을 완전히 이해하지 못하더라도 받아들이고, 인지하게 할 중요한 방법입니다.


그래서 양자 게임 개발 움직임은 고전적인 컴퓨터의 초기에 컴퓨터가 무엇을 할 수 있는지 사람들에게 설명하고자 게임을 만든 것, 머신러닝과 딥러닝 연구 및 활용 방안의 고민을 위해 게임을 활용하고, 체스나 바둑을 하는 AI를 만든 것들과 같은 맥락입니다. 즉, 현재 양자 컴퓨터는 의약품 및 신소재 개발, 강력한 인공지능 개발, 기후 변화 대응 등 현실 문제에 활용할 수 없는 단계지만, 가상인 게임에는 적용해 소프트웨어적인 발전을 지속할 수 있습니다.


향후 범용적인 양자 컴퓨터가 개발되더라도 상용화를 앞당기려면 개발자 생태계가 필요한데, 게임 개발은 개발자들의 관심을 불러일으킴으로써 양자 컴퓨터의 활용 방안을 단계적으로 고민할 수 있게 도와줍니다. 퀀텀 휠 2019에 참여한 개발자들도 양자 물리학자가 아니었으니까요.


심지어 재미가 부여된 양자 게임은 어렵게만 느껴진 대중들의 관심을 끌어내고, 양자 컴퓨터를 좀 더 보편적인 개념이 되도록 도울 것입니다. 활용 방안에 대한 다양성 문제를 해결하는 데에도 양자 컴퓨터 개발의 초기 단계인 현재, 게임이 긍정적인 역할을 할 것으로 기대를 모으고 있습니다.


글 l 맥갤러리 l IT 칼럼리스트


* 해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.




Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS

댓글을 달아 주세요

위로