순수수학2020. 5. 17. 13:40

"자연이라는 커다란 책은 그 책에 씌어 있는 언어를 아는 사람만이 읽을 수 있다. 그 언어는 수학이다"

                                                                                                         -갈릴레오 갈릴레이

 

 일단 먼저 답부터 적자. 제목의 답변은 "숫자 체계는 대칭과 반복이라는 것들을 서로 모순없이 잘 정의하여, 그것들이 어떻게 반복되든 모순없는 결과를 내준다. 이런 속성이 자연과 수학이 일치하기 때문에 수학이 자연을 기술하는 언어가 되었다"이다. 무슨 이야기일까..

 

 외계인이 지구에 와서 본인들이 보유한 수학을 우리의 것과 비교한다고 가정하자. 그것들은 우리의 것과 어떻게 다를까? 숫자에 숨어있는 근원은 무엇이고, 왜 수학은 자연을 기술할 수 있는 언어인가(혹은 어떤 속성이 있길래 자연과 닮았는가?) 덧셈과 곱셈과 로그는 얼마나 특이한 것인가? 이러한 질문들에 대한 고민들은 우리가 가진 수 체계가 어떤 특성에서 출발했는지 살펴봄으로써 조금더 깊게 이해할 수 있다고 믿는다.

 

 빠르게 진행하기 위한 최초 진술을 시작해보자. 정말로 숫자에 숨어있는 가장 근원적인 원리란 무엇인가?

 

 그것은 "대칭"이다

 

 왜 맨 처음 시작에 대칭이라는 화두가 나올까? 사실 세상의 모든 숫자는 1,10,100 등 어떤 숫자의 조합이 아닌 고유의 명사(사과, 바나나처럼)가 있을 수도 있었는데, 그렇게 모두 각각 다른 형태의 이름을 붙일 수가 없으니, 몇가지 규칙을 먼저 정한 후(예를들어 0부터 9) 그 확장으로 우리는 명기하고 있다. 이 몇가지 요소들에 기반해 적절한 규칙만 익히면 소개했던 대로 1,10,100 등 어떤 큰 숫자든 나타낼 수 있다. 무한히 존재하는 숫자를 생각해보면 이 과정은 어느 문명에서든 거의 필수이다. 그런데 이러한 것들을 시작하기 위해서는 최초에 어떤 가장 작은 것을 정의해야 하는가? 바로 이때 대칭이 필요하다.

 

 대칭은 마치 저절로 태어난것처럼 생겨나는 개념이다. 그것은 아무것도 없던 것에서 -1과 +1이 생겨난 것과 같다. 합치면 없어지면서도, 아무것도 없는 0을 중심으로 거울처럼 반대쪽에 서 있다. 내가 여기에 붙인 숫자라는 거추장스러운 기호를 무시해버리고 머리속에 순수한 개념으로 그려보라. 그러면 이 둘은 말 그대로 다르면서도 같다. 서로 균형을 이룬다. 왜냐하면 원래부터 아무것도 없던 것에서 서로를 의지하면서 생겨났기 때문이다.  

 

같으면서도 다른 존재, 대칭

자 그러면 거두절미하고 이 운명적인 3개에 존재에 기호를 붙여보자. 우리가 가진 숫자를 차용해서. 헷갈리지 말아야 할 것은 그 숫자 그대로 이해하기 보다는 완전히 추상적인 두 존재로 간주해나가자는 것이다. 0은 아무것도 없으며 중심 축이므로 혼자서 설 수 있고, 나머지 -1과 +1은 0을 사이에 두고 서로를 의지해 존재한다.

 

"-1, 0, +1"

 

 "-1, +1"은 사실 십진수인 아라비아 숫자를 생략해버리고 +, -로 이름붙여도 되고, +3, -3으로 해도 된다. 무엇이든 상관없다. 하지만 우리가 아는 1,2 같은 것은 좀 곤란하다. 그 둘은 합쳐서 아무것도 없는 것이 아니다.

 +1, -1 대신 -1, +1로 불러도 된다. 대칭은 서로 바꾸어도 달라지지 않는다. 양수와 음수는 다르다고 주장할 수 있겠으나 그것은 우리가 그렇게 부여했기 때문이고, 여기서의 -1,+1은 서로 동등한 다른 두 녀석이다. 한 존재가 없으면 다른 존재는 바로 의미를 상실한다. 둘이 자리를 바꾸어도 아무 문제가 없다. 서로에 의해서만 의미있게 정의될 수 있다.

 

 결국 다시 말하면 아무것도 없던 0에서, 서로 마주보는 -1, +1이 탄생했다. 여전히 그 이름에 속박되지 말고 순수하게 머리속에 떠올려보자.

 

 그리고 이 3개 간의 관계 중에, 0에서 -1로, 0에서 1로 두 객체간의 관계를 각각 동일 반복해보자. (이 반복이라는 말을 좀더 우아하게 정의할 수 있지 않을까? 일단 여기서는 이 반복이라는 것은 연산과 계산이라는 것에 맞닿아 있다고 생각한다. 상태는 대칭으로 기술되고 그 상태의 변화의 가장 기본적인 핵심은 이 동일 반복이다.)

 

 결국 이는 0과 나머지 두 대칭 객체들을 하나의 정해진 단위로 정의하고 그것을 반복해서 확장하는 과정이다. 띄엄띄엄하며, 정규화된 블록 1개에 같은 블록 1개를 가져다 붙이는 것과 같다. 우리가 익숙한 기하학인 직선 선분 상에서 확장하는 과정을 보면 쉽게 상상할 수 있다. 거듭반복할때마다 이름을 붙이는데, 편의상 십진수로 만들어 한번 반복할때마다 -1, +1 방향으로 그 만큼 이름을 붙인다. 이 반복에서 주의할 점은 기존과 같은 것을 복제 반복해서 확장하는 것이다.

 

 대칭에 연관된 객체 3개가 제시된 이후로 그 객체간의 관계를 반복하는 것 외에는 새로 등장한 개념은 없다.

 

각 대칭 방향으로의 동일 복제에 대칭 부호는 유지한 체 반복 횟수를 10진수로 이름을 붙여보자

 

"이렇게 반복해가면서 정의하면 정수가 탄생한다."

 

 우리가 가진 숫자 기호를 처음부터 사용해서 반복했기 때문에 당연하다고 할 수 있으나, -A, +A를 가지고도 만들 수 있고 심지어 -3, +3으로도 만들 수 있었다. 그러나 똑같은 방식으로 만든 숫자 체계는 동일하게 매핑(대응)된다. 이 대응이 중요하다. 뭘로 만들었든 이 정수 체계는 동일한 역할을 수행할 수 있고 근본은 같다.

 

 

"대칭에서 탄생한 3개의 객체간에서 축과 두 대칭요소의 2가지 관계를 반복한다."

 

 

그리고 외계인이 무엇을 만들었든 이 정수와 매핑되는 것이 있을 소지가 매우 크다. 왜냐하면 이것들은 대칭의 균형을 매우 기초적인 단계에서 확보하고 있는 가장 기본적인 기호 체계이기 때문이다. 다른 모든 것의 확장 기반이 된다.

 

 그리고 자연스럽게 앞의 '반복'을 좀더 확장한 덧셈이 탄생한다. 그렇다 앞서 주장한대로 연산들의 가장 근원은 반복이며, 최초로 확장은 덧셈이다. 대칭으로 구성된 체계는 몇번을 동일 반복 해가느냐에서 이 덧셈이 자연스럽게 탄생한다. 기호를 정해서 이 복제를 연산자로 표시해보자. 

 

 

A+B = A번 반복하고 B번 반복한다 = B+A = B번 반복하고 A번 반복한다

 

 

 사실은 앞서 기술한 것처럼, 예컨데 3이라는 숫자는 (0,1)의 관계를 3번 반복했다는 연산을 이미 함축하고 있다. 더하기란 A라는 반복 연산 후 B라는 반복 연산을 연속 시행했을때, 결과적으로 C라는 반복연산을 수행했다는 것을 간편하게 나타내고자 할때 사용하는 기호이다. (그리고 개인적으로 이 덧셈 연산 등은 모두 미지수 x를 구하는 문제 때문에 탄생했다고 나는 생각한다. 미지수 x는 대칭을 성립시켜야 하는 의무 속에 이 수 체계의 모든 확장을 강요받게 된다. 나중에 더 논해보자.)

   

 그리고 여전히 중요한 것은 대칭을 유지하는 것인데, (0,-1)관계를 반복하는 것을 -반복, (0,+1)관계를 반복하는 것을 +반복이라고 했을때, n번 +반복하고 n번 -반복하면 0이 되어야 한다.

 

 그러면 이제 덧셈기호를 차용해 A+x = C라고 하자. A번 반복하고 x번을 반복했더니 C번 반복한게 되었다. 그러면 x번은 몇번 반복한것인가? 사실 여러가지 경로를 통해 뺄셈이라는 연산이 자연스럽게 등장할 수 있다. -반복은 +반복의 대칭 관계에 있다. 서로 반복해서 상쇄되는 관계를 지닌다.

 

                 A-B = A번 반복하고 그 복제의 대칭을 B번 반복한다 

 

결국 뺄셈이라는 연산은 대칭 체계 안에서는 아직 밖으로 벗어나지 않는 연산이며 그 안에서 정의된다.

 

"이렇게 외계의 숫자를 만나도 덧셈 확장이 존재하고, 그 덧셈 확장은 대칭 숫자와 결합된 뺄셈확장을 존재시키게 된다."

 

 

 반복과 대칭만 가지고 앞서 3개의 기호간의 관계를 복제해서 확장시키면(-1, +1은 두개는 대칭이므로 따로 조합해 확장할 수가 없고, 0과 나머지 두개끼리만 가능하다) 자연스럽게 반복을 쉽게 해주는 덧셈이라는 계산이 생겨나고, 이 덧셈이라는 복제를 대칭에 있는 다른 것과 모순없이 같이 잘 정의해야만 이 수체계에서 미지수 x를 구할 수 있다.

 

 갑자기 이 미지수 x가 튀어나왔는데 앞서 밝힌대로 모든 대칭관계를 완벽하게 만들어 주는지 검증할 때도 사용할 수 있다. 예를 들면,

 

A+x = B

 

 

이다. A번 반복하고 x번 반복하면 B가 되는데 이 x번은 몇 번이냐이다.  잘 알려진대로

 

A+x = B

A+x-A = B-A

        x = B-A

 

