본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

게임 AI를 위한 탐색 알고리즘 입문 상세페이지

컴퓨터/IT 개발/프로그래밍

게임 AI를 위한 탐색 알고리즘 입문

트리 탐색과 메타 휴리스틱으로 완성하는 최적화, C++ 기반 예제 코드 제공
소장종이책 정가27,000
전자책 정가20%21,600
판매가21,600
게임 AI를 위한 탐색 알고리즘 입문 표지 이미지

게임 AI를 위한 탐색 알고리즘 입문작품 소개

<게임 AI를 위한 탐색 알고리즘 입문> 게임 AI에 빠질 수 없는 탐색 알고리즘의 이론부터 실전 게임 적용까지
* 실전 AI 게임 구현을 위한 C++ 기반 예제 코드 제공

『게임 AI를 위한 탐색 알고리즘 입문』은 게임 AI 기술을 위한 핵심 요소 중 하나인 ‘탐색’에 대해 다룹니다. 탐색은 조합론적 게임 이론의 게임 트리 탐색과 조합 최적화를 사용한 메타 휴리스틱을 포함하여 지칭하는 용어입니다.
이 책에서는 C++ 개발 환경 준비와 플레이어의 행동을 예측하거나 조합 최적화를 이용하는 등 게임 유형에 따른 1인 게임에 맞춰 적합한 탐색 알고리즘을 설명합니다. 또한 장기나 바둑처럼 교대로 두는 2인 게임, 동시에 두는 2인 게임 등 다음 수를 전혀 예상할 수 없는 게임에 어울리는 탐색 알고리즘도 함께 살펴봅니다. 전반부에는 게임 종류에 어울리는 알고리즘을 소개했다면, 후반부에는 더 좋은 탐색을 위한 알고리즘과 실전에서 어떻게 활용할 수 있는지를 배워봅니다. ‘커넥트 포’ 놀이를 하는 AI를 직접 구현해 보고, 강화시키는 과정을 통해 실전 능력을 키워봅니다.


출판사 서평

이 책은 게임 AI에 빠질 수 없는 핵심 중 하나인 탐색 알고리즘의 기본 개념을 소개하면서, 게임 유형에 따라 어울리는 탐색 알고리즘을 살펴봅니다. 여러 게임에 적용할 수 있는 알고리즘뿐만 아니라 여러 대회에서 우승했던 저자가 직접 개발한 알고리즘도 함께 알아봅니다. 또한 C++ 기반의 예제 코드는 주석을 통해 친절하게 설명되어 있으며, COLUMN과 POINT 구성을 통해 입문자들도 이해하기 쉽게 구성했습니다. 추가로 실전에서 사용 가능한 템플릿 코드도 추가로 제공하여 게임 AI 개발에 필요한 이론과 노하우를 체계적으로 전달합니다.

추천사

이 책은 '게임' 인공지능 개발을 위한 책이라고 하지만 저는 이 책을 인공지능을 공부하는 모든 학생과 일반인 분들도 접했으면 좋겠다고 생각했습니다. 전공자가 배우는 인공지능 책은 매우 진부해서 흥미가 생기기 어렵지만, 게임이라면 다릅니다.
이 책은 읽기 쉬운 소스 코드와 함께 게임을 활용하여 광범위한 AI 지식을 실전에 적용할 수 있도록 명료하게 설명합니다. 그동안 AI 이론에 대해 복잡하고 난해한 설명을 접했다면, 이 책은 우리의 흥미를 자극할 것이라 단언할 수 있습니다.

이강민, 프리랜서 개발자

과거 스타크래프트 전성기였던 초등학생 시절, 다수의 컴퓨터를 상대하여 혼자서 몇 대나 이길 수 있는지를 기준으로 등급을 가렸던 기억이 납니다. 초보 플레이어일 때는 한 대만 상대하기에도 벅찼지만, 경험이 쌓이다 보면 인공지능의 전략적 취약점을 발견하게 되고 그 부분을 집중 공략하면 3~4대를 상대해도 어느 정도 우위를 점할 수 있었습니다. 지금의 게임 AI는 과거에 비해 수준이 압도적으로 상승했고, 일부 분야는 오히려 사람이 AI로부터 전술을 배워야 하는 단계가 되었습니다.
아무리 컴퓨터의 계산 능력이 좋다고 하더라도, 모든 경우의 수를 전수조사하는 방법은 결코 효과적일 수 없습니다. 결국 비교적 유망한 경로를 조기에 결정하고 나머지 다른 가능성을 포기하며 실수를 감수하는 냉철한 판단이 요구되며, 이를 탐색 알고리즘에 대한 최적화 문제로 접근할 수 있습니다. 이 책은 게임 인공지능을 위한 탐색 알고리즘의 A to Z를 다루는 유일무이한 책입니다.

