WELL 랜덤 함수에 대하여 Code 보시면 이해가 되시는 분 있으세요?
글쓴이: himeggang / 작성시간: 수, 2014/12/17 - 2:04오후
대학교 1-2학년때 C 프로그래밍 만져보고 그 이후로
10년이 지나서 프로그래밍을 좀 해봐야 하는 ㅠㅠ 이쪽 분야 초짜 직장인 입니다.
간단한 Random 함수라도 잘 이해하고 싶은데...
도통 코딩이 이해가 안 가네요.
*.c 와 *.h 가 왜 따로 있는지 부터 이해가 안 가는 ㅠㅠ
옆에 C 프로그래밍 책 들고 하나씩 보고 있는데요.
참 어렵네요 ㅠㅠ 쉽게 이해가 안가고 있음 왜 랜덤 함수에서 비트 연산자를 쓰는지 ㅠㅠ
머리가 굳었다는 탄식도 나옵니다.
http://www.iro.umontreal.ca/~panneton/WELLRNG.html 에 나오는 랜덤 함수 인데요.
*.c 코드 부터 이해가 되고 있다라는 ..
무엇보다 이거 컴파일 할려면 어떻게 해야 하지? 이런 수준이네요 ㅠㅠ
쉽게 설명 해주실 분 계시면 쪽지 남겨주시면 제가 ~~ 맛있는 차라도 대접하면서 갈쳐주세요 ㅠㅠ
이런거 보고 있으면 프로그래밍이라는게 보통 직업이 아니라는 생각이 드네요 ㅠㅠ
확실히 창의성 + 알파를 요한다라능 ㅠㅠ
Forums:
random 함수는 굉장히 어려운 주제입니다
(절대 간단한 게 아닙니다. 저 C(++)로 먹고산지 10년이 넘었지만 제대로 된 랜덤 함수 짜라고 하면 못 짭니다.)
비유하자면 이제 구구단 뗀 아이가 대학수학책을 펴놓고 "간단히 리만적분이란 걸 이해하려고 하는데 잘 모르겠어요" 뭐 그런 느낌?
웬만하면 다른 주제를 잡으시는 게...
감사합니다. ㅠㅠ 주제가 과했나 보군요 ㅠㅠ
젠장.. 회사다 보니 ㅠㅠ 제대로 된 램덤 함수 까지는 아니구요 ㅠㅠ
랜덤 함수에 대해서 조사를 하다보니 저 코드가 왜 저런식으로 짰는지 도통 이해가 안되어서요 ㅠㅠ
주제가 과한 건 코드 보면서 멘붕 올때 느낀거기도 하고 ㅠㅠ 좀 아시면 간략한 코드 해석이라도...
비트 연산자가 왜 쓰이는 지 이해가 잘 안되는 ㅠㅠ
음 ..
코드를 뜯어보고 로직을 이해하더라도 별 의미 없습니다.
난수 생성 알고리즘을 먼저 이해해야 그 구현된 코드를 이해할 수 있을 겁니다.
직접 난수 생성기를 만들거나 그 원리를 이해하고 싶다면, 수학적으로 증명된 알고리즘을 먼저 찾아 봐야지..
이미 구현된 코드를 보는 것은 크게 도움이 되지 않을 것이라는 뜻입니다.
단지 충분히 예측하기 어려운 난수가 필요한 것이라면..
이미 잘 만들어진 라이브러리들이 많이 있으니 그냥 가져다 쓰시면 됩니다.
헤더 파일이 따로 있는 이유는 이 소스가 빌드된 오브젝트/라이브러리 등에 있는 함수의 원형(prototype) 을..
다른 모듈들에게 알려주기 위한 것입니다. C 입문서 아무거나 찾아 보시면 자세한 설명이 나올겁니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
제 생각엔 조사하실 필요가 없을거 같습니다.
그럼 비트연산자 없는 랜덤은 이해하실수 있으신지요? 제 생각엔 어짜피 짧은 시간에 본인의 능력으로 검증불가능한 작업인 거 같습니다. 그냥 학계에서 어느정도 정설로 받아들여지는 패키징된 함수로 생각하시는게 좋지 않을까 합니다.
실제로도 아마 특허를 내기도 했을 겁니다.
* 포럼 주제와 무관한 신변잡기를 반복해서 올리지 맙시다.
* 질문 게시판 만이라도 익명 글쓰기를 막아야 한다고 생각합니다.
아... 그런 거기군요.
아 ~~ 답변 감사합니다. 비트 연산자 없는 랜덤도 이해를 하고 있는 건 아닌데요. 학계에서 정설로 받아들여지는 패키징된 함수.. 정도... 이게 더 이해가 될지도 모르겠습니다.
젠장 논문 찾아오라고 할꺼같은데 ㅠㅠ (<-- 이건 제가 알아서 해봐야 겠죠 ㅠㅠ ) 좋은 조언 감사합니다. 아!!! 그런 이해가.... 감사 합니다.
토론하고 싶으셨던 내용은 어떤것이었나요?
토론하고 싶으셨던 내용은 어떤것이었나요?
* 포럼 주제와 무관한 신변잡기를 반복해서 올리지 맙시다.
* 질문 게시판 만이라도 익명 글쓰기를 막아야 한다고 생각합니다.
다른분 말씀처럼 random은 간단한 함수가
다른분 말씀처럼 random은 간단한 함수가 아닙니다.
복잡한 수학이 얽혀 있습니다.
그걸 이해하려면 c코드 말고 수학책을 먼저 봐야합니다.
c코드는 그걸 최적화 시켜서 구현한 것에 불과합니다.
예를 들어 난기류속의 비행체의 움직임을 시뮬레이션하는 c프로그램이 있다면
코드를 먼저 봐야할지 유체역학 책을 먼저 봐야하는지와
비슷하게 생각하시면 될듯요.
다시 random 함수로 돌아가서,
numerical recipe in C 라는 책에 보시면 코드에 대해서 상세하게 설명이 있습니다.
원하시는 수준의 설명이 있을 듯요.
온라인으로도 볼 수 있습니다. ( 한국어도 온라인으로 있는지는 잘 모르겠네요)
---
그런데 random 함수를 이해하는게 주요 목적이신지?
아니면 그냥 프로그래밍에 익숙해지는게 주요 목적이신지요?