로 나타낼 수 있다. 대수(algebra)적인 문제를 풀려면 이 대칭(연산을 포함해)들이 모두 맞아 떨어져야 쉽게 풀린다. 어떤 경우든 풀려고 한다면 모든 대칭관계가 완벽해야 한다. 반대로 대칭이 완벽해야 모든 경우에 대해 설명할 수 있다. 그렇게 대칭관계의 연산이 모자라면 안풀리는 상황이 생긴다. 만약에 위에서 뺄셈이 정의가 제대로 안되어 있다면, 쉬운 기호를 만들어 x를 구하기 어려웠을 것이다. 그러나 덧셈의 대칭 역할을 하는 뺄셈이 잘 정의됨으로 인해 쉽게 풀리게 되었다.

 

 

 우리는 지금까지 "-1, 0, +1 세개를 가지고 확장한 정수 체계와, +1방향 복제와 -1방향 복제를 거듭하는 덧셈과 덧셈의 연산에 대칭을 고려한 뺄셈"을 갖게 되었다. 그리고 이 연산의 과정이 대칭상에 완벽한지 x를 놓고 다양하게 검증할 수 있게 되었다.

 

 

이 체계는 정수와 매핑되는 모든 반복 계산의 문제에 답을 줄 수가 있는데, 그 이유는 앞서 이야기한 대칭과 복제(+1방향과 -1방향의 같은 방식의 복제)가 성립되는 기호 체계 안에 있기 때문이다. 그리고 +1과 -1이 대칭의 중간인 0을 갖기 때문이기도 하다. 따라서 이 속성들이 수학 체계가 갖는 매우 중요한 특성이고, 밝힌대로 외계의 숫자와 연산체계를 가지고 오면 이것과 분명히 1:1로 각각 대응하는 것들이 존재할 것들이다.

 

결국 숫자 체계는 대칭과 반복이라는 것들을 서로 모순없이 잘 정의하여 그것들이 어떻게 반복되든 모순없는 결과를 내준다. 사실은 내가 주장하고 싶은 내용은 바로 이게 핵심이다. 이런 속성이 자연과 수학이 일치하기 때문에 수학이 자연을 기술하는 언어가 되었다는 점이다.

 

 이후에는 즐겁게 확장해나갈 수 있다. 연산을 빠르게 하기 위해 곱셈(특정 반복을 통째로 복제하는 것)을 도입하면, 그 대칭인 나눗셈이 나오게 되고, 미지수 x를 풀 수 있게 숫자는 실수로 허수로 확장된다.

 

곱셈이나 나눗셈이 나오면 정수 체계하에서도, 수의 확장이 곧바로 필요해진다.

 

2/x = 3,  x * x = 2, x * x = -2

 

 

등등에 대응해주지 않으면 이 대칭과 확장은 절름발이가 되는데 이 x에 대해 자연수럽게 유리수, 무리수, 복소수가 아주 자연스럽게 도출된다. 그리고 우리 수학체계는 긴 세월동안 이런 것들이 x의 값을 구하는 문제에 당면하여, 모든 상황에서 잘 대칭에 맞게 확장시켜온 것이다. 외계인의 수 체계도 위와 같이 잘 확장되어 있어야 효과적으로 문제를 풀 수 있게 되는 것은 당연하다.

 

 상호 모순이 없는 대칭의 것들은, 이렇게 한쪽이 도입되면 자연스럽게 반대쪽도 나타나게 된다. 결국 x * x = 2 가 되는 무리수, x * x = -2 가 되는 허수는 이 대칭 체계안에서 자연스럽게 탄생될 운명이다. 3 * x = 2 라고 하면, 3을 과연 몇번 복제해야 2가 되는가 라는 질문인데? 상호 대칭에 모순이 없도록 이 x는 2/3으로 정의될 수 밖에 없다. 새로운 수들은 대칭의 원리에 충실하며 그래야만 상호간에 성립된다. 같으면서도 달라야하는 이 관계를 통해 숫자들은 다양한 상황에서도 거울처럼 상대편을 받치고 반복들을 성립시키기위해 서로서로가 확장된다.

 

 곱하기/나누기 외에 제곱과 로그가 대칭의 있는 연산인 점도 마찬가지다. 물론 새로운 계산을 정의할 수도 있다. 그리고 이 새로운 계산은 늘 대칭의 짝을 찾게 되어 있다.

 

 

 양자역학에서도 이 대칭은 큰 역할을 했다. 지도의 한구석이 빠져있다는 것이 밝혀지면 과학자들은 그것이 존재할것이라는 신기한 믿음을 갖는다. 그리고 여지없이 그것들이 발견되었다. 물론 모든 대칭이 자연에 나타난다고 주장하는 것은 아니다. 대칭의 모순이 없이 항상성을 유지하려면 내놓아야하는 결과를 많은 경우 발견할 수 있는 것이다. 새로운 연산 기호나 수 체계는 그래서 이 대칭관계를 지키는 것이 어떤 모양인지 살펴야만 기존 수체계에 모순없기 결합된다.

 

 

 그리고 조금 더 나가보면, 사실 이 논의에서 무한은 빠져있는데, 무한이 위 대칭과 결합하면 연속적인 것까지 모두 다룰 수 있는 수학 체계를 만들어 낼 수 있다. 마무리 되기 전에 간단히 짚어보자.

 

 무한은 칸토어가 지적했듯이 매핑관계가 핵심이다.

 

 정수가 확장되고 유리수가 되면서 신기한 일이 일어났는데, 그저 하나씩 더해서 무한하게 커지던 정수 체계가(1에서 계속 1을 더해서 무한하게 되던), 특정 구간, 예를 들면 0과 1사이에 그 무한의 것들이 모두 들어가는 매핑관계가 필요하게 되어 버렸다. 이전에 살펴보던 연산기호 확장 과정에서 곱셈과 나눗셈이 나오면서 등장했던 것을 기억할 것이다. 그리고 가장 오래된 설명은 제논의 역설에 나오는 아킬레스와 거북이다. 거기에는 계속 반씩 줄어드는 유리수의 개수가 무한하다는 사실이 등장한다. 아킬레스는 거북에 반씩 반씩 무한히 접근해야 되므로 다다를 수 없다는 역설이 생긴다. 이렇게

 

무한한 수가 0과 1사이의 값들에 매핑되는 기호 체계를 요구하는 일이 발생한다.

 

 그런데 이 매핑만 잘되면 무한의 문제도 해당 수 체계 안에서 다룰 수 있다. 그런데 분명히 우리는 띄엄띄엄한 유한한 기호 체계를 만들어서 시작했는데 어떻게 이런게 가능한가!

 

 밝힌대로 앞서 곱셈이 등장할때부터 수학은 무학의 문제를 겪었다(0으로 나누는 것이 대표적이다. 제논의 예시처럼 유리수도 0과 1사이에 무한히 존재한다) 그리고 이러한 매핑 가능성이, 현실세계에서 느껴지지 못하는 점이 이 무한을 이해하기 어렵게 만드는 일 중의 하나이다. 무한은 본질적으로 이 매핑관계의 해결에 대한 문제이다. 유한해 보이는 것을 무한한 것에 매핑시키려면 유한한 것을 무한히 쪼개는 수 밖에 없는데, 우리 수학 체계는 이것을 해결해낸 셈이다(유리수, 무리수 등등을 통해서)

 

 이렇게 수 체계와 대칭, 무한의 관계가 풀리면 수학은 본격적으로 연속된(무한히 확대되어도 부드러운?) 모든 것까지 묘사할 수 있다.

 

 그리고 앞서 밝혔듯이 대칭의 연산을 통해 항상 일관된 결과를 내는 도구를 갖게 된다. 이 수학을 가지고 우리는 물리학 등을 통해 자연을 묘사하고 있는 셈이다.

 

 이 과정에서 대칭에 막연한 신비로움을 부여할 수도 있겠으나, 그렇다기보다는 위의 특성을 만족시키는 것(결국 서로 다르면서도 평등한 것)이 바로 축을 중심에 둔 대칭이라고 바꾸어 말할 수 있다. 유사한 등가의 것을 대입하면 이 대칭이라는 것은 다른 말로 기술될 수 있다. 그러나 사실은 본질은 같은 것이다. 대칭상에서 반복과 그 일관성을 찾은 것이 인간이나 외계인이 만들어낼 자연을 기술하는 언어 체계의 특성이다.

 

위 대칭 관계를 생각해보면, 아무것도 없는 것에서 단순한 것으로 무언가를 체계화 하려면 대칭이 아니면 만들 방법이 마땅치 않다는 것을 알 수 있다. 아무것도 없는 것을 지나 최소한에서 시작해 무엇을 만들어나가려면, 곧바로 대칭을 마주하게 된다. 그리고 그렇게 모든 것을 반복해나가면 사실은 대칭이 아닐 수가 없다. 세상은 복잡해보이지만 계속 파헤치면 원자들이 나타나고 이것들은 대칭성 속에서 완전성을 갖고 있다. 이 과정을 위와 같이 곱씹어 보면, 과연 대칭이 아닌 무엇이 자연을 지탱할 수 있는가 싶기도 하다. 결국 맨 밑의 기초에는 대칭 빼고는 아무것도 존재하지 않게 된다.

 

급하게 전개했으나 우리가 가진 수학체계를 더 일반화해서 생각 하는데 도움이 되었기를 바란다.

반응형
Posted by 작동미학
양자역학2020. 4. 6. 02:54

이 실험은 영의 이중슬릿 재현 실험의 추가 실험이다.

https://infoengineer.tistory.com/28

 

토마스 영의 이중슬릿 실험 재현

