Monte Carlo Method : https://en.wikipedia.org/wiki/Monte_Carlo_method
몬테카를로 방법 : https://ko.wikipedia.org/wiki/%EB%AA%AC%ED%85%8C%EC%B9%B4%EB%A5%BC%EB%A1%9C_%EB%B0%A9%EB%B2%95
결과값이 숫자형태인 문제를 풀기 위해서 많은 수를 랜덤하게 생성해서 풀어내는 방법...
쉽게 얘기하면 랜덤하게 생성한 숫자로 계산해보고 그 결과를 취합해서 결론에 이르는 방법.
귀납법...이라고도볼수있으려나?
참고로 http://infovis.tistory.com/47 글을 보면 좀 더 이해가 쉬울지도.
예를 들어 반원의 넓이를 계산하기 위해 임의의 한 점의 원점부터의 거리가 반지름이 넘는지를 테스트하는 식으로... 인풋을 랜덤하게 생성해 수식에 때려 넣는 방법 한정으로 Monte Carlo 방식이라 한다.
도박으로 유명한 Monte Carlo 지명에서 따온 방식으로... 그냥
"랜덤하게 테스트데이터 만들어서 검증해봤는데 잘 되더라"
라고 하면 없어보이니까...
"몬테 카를로 방식으로 검증해봤는데 잘 되더라"
라고 하면 있어보이니까...
좀 찾아보니 같은 랜덤 기반이라곤 하더라도...달리말하면 알고보니...유전자알고리즘도 랜덤방식에 속한다.
생각해보니 랜덤이긴 하니까... 다만 다음 랜덤수를 만들기 위한 조건이 점진적으로 조아지게 설계되어 있을 뿐.
NP-complete 문제를 해결하기 위한 방법 중
Randomization 방법 중
몬테 카를로 방법과 유전자알고리즘 방법이 있다 한다...그 외에도 더 있겠지?
'SW-PRODUCT > 개발' 카테고리의 다른 글
[링크] 리눅스 관리 툴 (0) | 2016.02.29 |
---|---|
[링크] 산술평균, 기하평균, 조화평균을 도식화 (0) | 2016.02.23 |
[링크] MIT의 파이썬(python) Open Class..무려 한글지원!! (0) | 2016.01.29 |
[링크] 개발자가 알아야 하는 것 (0) | 2016.01.25 |
appassembler 플러그인을 이용한 jar 패키지 만들기 (0) | 2015.12.31 |