박재유, LG전자 선임 연구원

프로그래밍을 공부할 때 결국은 자료구조와 알고리즘을 고려하지 않을 수 없습니다. 기본서를 공부한 후 탐색 알고리즘에 깊게 집중하고 싶다면 이 책을 추천합니다. C++ 기반 실습용 예제 코드를 함께 제공하며 독자의 이해를 돕기 위한 저자의 의도가 명확히 드러나는 책입니다. C++ 프로그래밍 알고리즘을 통해 AI 프로그래밍에 입문하고 싶은 학생들에게 강력히 추천합니다.

최고은, 소프트웨어 엔지니어


저자 프로필

아오키 에이타

  • 경력 HEROZ 주식회사 개발자

2024.03.06. 업데이트 작가 프로필 수정 요청

HEROZ 주식회사에서 게임 AI 개발을 전문으로 하고 있습니다. 프로그래밍 대회에서는 ‘thunder’라는 닉네임으로 활동하며, 매년 열리는 IEEE Conference on Games에서 개최되는 게임 AI 경쟁 대회에서 7회 우승한 경력이 있습니다. 그 중에서 특히 Fighting Game AI Competition에서 4연패를 달성했습니다. 또한, Qiita에는 이 책의 기반이 된 ‘세계 4연패 AI 엔지니어가 제로부터 알려주는 게임 트리 탐색 입문’이라는 글을 기고하는 등 탐색 알고리즘을 널리 알리고자 힘쓰고 있습니다.


저자 소개

지은이 아오키 에이타
현재 HEROZ 주식회사에서 게임 AI 개발을 전문으로 하고 있습니다. 프로그래밍 대회에서는 ‘thunder’라는 닉네임으로 활동하며, 매년 열리는 IEEE Conference on Games에서 개최되는 게임 AI 경쟁 대회에서 7회 우승한 경력이 있습니다. 그 중에서 특히 Fighting Game AI Competition에서 4연패를 달성했습니다. 또한, Qiita에는 이 책의 기반이 된 ‘세계 4연패 AI 엔지니어가 제로부터 알려주는 게임 트리 탐색 입문’이라는 글을 기고하는 등 탐색 알고리즘을 널리 알리고자 힘쓰고 있습니다.




옮긴이 서수환
일본에서 IT 시스템을 설계, 개발하는 엔지니어입니다. 귀찮은 일이 생기면 대신해줄 무언가를 찾다가 없으면 만드는 것이 취미입니다. 또 뭐하며 놀까에 대해 늘 고민하고 있습니다.

목차

1장 게임과 탐색의 세계
1.1 게임 AI와 탐색
__1.1.1 게임에서 말하는 AI와 탐색
__1.1.2 게임 종류와 탐색 알고리즘
1.2 게임에서 탐색의 매력
__1.2.1 개인 게임 개발을 한다면 탐색!
__1.2.2 대규모 상업 게임 개발에서도 탐색!
__1.2.3 다양한 프로그래밍 대회에서 이기기 위한 비장의 무기

2장 개발 환경 준비
2.1 WSL(Windows Subsystem for Linux) 설치 방법
__2.1.1 WSL 동작 확인
__2.1.2 CPU 가상화 기능 확인
__2.1.3 바이오스/UEFI에서 가상화 기능 활성화
__2.1.4 배포판 설정
__2.1.5 패키지 업데이트
__2.1.6 C++ 개발 환경 설치하기

3장 컨텍스트가 있는 1인 게임에서 사용하고 싶은 탐색 알고리즘
3.1 예제 게임 소개: 숫자 모으기 미로 게임
__3.1.1 숫자 모으기 미로 게임
__3.1.2 숫자 모으기 미로 게임 구현하기
3.2 그리디 알고리즘(탐욕법)
__3.2.1 그리디 알고리즘의 특징과 동작: 모든 탐색 알고리즘의 기초! 이것만 있으면 싸울 수 있다!
__3.2.2 그리디 알고리즘 구현하기
3.3 빔 탐색
__3.3.1 빔 탐색의 특징과 동작: 탐색 공간을 파악해라! 경진 대회 상위권에서 자주 등장하는 탐색법!
__3.3.2 빔 탐색 구현하기
COLUMN 빔 탐색 구현 방식 변경
3.4 Chokudai 탐색
__3.4.1 Chokudai 탐색의 특징과 동작: 다양성을 자동으로 확보! 간편하고 초보자에게 추천!
__3.4.2 Chokudai 탐색 구현하기

