Top

[최신 AI 기법을 적용한]
인공지능 게임 프로그래밍 실전 가이드

  • 원서명AI Game Development (ISBN 9781592730049)
  • 지은이Alex J.Champandard
  • 옮긴이이강훈
  • ISBN : 8989975522
  • 38,000원
  • 2004년 11월 18일 펴냄 (절판)
  • 페이퍼백 | 768쪽 | 190*255mm
  • 시리즈 : 게임 개발 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/ai-game)


<책 소개>

최근에는 게임 개발에 대한 관심이 증가하면서 관련 서적들도 많이 출간되고 있다. 특히 그래픽 분야뿐 아니라 인공지능, 물리 시뮬레이션 등 주제의 폭이 넓어지고 있다는 사실은 주목할 만하다.

인공지능은 게임 캐릭터(NPC)의 행동을 보다 영리하고 흥미롭게 만들어주는 역할을 한다. 그런데 지금까지 주로 게임에 사용됐던 인공지능은 실제 인공지능 분야에서 개발된 기술과는 별 상관이 없었고, 대개 스크립트와 AI 길찾기 등의 한정된 기술에만 의존해왔다. 물론 이들 기술만 가지고도 충분히 영리해 보이는 캐릭터를 만들 수 있다. 하지만 기본적으로 스크립트는 캐릭터의 행동을 고정된 반응으로 제한하며, 게임 디자이너의 많은 시행착오와 작업 시간을 필요로 한다.

이 책은 인공 신경망, 의사결정 트리, 유한상태 기계, 강화 학습 등 인공지능 분야의 여러 기술을 활용하여 캐릭터의 사실성과 지적 능력을 한 단계 높이는 동시에, 혁신적인 게임 디자인 및 프로그래밍 방법론을 제안한다. 특히 캐릭터 인공지능의 실험을 위해 상용게임인 Quake 2 환경을 사용하고, 오픈 소스 인공지능 엔진인 FEAR를 기반으로 한다는 점은 여타의 게임 인공지능 서적과 차별화되는 매력이다. 또한 기본적인 이동 기술로 시작해서 높은 수준의 전략 학습 능력을 부여하기까지의 과정이 체계적이고 일관성 있게 전개된다.

- 전통적인 AI 기법 뿐만 아니라 최신 AI 기법도 자세히 알려준다.
- 새로운 AI 기법을 적용하여 사실적이고 영리한 행동양식을 갖춘 캐릭터를 만드는 방법. 오픈 소스 AI 엔진인 FEAR에 통합되는 소스코드와 데모를 제공한다.
- 데쓰매치 캐릭터의 능력을 한 단계씩 발전시켜나가는 과정. 전체 AI 아키텍처 안에 새로운 AI 컴포넌트를 하나씩 만들어 통합한다.
- 강력한 AI 개발을 지원하는 최신 개발 방법론. 다음 세대의 게임 캐릭터를 만들기 위해서라면 필요조건이라 할 수 있는 개발 방식이다.


<책의 구성>

이 책은 파트, 장, 절, 문장, 단어로 나눠져 있다. 여기에는 혁신적인 것이 전혀 없다! 하지만 게임 AI의 실질적 응용을 위해 각 파트는 NPC가 갖추게 될 하나씩의 능력(이동, 전투 등)에 대등된다. 캐릭터의 능력은 단계적으로 발전해나간다. 그리고 마지막에 이르면 1인칭 슈팅 게임에서 데쓰매치 플레이를 학습할 수 있는 수준까지 도달한다. 그 과정에서 우리는 개발 단계 뒤에 숨어있는 개념을 하나씩 알아나갈 것이다. 이는 독립적인 게임 AI 개발자로 성장하기 위한 훌륭한 자양분이 될 것이다.
각 파트의 장마다 AI 제작 과정의 서로 다른 단계를 밟는다.

1. 플랫폼에 관한 이해
2. 문제에 관한 이해
3. 명세의 설계
4. 간단한 프로토타입의 구현
5. AI 이론의 설명
6. 모듈화된 컴포넌트의 개발
7. AI 기술의 적용
8. 완성된 결과의 실험
9. 솔루션의 테스트
10. 모델의 최적화
이것은 각 파트의 기본적인 청사진이다. 하지만 책이 진행돼 나감에 따라 융통성 있게 변화시킬 수 있다.


