랜덤을 구현하는 방법
좋은 랜덤이란 : 확률이 균등하게 나오는 것 다음 랜덤값을 예측하기 힘든 것 1. rand, srand 함수를 통해 구현한다. 성능이 좋지만, 확률이 균등하게 나오지 않을 가능성(RAND_MAX와 나머지 연산을 했을 때) ->이를 보완한 C++의 random 라이브러리. 좋은 랜덤을 제공하지만 성능이 떨어지는 단점이 있음. 2. 랜덤함수 + 일부분을 테이블에 패턴을 미리 정의하는 방법 (몇번째에 어떤 것이 나온다) 나올 것이 계획한대로 꼭 나오는 장점 사실상 조작한 랜덤이기 때문에 진정한 랜덤은 아니라는 단점 3. 2번의 알고리즘의 테이블을 셔플 알고리즘으로 섞는 방법 4. 랜덤 함수를 할 때마다 해당 요소의 개수를 줄이는 방법 3,4번 둘다 덜 조작한 것이긴 하지만, 이것도 진정한 랜덤은 아니라는 단점
2021.11.07