이 실험은 과학쿠키를 참고로 했음을 미리 알려둔다. (천원 숍에서 락카+액자+나무집게+면도날+레이저 포인터 등을 활용해 이중슬릿 실험을 가능하게 함. 작은 비용으로도 꽤 정확하게 실험할 수 있는 방법을 알려..

infoengineer.tistory.com

 

다음의 영상들이 참고가 되었다. 편광 필름에 대한 실험이다.

https://www.youtube.com/watch?v=R-6St1rDbzo  (가정용 Quantum Eraser 실험)

 

앞서 소개한 영의 이중슬릿 실험 재현과 동일한 구성하에 이중슬릿 모양을 관측해보자.

650nm 레이저 빛이 1mm 이중 슬릿을 통과해, 약 5m뒤의 벽(잘안보이지만)에 투사된다

이미 소개한대로 정확히 회절무늬가 관측된다. 

여기에 예전에 이야기했던 Delayed Quantum Eraser 와 유사한 실험을 해보자.

 

먼저 편광필름을 소개해보자. 3D영화 상영할때 종종 보는 이 편광 필터는 빛이 공간상의 전자기파라고 가정했을때 특정 방향의 전자기파 성분을 흡수한다. 빛이란 원자에서 전자의 궤도가 바뀔때 생성된, 그래서 횡파와 종파가 복잡하게 섞여있는 다수의 그 무엇인데, 이 중에 횡파 성분이나 종파 성분에 대해, 편광필터의 배치 방향에 따라 특정 방향 성분이 모두 흡수되는 것이다. 이렇게 대략 50%의 빛이 흡수된다.

 

더 구체적으로는 아래 영상을 참조해보자. (15분 48초 지점)

 

https://www.youtube.com/watch?v=MzRCDLre1b4

15분 48초 지점의 편광필터 설명을 보라 (전체 영상도 도움이 된다)

편광필터에 대해 잘 모르는 독자를 위해, 영화관에서 3D 영화볼때 사용했던 이 편광 필터가 빛을 차단하는 효과를 보자. 뒤쪽 에 작은 부품을 놓고 그 앞에 필터를 여러종류 배치해서 촬영하였다.

먼저 작은 전자 부품 하나를 세워둔다.

 

부품 앞에 편광 필터를 하나 두어 특정 방향 성분을 흡수한다 (50%차단)
90도 틀어진 편광필터를 하나 더 넣으면 x,y방향 모두 필터링되어 결국 100% 차단된다(검은색 영역).

그러면 좀 특수하게 이 편광 필터를 0도와 90도 방향으로 절반씩 잘라서 수평으로 붙인 반반(?) 필터를 만들어 보자. 녹색테잎으로 두 필터를 90도로 연결해 잘라 붙였다. 아래 사진과 같다. 가운데 선이 잘린 면이다.

이제 편광 필터 하나를 가져다 대면 두 잘라붙은 필터중 한곳의 빛만 100% 차단됨(검은색, 왼쪽영역)을 알 수 있다.

0도 방향으로 또다른 편광 필터를 대보면 한쪽만 막힌다
90도 방향 편광 필터를 대보면 오른쪽이 막힌다

이제 위의 절반씩 이어붙인 필터를 이중 슬릿의 구멍의 양옆이 각각의 절반씩 필터에 지나갈 수 있게 이중슬릿 유리판 두에 잘 부착시킨다. 슬릿 간격이 1mm였으므로 조심스럽게 가운데가 딱 걸쳐지게 붙여줘야 한다. 아래 사진을 참조해보자.

 이렇게 되면 양자 역학 실험에서는 광자가 어느쪽의 슬릿(왼쪽, 오른쪽?)으로 들어오는지 알게되는 효과가 있다. 횡파 성분과 종파 성분을 보면 왼쪽에서 들어왔는지 오른쪽에서 들어왔는지 알게 되기 때문이다. 원하는 바에 따라 필터만 배치해도 한쪽 슬릿에서 온 모든 빛을 언제든 차단할 수 있다. 따라서 이제 광자가 어느 길로 들어왔는지 알게 되었다. 이렇게 되면 아까 회절무늬는 어떻게 될까?

 

회절무늬가 사라졌다 그냥 민무늬다.

보시다시피 약간 어두워지면서(편광 필터에 흡수 되다보니) 회절무늬는 사라지게 된다. 이렇게 되면 그냥 가운데가 밝고 오른쪽으로 갈 수록 어두워지는 일반적인 입자의 성격을 띠는 모양이 나타난다.

 

그런데 이때 어디로 왔는지 모르게, 다시 이 정보를 지워버릴 수 있다. 즉 위의 0도 90도 편광시킨 필름 바로 뒤에 45도 각도의 편광 필름을 그냥 가져다 두는 것이다. 아래 사진을 주의 깊게 보면, 아까와는 다르게 오른쪽에 작은 네모난 필름 한장이 더 추가됨을 알 수 있다. 45도 방향으로 배치한 편광 필름 조각이다. 

이러면 회절무늬가 다시 나타날까? 나타난다. 더 어두워졌지만 자세히 보면 분명히 보인다.

원 실험에서는 이를 Quantum Eraser로 표현한다. 어느 길로 들어왔는지에 대한 정보를 얻지 못하도록 다시 지워버리니까 파동의 성질이 다시 나타났다.

 

기존의 전자기파 관점에서는 이미 수평 수직 성분의 전자기파가 각기 제거되었으니 45도 각도의 편광 필름을 더 추가한다고 해서 변할 것은 없고 더 어두워지기만 해야한다.

그런데 양자 역학적 관점은 다르다. 필터를 통과하는 것은 확률만을 결정하는 것이고, 수직/수평 성분의 전자기파가 흡수되는게 아니라 흡수 되든지 통과 하든지 양자 택일된다. (다만 편광 필터의 방향에 따른 파형으로 통과된다. 그래서 90도 꺽인 필터를 만나면 모두 통과될 확률이 0%가 되어 빛이 차단된다.)

 

 위 실험에서도 0도, 90도 편광 필터를 각각 50%의 확률로 통과한 광자는 45도 편광 필터를 통해서 다시 한번 50%의 확률로 통과되었을 뿐 어느 길로 왔는지는 알 수 없게 되어 버렸다. 기존에 소개한 delayed quantum eraser와 같게 어느 길로 왔는지에 대한 정보가 삭제되자 다시 회절무늬를 만든게 된 것이다(이 실험에서는 delayed 인 것은 아니다. 그냥 quantum eraser이다. 뒤 벽에 상이 맺히기 전에 경로 정보를 지웠기 때문이다.)

 

고전역학으로는 설명되지 않는 현상이 이 편광 실험으로도 간단히 보일 수 있는 셈이다.

 

아래는 동영상으로 간단하게 담아보았다. 위 실험 설명을 숙지하면 실제 실험 결과를 확인할 수 있다

https://www.youtube.com/watch?v=KwBlu5IWsiw

 

반응형
Posted by 작동미학
양자역학2020. 4. 5. 02:48

이 실험은 과학쿠키를 참고로 했음을 미리 알려둔다.

(천원 숍에서 락카+액자+나무집게+면도날+레이저 포인터 등을 활용해 이중슬릿 실험을 가능하게 함. 작은 비용으로도 꽤 정확하게 실험할 수 있는 방법을 알려준 좋은 영상이었다. 이를 몰랐다면, 꽤 고가의 것들을 구비해야 이 실험들을 할 수 있었을 것이다.)

 

https://www.youtube.com/watch?v=lnMWQzizc3E&t=612s

회절 무늬 관측에서 조금 더 나아가 레이저의 파장을 측정해보자. 레이저는 잘 알려진대로 특정 파장의 빛만 나와서 전체적인 실험을 훨씬 쉽게한다.

 

일단 필자의 구성은 이렇다. 아래 왼쪽 레이저와 오른쪽 유리판(이중슬릿)을 통해 사진에는 보이지 않는, 약 5m 뒤의 방 벽에 회절무늬가 맺히도록 했다. 

레이저를 이중슬릿 판에 쏘은 후 약 5m 뒤의 방벽에 투사토록 했다
해당 이중슬릿 부위를 확대해보았다

이중슬릿의 길이를 버니어 캘리퍼스로 측정해보자. 약 1.01 mm 이다. 이중슬릿의 길이를 너무 짧게하면 측정이 어려우므로 처음부터 이중슬릿을 만들때 1mm 정도는 감안하고 만들어두는게 좋다.

방 뒤에 맺힌 회절무늬의 마루와 마루 길이는 대략 3.00 mm이다. 회절무늬가 잘 관측됨을 알 수 있다. 지금생각해보니 하나의 마루와 마루(밝은 점)가 아니라 여러개의 간격을 구해서 개수대로 나누면 길이 측정이 좀더 정확하겠다. 아래 회절무늬가 양쪽에 약간씩 왜곡이 생기는 것은 슬릿이 정확히 직선대로 잘리지 않은 것으로 추정된다. 생각보다 정밀하게 틈을 만들어야 깔끔하게(?) 나온다.

 

 

잘 알려진 이 회절무늬 간격에 대한 공식은 대략 아래와 같고, 측정치를 대입해보자. 자세히 공부해보고 싶은 분은 아래 동영상을 참조하자.

https://www.youtube.com/watch?v=MIUqjJAU19M

 

 (슬릿과 스크린 거리) * (해당 레이저의 파장) = (회절무늬의 마루와 마루 사이의 거리) * (슬릿의 간격)

 4,840 mm * 레이저파장 = 3.00 mm * 1.01 mm

 레이저파장 = 3.03 / 4,840 mm

 레이저파장 = 6.26e-4 mm 

 

으로 구해보면 레이저 파장은 단위 변환하여 626 nm(나노미터)가 나온다. 대략 붉은식 레이저 스펙인 650 nm과 유사하게 측정된다.

 

 토머스 영의 이중 슬릿 실험은 오랜 세월이 지난 지금도 회절무늬를 그때 그대로 보여주고 있고, 정확하게 파장에 따른 방정식대로 구해진다. 상기 구성에 편광필름을 이용하면 우리가 알고 있는 양자역학에 더 가까운 현상들을 관측할 수 있는데 다음에 소개해보도록 하겠다.

 

반응형
Posted by 작동미학
순수수학2020. 4. 4. 23:48

1) 서로 다른 진법이 나타내는 다른 양상, 그리고 진법이란?

 

1/3 = 0.333333..... 으로 나타내진다. 그런데 3진수로 나타내보면 어떨까?

1/3을 3진수로 나타내면 0.1(3진수)으로 나타낼 수 있다. 신기하게도 순환하지 않는다.

 

영어로 base, 우리나라 말로는 진법이라 불리는 이 수 기록 체계는, 사실은 2진법, 8진법, 16진법, 60진법, 20진법 등 과거와 현재에 다양한 진법이 존재한다.

 

이 표기법을 수학적으로 나타내보자면 특정 수를, x의 제곱들로 덧셈 분할한다. 대략 아래 표현식을 보면 이해할 수 있다.

 

진법의 표시 : b진법은 b의 다양한 n제곱들(n은 정수)로 수를 덧셈의 묶음으로 분할한 것이다

10진법은 위 경우의 조금더 특수한 경우로 앞의 숫자가 자연수이다.

 

이 진법을 확장할 수 있을까? 가능하다. 2진법부터 시작해서, 허수진법, 무리수진법, 음수진법 모든 것이 가능하다. 다만 앞에 붙는 상수가, 정수 진법이 아닌 경우에는 규칙에 따라 무의미해지는 경우가 있을 수 있다.

 