<부록 CD>
부록 CD에는 인공지능 엔진 FEAR의 SDK와 Quake 2 데모 버전이 포함돼있다. Quake 2 위에서 동작하는 자신만의 인공지능 캐릭터를 성장시켜나가다 보면, 책의 마지막 즈음에 이르러 매우 사실적이고 강력한 데쓰매치 봇을 갖게 될 것이다. 그리고 그 과정에서 자연스럽게 폭넓은 인공지능 이론이 자신의 것으로 소화돼있을 것이다.

저자/역자 소개

<저자 소개>

저자인 Alex J. Champandard는 인공지능 분야에서 탄탄한 학문적 배경을 가지고 있고, 요크(York)와 에딘버러(Edinburgh) 대학에서 공학 학위를 받았다. 그는 게임 개발자 회의(Game Developers Conference:GDC)등에서 가끔 AI 연구에 대한 발표를 한다. 특히 GDC에서는 학습 AI를 주제로 한 원탁회의(roundtable)의 의장을 맡고 있다. 또한 FEAR(오픈 소스 게임 AI 프로젝트)의 수석 프로그래머로서 전문 프로그래머들에게 최신의 프로토타입을 상업용 게임에 통합하는 작업에 관해 상담을 해주고 있다. 그는 유명한 AI 커뮤니티 사이트인 AI-Depot의 설립자이기도 하다. 이 곳에 AI 매니아들을 대상으로 한 튜토리얼을 정기적으로 올려놓고 있다. Alex는 AI Game Programming Wisdom 시리즈에도 여러 편의 글을 실었다. 그는 AI 게임 기법의 일반적인 특성에 대한 정의를 내리는 AI 표준 인터페이스 위원회에 회원 있다.


<저자 서문>

인공지능 게임 프로그래밍 실전 가이드는 사실적인 행동양식을 갖춘 인공 캐릭터를 만드는 방법을 설명한다. 이때 한 무리의 캐릭터가 아닌 하나의 애니멋(animat)에 초점을 맞춘다. 애니멋은 인공의 몸을 가지고 가상 세계에 거주하는 자율적인 개체를 말한다. AI 개발자로서 우리가 할 일은 애니멋에게 고유한 기술과 능력을 부여함으로써 그들이 가상환경과 상호작용할 수 있도록 하는 것이다.
전체에 걸쳐 우리는 그러한 자율적 AI 캐릭터를 만드는 방법과 그들이 지적으로 반응하도록 하는 방식을 배울 것이다. 테스트 환경으로서는 사실적인 3차원 게임을 사용한다. 단순한 명령행 프롬프트나 격자로 구성된 세계에서 프로그램을 돌리는 것이 아니다.
만족스러운 수준의 지성과 사실성을 만들어내기 위해서 이 책은 다양한 기술을 소개한다. 여기에는 최신 AI 기법(신경망, 의사결정 트리, 유전 알고리즘, 분류 트리, 강화학습 등)과 게임 업계에서 수십 년간 의존해온 보편적인 제어 기법(규칙 기반 시스템, 유한상태 기계 등)이 포함된다. 각각의 기법은 간략한 설명과 직관적인 예제, 그리고 수학에 기초한 깊이 있는 설명을 통해 기술하고 있다. 이 같은 추상적인 설명을 보완하기 위해 이 책에서는 사실적인 NPC(nonplayer character)를 실제로 만들어나간다. 이론과 실전 모두를 이해함으로써 독자는 이 책에서 익힌 기술을 새로운 문제에 적용할 수 있는 능력을 갖게 된다.
단지 프로그래밍 기술만을 가지고 시작해서, 우리는 자율적인 캐릭터를 만드는 일련의 방법론과 AI 개발 절차를 밑바닥부터 하나씩 쌓아 올린다. 또한 여러 가지 예제를 통해 게임 AI 개발자가 마주치는 보편적인 문제에 대한 해답을 얻고 그들 문제에 접근하는 구조화된 방식을 찾아나간다.
이 책은 이론과 실전, 그리고 AI 개발에 관한 개념을 특유의 방식으로 결합하고 있다. 인공 신경망의 예를 들면 첫 번째 장에서는 그 이론을 소개하고 두 번째 장에서는 캐릭터가 로켓으로 상대를 맞추도록 하며 세 번째 장에서는 AI 문제를 이해하는 일반적 교훈을 제시한다. AI와 관련된 지식들을 얻을 수 있는 것은 물론이고, 그와 동시에 매우 흥미진진한 경험을 할 수 있다.


<역자 소개>

