|
- 조합적 알고리즘
이 책은 IT쪽에 관심있는 분이라면 한 번쯤은 들어봤음직한 책입니다. 시리즈로 나와있고 이제는 고전(classic)의 반열에 들어간 책이 아닌가 생각합니다. 현재까지 번역되어 나온 이 책의 시리즈는 4권이 마지막이고, 이 책은 그 시리즈의 최신판입니다. <컴퓨터 프로그래밍의 예술>이라는 제목이 붙어 있지만, 이 시리즈는 알고리즘에 대한 서적입니다.
이 책의 주제인 조합적 알고리즘에 대한 호기심과 함께, 조합적 알고리즘에 대한 내용을 볼 필요가 있어서, 이 책에 도전해 보기로 했습니다.
처음부터 한 번에 이해하겠다는 생각보다는 여러번 반복해서 보기로하고, 읽기 시작했습니다. 일단 전체적인 내용을 확인하는 차원에서 접근했습니다. 모든 수식을 완벽하게 이해한다는 목표같은 것은 애초에 없었고, 전반적인 흐름과 내용이 무엇인지 따라가자는 정도였기 때문에, 이해가 안되는 내용이 있으면, 일단 확인하고 넘어가는 정도로 읽어나갔습니다.
알고리즘에 대한 자세한 설명과 함께, 수학적인 도구를 사용해서 내용을 알려주고 있어서 얼핏 보면, 수학책인지 컴퓨터 책인지 분별하기 어려울 정도입니다. 거의 모든 쪽마다 수학적인 내용이 빠지지 않는 부분이 없었던 것 같습니다.
'역자서문'에 잘 설명해 주고 이는 내용인데요. 이 시리즈의 1권에 MIX와 MIXAL에 대한 내용이 나오지만, 이 책에서는 MMIX와 MMIXAL을 이용해서 설명해 줍니다. MMIX의 내용이 나와있는 책은 아직 번역되지 않았기 때문에, 영문 원서를 참고하고, 읽어나가라고 하는데요. 일단 이 부분은 다음에 다시 보기로 했습니다.
순열, 조합의 바로 그 조합과 관련있는 내용입니다. 순열, 조합에 대한 기억을 더듬어 가면서 읽어나갔지만, 읽기에 만만치 않다는 점만 확인한 시간이었던것 같습니다. 이 책을 바로 읽어도 괜찮지만, 순열 조합에 대한 최소한의 복습정도는 하고 읽는 것이 도움이 될 것 같습니다.
이 책이 약1200쪽 정도 되지만, 공식적인 본문은 600쪽 정도 됩니다. 즉, 앞부분의 절반은 책의 내용이고, 뒷부분의 절반은 '연습문제 해답'으로 구성되어 있습니다. 600쪽 분량의 수학으로 가득찬 알고리즘 책도 그리 쉽지는 않지만, 그런 내용을 1200쪽이나 보는 것 보다는 조금(?) 낫지 않을까 싶었습니다.
개별적인 내용의 대부분을 이해하기 위해서는 고등학교 이과 수학의 교과서에 나오는 문제정도는 풀고 이해할 정도는 되어야할 거 같습니다. 그것 보다 더 어려운 수준이 필요한 경우도 있지만, 그 이상은 개인이 공부하기에 어렵지 않을까 생각합니다.
시간이 나지 않는 직장인들이 보기에도 만만치 않을것 같고, 제가 생각하기에 가장 좋은 경우라면, 대학생이나 대학원 생들이 스터디 그룹을 만들어서 읽어나가는 것이 좋을것 같습니다.
실무에서 바로 가져다 사용하기는 어려울 것 같습니다. 알고리즘에 대한 학문적이고 깊이있는 내용을 원하는 분들이나, 알고리즘에 학습에 대한 도전의식이 높으신 분들에게 좋은 참고서가 되리라 생각합니다.
|