결국에는 이렇게 10진법은 자연수와 정수를 가지고 특정 수를 짧게 나타내주는 표기법이라고 볼 수 있다. 그리고 지나치게 길지 않게 하기 위해 자리수를, 10의 제곱수로 늘려나간다. 지수적인 증가를 채택해서 더 큰 수를 짧게 표현할 수 있는 체계이다.

 

 

자, 일단 진법은 그렇다고 치고 이 수를 가지고 유한과 무한을 다룰때로 다시 돌아가보자.

 

왜 1/3은 10진법과 3진법에 순환하는 양상이 다를까.

10진법에서는 무한한 반복으로 나타내야 하는데 3진법에서는 유한한 숫자로 나타낼 수 있을까?

 

진법의 본질은 제곱수들로 특정 수를 덧셈 분할하는 것이다. 예컨데 1/10, 1/100, 1/1000 의 자연수 조합으로 수를 나타내다보면 반복되어 그것을 메꿔나가야하는 일이 생긴다. 이 거듭제곱수의 패턴에 따라 어떤 것은 유한하게 반복되어 나타내어야 하고, 어떤 것은 딱 떨어진다.

 

A) 모든 유리수는 어떤 진법이든 무한히, 같은 숫자들의 그룹(진법상의 각 자리수 숫자/순서가 중요한)이 반복되어 표기되는 것으로 나타낼 수 있다. 그러나 어떤 진법에서는 그 반복이 유한한 것이 다른 진법에서는 유한하지 않을 수 있다.

 

    증명은 필요하나 어렵지 않게 가능하리라고 본다.

 

그러면 무리수는 어떨까?

 

무리수(여기서는 작도 가능한 길이로 한정하자)는 어떠한 진법으로도 반복되는 패턴이 나타나지 않는다.

 

B) 무리수는 어떤 진법이든 무한히 같은 숫자들의 그룹(진법상의 각 자리수 숫자/순서가 중요한)이 반복되지 않는 수의 흐름으로 나타나게 된다. A와 마찬가지다.

 

조금더 재미있는 추측을 해보면

 

C) 무리수에서 나타나는 개별 자리수의 정수값들의 반복은(Ex> 3.14159...에서 무한히 소수점 아래 자리수를 늘려나갈때 개별 각 숫자의 출현 분포, 위에서 말한 해당 진법상의 각 자리수 숫자) 균일하게 나타난다. 어떤 진법에서도 마찬가지 양상을 보인다.

 

 

중요한 것은 C의 이유인데, 왜 그럴까?

 

사람들에게 파이(pi)에 대해 똑같은 질문을 하면 본능적으로 각 숫자들(0~9 각각의 출현 빈도)이 유사한 빈도수로 반복되리라는 것을 알고 대답한다. 나는 이것이 사람이 자연에 대해 느끼는 대칭성때문이라고 생각한다(아직 증명이 필요하겠지만). 무한히 반복없이 흘러가는 수의 흐름이 특정 진법에서 어떤 숫자에 편중되는 패턴을 가지고 움직인다고 하면 대칭적이지 않다. 대칭성은 어떤 진법의 무리수에서도 지켜진다고 믿는다.

 

 

2) 2진법의 효용성에 대하여

 

다양한 진법가운데 가장 좋은 것은 2진법이라고 생각한다. 기계적이고 수학적인 접근에서는 2진법이 여러 방면에서 유리하다. 예를 들면 2진법에서의 짝수는 1의 자리수가 0인 것이 짝수이다. 10진법에서 짝수가 끝이 0,2,4,6,8인 것에 비하면 훨씬 더 단순하게 기술된다. 정수론은 진작에 2진수로 모든 수를 나타냈어야 더 직관적으로 풀렸을 것이다. 그리고 인류가 2진수를 썼다면 0도 더 빨리 발견되었으리라. (10진법이 편한것은 알겠다만 이론적으로는 그렇다는 얘기다)

 

  (10진법 = 2진법)

  1 = 00001

  2 = 00010 (짝수)

  3 = 00011

  4 = 00100 (짝수)

  5 = 00101

  6 = 00110 (짝수)

  7 = 00111

  8 = 01000 (짝수)

 

2진법으로 나타냈을때 위에서 언급했던 무리수의 패턴을 보면 자명하다. 0과 1의 개수가 전개 패턴이 서로 다르면서도 균등하게 나온다. 이 관점에서 무리수란 0과 1이 랜덤하게 반복되어 나타나는 것과도 유사한 대칭을 이룰 수 있어 보인다.

 

이 이야기와는 별도로 랜덤함에 대해서 이해가 필요하다고 믿는데, 칸토어가 무한대의 밀도를 비교했듯이 이 랜덤함에 대하여도 여러가지 등급이나 특성을 부여할 수 있고 이것이 자연을 이해하는데 기여를 할 수 있다고 믿고 있다. 이는 나중에 또 정리해보자.

 

3) 소수를 사용한 다른 차원의 진법?

 

모든 자연수는 소수의 연속 곱으로 나타낼 수 있다. 그러면 모든 유리수는 아래와 같이 나타내는게 가능하다.

즉, 분수로 나타낸 수를 아래 위 각기 소수의 거듭제곱 형태로 나타낼 수 있다(아래는 차례로 2,3,5,7까지만 써보자) 

이를 소수진법(위 일반 진법들과 형태는 좀 다르다고 하더라도)이라고 하자. 거듭제곱에 음수를 허용하면 유리수를 나타낼 수 있고, 0이상의 정수만 허용하면 자연수만 나타낼 수 있다. 이미 괴델 등은 각 소수의 거듭제곱 수가 다르면, 서로 겹치지 않은 숫자를 만들어낼 수 있다는 점을 자신의 불완전성 정리 증명에 응용한 적이 있다.

 

소수진법을 본격적으로 적용해서 2,3,5,7,11,..의 거듭제곱 수를 각각 거꾸로 써서 나타내면 아래와 같겠다. 소수진법에 의한 수라고 해야할까. 물론 각 자리수가 어떤 정수이든 들어갈 수 있다.

 

 

이 진법을 직접적으로 쉽게 연산할 수 있는 기계가 존재한다면 소인수 분해 등이 빨라지겠다. 물론 사실은 이는 좀 앞뒤가 바뀌어 있는 논리이긴 하겠다(소수의 패턴이 발견되었다는 의미일테니까). 진법을 따지다보니 이렇게 기존의 로그 스케일이 연관된 것(거듭제곱)이 아닌 완전히 다른 진법을 창조할 수 있겠다 싶어 괴델의 방식에서 착안해 예시로 들어보았다.

 

이 글들은 이제 https://infomath.tistory.com/ 로 옮겨서 논의해보려고 한다.

 

 

반응형
Posted by 작동미학
양자역학2020. 3. 11. 01:03

 양자역학의 얽힘과 관측으로 인한 확률함수 붕괴는 아직 모든 것이 명확하게 이해되는 현상은 아니다. 관측은 전 우주를 대상으로 해당 입자의 정보가 흘러감을 의미한다고 하는데, 사실은 이 설명도 그다지 와닿지 않을 수 있다.

 

 개인적으로 양자역학에 대한 이해는 연관된 실험에 대한 정확한 Fact에 대한 확인과 그 틀 속에서 그 의미를 탐구하는 과정에서 더 강해지지 않는가 싶다. 앞서 설명된 이중 슬릿 실험이 그래서 아주 소중한 이유이다.

 

 여기서는 좀더 괴상한 실험을 소개해본다. 이름하여 A delayed choice quantum eraser라는 제목의 실험이다. 짧게 설명해보면 이미 확률함수가 붕괴된 실험장치를 구성한 상태(회절무늬가 사라진)에서 실험 장치를 추가해 다시 회절무늬를 만드는 기이한 현상에 대한 실험이다. (흥미롭게도 이 실험은 또한 한국인이 제1저자인데, 포항공대 물리학과 김윤호 교수라는 분이다.)

 

우선 이 실험을 설명한 두가지 동영상을 먼저 소개해보자(나중에 보면 된다) 이 영상의 사진들을 활용했다.

두개중 먼저 소개된 영상이 훨씬 더 간략화되었고 후자가 조금 더 자세하다.

 

https://www.youtube.com/watch?v=iyN27R7UDnI

https://www.youtube.com/watch?v=U7Z_TIw9InA&t=7s

 

아래 신기한 실험장치가 있다. 레이저로 빛을 쏘면 A,B 두 슬릿으로 빛이 입사 된다. 이중슬릿 실험과 동일하다. 그리고 BBO는 좀 신기하게 하나의 광자가 입사되면 두개의 얽힌 입자를 생성하고(높은 에너지의 광자가 낮은 2개의 광자로 분할된다고 한다) 프리즘을 통해(Glan-Thompson prism) 각기 방향으로 나가게 한다 (슬릿 별로 빨간색과 형광색의 경로를 각각 보자)

 

"D?"들은 모두 관측 장치이다. 아래 이제 실제 그림을 보자.

먼저 A,B로 어디로 들어왔는지 모르는 경우에 D0에는 어떤 무늬가 생길까? 익숙한 설정이다. 회절무늬가 생긴다.

(나중에 살펴볼 D4같은 검출기가 없다고 가정한다.)

 

여기서 또 알고 있어야 하는 내용은 A슬릿으로 온 광자와 B슬릿으로 온 광자는 각기 BBO(어떤 특수 크리스탈을 쓰면 된다고 한다)에 의해 얽힌 광자쌍을 만들어낸다는 사실이다. 아래 그림은 B로 들어온 광자가 얽힌 광자 2개로 나뉘어 나아가는 모습이다(빛나는 밝은 두 원을 보라). 얽힌 광자는 당연하게도 하나가 확정되면 또 다른 하나가 즉시 확정된다. 즉 이 실험은 이중슬릿과 얽힌 광자입자가 동시에 등장하는 실험이다.

 

이 실험도구를 이제 좀더 아래 그림처럼 확대해보자. 이제 BBO를 거쳐 가는 얽힌 입자들이 프리즘(PS)을 거쳐 BSb, BSa라는 각각의 거울을 거쳐 D4나 D3에 도달하게 된다(영상에서는 애니메이션이 제공되어 더 길을 잘 알 수 있다, 나중에 Bsa, BSb는 반투명 거울-beal splitter-로 바뀌지만, 지금은 거울이라고 하자) 