역자인 이강훈은 서울대학교 컴퓨터공학부 운동 연구실(Movement Research Lab)에서 캐릭터 애니메이션과 관련된 연구를 수행 중이다. 캐릭터 애니메이션을 비롯해 실시간 렌더링, 인공지능, 게임 프로그래밍 등에 관심이 많다. 역서로는 "포토샵 7 업그레이드 - 처음부터 다시 배울래 이것만 배울래", "플래시 MX 액션 스크립트 - 코딩에 몸서리치는 당신을 위하여", "성공으로 이끄는 게임 개발 스토리" 등이 있다.


<역자 서문>
게임 프로그래밍은 재미있다. 적어도 이 책을 집어 든 독자라면 그 사실에 동의할거라고 믿는다. 그 재미는 어디에서 오는 걸까? 역자는 그 수많은 이유 가운데 하나가 바로 살아 숨쉬는 가상의 세계를 만드는 과정에 있다고 생각한다. 밤새워 만든 코드 덩어리들이 한데 맞물려서 가상 세계의 이미지와 움직임을 제어하는 모습을 확인할 때의 희열은 엄청나다. 그런데 프로그래머의 입장에서는 이를 위해 온갖 기술을 익혀야 한다. 굵직굵직한 것만 열거해도, 3차원 렌더링, 캐릭터 애니메이션, 네트워크, 물리 시뮬레이션, 사운드, 그리고 이 책이 다루는 인공지능까지 그 폭이 매우 넓다.

지금까지는 프로그래머들이 주로 가상 세계를 사실적인 이미지로 보여주는 기술, 즉 3차원 렌더링 기술에 많은 에너지를 쏟아왔다. 혹시 서점에서 이 글을 읽고 있는 독자라면 주위의 게임 관련 서적들을 살펴보라. 대부분의 책들이 3차원 그래픽 분야에 초점을 맞추고 있을 것이다. 덕분에 3차원 그래픽 기술은 엄청난 속도로 발전해왔고 지금까지도 그 속도는 감소할 줄을 모른다. 대부분의 게임 엔진 역시 주로 관심을 갖는 문제는 3차원 렌더링에 있다고 해도 과언이 아니다.

하지만 최근에는 관심의 방향이 보다 다양해지고 있다. 그 중 대표적인 것이 물리 시뮬레이션과 인공지능에 대한 관심이다. 끝내주는 스크린샷이 플레이어들의 관심을 이끌어내는데 톡톡한 역할을 하는 것은 사실이지만, 정작 중요한 게임의 재미는 가상 세계와의 상호작용을 통해 경험한다. 아주 사실적이고 정교한 이미지가 눈앞에 펼쳐진다고 해도, 게임 속 캐릭터가 이해할 수 없는 방식으로 어리석게 행동한다면 게임에 몰입하기가 쉽지 않을 것이다. 물리 시뮬레이션과 인공지능 기술 등은 바로 이 같은 게임 세계의 상호작용 수준을 높이는데 커다란 역할을 한다.

이 책은 다양한 인공지능 기술을 동원하여 보다 사실적인 캐릭터, 보다 영리한 캐릭터, 보다 흥미로운 캐릭터를 만드는 여정을 밟아나간다. 이 책의 가장 큰 장점이 여기에 있다. 단순히 여러 가지 인공지능 기술을 열거한 다음 연습문제로 간단한 프로그램을 작성해보는 것이 아니라, 상용 게임 수준의 환경에서 동작하는 인공지능 캐릭터의 능력을 조금씩 발전시켜나간다. 그리고 각각의 단계마다 요구되는 인공지능 이론과 기법을 하나씩 소개한다. 결국 이 책의 마지막 장에 도달하면 하나의 영리하고 사실적인 데쓰매치 캐릭터가 완성되는 동시에, 게임 캐릭터에 적용할 수 있는 폭 넓은 인공지능 기술을 익히게 되는 것이다.

이 책의 또 다른 장점은 실용성에 있다. 이 책에서 제작하는 인공지능 캐릭터는 2차원 격자 위에서 이리저리 움직이거나 디버깅 콘솔에서 문자열을 쏟아내지 않는다. 대신 3차원 1인칭 슈팅 게임인 QUAKE 2 환경에서 실제로 동작한다. 인공지능 캐릭터의 실험 환경으로 QUAKE 2를 사용하기 위해서는 핵심적인 인공지능 코드 양의 수십 배에 달하는 부가적 코드를 작성해야 한다. 다행히 이 책은 우리가 이 지루한 작업을 손수 하지 않아도 되게끔 배려하고 있다. 이 책의 저자가 주도하고 있는 오픈 소스 프로젝트인 FEAR 엔진이 견고한 프레임웍을 제공하기 때문이다. 우리는 인공지능 자체에 집중한 최소한의 코딩만으로 캐릭터가 QUAKE 2 세계 안을 돌아다니며 데쓰매치 게임을 수행하도록 만들 수 있다. 책 전체에 걸쳐 독자 여러분은 그런 경험을 반복할 것이다.

