더북(TheBook)

이 책을 읽어야 하는 이유

이 책의 내용은 저자가 3년(즉, 2학기 3회)간 "과학자를 위한 C++" 수업에서 학생들에게 가르치며 검증을 거쳤다. 주로 수학과 학생들과 일부 물리학과 및 공학과 학생들은 종종 수업 전 C++에 대해 알지 못했지만, 수업이 끝날 때는 표현식 템플릿(5.3절)과 같은 고급 기법을 구현할 수 있었다. 이 책은 자신의 페이스대로 읽을 수 있다. 차례대로 읽거나 부록 A의 추가 예제와 배경 정보를 참고할 수도 있다.

미녀와 야수

C++ 프로그램은 여러 가지 방법으로 작성할 수 있다. 이 책에서는 보다 세련된 스타일로 부드럽게 이끌어 갈 것이다. 처음에는 고급 기능을 사용해야 해서 겁이 날 수 있지만, 일단 익숙해지면 괜찮아질 것이다. 사실 고수준 프로그래밍은 더 넓은 범위에서 적용 가능할 뿐만 아니라 일반적으로 동등하거나 더 효율적이며 가독성이 뛰어나다.

일정한 단계 크기를 갖는 경사 하강법이라는 간단한 예제를 통해 첫인상을 보여줄 것이다. 원리는 매우 간단하다. g(x)의 기울기를 사용해 f(x)의 가장 가파른 경사를 계산하고 이 방향으로 고정된 크기 단계만큼 이동해 다음 지역 최적해를 구한다. 알고리즘 의사 코드도 설명처럼 간단하다.

입력: 시작 값 x, 단계 크기 s, 종료 기준 ε, 함수 f, 경사도 g

출력: 지역 최적해 x

▲ 알고리즘 1 경사 하강법 알고리즘

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.