대회글
https://arca.live/b/refuge/98217960?category=2%EC%B0%A8+%EC%B5%9C%EC%95%A0%EB%8C%80%ED%9A%8C&p=1


1. 사전지식
https://arca.live/b/refuge/98233328
2. 로그 근사 및 증명
https://arca.live/b/refuge/98240387
3. 매직넘버 찾기 
(본문)
4. 뉴턴-랩슨 방법
-


매직넘버란?

코드에서 설명도 없이 지 좆대로 넣어놓은 의미 모를 숫자를 말한다.


이 코드에서 0x머시기가 명령어처럼 보이겠지만 사실 매직넘버임.

이전 글에서 로그 근사한거 기억남?


근데 시발 알파가 뭔데! 를 설명할겁니다


우선 알파가 쓰인 이유가 이거였지

log(x+1)이 x+a에 근사하기 때문


저 a를 찾기 위해 우리는 MSE라는 방법을 쓸 것이다

간단히 말해 함수에 어떻게 하면 가장 근접한 직선을 그을까 그런거임


근데 파이썬 이새끼가 실수 연산을 하면 오차범위가 기가막히게 늘어나서

함수를 강제로 위아래로 잡아 댕길거임


이렇게.

그래프는 아래와 같음


자 이제 MSE를 써서 값을 찾아보자

실행 결과 알파는 5.5673이 나오네 아주 좋소

근데 얘를 위아래로 100배씩 땡겼지? 그래서 알파에 1/100을 곱해줄거야

그럼 최종 알파는 0.05673이 되겠죠


계산 해보면 1597315998.40224가 나오고 반올림 하면 1597315998임.

근데 0x5f3759df는 1597463007이네

ㅈ까셈 내가 MSE로 확인해보니까 이게 더 정확함

그래서 내가 계산한거 16진수 값은 0x5f351b9e가 됨


다음글은 아마 오늘 저녁이나 내일 올라갈듯

이해안되는거 있으면 댓글로