만약에 D4에 입자가 나타났다면 이중슬릿에서 A로 통과되어 들어온 것이므로 입자의 위치가 들통나면서 어떻게 될까? 이제 회절무늬가 사라지겠다. D3에 입자가 나타났어도 B를 통과해서 들어온것이므로 회절무늬는 사라진다. D4, D3에도 그냥 입자처럼 관측된다 확률함수는 이미 붕괴된 것이다.

 

 이것이 왜 신기할까? 이미 슬릿은 통과되었는데 뒤에 관측한 사실때문에 회절무늬가 사라진셈이다. 다른 과거의 실험 예처럼 이중슬릿에서 관측하지 않고, 이번에는 뒷 선에서 관측을 해도 회절무늬는 사라지게 된다. 즉 입자로부터 정보를 얻는 시점은 상관없이 정보가 생기면 확률붕괴가 발생한다는 사실이다.

 

 그리고 또 하나 신기한 것은 아예 D3,D4가 뒤로 아무리 멀게 배치해도 간섭무늬가 사라진다고 한다(개인적으로 이것이 잘 이해가 가지 않긴 하다). D0에 이미 충돌했는데 D3,D4가 검출이 가능하게되면 간섭무늬가 사라지는 모양새이다. 광자의 과거에 영향을 미치는 모습이다. (즉 양자역학의 얽힘과 그 효과가 결국에는 과거와 미래가 한 방향으로 흐른다는 것이 의미가 없다는 것을 시사한다고 생각한다. 정보는 시간을 거꾸로 넘어 상호작용한다. 마치 모든 시간의 일이 한 순간에 펼쳐지는 느낌이다. 이런 것들을 Retro Casuality라고 부른다고 한다.)

 

그리고 한단계 더 나아가보자.

 

아예 BSb와 BSa를 이제 반투명 거울로 바꾸어보자. 설명하기는 복잡하지만 상기 실험의 구성에서는 반투명의 구성때문에 결국 D2, D1에 상이 맺히더라도 어느 경로로 들어온 것인지를 알 수 없게 된다. 온갖 측정장치가 앞에 달려있어도 마지막에는 그 정보를 알 수 없게 된 상태가 된 것이다. 그리고 이제 BSb, BSa를 통과한 광자만 따로 모아서 무늬를 관찰해보자(한번에 광자를 1개 수준으로 쏘면 그렇게 따로 모을 수 있다고 한다). 그러면 다시 회절무늬가 나타난다. 관측장치가 있어도, 결국은 어느 슬릿에서 왔는지 알 수 없으면 회절 무늬를 띄게 된다.

 

여기서 또 재미있는 것은 이때의 D0이다. D1/D2에서 반응한 광자의 얽힌 쌍은 D0에서도 회절무늬를 보인다. 그런데 가만.. 이 그림의 경로 길이는 실제와 유사하게 표현되어 있는데, D2나 D1에는 D0보다 나중에 충돌되게 된다. 그런데 D1과 D0에 충돌되기도 전인데 D0에는 회절무늬가 생긴다.

 

무엇이라? 이 D0의 회절무늬는 마치 미래에 이 광자가 D2나 D1에 맺힌다는 것을 미리 알고있는것처럼 행동한다는 것이다. 만약에 이 D4,D2,D3,D1을 10광년정도 뒤로 배치했다고 치자. 영상들의 설명에서는 여전히 유효하다고 한다. 대체 이것이 우리 상식으로 어떻게 이해가 가는가.. 

 

https://www.youtube.com/watch?v=0ui9ovrQuKE  (7분20초부터 8분 30초 사이의 설명)

 

 

무언가 우리가 아는 우주의 인과 관계라는 것이 뒤집어 지는 모양새이다. 그런데 실험 결과가 정확히 위 설명과 일치한다고 한다. 섣불리 양자역학에서의 관측이라는 것을 이해했다고 말하기 힘든 이유이다. 이것은 인과 관계나 시간의 앞과 뒤도 상관없다. 양자는 정보를 얻을 수 있느냐로 그 결과만 귀신같이 따져서 알고 확률함수가 붕괴될지 아닐지를 결정한다. 

 

 리처드 파인만 교수의 말대로 "양자역학을 이해하는 사람은 아무도 없다"라는 말이 이해가는 순간이 아닐까.

 

자 이제 앞서 소개한 동영상을 살펴보자. 이해가 좀더 명료해지길 바란다.

 

-------------------------------------------------------------------------------------------------------

 

이 소개에 대해 미래의 행위가 과거를 바꾸지 않는 것이라는 지적이 있다. 실험상의 함정이 있다는 이야기이다. 아래 동영상을 참조하자.

https://www.youtube.com/watch?v=RQv5CVELG3U 

 

반응형
Posted by 작동미학
양자컴퓨터2020. 3. 9. 23:42

조금전(20년 3월) Tensorflow Quantum이 발표되었다. IBM나 Azure, Amazon이 여러가지 공개를 하고 있던 터라서 Google쪽도 유사 활동을 하지 않을까 싶었는데, Tensorflow Quantum이라는 S/W 라이브러리 배포 형태로 발표를 했다.

 

Tensorflow Quantum이라는 이름으로 Tensorflow와 같이 쓸 수 있는 library와, 타사에서 제공하는 양자 회로를 제작하고 실행할 수 있는 Cirq라는 오픈소스 프로젝트를 동시에 소개하고 있는게 주요 내용이다.

 

우선 먼저 Cirq를 소개해보자. 문건 상으로는 아직 정식 Google Product이 아니라고 소개하고 있고 버전도 알파이다. 프로젝트 자체는 별로 특이할 것 없이 양자 회로를 코딩하고 시뮬레이션할 수 있는 Python 라이브러리다. 구글이 만드는 Bristlecone(72 qubit, 기존 54 qubit Sycamore의 다음버전인가보다)이라는 양자컴퓨터 상에서 향후에 작동을 확인할 수 있다고 이야기하고 있다. Tensorflow 를 CPU/GPU/TPU에서 돌릴 수 있듯이 Cirq는 이 Bristlecone이라는 장치에서 구동할 수 있다는 이야기다. 물론 예제 코딩을 보면 PC에서 시뮬레이션 기능도 포함되어 있다.

 

