이미 소장하고 있다면 판매해 보세요.
1장. 알고리듬을 사용한 문제 해결
2장. 역사 속의 알고리듬 3장. 최대화와 최소화 4장. 정렬과 검색 5장. 순수 수학 6장. 고급 최적화 7장. 기하학 8장. 언어 9장. 머신러닝 10장. 인공지능 11장. 이 책 이후... |
저브래드포드 턱필드
관심작가 알림신청Bradford Tuckfield
역이재익
관심작가 알림신청이재익의 다른 상품
ㆍ 이 책에서 다루는 내용
- 기하학적 애플리케이션에 사용할 보로노이 다이어그램 생성하기 - 알고리듬을 사용해 간단한 챗봇을 구축하고, 보드 게임에서 승리하고, 스도쿠 퍼즐을 풀기 - 함수의 최대값과 최소값을 찾기 위한 경사 상승과 하강 알고리듬 코드 작성하기 - 모의 담금질(simulated annealing)을 사용해서 전역 최적화 수행하기 - 개인의 특성에 따라 행복을 예측하는 의사 결정 트리 구축하기 - 알고리듬을 사용해서 코드 디버깅, 수익 극대화, 난수 생성하기 - 알고리듬의 효율성과 속도 측정하기 ㆍ 이 책의 대상 독자 이 책은 고등학교나 학부 수준의 알고리듬, 컴퓨터 과학 또는 프로그래밍 입문 수업에 적합하다. 파이썬에 익숙해지길 원하는 개발자나 엔지니어, 컴퓨터 과학의 기초를 더 많이 배우고 알고리듬적으로 사고해서 코드를 개선하는 방법을 배우려는 개발자를 비롯한 여러 유형의 전문가들은 이 책에서 가치 있는 기술을 얻을 수 있을 것이다. 또한 관심을 가진 아마추어들이 읽기에도 적합하다. 알고리듬은 삶의 거의 모든 부분에 영향을 미치고 있다. 이 책을 읽는 사람이라면 주변 세계에 대한 감탄할 만한 최소한의 무언가를 찾을 수 있을 것이다. ㆍ 이 책의 구성 이 책은 현존하는 모든 알고리듬의 모든 측면을 다루지는 않는다. 단지 소개할 뿐이다. 읽고 나면 알고리듬이 무엇인지 확실히 이해하고, 중요한 알고리듬을 구현하는 코드를 작성하는 방법을 알고, 알고리듬 성능을 판단하고 최적화하는 방법을 이해하게 될 것이다. 또한 현재 전문가들이 사용하는 가장 인기 있는 많은 알고리듬에 익숙해질 것이다. 각 장은 다음과 같이 구성된다. 1장, ‘알고리듬을 사용한 문제 해결’에서는 공을 잡는 방법에 대한 문제를 해결하고, 인간 행동을 지배하는 잠재의식 알고리듬의 증거를 찾고, 알고리듬의 유용성과 설계 방법을 논의한다. 2장, ‘역사 속의 알고리듬’에서는 고대 이집트인과 러시아 농부가 어떻게 숫자를 곱했는지, 고대 그리스인이 최대공약수를 어떻게 찾았는지, 중세 일본 학자들이 마방진을 어떻게 만들었는지 알아보기 위해 세계의 역사를 탐험해본다. 3장, ‘최대화와 최소화’에서는 경사 상승과 경사 하강을 소개한다. 함수의 최댓값과 최솟값을 찾는 이 간단한 방법은 많은 알고리듬의 중요한 목표인 최적화에 사용된다. 4장, ‘정렬과 검색’에서는 리스트를 정렬하고 리스트의 요소를 검색하기 위한 기본 알고리듬을 설명한다. 또한 알고리듬의 효율성과 속도를 측정하는 방법도 소개한다. 5장, ‘순수 수학’에서는 연분수의 생성, 제곱근 계산, 의사 난수 생성 등 순수한 수학적 알고리듬을 다룬다. 6장, ‘고급 최적화’에서는 최적의 솔루션을 찾기 위한 고급 방법인 모의 담금질을 다룬다. 또한 고급 컴퓨터 과학의 표준 문제인 여행하는 외판원 문제도 소개한다. 7장, ‘기하학’에서는 다양한 기하학 애플리케이션에 유용하게 사용할 수 있는 보로노이 다이어그램을 생성하는 방법을 살펴본다. 8장, ‘언어’에서는 공백이 누락된 텍스트에 지능적으로 공백을 추가하는 방법과 구문에서 다음 단어를 지능적으로 제안하는 방법을 논의한다. 9장, ‘머신러닝’에서는 기본적인 머신러닝 방법인 의사결정 트리에 대해 논의한다. 10장, ‘인공지능’에서는 우리와 게임해서 이길 수도 있는 알고리듬을 구현하는 야심 찬 프로젝트로 뛰어든다. 〈점과 상자〉 게임으로 시작해서 성능을 향상할 수 있는 방법을 논의한다. 11장, ‘이 책 이후...’에서는 알고리듬과 관련된 더 고급 작업으로 진행하는 방법을 설명한다. 챗봇을 구축하는 방법과 스도쿠 알고리듬을 생성해 백만 달러를 얻는 방법에 대해 논의한다. ㆍ 지은이의 말 알고리듬에 대해 더 많이 배우게 되면 어디에나 알고리듬이 있고, 얼마나 강력한지 이해할 수 있을 것이다. 1장에서는 공을 잡을 수 있는 인간의 놀라운 능력에 대해 논의하고, 이를 가능하게 하는 인간 잠재의식에서의 알고리듬에 대한 세부 사항을 알아본다. 이후에는 코드를 디버깅하고, 뷔페에서 얼마를 먹을지 결정하고, 수입을 극대화하고, 리스트를 정렬하고, 작업을 스케줄링하고, 텍스트를 교정하고, 메일을 전달하고, 체스나 스도쿠 같은 게임에서 이기기 위한 알고리듬에 대해 이야기할 것이다. 그 과정에서 전문가들이 중요하게 여기는 몇 가지 속성에 따라 알고리듬을 평가하는 방법을 배울 것이다. 또한 장인정신의 감각을 느끼거나 아니면 정확하고 양적인 노력으로 창의성과 개성의 범위를 제공하는 알고리듬의 기술조차도 감히 느낄 수 있을 것이다. 또한 알고리듬 공부를 통해 전 세계를 돌고 수 세기 전 역사 속으로 돌아갈 것이다. 고대 이집트, 바빌론, 페리클레스 시대의 아테네, 바그다드, 중세 유럽, 일본 에도 시대, 영국령 인도 제도에서 경이로운 오늘날까지의 혁신과 놀라운 기술을 탐구할 것이다. 처음에는 다루기가 불가능해 보이는 문제와 제약들을 풀어가기 위해 새로운 방법을 찾아야 한다는 압박을 받을 수도 있다.. 하지만 그렇게 함으로써 고대 과학의 선구자들뿐만 아니라 컴퓨터를 사용하거나 공을 잡는 오늘날의 누군가, 그리고 먼 훗날 우리가 남겨준 것들을 기반으로 할 아직 태어나지 않은 알고리듬 사용자 및 제작자 세대와도 연결될 것이다. 이 책은 알고리듬과 함께하는 모험의 시작이다. ㆍ 옮긴이의 말 한 인터넷 서점에서 ‘알고리듬’이라는 단어를 검색하니 의외의 결과를 얻었다. 인기순으로 결과를 봤는데 ‘말의 알고리듬’, ‘독해 알고리듬’이 상위에 있었다. 해당 인터넷 서점의 검색 알고리듬이 얼마나 믿을 만한지는 차치하고, 우리 삶에서 ‘알고리듬’이라는 단어가 얼마나 일상화됐고 유행하고 있는지 보여주는 결과가 아닐까 생각이 든다. 이 책은 컴퓨터과학이나 수학적인 관점의 알고리듬을 일상과 연관 지어 설명하고 있다. 야구경기에서 선수가 공을 잡는 방법부터 알고리듬의 역사, 고대의 마방진 알고리듬 그리고 최신의 인공지능 알고리듬까지 다양한 관점에서 알고리듬을 논한다. 최근 출간되는 알고리듬 서적들은 취업을 위한 알고리듬이나 인공지능 알고리듬에 집중하는 경우가 많다. 그만큼 수요가 있기 때문이라고 생각한다. 이 책은 설명하는 범위가 광범위하여 특정한 목적을 위한 알고리듬 서적이라기보다는 ‘알고리듬이 뭐지?’라는 의문을 품은 독자들을 위한 책이다. 기술 기업들이 인터뷰에서 알고리듬을 묻는 이유가 짧은 시간 내에 문제 해결력을 확인하기 위한 것이라는 측면에서, 직접적이지는 않지만 이 책의 전체적인 서술 방식과 다루는 내용이 문제 해결력을 키우는 데 조금은 도움이 될 수도 있을 것이다. 이 책을 통해 독자들이 알고리듬의 원리나 근원, 그리고 일상에서의 알고리듬에 대해 고민해보는 시간을 갖길 바란다. |