이 문제는 fixed-point 프로시저에 쓰이는 어림값(approximations)을 출력하고,
x |-> log(1000)/log(x)의 고정점(fixed point)을 찾아
x^x = 1000에 맞는 x를 찾는 문제입니다.
그리고 함수값의 평균을 할 때와 그렇지 않을 때의 차이를 알아봐야합니다.
먼저 (newline)과 (display guess)로 어림값을 출력하게 코드를 수정하였습니다.
그리고 고정점을 찾도록 추가하였습니다.

책에도 적혀있지만, 어림값을 1.0으로 할 경우 분모가 0이 되므로 문제가 발생합니다.
그렇기에 2.0을 넣었습니다.
그리고 실행을 시켰습니다.

위의 것이 그냥 식을 넣을 때, 밑의 것이 평균을 넣었을 때입니다.
이 둘의 결과값이 다른 것처럼 보이지만,
허용 오차(error tolerance)를 0.00001로 잡았기 때문입니다.
첫 번째는 34번의 과정을 거쳐서, 두 번째는 9번의 과정을 거쳐서 나왔습니다.
대략 3.8배의 차이를 보여주는군요.
이 정도 성능 차이라면 최소 한 번은 고려하지 않을까 싶습니다.^^
참조
Structure and Interpretation of Computer Programs 2/E - Page 90
"in OCW" 카테고리의 다른 글
- SICP Exercise 연습문제 1.39 (0)2008/01/24
- SICP Exercise 연습문제 1.38 (0)2008/01/24
- SICP Exercise 연습문제 1.37 (4)2008/01/24
- SICP Exercise 연습문제 1.36 (0)2008/01/23
- SICP Exercise 연습문제 1.35 (0)2008/01/23
- SICP Exercise 연습문제 1.34 (0)2008/01/23
- SICP Exercise 연습문제 1.33 (0)2008/01/21
글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.







댓글을 달아 주세요