Monte Carlo Walker (ref. Nature Of Code)
·
활동/개인 프로젝트
몬테 카를로(Monte Carlo) 방식은 무작위로 추출된 난수를 이용하여 함수의 값을 계산하는 통계학의 방법이라고 한다. 위 이미지의 코드와 같은 경우에는 다음과 같이 이용되었다. (여기서의 난수라 함은 0~1 사이의 값을 얘기한다.) 1. 난수 값을 r1에 저장한다. 2. r1이 난수일 확률 probability를 계산한다. (probability = r1 으로 둔다.) 3. 또 다른 난수 r2를 저장한다. 4-1. r2가 probability 보다 크다면, 작은 보폭을 선호. 4-2. r2가 probability 보다 작다면, 큰 보폭을 선호. 5. 두가지 경우 중, 원하지 않는 결과라면 1로 돌아가고 원하는 결과면 r1을 return 한다. 그리고 Math.random을 사용하는 과정에서 최소값,..
Javscript의 Math.random과 정규분포에 대해
·
Programming/Javascript
요새 Nature of Code 라는 책을 간간히 보고 있는 중인데, Javascript의 Math.random 이라는 함수가 단순히 난수를 생성하는 지 또는 정규분포를 나타내는지 궁금하여 알아보게 되었다. 수학적 지식이 뛰어나지는 못해 작성한 것이 정확하진 않을 수 있습니다. 참고만 해주세요... 오류가 있다면 지적 부탁드립니다. ECMA 공식 문서를 참고해보면, Math.random에 대해 다음과 같이 적혀있다. US: Returns a Number value with positive sign, greater than or equal to +0𝔽 but strictly less than 1𝔽, chosen randomly or pseudo randomly with approximately unifor..
자바스크립트 관점에서 정리한 클래스(Class)와 프로토타입(Prototype)에 대하여
·
Programming/Javascript
※ 이 글은 예전 블로그에서 퍼온 글입니다. 가독성이 나쁘다면 예전 블로그 에서 읽어주세요.※ 글 중 모르는 단어나 개념이 있으실까봐 맨 아래에 참고할만한 사이트들을 남겨둡니다.1. 객체지향 프로그래밍(Object-Oriented-Programming)객체지향 프로그래밍은 현실 세계에 존재하는 객체(Object)를 소프트웨어 세계에서 표현하기 위해 객체의 핵심적인 부분만을 추상화해 모델링 하려고 하는 프로그래밍 패러다임을 말합니다.이해가 잘 안되신다면 객체를 사물이나 과일로 바꿔 이해하면 쉽습니다.붕어빵을 예로 들자면, 팥 붕어빵이라는 객체를 소프트웨어 세계에서 구현하기 위해 팥 붕어빵의 핵심적인 특징(붕어 모양, 팥)을 생각해 모델링 하고자 하는 것입니다.각 객체들을 독립적인 기능을 지닙니다. 하지만 ..