현재 시간:0:00전체 재생 길이:6:41
0 에너지 포인트
동영상 대본
(재미있는 음악) (부스럭) 우리가 물질계를 관찰할 떄 무작위의 등락을 어디서나 볼 수 있다 우리는 무작위의 숫자를 노이스라고 불리는 이러한 무작위의 등락을 측정하며 만들 수 있다. 우리는 이 노이스를 측정할 때 우리는 숫자를 얻을 수 있다. 하나, 둘, 셋, 넷 예를 들면 우리는 이러한 텔레비전 스태틱 전류를 시간에따라 측정하여 진정한 무작위의 숫자들을 만들 수 있다. 우리는 이 랜덤한 수들을 숫자에 따라 방향이 달라지는 길을 그려서 상상해볼 수 있다. 이것은 랜덤워크 라고 불린다. 어떤 스케일에도 패턴이 생기지 않죠. 이 수열에 각 지점에는 다음 움직임이 항상 예측 불가능하다. 랜덤 프로세스들은 항상 비결정적이라고 본다. 왜냐하면 다음 수를 예측할 수 없기 때문이다. 반면에 기계들은 결정론적이다. 기계에 시행은 항상 예측 가능하고 반복 가능하다. 1946년에 존 폰 노이만은 군대를 위해 계산을 돌리는 대에 참여하였고 수소폭탄을 디자인하는 대에 밀접한 관계가 있었다. ENIAC이란 컴퓨터를 사용해 그는 핵분열에 일어나는 화학반응을 계산하려고 시도했었다. 하지만 이를 계산하기 위해 랜듬한 숫자를 만들 수 있어야했고 필요한다면 한없이 만들 수 있어야 했다 그런데 ENIAC는 제한된 내부기억장치만 있어서 긴 임의의 숫자들을 저장할 수 없었다. 그래서 누이만은 다음과 같이 무작위를 시뮬레이션을 기계적으로 한 공식으로 만들었다. 첫째 "seed"라는 임의의 수를 정해야 했다. 이 숫자는 노이스를 측정해서 얻을 수 있었고 현재 시각을 밀리세컨드로 표현 했을때에 숫자로 얻을 수 있었다. 다음, 이 seed는 단순한 계산에 입력 되어 진다. 이 seed를 제곱하여 그 결과를 중간에 넣어 이 숫자를 다음 seed로 사용할 수 있었다. 그리고 이 과정을 필요한 만큼 반복할 수 있다. 이것은 중앙제곱번이라고 불린다. 그리고 이것은 의사난수의 수열을 만드는 방번의 일종이 되었다. 이 수열의 무작위성은 최초의 seed의 무작위성에만 의존한다. 같은 seed를 입력하면 같은 수열이 나오게 된다. 그래서 참된 무작위로 만든 수열과 의사난수의 수열을 만드는 방법의 차이점이 뭘까? 이 수열을 랜덤워크로 그려보자. 처음엔 비슷하게 생겼지만 빨리 만들수록 달라진다. 이 의사난수의 수열은 결국엔 반복한다는 법이다. 이 현상은 알고리즘이 최초의 seed를 만들 때 나타나고 이 수열은 그 뒤로 반복한다. 그래서 이 의사난수의 수열이 반복하기 전의 길이는 "주기"라고 불리고 이 주기는 최초의 seed의 길이에 매우 의존하며 제한된다. 이를테면 만약 두 자리의 seed를 사용하면 알고리즘이 최고로 seed를 다시 사용 하기 전에 백 개의 숫자를 만들어낼 수 있다. 이 수열은 다음에 반복된다. 세 자리의 seed는 천 개의 숫자를 반복하기 전에 만들 수 있디. 그리고 네 자리의 seed는 만 개의 수를 반복하기 전까지 만들 수 있다. 하지만 만약 어머하게 큰 seed를 사용한다면 이 수열의 주기는 몇 조 까지의 수까지 만들 수 있다. 하지만 이 두 가지 방버의 차이첨은 중요하다. 의사난수의 수를 만들 때 몇 수열은 일어날 수 없게 된다. 예를 들어, 알리스가 참된 랜덤한 수열을 20변동을 사용하여 만들고 싶으면 이것은 모든 변동을 포함한 균일한 굴뚝에서 모든 경우의 수를 고르는 것과 같다. 이 굴뚝은 26의 20승의 페이지가 있고 어머어머한 크기를 자랑하게 된다. 만약 바닥에서 위를 향햐 빛을 비추었으면 굴뚝 위에 있는 사람은 이 빛을 2억년동안 못 볼 정도로 크다. 이것을 알리스가 4 자리 seed를 사용한 의사난수의 수열을 만들 때와 비교해보자. 이것은 만 개의 seed중에 고를 수 있는 것이라서 알리스는 오직 만개의 서로다른 수열을 만들 수 밖에 없다. 이것은 모든 가능한 수열중에 미흡한 정도도 안되는 만큼이다. 참된 무작위에서 의사난수의로 바꿀 떄 모든 가능한 수열중에 비교적 엄청 작은 seed공간으로 축소 시키는 것이다. 그래서 의사난수의 수열을 무작위의 수열과 구별 못하게 만드려면 컴퓨터가 모든 seed를 사용해서 같은 수열을 찾을 수 있는 일을 비현실적으로 만들 수 있는 크기의 seed를 사용해야 된다. 그래서 이는 컴퓨터 공학에서 가능한 것과 현실적인 것에 차이점이 분명하게 드러난다. 우리가 자전거 자물쇠를 살 때 같은 논리를 쓴다. 우리는 누구나 모든 수의 조합을 열릴 때까지 시행할 수 있는 것을 알고있다. 하지만 이는 며칠을 걸릴 수 있다. 그래서 8시간동안 현실적으로 안전하다고 우리는 인실하고 있다. 의사난수의 수 만들 떄 seed의 길이에 따라 보안성도 달라진다. 만약 세상에서 가장 빠른 컴퓨터가 모든 seed를 시행하기 위해 몇 백년이 필요한다면 완전히 안전할 것보다 현실적으로 안전하다고 볼 수 있다. 컴퓨터들이 빨라지면 seed의 길이도 이를 따라 길어져야 된다. 의사난수성은 알리스와 밥을 전체의 무작위 수열을 미리 알려주는 것을 안 해도 되게 만들 수 있다. 대신, 그들은 비교적 짧은 seed를 공유해서 똑같이 확산 시켜서 필요할 때 같은 무작위의 수열을 얻을 수 있다. 그런데 만약 이 seed를 공유하기 위해 만날 수 없게 되면 어떻게 될까?