- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ai
- 진짜학습지
- pullrequest
- Kotlin
- GIT
- rxjava
- errorhandling
- 코틀린
- webflux
- 학습지
- 진짜학습지후기
- 인공지능
- KotlinInAction
- 일본어기초
- suspend
- posting
- 진짜일본어
- 책추천
- coroutine
- jlpt
- 일본어문법
- CustomTab
- 안드로이드
- github
- PR
- androidstudio
- 책리뷰
- blog
- Android
- n3문법
코딩하는 개굴이
[책 리뷰] 게임 AI 를 위한 탐색 알고리즘 입문 본문
💡"해당 포스팅은 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
나를 방심 시켜놓고 이겨버리는 AI
한참 퀸즈 갬빗이라는 넷플릭스 드라마가 인기가 높았을 때, 본인은 체스를 배워보고자 체스 앱을 깔았던 기억이 있다.
처음 AI 와의 초급 첫판을 시작하며 '음, 이정도는 껌이지' 하며 다음으로 넘어가자마자 나는 거한 참패들을 맛보고 바로 앱을 지웠더랬다.
(포기는 빠를 수록 시간 낭비가 없을 때가 있는 법이다....)
비록 초보인 본인을 이긴 것에 비유할 수는 없지만 요새는 게임 AI들이 수준 높고 게임들마다 흔히 볼 수 있을 정도로 널리 사용되고 있다.
게임 AI 기술은 일반적인 AI 와 같이 머신러닝을 사용한다고만 알고 있을 수 있는데, 실제로는
규칙, 탐색, 머신러닝
이렇게 세 종류의 기술 요소로 구성되어있다.
게임의 경우 앞으로의 진행 상황을 예측하고 그에 맞는 대응의 계산이 필요하기 때문에 머신러닝만으로는 부족하기 때문이다.
해당 책에서는 어떻게 이런 탐색을 하는지, 어떤 탐색 방법들이 있는지,
게임의 조건에 따라 어떤 탐색을 적용할 수 있는지 그 매력을 살펴볼 수 있는 입문서이다.
책 소개
- 책 제목: 게임 AI를 위한 탐색 알고리즘 입문
- 글쓴이: 아오키 에이타
- 옮긴이: 서수환
- 초판 1쇄: 2024년 3월 8일
- 출판사: 한빛미디어
게임 규칙에 따라 탐색 알고리즘을 찾자!
해당 책에서 탐색을 중점으로하는 만큼 다양한 게임의 종류를 다루지는 못하지만 우리에게 익숙한 예제들을 찾아볼 수 있다.
예를들면, 1인 플레이어가 진행하는 게임, 2인의 플레이어가 동시에 진행하는 게임, 2인 플레이어가 순차적으로 플레이하는 게임 등 보드게임을 해본 적이 있다면 무엇인가 머리속에 그려지는 게임일 것이다. 물론 게임에 적합한 알고리즘을 찾아가는 과정이지만 이렇게 게임에 대한 디테일한 예시와 함께 탐색에 최적화된 방법을 함께 찾아나가는 과정은 꽤나 재미있었다.
이렇게 해주는 설명은 필시 직접 게임을 만들 때에도 도움이 될 것인데, 여러 상황에 따른 방법들을 따라가기 때문에, 직접 만드는 경우 어떤 알고리즘이 좋을지 좀 더 와닿을 수 있을 것이다.
한단계 한단계, 차근히! 건너 뛰는 것은 없다
개인적으로 해당 책에서 인상 깊었던 점은 이것이었다. 탐색 과정에서 우리는 때론 비슷하다고 느껴지는 것들도 존재하고 어떠한 차이인지 다음 스텝이 어떤 것인지 정확히 와닿지 않는 경우를 흔히 경험했을 것이다. 애초에 길을 잃지 않게 이해하도록 하는 것도 좋지만 예제 없이 글만으로 이해하는 것, 그것은 불가능에 가깝다. 따라서, 해당 책처럼 탐색의 순서에 따라 스텝마다 그림으로 한단계씩 보여주어 길을 잃지 않도록 가이드 해주는 것은 때로는 감동으로 와닿기도 한다.
(물론 이렇게 떠먹여 주어도 뚫어지게 쳐다보면서 손가락까지 짚어야 이해하곤 하는데, 건너뛰면서 설명했다면 얼마나 힘들었을까!)
해당 책에서는 설명마다 거의 단계별 그림들이 포함되어있어 내용, 코드, 그림이 이해의 삼박자를 조화롭게 맞추고 있다.
이를 맞춰 코드까지 작성하며 따라온다면 내 것으로 만드는데 부족함이 없을 것이다.
탐색 알고리즘 각각에 제목을 붙이는 애정
항상 책을 읽을 때의 소소한 즐거움 중의 하나는 필자의 성격이 드러나는 부분들에 있는데, 해당 책에서는 필자가 얼마나 탐색 알고리즘 하나 하나에 애정을 갖고 있는가를 알 수 있다. 그리디와 몬테카를로처럼 어디선가 분명 들어보았던 것들부터 처음 들어보는 탐색들 까지 부제를 놓치지 않고 적어두었는데, 마치 알고리즘을 셀링하기 위해 상품 설명에 적어둔 그러한 느낌이었다. 소단원이 새로 시작될 즈음 필자가 다음 알고리즘을 어떻게 셀링하는지가 다음을 기대하는 소소한 즐거움이 되었다.
추천 대상
개인적으로는 게임AI 를 위한 탐색을 잠시 벗어나 탐색 알고리즘 자체를 오랜만에 살펴보며 한단계씩 이해해보는 과정 자체가 재미있었다.
해당 책은 그만큼 설명을 자세하고 단계적으로 하고 있고, 이해하는데 무리가 없도록 세심하게 신경을 썼다. 따라서, 게임 AI 의 구조에 흥미가 있는 사람들 뿐 아니라 폭 넓게 추천하고 싶다. 또한, 무엇보다 대결 게임을 개발하고 싶어 CPU (AI player) 를 만들고자 하는 사람에게 매우 적합한 책이다.
한줄평
게임 AI를 위한 탐색, 그 매력에 입문하다
'책 리뷰' 카테고리의 다른 글
[책 리뷰] 개발자를 위한 커리어 관리 핸드북 (1) | 2024.05.22 |
---|---|
[책 리뷰] 도시를 만드는 기술 이야기 (1) | 2024.04.13 |
[책 리뷰] 요즘 개발자 (3) | 2024.02.09 |
[책 리뷰] 기계의 반칙 (0) | 2023.12.09 |
[책 리뷰] 요즘 우아한 개발 (3) | 2023.11.10 |