역자 서문에서 너무 많은 얘기를 할 필요는 없을 것이다. 지금까지의 설명을 듣고 흥미가 생겼다면 이제 저자 Alex의 안내에 따라 스스로의 인공지능 캐릭터를 구축해보기 바란다. 저자가 책 속에서 지적하듯이 `오직 연습만이 완벽에 이르게 한다`.

이 책은 역자의 네 번째 번역서이다. 늘 느끼는 어려움이지만 이번 책은 그 어느 때보다 쉽지 않았다. 과한 욕심에 비해 부족한 능력 때문이었다고 생각한다. 동시에 가장 애착이 컸던 책이었기 때문일지도 모른다. 많은 어려움에도 불구하고 결국 책이 출간될 수 있었던 것은 역자의 게으름을 끝까지 참고 신뢰해준 에이콘 출판사 식구들 덕분이다. 권성준 사장님, 김윤래 차장님, 정미씨, 은경씨, 디자이너 은영씨를 비롯한 모든 에이콘 가족들에게 감사드린다. 끝으로 이 책 곳곳에는 그 동안 역자의 부족한 능력을 채워주시고 길러주셨던 고 정완재 편집장님의 손길이 스며들어있다. 부끄럽지만 하늘에 계실 편집장님께 이 책을 바치고 싶다.

목차

