이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
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 커넥트 포에 비트 연산을 적용해서 구현하기
|
서수환 의 다른 상품
이 책은 게임 AI에 빠질 수 없는 핵심 중 하나인 탐색 알고리즘의 기본 개념을 소개하면서, 게임 유형에 따라 어울리는 탐색 알고리즘을 살펴봅니다. 여러 게임에 적용할 수 있는 알고리즘뿐만 아니라 여러 대회에서 우승했던 저자가 직접 개발한 알고리즘도 함께 알아봅니다. 또한 C++ 기반의 예제 코드는 주석을 통해 친절하게 설명되어 있으며, COLUMN과 POINT 구성을 통해 입문자들도 이해하기 쉽게 구성했습니다. 추가로 실전에서 사용 가능한 템플릿 코드도 추가로 제공하여 게임 AI 개발에 필요한 이론과 노하우를 체계적으로 전달합니다.
|