아래 해당 github( https://github.com/quantumlib/Cirq )을 방문해보면 앞서 IBM/Azure에서 소개해한 양자게이트 S/W Framework들과 다르지 않다는 것을 알 수 있다. 큐빗을 선언하고 회로를 구성하고 시뮬레이션하면 결과를 알려준다. 회로를 프린트하는 기능도 있다. (스크린샷 맨 하단) 이 양자 게이트에 대해서 궁금하신 분들은 IBM 개발툴 설명 ( https://infoengineer.tistory.com/22 ) 을 읽어보기를 추천한다. 각 양자 게이트의 세부와 함께 제일 잘 설명되어 있다.

 

나중에는 simulator가 아니라, bristlecone(72qubit quantum computer)을 통해 동작하게 되겠다. 구글이 공개한 사진이라도 봐두자.

 

 

 그러면 Tensorflow Quantum은 무엇일까? 구글이 이야기하는 NISQ(Noisy Intermediate-Scale Quantum)라는 것은, 어차피 양자 컴퓨터의 개별 qubit이 에러때문에 과거에 기대했던 엄청난 고성능을 기대하기 어려운 상황에 대한 대안이다. 즉 이러한 에러(결잃음,decoherence)에도 불구하고 이를 활용할 수 있도록 구성해야 한다고 주장하고 있다. 이것을 NISQ Computing era라고 한다. 이를 위해서 NISQ Computing을 머신러닝과 접목할 수 있게 만든 것이 Tensorflow Quantum이다(머신러닝 외에도 몇가지 추가 응용 분야가 나열되어 있긴 하다). 물론 GPU/TPU도 같이 써야 한다. 그러니 Hybrid quantum classical machine learning library라고 설명한다.

 

 

 NISQ 상황하에서 이런 S/W Framework을 계속 발전시켜야 실제 양자 컴퓨터의 혜택을 극대화할 수 있다는 말하고 있다. 아래 비디오의 6분 부터이다.

https://www.youtube.com/watch?v=16ZfkPRVf2w

양자컴퓨터가 지향하는 바는 오류없는(결잃음) 양자 컴퓨터인데, 아직은 멀었고 이런 결잃음이 약간 있는 양자 컴퓨터로도 뭔가 할 수 있지 않느냐에 대한 가이드로 이 Cirq와 Tensorflow Quantum을 내놓았다는 이야기다.

 

아래가 TensorFlow Quantum의 공식 페이지이고, Tensorflow Quantum이 이러한 NISQ시대(오류 보정없는 적당한 qubit 규모의 양자 컴퓨터)의 하이브리드 머신러닝 라이브러리임을 나타내고 있다.

 

 

동일 페이지 다른 화면의 NISQ 기반의 양자 머신러닝 개념을 설명한 페이지이다.

 

좀 아쉽지만 Tutorial상에 머신 러닝 예시들이 존재하는데 더 확인이 필요하다.

(MNIST 문제중에 3과 6만 발췌하여 저해상도로 만들어서 위 양자 하이브리드 머신러닝을 돌려주는 예시가 존재한다)

 

 일단 구글도 Tensorflow와 Cirq를 통해 양자컴퓨팅 관련 S/W Framework을 시작했다고 볼 수 있겠다. 타 사업자대비 조금 다른 점은 단순히 양자게이트에 의한 회로 뿐 아니라, 머신러닝을 결합해서 우선 시작했다는 점이겠다.

 

다만 양자컴퓨터와 머신러닝의 결합으로 정말 Noise가 존재하는 퀀텀 컴퓨터를 잘 활용할 수 있게 될지는 그 이론적인 배경이나, 실제 그러한 것들이 가능한지 좀더 지켜봐야하겠다. 사실은 IBM이 제공하는 양자컴퓨터 들도 이 노이즈 문제가 있다(error correction은 하지 않음, 대개 절대온도 0도 수준의 냉각과 셋팅 후 수십 마이크로 초가 지나면 노이즈가 심해지는 상태로 흔히들 이야기한다) 이러한 상황에서 좀더 이러한 양자컴퓨터의 가치를 끌어올리려는 노력이 아닌가 싶기도 하다.

 

 제시된 MNIST예제나 Tensorflow Quantum이 지향하는 바는 앞단에 데이터를 Quantum State Set(Quantum Data)으로 변환해서 집어넣은 후에, 후 단의 고전적인 머신러닝을 통해 Quantum State Set들이 Quantum Gate들을 통과한 후의 결과를 보정하는 듯한 구조로 되어 있는데, 실제로 이러한 앞부분이 얼마나 효과적으로 작동할 수 있게 개선할 수 있는지는 아직 필자로서는 이해가 부족하다.

Quantum hybrid Machine Learning 개념도 (Google AI Blog) / 그림만으로 보면 양자 회로의 출력값을 머신러닝을 통해 보정하도록 우리가 일반적으로 아는 머신러닝을 후단에 붙여서 학습시킨다

 

반응형
Posted by 작동미학
양자컴퓨터2020. 2. 1. 01:00

Microsoft Azure에 QDK(Quantum Development Kit) 서비스가 열렸다고 해서 오늘 잠깐 방문해보았다. 생각보다 상당히 자세하게 설명되어 있어서 깊게 보는 것은 무리지만(기존에 IBM 사례보다 더 자세하게 나온다) 전체 소개해보는 글을 써볼까 한다.

 

살펴보니 19년 11월 전후에 오픈을 한 것으로 추정된다.

 

azure.microsoft.com/ko-kr/services/quantum/ 로 들어가 보자. 얼리어답터를 모집중이다. 간단히 가입하고 필요사항을 입력하면 해볼 수 있다. 다만 여기서는 실제 구동을 해보지는 않는다. (설명 문서는 화면상의 Quantum Development Kit 시작하기를 선택해서 jump해 가입없이도 볼 수 있다.)

 

Azure Quantum 첫 페이지, 얼리어답터 되기 파란 버튼을 선택하자

 

 

친절하게도 Azure Quantum의 전체 아키텍쳐가 하단에 표시되어 있다.

Azure Quantum 스택

살펴보면 맨 아래 기반에는 MS도 만들지만 Honeywell이나 IONQ같은 회사들의 양자컴퓨터 장비를 쓴다는 것을 알 수 있다. 응용 분야로는 잘 알려진 Optimization/ML, 양자 시뮬레이션, 암호학 정도를 지정한다. 기존에 IBM의 개발Kit보다 훨씬더 상세한 것이 마음에 든다. IBM은 Qubit 회로를 만들어 관측하는데 초점을 두었다면 여기는 뭔가 더 자세하다. 기대가 된다.

 

QDK 시작하기라는 것을 선택하면 전체 문서를 볼 수 있는데(왼쪽에 문서 메뉴를 보자) 죽 따라가보면 전체의 내용을 알 수 있다. 여기서는 편의상 좀 왔다갔다 해보자. 역시 엔지니어는 어떻게 설치하는가부터가 궁금하다.

MS라고 하면 뭔가 Visual Studio를 깔아야 한다는 선입견이 있는데, 역시 보면 Q#이라는 언어에 대한 소개가 나온다. 그런데 MS가 최근에 많이 변했다. linux도 내장한다는 그 혁신대로, 무려 python을 지원한다. Q#으로 짜도, python에서 실행할 수 있게 제공한다. 그리고 그것을 제일 먼저 설명한다. 마음에 든다.

그러면 Q# 으로 된 가장 간단한 소스를 살펴보자. 아래 양자 난수 생성기 예제는 그냥 Qubit하나를 만들어 상태를 조절하고 중첩상태로 만든 후 관측한다. 0과 1중 하나가 random으로 관측되겠다. 해당 문건을 자세히 살펴보면 무슨 말인지 더 자세히 알 수 있다.

 여기서 중요한 것은 어떻게 선언하고 Qubit을 어떻게 연산시키고 관측하는지 형태를 보는 것이 중요하다. IBM 개발킷과 비교해보면 그렇게 크게 다르지는 않다. 아래 첫번째 소스를 보면 q = Qubit()으로 qubit하나를 할당하고 H(q)를 통해 qubit을 중첩상태로 만든 후 측정한다. 그리고 return한다.

 

Q#의 기본 코드 예시

 

그런데 찾다가 반가운 페이지를 찾았다. Grover 검색 알고리즘 구현이라니! 사실은 Qubit으로 회로를 만드는 것들은 이미 보아왔던 것이고 이를 응용으로 이어줄 예시가 나와있다. 이후 Katas라는 tutorial 페이지를 다시 소개하겠지만, 빠른 시작 안에는 Grover 검색 알고리즘 구현에 대한 간단한 예시가 알고리즘 설명과 함께 나와있다.

 

더 멋진 상세 Tutorial인 Quantum Katas라는게 있다. Grover 검색 알고리즘에 대한 상세한 예시와, BB84 프로토콜도 구현된 것이 있다. Shor 알고리즘에 대해서는 자신들이 가진 하드웨어로는 물리적 구현이 불가능하다고 표현하고 있고 물론 예시도 나오지 않는다. 다만 여러가지 재미있는 예시들이 많이 나와서 더 공부할만하다. 각각의 제목을 선택한 후 github페이지가 열리면 description에 있는 Run tutorial 링크를 각각 선택하면 Jupyter Notebook형태로 볼 수 있다.

 

Azure가 제공하는 개발킷 Tutorial인 Quantum Katas

 

Katas안에 있는 몇가지 페이지를 훑어 보자. 아래는 기본 코스로 Qubit을 생성하고 연산을 조금더 복잡하게 수행하는 Jupyter Notebook화면이다.

X(q), H(q), S(q), Rx, Ry.. 등의 다양한 상태 조절에 대한 함수들이 나온다. 이것은 기존의 IBM 개발킷과 유사하고, 해당 연산들에 대한 대략적인 부분은 해당 블로그 글을 참조하는게 좋다(IBM의 Gates Glossary가 더 쉽게 잘 설명되어 있다)

 

하단은 양자 순간 이동 제목으로 이동한 후 run tutorial을 했을때 나오는 설명이다. 일단 QAlice, QBob 두 Qubit을 얽히면서 시작한다. 사실 양자 컴퓨팅 개발 Kit에 왜 Quantum Teleportation이 등장하는지 약간 의아하긴 한데, 다른 글에서 살펴보기로 하자.

 

Grover 알고리즘도 Katas에서는 좀더 자세하게 다뤄진다.

 

Katas의 또다른 흥미로운 Tutorial은 BB84 protocol이다. 이게 또 왜 여기나오지? 싶은데 (양자컴퓨터와는 다른 주제다) 맨 처음 설명한 Azure Quantum Stack에서 설명한 모든 것들에 대한 개발 Kit을 제공하는 것으로 이해했다. 여하튼 이녀석도 반갑다. 자주 듣던 Alice와 Bob이 등장한다.

 

 

IBM 개발툴을 살펴보았을 때보다 훨씬 흥미로운 것은 단순히 양자 컴퓨터의 logic gate에 그치지 않고 수많은 응용코드가 같이 나오는 점이다. 하나하나 둘러보면 마치 기존에 어셈블리어만 구경하다가 C언어로 된 것을 처음 만나는 느낌처럼 실제 응용을 어떻게 하는지 공부해볼 수 있겠다.

 

끝내기 전에 혹시나 해서 찾아본 결과 AWS도 AWS Braket이라는 양자 컴퓨팅 서비스를 내놓았다('19년 12월에). 다만 여기도 preview 가입을 해야 공개한다. 개괄적인 설명 문서에는 IBM 개발툴 소개와 크게 차이가 없어 보인다. 이 부분은 허가를 받으면 나중에 다시 공유하기로 하자. 아래가 소개하는 URL이다. 

 

https://aws.amazon.com/ko/blogs/korea/amazon-braket-get-started-with-quantum-computing/

 

Amazon Braket – 양자 컴퓨팅 서비스 시작하기 | Amazon Web Services

10여년 전 만우절에 양자 컴퓨팅 클라우드에 관해 쓴적이 있습니다. 그런데, 거짓말 같은 이야기가 현실이 되어서 마침내 양자 알고리즘을 작성하여 실제 양자 컴퓨터에서 실행할 수 있는 기회가 생겼습니다. 오늘 발표할 주제는 바로 진짜 클라우드 기반 양자 컴퓨팅에 관련한 것입니다. Amazon Braket – 과학자, 연구원 및 개발자가 한 곳에서 여러가지 양자 하드웨어 제공 업체의 컴퓨터를 실험 할 […]

aws.amazon.com

그리고 잠깐 검색해본 결과로는 Google은 아직 공개하지 않았다. 지금까지 공개한 기준으로 IBM, MS Azure, Amazon AWS 중에 MS Azure가 가장 풍성하게 오픈한 셈이다. 공개된 페이지에 들어가 시범사용해보면 이구동성이로 이 분야가 초기이며 더 많은 참여자들이 연구하고 활용하여 개선해줄 것을 요구하고 있다. 확실히 제대로된 응용단계에 들기 위해서는 아직도 시간이 많이 필요해보이는 느낌이다.

반응형
Posted by 작동미학
양자컴퓨터2020. 1. 5. 23:29

양자 컴퓨터에 대해서 여러가지 이야기를 해왔지만 실제 코딩은 어떤 모습일까? 나와있기는 한 것일까?

 

 물론 아직 성숙되지는 않았으나 전편 글들에서 밝혔듯이 일반 컴퓨터의 코딩이 결국에는 논리 게이트(공대 학부생때 공부하던 그 AND, OR 회로)로 환원되듯이 양자 컴퓨터도 맨 처음의 시작은 이 게이트(Gate)들의 코딩이다. 아마 나중에는 library들이 나올테지만, 지금 여기서의 확인은 Gate들의 조합 수준이다. 어떻게 보면 가장 직관적이기도 하다.

(이것으로 쇼어 알고리즘이나 그로버 알고리즘을 직접 구현해야 한다.)

 

 그러면 IBM이 양자 컴퓨터 API/SDK를 제공하고 있는 것(2017년에 공개)을 살펴보자. 아래가 그 개괄하는 URL이다. 전체적인 모습만 간단히 소개해보자.

 

https://developer.ibm.com/dwblog/2017/quantum-computing-api-sdk-david-lubensky/

 

Quantum computing gets an API and SDK - The developerWorks Blog

Explore quantum computing with our new API and SDK available for IBM's Quantum Experience. Use python scripts to access the power of quantum computing!

developer.ibm.com

아래 커뮤니티에 들어가서 가입하면 실제로 문서를 보고(Gates Glossary), 그래픽 환경의 회로 구성도 하면서(Circuit Composer), 최근 많이 활용되는 웹기반 python실행 환경인 Jupyter Notebook기반으로 예제 코딩(Qiskit Notebook)을 실행해볼 수 있다. 

 

https://quantumexperience.ng.bluemix.net/qstage/#/community

 

IBM Q Experience

Accelerate your research and applications with the next generation of the leading quantum cloud services and software platform.

quantum-computing.ibm.com

차례차례 스크린샷으로 설명해보자.

 

이곳에 가입 후 로긴해서보면 첫 화면에서는 오른쪽에 실제 on-line된 양자컴퓨터의 목록이 뜬다. 이것저것 실제 작업이 할당되어 테스트되고 있음을 볼 수 있다. 15 qubit짜리도 보인다.

 

왼쪽의 세부메뉴나 링크(Circuit Composer의 링크를 통해서도 들어갈 수 있다)를 통해 Gate Glossary 문서를 살펴보자. 양자 컴퓨팅의 연산 게이트는 AND, OR, NOT 같은 것들이 아니라 H, CX, Id, U1, U2, U3, 같은 것들이 존재한다(양자 상태 변환이 단순 bit연산보다는 더 다양하다). 이것들은 양자 상태를 반전하거나 이동하는 등 다양한 것들이겠다. 스크린샷을 한번 보자.

Quantum Gates Glossary(IBM)

오른쪽에는 Gate의 리스크가 나오고 왼쪽에는 각 게이트별 설명이 나온다. H Gate 는 상태를 절반정도 반전시켜주는(90도?)  역할을 한다. CX Gate는 아예 반전을 시킨다.

 

이런 게이트 들을 사용해 Circuit Composer에서는 GUI로 회로를 구성해서 실행해볼 수 있다. 간단하게 상태만 바꿔주는 엉터리 게이트로 회로를 구성해서(Gate를 끌어당겨 하단의 qubit들의 경로에 놓아두며 된다. 그리고 측정값을 얻기 위해 qubit 3개의 값을 c5로 내려놓는다.) Save한 후 상단 오른쪽의 Run을 눌러보자.

 그러면 화면 맨 하단에 작업이 할당되었다는 메시지를 볼 수 있고 수초 이후에 Results 칸 아래에 결과가 나온다. 각기 결과를 눌러보면 아래의 화면과 같이 나온다. 이 실행 결과는 15 qubit짜리 양자컴퓨터가 할당되어 1024번을 수행하고 난 후 각 qubit상태별 조합의 빈도수(1024번중 각 케이스가 얼마인지의 비율 형태로)를 보여준다. 해당 State 케이스 숫자(00000~00111)의 맨 오른쪽이 0번 qubit이므로(역순으로 배치된다)  00000, 00001000001이 거의 절반씩 나왔다. 처음의 q[0]의 상태가 50%쯤 반전되었고, 나머지 q[1], q[2]는 사실 큰 변동이 없으니 맞는 결과다. (00000형태로 qubit이 5개인 것으로 나왔는데 뒤 3가지 qubit만  본 것이다. qubit 3개만 할당했는데 왜 5개로 배열되었는지는 잘 모르겠다. 여하튼 무시하면 결과는 맞다.)

 

 

 그 다음으로는 실제 코딩 부분을 들어가보자. 제공되는 Getting Started샘플을 통해 위 GUI를 통한 회로 구성을 실제 Python Code로 비슷하게 진행할 수 있다.

 큐빗을 3개 할당하고 각 큐빗에 역시 게이트를 코딩으로 선언해주고 지속 진행한다(아래 사진, jupyter notebook이라는 웹기반의 python code를 실행하면서 살펴볼 수 있는 환경이다.)

Quantum API/Getting Started (IBM) - Initial Part

이후 중간과정은 생략해보고(진행 과정에서 실제 양자 컴퓨터를 할당하지 않고, 시뮬레이션 값 등을 얻을 수 있게 되어 있다), 이렇게 구성한 회로를 실제 Quantum Computer Device(Device)를 할당하여 결과를 얻자 (여기서는 시뮬레이터(Simulator) 값과 같이 나오도록 코드가 구성되어 있는 점에는 유의하자)

 

Quantum API/Getting Started (IBM) - Result Check Part

결과값은 상기 회로를 여러번 수행하여 각 qubit별 관측된 조합의 확률이다. 대략 디폴트가 1024번을 수행하도록 되어 있는데, qubit 3개가 000인 경우가 40.6%였고 111인 경우가 39.4%였다는 이야기가 된다. 나머지는 각기 낮은 빈도수로 나타났다.

 

결국 IBM이 제공하는 것은 Quantum Gate들을 배열하고 실제 초기상태에서 확률붕괴하여 관측된 값의 실제를 얻을 수 있게 해주는 셈이다.

 

생각보다 직관적이나. 이를 실제 응용하려면 앞서 밝힌 쇼어나 그로버의 알고리즘을 이해하고 조금더 복잡한 구성을 해야겠다.

반응형
Posted by 작동미학
정보이론2020. 1. 1. 23:43

여기서는 2015년에 출간된 책 정보의 진화(세자르 히달고, 2018년에 박병철 역/국내 출간)에서 나오는 이야기를 한번 잠깐 논의해보려고 한다.

 

http://www.yes24.com/Product/goods/67348539

 

정보의 진화

세자르 히달고의 『정보의 진화』가 문학동네에서 번역 출간되었다. MIT 미디어예술및과학학부에서 강의하며 MIT 미디어랩의 매크로 커넥션 그룹을 이끌고 있는 저자는, 현대 사회의 복잡성에 관해 학문적 경계를 넘나들며 연구해온 세계적인 석학이다. 히달고는 이 책에서 자연과 사회에서 정보의 성장을 돕는 메커니즘을 추적해 물리적 질서와 경제성장의 근원을 탐구하며 ...

www.yes24.com

 이 책 전체의 내용을 추천하고 싶지는 않으나 경제 활동을 분업에 의한 효율화로 설명하는 기존 설명 대신에 바로 '정보'의 관점에서 설명하는 부분은 흥미롭지 않을 수 없다.

 

 본인은 자연이라는게 참 매섭고 신기하다고 느껴질때가 있는데, 이를 테면 손에 만져지는 책을 바라보면 많은 생각이 든다. 디지털로 되어 있는 정보와 달리 이 책이라는 것은 사실 자연 법칙을 그대로 따라 제작된 최종의 산물이기 때문이다.

 

 이 제작된 책의 원자와 분자들을 임의로 배열하여 합치기는 매우 어렵다. 우리 누구도 그렇게 책을 만들 수는 없다. 예를들면 좀 무거운 원자들은 무려 초신성 폭발 정도를 일으켜야 생성된다(그래서 연금술이 허위인 것이 금 원자를 인공으로 만들어내려면 어마어마한 에너지가 필요하다.) 따라서 손쉽게 원자를 조합할 수는 없는 노릇이고, 이 책을 만들기 위해 인간이 할 수 있는 일은 어떤 것일까?

 

 먼저 지식을 일단 만들어 내고, 나무를 가져와 종이로 만들어야 한다. 색을 입히고, 사진이라도 넣으려면 또 복잡한 과정을 거친다. 인쇄를 하기 위해서 또 한단계 거치고, 그렇게 만든 것을 포장해서 배달하고 하는 여러가지 과정을 거쳐야만 비로소 이 책이라는 녀석이 내게 들어온다. 그러면 이 책은 자연 법칙에 따라서 그대로 우리에게 그간 누적된 '정보'를 전달하게 된다.(여기서의 정보란 바뀐 이렇게 분자들의 배치 상태 전체를 아우르는 좀 포괄적인 의미이다)

 

 이렇게 비로소 책을 접수하면, 책을 펼쳐본다. 그러면 빛이 닿아(광자) 일관되게 흡수 반사하여 종이에 있는 정보가 인간의 눈을 통해 우리에게 전달된다. 한치 오차도 없이 자연 법칙에 따라 이 일들이 벌어진다. 적절한 불빛아래에서의 책이라는 것은, 무기력하게 그 자연의 법칙에 복종하며 그 담고있는 전체 정보를 펼친 사람에게 전달할 수 밖에 없다.

 

 

 이렇게 책을 만드는 활동들은 현대 사회에서 매우 분업화되어있다. 콘텐츠를 만드는 작가와 종이 제작자와 인쇄업자와 유통업자와 심지어 주문은 인터넷으로 하게 되는데 수많은 과정과 사람들이 관여된다.

 

 그리고 이 정보의 진화라는 책의 작가는, 책의 제작과정을 각 단계에서의 정보의 누적이라는 관점으로 바라본다. 앞서 전개했던 정보 이론과는 또 다르지만, 어떤 정보가 어떻게 생겨나서 결합되느냐에 따라 인간 사회에 책의 등장이 해석된다.

 

 이러한 "정보"들은 시간을 두고 다양한 사람의 손을 거치면서 변화하고 축적되어 나타난다. 17세기 사람이 발명한 책 바인딩 기법이 그 과정에서 전달되기도 하고, 중국의 종이만드는 방법이 또 전달되어 녹아들게 된다. 우리가 생산하는 모든 것들은 이렇게 정보(노하우)들이 변화 축적되면서 만들어지므로 , 이러한 것을 생산하는 과정이 반영되는 경제를 기존의 관점에서 바라보지 말고 이런 정보 관점에서 바라보아야 한다는 것이 이 책의 주장이다.

 

 좀 신선한 관점이다 싶었다. 이렇게 정보로 경제와 생산을 바라보면 더 추상적으로 미래를 예감해볼 수 있다. 엔트로피로 바라볼 수도 있고 수만년의 경제 발전 과정을 수학적으로 추적해 볼 수 있을지도 모른다.

 

 참고로 책에서는 복잡계나 엔트로피 관련으로 유명한 프리고진(Ilya Prigogine, 벨기에 화학자, 1917~2003) 의 증명들이 소개되는데 그 중 유명한 것이 "정상상태에 놓인 비평형계에서는 엔트로피 생산량이 최소화된다"라는 것이다. 이게 무슨 말이냐면 비평형계는 질서를 자발적으로 생성하여 정보훼손이 가장 적은 정상 상태로 자기 조직화 된다는 뜻이라고 한다.

 

말은 어려운데, 이를테면 태양에너지를 공급받아 일정 수준의 안정한 체계를 이루고 있는 지구에서는 이렇게 정보들이 생산되면서 진행할 수 있다는 뜻이다.

 

프리고진의 이론까지 끌어다 쓰면 책의 등장은 필연일 수도 있겠고 우리 경제 발전도 그럴 수 있겠다. 엔트로피, 정보이론, 열역학, 복잡계, .. 이야기들이 위 논리 하에 서로 왔다갔다 하도록 할 수 있다.

 

여하튼 정보 이론을 더듬어 가면서 좀 재미있는 내용이라 짧게 소개해본다.

반응형
Posted by 작동미학
정보이론2020. 1. 1. 22:31

클로드 섀넌(Claude Elwood Shannon, 1916년~2001년)은 1948년에 미국의 통신회사 벨 연구소 근무 시절에 통신의 수학적 이론(A Mathematical Theory of Communication)이라는 논문을 "벨시스템 기술 저널"이라는 사내 저널에 출판하게 되는데 이 이론이 일약 정보를 수학적으로 다루는 시초가 되는 논문으로 인정받게 된다.

 

그는 이때 앨런 튜링이나 폰 노이만 등과도 논의하면서 이 정보량을 엔트로피라는 이름을 붙이게 되었다(폰 노이만 제안)고 설명되어 있는데, 이를 둘러싼 자세한 이야기는 제임스 글릭의 책 인포메이션에 조금더 자세히 설명되어 있다.

http://www.yes24.com/Product/Goods/35243316

 

인포메이션 INFORMATION

정보, 통신, 수학, 암호, 언어, 심리, 철학, 유전, 진화, 컴퓨터, 양자역학, 구글, 스마트폰까지클로드 섀넌, 앨런 튜링, 비트겐슈타인, 리처드 도킨스 등 다채로운 인물들,“정보의 역사와 이론 그리고 정보 혁명의 함의까지 소개하는 야심 찬 책”인터넷과 SNS, 메신저 등의 발달로 자신의 생각, 의견, 감정 등을 다른 사람들에...

www.yes24.com

이후 사람들이 이 이론에 대해 했던 열광에 비교해서는(결론의 함의하는 바가 매우 컸기 때문에), 사실 수학자였던 섀넌이 했던 고민은 단순했다. 그것은 통신회사가 어떤 정보를 전달할때 얼마의 과금을 해야하느냐에 대한 순수한 수학적인 정의다.

 

 예를 들면 아래 두가지 정보 전송에 대한 과금은 어떻게 해야할까?

 

 A: 00000.............................................0 (1억개의 0)

 B: 100100111010111...01011011 (random으로 나열된 1과 0의 조합 100개)

 

단순히 길이로 따지면 앞에 A가 더 길지만 가만히 보면 압축을 할 수가 있다. A는 0을 1억개 보내기보다는 0의 개수가 1억개라는 사실을 전달하면 불필요하게 많이 보낼 필요가 없다. 다만 B같은 경우는 완전한 random이라고 치면 압축을 할 수가 없이 그대로 보내야 한다. 결과적으로 압축을 잘하면 B가 정보량이 훨씬 많다. 돈을 더내야 한다. 그러면 얼마나 내야하는가?

 

섀넌의 공식은 이에 대해 명확한 답을 준다. 바로 어떤 정보를 보낼때 필요한 비트수가 얼마냐?로 귀결시킨다.

(보내야할 정보의 카테고리와 각 카테고리의 출현 확률이 주어지는 경우를 가정한다)

 

정보량을 의미하는 섀넌의 엔트로피는 아래와 같이 나타난다. 어떤 많은 정보들이 각기 출현 확률이 P(x)일때 각 값들을 전송하는데 필요한 비트는 아래의 공식으로 나타내게 된다.

 

H(P)=H(x)=P(x)logP(x)  (log는 밑이 2)

 

사실 이 공식을 이해하기 위해서는 log와 확률 이야기를 해야하는데, 수학적인 전개가 익숙하지 않은 엔지니어 분들은 따라가기가 조금 까다롭다(Google 검색엔진 등 에 섀넌의 정보이론을 검색하면 몇가지 수학적 전개에 대한 문건들이 있긴 하다)

 

하지만 결론적으로는, 전달하고자하는 데이터의 패턴을 보고 가장 효율적으로 압축했을때의 bit수라고 말할 수 있다(정보량, log가 밑이 2일때)

 

이를테면 내가 전송하고자하는 값이 2가지 카테고리(예를 들어 A와 B의 두가지 경우라면 2가지 카테고리 ) 밖에 없다고 하고 그 둘이 동일하게 나타난다고 해보자. 그러면 1bit의 크기이면 그 데이터를 전송할 수 있다. 즉 사전에 양측이 약속해놓고, 보낼때는 0과 1 둘 중의 하나로 전송하면 된다. A,B가 실제로 얼마나 길고 어떤 형태이든, 상기 정보는 그렇게 압축될 수 있다. 0과 1로 압축되는 것이다.

 

 

그런데 우리 현실의 실제 정보가 나타나는 상황은 위의 상황보다는 더 복잡하다.

 

A,B,C,D,E,F,G,H라는 8가지 분류의 값 데이터를 전달하는데 각기 그 문건상에 등장 확률이 30%,20%,10%,10%,10%,10%,5%,5% 이라고 해보자. 무손실 압축 방법 중에 허프만 코딩이라는 방식 혹시 기억나는가? 해당 방식과 같다.

 

그렇다. 가장 많이 등장하는 A에 가장 짧은 길이를 할당하고 빈도수가 작을수록 더 긴 길이를 할당하는 압축 방식으로 운영할 수 있다. 이렇게 일종의 허프만 코딩 방식으로 압축했을때 필요한 bit수가 나오는게 바로 이 섀넌의 공식이다. 실제 위에 명기한 공식에 따라 구해보면

 

H(P) = H(x) = -P(x)logP(x)

= -(0.3log0.3 + 0.2log0.2 + 0.1log0.1 + 0.1log0.1 + 0.1log0.1 + 0.1log0.1 + 0.05log0.05 + 0.05log0.05)

= -(0.3 * -1.7369.. + 0.2 * -2.3219.. + 0.1 * -3.3219.. + 0.1 * -3.3219 + 0.1 * -3.3219 + 0.1 * -3.3219+0.05*-4.3219...+0.05*-4.3219)

= -( -0.52107.. + -0.46438.. + -0.3322.. + -0.3322.. + -0.3322.. + -0.3322.. + -0.2161.. + -0.2161..) 

= -(-2.74645) = 2.74645...

 

가 되서 2.7bit 즉 3bit 조금 안되게 있으면 위 패턴의 정보들은 압축해서 보낼 수 있다는 이야기이다. 정리해서 이야기하자면 "어떤 데이터를 출현 빈도수 패턴에 맞게 가장 효율적으로 압축했을때 필요한 전송량"이라고 생각하면 된다.

 

앞서 언급된 대로 A,B가 각각 50%로 등장한다고 똑같이 계산해보면 금방 H(P)는 1값을 가진다는 것을 알 수 있다.

 

H(P) = H(x) = -P(x)logP(x)

= -(0.5log0.5 + 0.5log0.5 + 0log0 + ....)

= -(0.5 * -1 + 0.5 * -1)

= 1

 

만약에 출현빈도가 모두 동등한 n개 분류의 데이터는 어떨까(n개가 각각 1/n의 확률로 등장하는) 전혀 압축이 불가능하므로 아래와 같이 log n이 된다.

 

H(P) = H(x) = -P(x)logP(x)

= - n * (1/n * log 1/n)

= - log1/n = 1 (log1 - logn)

= log n

 

4개 보내려면 2bit 필요하다. (00,01,10,11 4개 딱 맞다)

 

위 섀넌 공식의 유도 과정은 수학자의 그것이지만 결론은 딱 확률을 고려한 압축 가능 정도의 개념이다.

 

 그러면 이제, 아 저런걸 뭐 수식으로 저렇게 잘 정리했구나. 단순하네? 할 수 있겠지만 가만히 생각해보면 전화기가 처음 도입되고 데이터에 대한 개념도 없던 시절이라, 이런 '정보'라는 개념을 수식으로 접근할 수가 없었던 시절에는 아주 큰 정량적 기준을 제시하게 된 셈이다. 정보라는 것이 처음으로 "그 보내고 싶은 값과 각 값의 출현 확률"을 가지고 정의할 수 있게 되었다. 이게 알면 단순하지만 처음 만드는 사람은 큰 창의력을 필요로 하는 행위다.

 

 그러면 이 이론은 어디에 응용이 될 수 있을까? 수도 없이 인용되었지만, 여기서는 바로 양자역학의 본질이 정보라고 주장한 존 아치볼드 휠러 교수의 "it from bit"에서 시작할 수 있다. 양자 정보 이론이라는 이름으로 불리는 이 분야들은 최근에 더욱더 다양한 분야에서 고려되고 있다. 블랙홀에서 입자를 빨아들이면 과연 정보는 소멸하는가? 에너지와 질량이 등가인 것처럼 이 정보와 에너지가 등가일 수는 있는 것인가? 맥스웰의 도깨비에서 열역학 제2법칙에 위배되는 도깨비가 다루고 있는 정보는 과연 무엇인가? 정보가 세상 물질들을 설명할 수 있다면 그것은 대체 무엇인가?

 

라고 질문될때 정의하기 어려운 이 수학적인 '정보'를 섀논이 명쾌하고 수학적으로 한번 정의해준것이다.

 

결국 허프만 코딩도 섀넌의 정보이론에서 그대로 파생된다. 맨 아래 비트의 0을 가장 높은 확률의 패턴에 그리고 그 다음 10, 00을 통해  그것도 안되면 100, 000에 계속 사다리식으로 필요한 비트 수를 늘려가면서 배정하는 것이 그대로 닮았다. 

 

이 좀 설명도 어렵다 싶은 분께는 아래 짧은 영상을 추천한다.

https://www.youtube.com/watch?v=2s3aJfRr9gE

마지막으로 섀넌의 정보량을 엔트로피라고 부르는데, 앞서 밝혔듯이 폰 노이만의 제안으로 이렇게 불렀다는 말이 있다.

 

 엔트로피라고 하면 빼놓을 수 없는, 물리학사의 비운의 인물 중 하나인 루드비히 에두아르트 볼츠만(Ludwig Eduard Boltzmann/독일어)이 갑자기 이 이야기에 등장하게 되는데, 그의 묘비에는 엔트 S = k log W라는 엔트로피 공식이 적혀져 있다고 한다. 엇 이거 많이 보던것 아닌가?

 

 맞다 위 P(x)logP(x) 와 비슷해보인다? 엔트로피도 log와 확률이 어울러져 있는데, 둘은 유사 특성이 있다. 이 얽힌 이야기들은 일단 책 인포메이션에 먼저 맡기고, 나중에 다시 이어가보자.

 

 

반응형
Posted by 작동미학