목차
  • 1장 컴퓨터 게임의 AI
  • AI의 개요
    • 기계 지능
    • 지능의 정의
    • 과학의 한 분야로서의 AI
  • 컴퓨터 게임과 AI
  • 게임 AI의 현재 상태
    • 기술적 혁신
      • 디자인의 혁신
  • 게임 디자이너 vs. AI
    • 걸림돌
    • 두 종류의 게임
    • 어떤 충돌이 존재하는가?
  • 게임 프로그래밍에서의 AI

  • 2장 지능의 설계
  • 개발자의 관점
    • 전통적 접근방식
    • 통합과 설계
    • 가이드라인
    • 논의
  • 현대적 접근방식
    • 게임에서의 애니멋
    • 독립개체
    • 학습
  • 필요한 배경지식
    • 프로그래밍
    • 컴퓨터 과학
    • 수학
    • 소프트웨어 공학
    • 게임 엔진 아키텍처
  • AI 개발 절차
    • 개요
    • 반복
  • 요약

  • 3장 반응형 접근방식
  • 정의
    • 정의에 따른 반응형 기법
    • 실전에서의 반응형 기법
  • 계획형 행동 vs. 행동형 행동
    • 목표 지향 계획
    • 게임에서의 계획형 행동
    • 반응형 행동으로의 대체
  • 게임 개발에서의 반응형 기법
    • 일반적인 게임 AI에서의 장점
    • 애니멋을 사용할 때의 장점
  • 아키텍처
    • 컴포넌트
    • 구조
    • 분해
    • 중재
    • 예제
  • 요약

  • 4장 FEAR: 실험을 위한 플랫폼
  • 기술적인 개요
    • 명세
    • 프레임웍
    • 개발 단계
  • 세계 인터페이스
  • 모듈
    • 인터페이스
    • 데이터 로딩
    • 의존성
    • 유연한 아키텍처
  • 애니멋의 제작
    • 아키텍처의 기술
    • 소스코드 생성
    • 게임을 위한 준비 과정
  • 요약

  • 5장 게임 세계에서의 이동
  • 환경과 공간
    • 부분과 그것의 합
    • 공간의 정의
  • 게임 세계의 유형
    • 차원
    • 이산적인 공간 vs. 연속적인 공간
  • 이동의 처리
  • 가정
  • 테스트 환경
  • 요약

  • 6장 이동 능력
  • 이동의 예술
  • 게임 봇의 이동 방식
  • 애니멋의 자율적인 이동
  • 이동의 평가 기준
  • 케이스 스터디
  • 요약

  • 7장 분석과 이해
  • AI 시스템의 일반적인 구성
  • 분석 단계
    • 가정
    • 제약
    • 지침
  • 이해 단계
    • 평가 기준과 기대 결과
    • 문제의 정의
  • 일반적인 조언
  • 요약

  • 8장 이동의 형식적 기술
  • 이동에 대한 기존의 접근 방식
  • 가능한 선택 사항들
    • 컨텍스트
    • 행위
    • 감지
  • 설계 원칙
  • 명세
    • 인터페이스
    • 골격 코드
  • 요약

  • 9장 명세와 지식표현
  • 형식적 명세의 개요
    • 함수의 관점에서 바라본 AI
    • 명세의 목적
  • 지식표현
  • 지식표현의 여러 형태
    • 심볼
    • 객체-속성-값
    • 프레임
    • 의미 네트워크
    • 자기 검증의 필요성
  • 명세 절차
    • 스케치
    • 형식화
    • 점검
  • 논의
  • 요약

  • 10장 장애물 회피를 위한 속도변환 행동양식
  • 인공생명 개요
    • 가정
    • 쫒아가기와 달아나기
    • 그 밖의 행동들
  • 알고리즘
  • 첫번째 알고리즘
    • 개선된 알고리즘
    • 개선 방식
  • 평가
    • 장점
    • 단점
  • 요약

  • 11장 규칙 기반 시스템
  • 배경지식
  • RBS의 구성요소
    • 작업 메모리
    • 기반규칙
    • 인터프리터
  • 지식 획득과 표현
    • 지식 획득
    • 지식 표현
  • 논의
    • 장점
    • 단점
    • 게임 개발자의 접근방식
    • RBS에 적합한 문제
  • 요약

  • 12장 규칙 기반 시스템을 이용한 이동의 구현
  • 케이스 스터디
  • 구체화
    • RBS를 사용할 것인가?
    • 정방향 연쇄 vs. 역방향 연쇄
    • 규칙을 단순화하는 몇 가지 팁
  • RBS 모듈 설계
    • 초기화
    • 인터페이스
  • 구현
    • 자료구조
    • 인터프리터
  • 애플리케이션
    • 작업 메모리
    • 기반규칙
    • 센서와 이펙터
  • 평가
  • 요약

  • 13장 전투 설정
  • 무기
    • 근접 무기
    • 원거리 무기
  • 무기의 요구조건
  • 환경 조건
  • 훈련 공간
  • 요약

  • 14장 플레이어의 슈팅 기술
  • 전투의 기술
    • 접근전
    • 원거리 전투
  • 게임 기술
    • 쪼개놓자!
    • 전투의 흐름
  • 슈팅의 기준
  • 케이스 스터디
  • 요약

  • 15장 슈팅의 형식적인 분석
  • 배경지식
  • 가능한 옵션
    • 컨텍스트
    • 감지 능력
    • 액션
  • 체계화
    • 결정에 관련된 요인
    • 가정
  • 명세
    • 인터페이스
    • 골격 코드
  • 요약

  • 16장 물리를 이용한 예측
  • 기초
    • 물리적 상태
    • 수치 적분
  • 교차점 계산
  • 행동 예측
  • 시뮬레이션 알고리즘
  • 실험
  • 평가
  • 요약

  • 17장 퍼셉트론
  • 퍼셉트론의 역사
    • Rosenblatt의 퍼셉트론
    • Widrow와 Hoff의 아달린
    • 생물학적 영감
  • 모델 개관
  • 시뮬레이션
    • 전체 합
    • 활성화
    • 대략적인 알고리즘
  • 최적화에 대한 소개
    • 단순무식한 최적화
    • 수치적 최적화
    • 스티피스트 디슨트
    • 지역 최소값
    • 운동량의 추가
    • 시뮬레이티드 어닐링
  • 퍼셉트론 가중치의 최적화
    • 델타 규칙
    • 수학적 증명
  • 학습 절차
    • 데이터 집합
    • 학습 알고리즘
    • 개략적인 해설
  • 시각적 해석
  • 요약

  • 18장 조준 오차 다루기
  • 운동량과 마찰
    • 명시적 모델
    • 선형 근사
    • 방법
    • 평가
  • 오차 다루기
    • 역함수
    • 구현
  • 평가
  • 요약

  • 19장 다중 계층 퍼셉트론
  • 퍼셉트론의 역사
  • 소개
    • 구조
    • 활성화 함수
    • 활성화 함수의 종류
  • 시뮬레이션
  • 생물학적 신경망
    • 뉴런
    • 요약
  • 학습 알고리즘
    • 역방향 전달
    • 백프롭 알고리즘
    • 퀵프롭 알고리즘
    • 알프롭 알고리즘
  • 실제적 쟁점
    • 일반화
    • 테스트와 검증
    • 점진적 방식 vs. 일괄적 방식
    • 점진적 학습
  • 논의
    • 장점
    • 단점
  • 요약

  • 20장 목표 지점의 선택
  • 케이스 스터디
  • 이론적 설명
  • 모듈 설계
    • 초기화
    • 인터페이스
  • 구현
    • 자료구조
    • 시뮬레이션과 학습
  • 어플리케이션
    • 알고리즘
    • 로켓 추적
    • 노이즈 처리
    • 입.출력
    • 학습 절차
  • 평가
  • 요약

  • 21장 문제의 이해
  • 블랙박스로서의 문제 이해
    • 직관적인 이해
    • 소프트웨어의 명세
    • 이론적 분석
  • 기반 지식
    • 사용량 분석
    • 변수와 공분산
    • 효과적인 도메인
  • 기본적 이해
    • 문제의 특성
    • 문제의 속성
  • 문제 다듬기
    • 단순화
    • 나누어 정복하기
  • 방법론
    • 실험에 의한 특성 추출
    • 데이터 분석
  • 요약

  • 22장 전투 조건
  • 무기의 속성
  • 무기의 활용성
    • 적과의 거리
    • 전투의 진행 상황
    • 플레이어와 적의 상태
    • 환경 배치
    • 무기 경쟁
    • 플레이어의 기술
  • 학습 공간
  • 요약

  • 23장 무기의 선택
  • 무기 선택 의사결정
    • 무기 효용성을 예측하는 이론
    • 선택 방법
  • 적합도 계산의 두 가지 방식
    • 연역추론
    • 경험
    • 절충형 접근방식
  • 무기 선택의 평가기준
    • 명확성
    • 정당성
  • 케이스 스터디
  • 요약

  • 24장 무기 선택 인터페이스
  • 가능한 옵션들
    • 컨텍스트
    • 감지
    • 액션
  • 체계화
    • 결정 기준
    • 가정
  • 명세
    • 인터페이스
    • 골격 코드
  • 요약

  • 25장 스크립트를 이용한 전략 결정
  • 스크립트 기초
    • 스크립트 언어
    • 스크립트 환경
    • 컴포넌트 통합
    • 스크립트 모듈
  • 스크립트를 이용한 무기 선택의 구현
    • 개요
    • 무기 속성
    • 투표 시스템
    • 환경 특성을 고려한 투표 결과
    • 시간적 제약
  • 평가
  • 요약

  • 26장 분류 트리와 회귀 트리
  • 의사결정 트리의 구조
    • 데이터 샘플
    • 의사결정 트리
    • 조건 노드
    • 리프 노드
  • 분류와 회귀
  • 의사결정 트리의 학습
    • 재귀적 분할 기법 개요
    • 데이터 집합의 분할
  • 학습 절차
    • 데이터 집합의 관리
    • 가지치기
    • 배깅과 부스팅
  • 논의
  • 요약

  • 27장 무기 적합도의 학습
  • 네 가지 접근방식
    • 적절한 무기의 학습
    • 무기 적합도의 학습
    • 무기 속성의 학습
    • 투표 시스템의 학습
  • 체계화
    • 방법론
    • 논의
  • 모듈 설계
    • 초기화
    • 인터페이스
  • 구현
    • 자료구조
    • 예측
  • 어플리케이션
    • 환경 특성의 해석
    • 전투 에피소드의 관찰
    • 적합도 계산
    • 사실성을 높이기 위한 의도적 오류
  • 평가
  • 요약

  • 28장 솔루션의 이해
  • 솔루션의 복잡도
    • 정보 이론과 AI
    • 최소 복잡도
    • 이론과 실제
  • 탐색 공간
    • 내부 표현
    • 예제
    • 탐색 공간의 특성
  • 솔루션을 찾는 여러 가지 접근방식
    • 전문가의 솔루션
    • 전문가의 도움
    • 샅샅이 뒤지는 방식
    • 무작위 탐색
    • 절충형 방식
  • 요약

  • 29장 분석과 명세
  • 게임 세계의 객체
    • 아이템
    • 이동 장치
    • 테스트 환경
  • 행동양식의 개선
    • 사람의 방식
    • 평가 기준
    • 케이스 스터디
  • 명세
    • 동작
    • 인벤토리
    • 시각
    • 물리적 상태
  • 요약

  • 30장 퍼지 논리
  • 집합 논리의 확장
    • 원리
    • 퍼지 집합
    • 집합 이론
    • 퍼지 변경자
  • 퍼지 표현방식
    • 퍼지 변수와 값
    • 언어적 변수
    • 퍼지화
    • 역퍼지화
  • 퍼지 논리
    • 연산자
    • 언어적 표현
    • 퍼지 논리에 대한 반대
  • 퍼지 제어와 의사결정
    • 작업 메모리
    • 지식 기반
    • 퍼지 인터프리터
    • 알고리즘
  • 논의
  • 요약

  • 31장 퍼지 시스템을 이용한 이동 행동의 개선
  • 퍼지 변수와 포함 함수
    • 액션
    • 감지
  • 퍼지 규칙
    • 문 사용
    • 사다리 사용
    • 플랫폼 사용
  • 모듈 설계
    • 초기화
    • 인터페이스
  • 평가
  • 요약

  • 32장 유전 알고리즘
  • 생물학적 진화
    • 진화 이론
    • 생물학적 재생산
    • 영감
  • 유전학과 표현 방식
    • 게놈과 유전형
    • 피놈과 표현형
    • 변환
  • 유전 알고리즘
    • 개체 집단
    • 초기화
    • 평가
    • 선택
    • 교배
    • 변이
    • 교체
  • 유전 연산자와 진화 정책
    • 초기화
    • 교배
    • 변이
    • 선택
    • 교체
  • 고급 주제
    • 이른 수렴
    • 느린 수렴
    • 파라미터, 파라미터, 파라미터
    • 적용 분야에 대한 지식
  • 논의
  • 요약

  • 33장 학습하는 분류자 시스템
  • 분류자의 표현 방식
    • 선행절과 결과절
    • 추가 속성
  • 분류자 시스템의 개요
    • 아키텍처
    • 센서 입력과 일치하는 분류자의 선택
    • 새로운 분류자의 생성
    • 분류자의 제거
    • 예측
    • 액션 선택
    • 강화
  • 논의
  • 요약

  • 34장 유전 알고리즘을 이용한 적응형 방어 전략
  • 액션 시퀀스의 표현 방식
    • 액션과 파라미터
    • 액션 시퀀스
  • 유전 연산자
    • 무작위 생성
    • 교배
    • 변이
  • 유전 알고리즘 개요
  • 유전 알고리즘 모듈 설계
    • 유전 알고리즘의 역할
    • 인터페이스
  • 적합도 계산
    • 로켓 점프
    • 폭파 회피
  • 어플리케이션
  • 평가
  • 요약

  • 35장 학습하는 AI의 설계
  • 학습의 목적
    • 왜 학습하는가?
    • 무엇을 학습하는가?
  • 학습의 접근방식
    • 온라인 학습과 오프라인 학습
    • 두 가지 기본적인 기법
  • 다양한 학습 컴포넌트
    • 감독 학습
    • 강화 학습
    • 진화 학습
    • 무감독 학습
    • 비교
  • 행동 학습의 방법론
    • 훈련
    • 모방
    • 시행착오
    • 구체화
    • 비교
  • 요약

  • 36장 감정을 가진 캐릭터
  • 인간 진화 과정에서 나타난 감정
  • 감정의 생물학적 모델
  • 감정에서 인공지능까지
  • 사람과 기계의 상호작용
  • 게임에서의 감정
  • 요약

  • 37장 감각, 감정, 느낌
  • 감각
    • 지각에 의한 감각
    • 인식에 의한 감각
  • 감정
    • 기분
    • 느낌
  • 감정 전달을 위한 인터페이스
    • 설계 원칙
    • 체계화
    • 명세
  • 게임에서 감정의 전달
    • 기존 센서와 액션의 활용
    • 센서
    • 새로운 인터페이스
    • 감정 표현의 예
  • 요약

  • 38장 유한상태 기계
  • 형식적 정의
    • 유한상태 오토마타
    • 밀리 머신
    • 무어 머신
  • 표현 방식과 시뮬레이션
    • 전이 배열
    • 유향 그래프
    • 문법
  • 제어 로직
    • 절차적 방식
    • 절차적 유한상태 기계의 잠재적 문제점
    • 절차적 제어의 해법
  • 최적화
  • 논의
    • 장점
    • 단점
  • 요약

  • 39장 유한상태 기계를 이용한 감정 모델링
  • 인공 감정의 설계
    • 1차적 감정
    • 자극과 감각
    • 행동 반응
  • 유한상태 모듈의 개발
    • 데이터 교환
    • 유한상태 오토마타
    • 유한상태 기계
    • 인터페이스
  • 구현
  • 유한상태 기계로 감정 만들기
    • 감정 처리를 위한 유한상태 기계
    • 감각 처리를 위한 유한상태 오토마타
    • 통합
  • 평가
  • 요약

  • 40장 비결정적 상태 기계
  • 개요
  • 퍼지 상태 기계
    • 정의
    • 표현
    • 시뮬레이션
    • 논의
  • 비결정적 상태 기계
    • 정의
    • 표현
    • 알고리즘
    • 논의
  • 확률적 상태 기계
    • 정의
    • 알고리즘
    • 논의
  • 요약

  • 41장 계층적 상태 기계
  • 개요
  • 계층구조
    • 중첩된 상태
    • 중첩된 유한상태 기계
    • 혼성 계산 모델
  • 계층 간 상호작용
    • 마스터와 슬레이브
    • 스택 기반
    • 레벨 오브 디테일
    • 상호작용 구조의 일반화
  • 논의
    • 장점
    • 단점
  • 요약

  • 42장 감정 시스템
  • 계층적 아키텍처
  • 느낌의 모델링
    • 관계에 대한 기억
    • 느낌의 인식
  • 개선된 감각
    • 다양화된 자극
    • 감각의 조합
    • 퍼지 오토마타의 시뮬레이션
  • 감정의 축적
  • 매너리즘을 이용한 감정 표현
  • 기분의 계층구조
  • 평가
  • 요약

  • 43장 창발성
  • 창발성의 정의
    • 창발성에 관한 논의
    • 창발성의 종류
  • 창발적 행동양식
  • 보다 영리한 환경, 보다 단순한 행동양식
    • 행동 유도
    • 인지와 전파
  • 창발적 기능
  • 요약

  • 44장 전략적 의사결정
  • 게임 상황
    • 영향을 주는 요인들
    • 의사결정에서 고려하는 특성들
  • 개인적 목표
  • 전략적 행동
  • 애니멋과 의사결정
  • 훈련 공간
  • 요약

  • 45장 전술적 지능의 구현
  • 전략적 행동의 제작
    • 기존 기술의 재활용
    • 기본 행동
  • 포섭 구조
    • 확장된 유한상태 기계
    • 계층적 접근방식
    • 구현과 최적화
  • 포섭 구조의 적용
  • 평가
  • 요약

  • 46장 강화학습
  • 강화 이론의 정의
    • 게임 내 상황
    • 강화 모델
    • 행동 정책
    • 최적에 대한 정의
    • 마르코프 의사결정 과정
  • 기본 요소
    • 값 함수
    • 강화 문제의 종류
    • 탐색 vs. 이용
    • 학습 도구
  • 강화 학습 알고리즘
    • 동적 프로그래밍 기법
    • 몬테 카를로 기법
    • 시간 차이 학습
  • 고급 주제
    • 근사자
    • 계층
  • 논의
    • 장점
    • 단점
  • 요약

  • 47장 반응형 전략의 학습
  • 제어에 따른 분해
  • 적응형 수집 행동
    • 액션
    • 상태
    • 보상 신호
    • 학습 정책
  • 이동 모델링
    • 액션
    • 상태
    • 보상 신호
    • 학습 정책
  • 슈팅 스타일의 학습
    • 액션
    • 보상 신호
    • 학습 정책
  • 다른 능력들
  • 평가
  • 요약

  • 48장 행동의 적응
  • 무엇이 문제인가?
    • 학습이 이뤄지지 않는다
    • 제어가 불가능하다
    • 최적의 결과가 아니다
    • 비사실적이다
  • 견고한 소프트웨어 공학
    • 신뢰성 있는 프로그래밍
    • 테스트와 디버깅
    • AI 공학
  • 견고한 설계
    • 모델링
    • 적합도와 보상
    • 아키텍처
  • 방법론
  • 요약

  • 49장 게임 AI 공학의 원칙
  • 아키텍처
    • AI 모듈
    • 능력
    • 행동양식
    • 중재
  • 구현
    • 네이티브 코드
    • 스크립트
    • 데이터 구동
  • 기술과 그 활용도
    • 문제 해결
    • 순차적 제어
    • 패턴 인식
    • 시퀀스 인식
  • 학습과 피드백 메커니즘
  • 요약

  • 50장 다음 단계를 향하여
  • 오직 연습뿐
    • 열려있는 도전
    • 게임 AI 전문가 포럼
  • 세계 모델
  • 계획형 기법
  • 참고자료
  • 찾아보기
  • CD 설치 가이드

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안