-
거의 25년 동안 물리에 빠져 지내면서 '자신의 관심사나 목표에 충실한 것이 그것에 더 가깝게 가는 것을 보장하지 못하는' 역설을 상당히 많이 보게 된 것 같다. 학부 시절 과학사 강의를 들으면서 배운 교훈 중 하나도 이것과 연결된 것 같은데, 지금 사람들이 '물리학'이라는 범주로 묶은 것들도 사실 예전에는 완전히 다른 분야도 취급되어 왔던 것들이다. 거의 20세기에 와서야 역학(중력)-전자기-통계적 관점이 하나의 방법론으로 통합되었고, 그 과정에서 각각의 분야들이 가졌던 껄끄러운 점들이 드러나기 시작해서 상대론이나 양자역학이 나온 것이니, 지금은 상상하기 쉽지 않지만 100년 뒤의 물리학자가 지금 물리라고 생각하는 것과 완전히 다른 일을 주로 하고 있다고 해도 전혀 이상한 것이 아니다. 결국 인간의 역사에 따라 이름 붙여지고 구분 지어진 것이지 자연은 어느 것 하나 분리하지 않는 '그 자체'일뿐이고, 아주 추상적이든 응용적이든 관계없이 그 안에서 학문 활동을 한다는 것은 아직 사람들이 이야기하지 않은 것을 찾기 위해 머리를 굴리고 그 결과들이 쌓이면 어떤 식으로든 체계화를 해서 단순하면서 일관적인 이해를 하려고 한다는 본질이 아주 다른 것은 아니기도 하다.
요새 물리 쪽의 교수 공고를 보면 양자 기술 전공 수요가 꽤 많은 것 같다. 입자물리를 전공하고 우주론에 관심을 두었다가 좀 더 이론적인 것을 하고 싶어하는 입장에서는 다른 전공 이야기 같지만 생각보다 둘은 꽤 깊은 연관이 있다. Susskind 선생 등이 10여 년 넘게 연구해 온 것이 이런 것들인데, 결과가 재미있으면서도 아직 왜 그래야 하는지가 잘 와닿지 않아서 자세히 알고 싶은 주제이기도 하다. 우주론에서 이론 쪽으로 관심을 옮기게 된 계기 중 하나이기도 하고.
언뜻 보면 상당히 실용적인 이야기이다. spinor doublet을 흔히 qubit이라고도 부른다. Quantum bit의 줄임말이고 bit 자체가 2진법이니 그 양자역학 버전이 doublet 즉 qubit인 것은 자연스러운 것이다. 양자역학의 본질 중 하나는 상태의 중첩이기 때문에, 중첩된 상태에 연산을 가하면 각각의 성분에 연산을 시키는 셈이 되어 일종의 병렬컴퓨팅이라고 할 수 있을 것이다. 여기까지 보면 양자역학이 컴퓨터의 효율을 높이는 아주 좋은 방법을 제시한다고 할 수 있지만, 그게 그렇게 간단하지 않다. 측정을 하면서 상태가 붕괴되어 정보가 사라지기 (측정 장비로 빠져나간다거나) 때문에 실제로는 양자회로를 아주 잘 만들어서 충분히 원하는 정보를 효율적으로 뽑아내는 일을 해야 한다. 90년대의 Deutsch-Jozsa algorithm같은 것들이 이 목표를 현실화하기 위한 제안들이었다. (사실, 고전물리의 세계도 양자역학의 거시적인 극한에 속하기 때문에 지금 쓰고 있는 컴퓨터 알고리즘도 양자역학적 현상이기는 하다. 문제는 고전물리와 겹치지 않는 양자역학 고유의 현상을 이용해서 계산 효율을 얼마나 높일 수 있는지일 것이다.) 일단 컴퓨터에 쓰이는 gate, 즉 하나나 두 개의 bit(들)을 다른 bit(들)로 변환하는 것은 양자역학적으로도 만들 수 있다. 이걸 가지고 아주 많은 qubit들로 이루어진 system의 unitary 변환을 gate들로 구성하는, 즉 양자 회로(quantum circuit)를 구현하는 일이 주로 사람들이 관심을 보이는 일이다. 그것도 그냥 아무렇게나 해서 겨우 구현하는 것이 아니라 최대한 효율적으로. 여기서 효율성에 관한 문제는 크게 두 가지로 요약할 수 있는데, '쓸 수 있는 서로 다른 gate들이 너무 많아도 안되고' 동시에 회로를 만드는 전체 gate 개수도 너무 많아도 안된다. 첫 번째 문제에 대해서는, universal gate라고 해서 세 개 정도의 gate들을 이용하면 적어도 충분히 만족할만한 정확도로 주어진 qubit들에 가해지는 모든 unitary 변환을 근사적으로나마 구현할 수 있다. 두 번째 문제는 쉽지 않아서 효율성을 복잡도(complexity)라는 양으로 정량화한다. 간단히 이야기하면 양자회로를 구현하기 위해 필요한 전체 gate들의 개수를 복잡도라고 정의하고 이걸 구하게 된다.
어떤 계산 결과를 단시간에 얻기 위해서, 몇개의 qubit들을 다발로 묶어서 동시에 gate를 가지고 연산을 한다고 하자. 물론 한 번에 이루어지기에는 얻고 싶은 결과가 복잡하기 때문에 이 연산을 여러 단계로 수행해야 한다. 이때 보게 되는 것은, 한 qubit이 가지고 있던 정보 (두 basis 상태들이 어느 정도 중첩되어 있는지라거나..)가 gate의 연산을 통해 시간이 지나면서 다른 qubit으로 전달되는 것이다. 즉 한 곳에 있는 정보가 다른 곳으로 섞여 들어가는 것이고, 이걸 fast scrambling이라고 부른다. 이 경우 처음에는 연산에 참여하는 계산 단계수의 곱에 비례하는 complexity를 보이지만, 단계를 계속 늘리더라도 주어진 qubit 개수에 작용하는 unitary 변환의 수 자체가 한계가 있기 때문에 아주 오랜 시간이 지나면 (qubit 개수의 exponential 쯤?) complexity는 줄면 줄었지 더 이상 늘지 않는 상태가 된다. Entropy가 최대를 찍으면 평형 상태가 되는 것과 같은 이야기이다.
여기까지 보면 기술적인 문제 같지만, 문제는 black hole이나 가속 팽창하는 우주에서도 비슷한 이야기가 등장한다는 것. 그런데 여기서 unitary time evolution을 gate 연산들의 조합으로 이해한다는 것은 무슨 의미가 있을까.. 언뜻 국소성을 생각해 보면 정보의 전달에 한계가 있기 때문에 한 구역과 바로 옆 구역 사이의 중력적 상호작용을 gate로 모형화할 수 있다고 생각할 수도 있지만, 사실 그렇지만도 않은데, 양자회로에서는 어떤 지점의 qubit과 아주 멀리 떨어진 지점의 qubit도 gate연산을 하기 때문에 모든 영역이 비슷하게 높은 correlation을 보이는 것 같다. 어쩌면 entanglement entropy를 계산하고 할 때 나오는 발산의 의미가 그런 것인지도 모르겠지만.. 일단 더 공부 좀 해 볼 일인 것 같다.