설계/철학
2024. 2. 7.
우리는 왜 난수(Random)를 사용해야만 하는가
프로그램에서 난수(Random)는 실제로는 난수가 아니다. 컴퓨터에서 무작위라는 것은 어찌 되었든 예측이 가능한 결과 값들의 나열에 불과하다1. 특별한 하드웨어를 통한 난수 제어가 아니라면, 생성된 일련의 난수 배열은 예측 가능한 수의 배열에 불과하므로 진정한 의미에서의 난수는 아니다. 난수는 여러 가지로 활용될 수 있다. 가장 간단한 확률부터, 암호화까지 다양한 분야에서 활용될 수 있는데, .NET으로 예를 들면 암호화를 위해 예측할 수 없도록 수가 생성되는 특별한 난수 생성기를 지원하기도 한다2. 데이터 관점에서 보면 난수는 데이터 압축에도 사용될 수 있다. Information Theory, 정보 이론 정보 이론은 데이터 압축에서 중요하게 사용되는 이론 중 하나이다3. 정보 이론에서 설명하는 엔트로..