4장 컨텍스트가 없는 1인 게임에서 사용하고 싶은 탐색 알고리즘
4.1 예제 게임 소개: 자동 숫자 모으기 미로 게임
__4.1.1 숫자 모으기 미로 게임
__4.1.2 자동 숫자 모으기 미로 구현하기
4.2 언덕 오르기 탐색
__4.2.1 언덕 오르기 탐색의 특징과 동작: 착실하게 좋은 답을 탐색한다! 간단하고 안정감 있는 알고리즘!
__4.2.2 언덕 오르기 탐색 구현하기
4.3 담금질 기법
__4.3.1 담금질 기법의 특징과 동작: 국소 최적해에서 벗어나라! 마라톤 매치로 친숙한 알고리즘!
__4.3.2 담금질 기법 구현하기
COLUMN 메타 휴리스틱


5장 교대로 두는 2인 게임에서 사용하고 싶은 탐색 알고리즘
5.1 예제 게임 소개: 교대로 두는 숫자 모으기 미로 게임
__5.1.1 교대로 두는 숫자 모으기 미로 게임
__5.1.2 교대로 두는 숫자 모으기 미로 구현하기
5.2 미니맥스 알고리즘
__5.2.1 미니맥스 알고리즘의 특징과 동작: 신의 한 수!
__5.2.2 미니맥스 알고리즘 구현하기
5.3 알파-베타 가지치기
__5.3.1 알파-베타 가지치기의 특징과 동작: 낭비는 용서할 수 없다! 미니맥스 알고리즘 진화!
COLUMN 미니맥스 알고리즘과 알파-베타 가지치기의 관계
__5.3.2 알파-베타 가지치기 구현하기

5.4 반복 심화 탐색
__5.4.1 반복 심화 탐색의 특징과 동작: 낭비할 시간이 없다! 최적의 트리 깊이를 찾자!
__5.4.2 반복 심화 탐색 구현하기
5.5 순수 몬테카를로 탐색
__5.5.1 순수 몬테카를로 탐색의 특징과 동작: 게임판 평가는 필요없다! 승률이 좋은 수를 선택하자!
COLUMN 몬테카를로 탐색과 라스베가스 탐색
__5.5.2 순수 몬테카를로 탐색 구현하기
5.6 MCTS 몬테카를로 트리 탐색
__5.6.1 MCTS의 특징과 동작: 적을 얕보지 말라! 강자 대결 시뮬레이션
__5.6.2 MCTS 구현하기
5.7 Thunder 탐색
__5.7.1 Thunder 탐색의 특징과 동작: 필자가 발명! 게임판 평가를 이용해서 유리한 노드를 탐색한다!
__5.7.2 Thunder 탐색 구현하기
COLUMN Thunder 탐색은 어떻게 만들어졌나?


6장 동시에 두는 2인 게임에서 사용하고 싶은 탐색 알고리즘
6.1 예제 게임 소개: 동시에 두는 숫자 모으기 미로 게임
__6.1.1 동시에 두는 숫자 모으기 미로 게임
__6.1.2 동시에 두는 숫자 모으기 미로 구현하기
6.2 교대로 두는 게임용 알고리즘 적용
__6.2.1 순수 몬테카를로 탐색 구현하기
__6.2.2 MCTS 구현하기
6.3 DUCT(Decoupled Upper Confidence Tree)
__6.3.1 DUCT의 특징과 동작: 동시에 두는 게임이라면 바로 이거!
__6.3.2 DUCT 구현하기


7장 더 좋은 탐색을 하는 기법
7.1 예제 게임 소개: 벽이 있는 숫자 모으기 미로 게임
__7.1.1 벽이 있는 숫자 모으기 미로 게임
__7.1.2 벽이 있는 숫자 모으기 미로 구현하기
7.2 평가 함수 설계하기
__7.2.1 실제 기록 점수 이외의 후보 점수 추가하기
__7.2.2 실제 기록 점수 이외의 보조 기록 점수를 추가하는 방법 구현하기
7.3 다양성 확보 방침
__7.3.1 동일 게임판 제거하기
__7.3.2 동일 게임판 제거 구현하기
7.4 고속화
__7.4.1 다수의 비트열로 게임판 표현하기
__7.4.2 다수의 비트열로 게임판 표현 구현하기
__7.4.3 단일 비트열로 게임판 표현하기
__7.4.4 단일 비트열을 사용한 게임판 표현 구현하기
__7.4.5 복사 횟수 제어하기
__7.4.6 참조 카운트 방식으로 복사 횟수 제어 구현하기


8장 실제 게임에 응용하기
8.1 커넥트 포 게임을 플레이하는 AI 구현하기
__8.1.1 커넥트 포 게임
__8.1.2 커넥트 포 구현하기
__8.1.3 게임판 비트보드를 이용해서 고속화하기
__8.1.4 커넥트 포에 비트 연산을 적용해서 구현하기


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전