ㅇ.ㅇ
[일반] 여러분.. 컴퓨터 난수생성 원리가 뭐에요?
새별이(sdssdssds)
2020-05-18 04:28
추천 0
댓글 18
다른 게시글
-
니들이 왜 멀쩡한 갤 냅두고 수잘갤 팠는지 알겠음 [3][일반] 익명(221.167) | 20.05.18추천 2
-
학과내에서 유학갈수잇는인원이정해져잇음? [7][일반] 익명(118.235) | 20.05.18추천 0
-
파인만이 초등학생도 알아듣도록 설명할 수 없다면 이해하지 못한거랬어 [7][일반] 익명(175.223) | 20.05.18추천 1
-
형들아 도함수 이해한거 맞는지봐주세요 [1][일반] 익명(175.223) | 20.05.18추천 0
-
복소함수 극한값 구하는거 질문이요........ [2][일반] 익명(59.15) | 20.05.17추천 0
-
삼차 이상 다항함수 그래프 개형을 [7][일반] 익명(123.111) | 20.05.17추천 0
-
형들아 삼차함수 얍쌉이 써서 극값 구하는거 질문 [13][일반] 익명(175.223) | 20.05.17추천 0
-
수갤 왜저모양됐음?[일반] 익명(147.46) | 20.05.17추천 0
-
기초통계학 질문[일반] ㅁㅁ(115.139) | 20.05.17추천 0
-
가환대수 질문 받아줄 분 [4][일반] 익명(39.7) | 20.05.17추천 0
디테일하게는 각각의 프로그램마다 다르겠지요? 직관적인 원리를 말하자면, 실제로 물리적인 우주를 관측해서 (e.g. 브라운운동하는 공기분자가 센서에 부딪히는걸 관측 혹은 우주선노이즈 등) 그 노이즈를 증폭시킨다던가 하는게 잇구여, 간단하게 할때는 인간의 응답속도보다 훨씬 짧은 주기운동(1부터 10까지 랜덤하게 고른다 하면 1부터 10까지 쓱 훑고 지나가는 주기가 1ms라던가)을 활용해서 만드는게 있지용.
아하~ 감사감사
위 댓글 같은 것도 있고 정해진 난수 테이블에서 어떤 변수(이를테면 시간)를 이용해 골라쓰는 방식도 있음.
c언어같은건 그 순간 시각의 밀리세크 (1/1000초) 로 거의 완벽한 난수를 생성합니다 . 아직 완벽한 난수자동생성법은 지구상에 없어요 - dc App
아하~~ 핵붕괴? 나 머 그런거 이용하면 완전 쎈 랜덤 이겠네요
먼소리임 C 난수는 low level임 보안 쎈 기업은 잘만든 암호 알고리즘 가지고 난수 뽑음
ㄴ 그것도 완벽한 난수생성알고리즘은 아님. - dc App
pseudo random number generator도 많이 쓸거임 위에서 말한 방식 등으로 seed를 주고 거기서부터는 정해진 방식대로 다음 수를 생성하는 방식. mersenne twister가 대표적인거 같고 장점은 재현가능하단거(속도도 빠를거같은데 확신은 안듬). 같은 seed로 시작하면 같은 결과를 얻음. 주의사항은 충분히 random해야한다는것
무슨 말인지 모르겠노!!!! 암튼 고맙노~
목적에 따라 다른데요 보통 확률론적 알고리즘 돌릴때/c++에서 쓰는건 엄청 간단한거 씀(아마 Linear congruential generator 쓰는곳도 많을듯)
근데 서버에서 쓴다거나 암호관련해서 쓴다거나 보안이슈가 생기면 위에서 말한 (cryptographic) pseudorandom number generator를 씀 이건 뭐냐면 (위에도 적혀있지만) seed라는값을 s를 정하면 수열 a1(s) a2(s)... 이런걸 계산할수있는 알고리즘임
근데 얘는 특수한 성질이 있는데, seed s값을 모르는애가 와서 만들어진 수열 a1(s) a2(s)...를 봤을때 얘가 저 알고리즘으로 만들어졌는지 그냥 누가 "진짜난수" r1 r2 ...를 뽑아서 나열한건지 (다항식시간알고리즘으로) 구별못한다는성질이있음
그럼 다시 이슈가 있는데, 저 위에 말한 구별불가능한 성질은 seed가 uniform random (즉 완전한 난수) 여야 성립한단말이야? 그럼 이걸 어케하냐면 보통 코딩할땐 자주 난수인 (예를들어) time (microsecond) mod N같은걸 필요한 순간 측정해서 seed로 씀
근데 이건 완전한 난수가 아니란말이야? 약점이 있을수도 있고. 그럼 진짜 난수를 만드는게 불가능하냐 그건 아님. 위에 말한거처럼 다양한 소스에서 얻는 불완전한 방법 말고, 양자를 이용하면 댐. 이건 이론적으로는 완벽한 랜덤을 얻을수있어
양자컴퓨터가 만들기 힘드니까 이게 말도안되는거아니냐 생각할수도있는데, 양자난수생성 (QRNG)는 양자컴퓨터만큼 어려운 태스크는 아니고 실제로 쓸수는 있음. 이제 상용화가까이온거같아
ㅇㅎ 그 원자핵 분열 같은 사건 이용하는거?
https://arxiv.org/abs/1803.06219
찾아보니깐 있네요. 양자역학으로 빛을이용해 만드는법이 2년전에 고안되었네요