Skip to product information
Introduction to Search Algorithms for Game AI
Introduction to Search Algorithms for Game AI
Description
Book Introduction
From the theory of search algorithms essential to game AI to their practical application in real games.
Provides C++-based example code for implementing real-world AI games.


"Introduction to Search Algorithms for Game AI" covers "search," one of the core elements of game AI technology.
Search is a term that refers to game tree search in combinatorial game theory and metaheuristics using combinatorial optimization.
This book explains how to prepare a C++ development environment and how to use search algorithms appropriate for single-player games, such as predicting player behavior or utilizing combinatorial optimization.
We also look at search algorithms that are suitable for games where the next move is completely unpredictable, such as two-player games like Janggi or Baduk, where the players take turns playing, or two-player games where the players play simultaneously.
In the first half, we introduced algorithms suitable for each game type, and in the second half, we learn about algorithms for better exploration and how to utilize them in real-world situations.
Develop practical skills by implementing and strengthening an AI that plays 'Connect for'.

  • You can preview some of the book's contents.
    Preview
","
index
Chapter 1: The World of Games and Exploration

1.1 Game AI and Exploration
__1.1.1 AI and Exploration in the Game
__1.1.2 Game Types and Search Algorithms
1.2 The allure of exploration in games
__1.2.1 Explore if you are developing a personal game!
__1.2.2 Exploring large-scale commercial game development!
__1.2.3 A secret weapon to win various programming competitions

Chapter 2: Preparing the Development Environment

2.1 How to install WSL (Windows Subsystem for Linux)
__2.1.1 Checking WSL operation
__2.1.2 Check CPU virtualization function
__2.1.3 Enabling virtualization in BIOS/UEFI
__2.1.4 Distribution Settings
__2.1.5 package update
__2.1.6 Installing the C++ Development Environment

Chapter 3: Search Algorithms You Want to Use in a Contextual, Single-Player Game

3.1 Introduction to the Example Game: Number Collection Maze Game
__3.1.1 Number Collection Maze Game
__3.1.2 Implementing a number-collecting maze game
3.2 Greedy Algorithm
__3.2.1 Greedy Algorithm Features and Operation: The Foundation of All Search Algorithms! With this, you can fight!
__3.2.2 Implementing a Greedy Algorithm
3.3 Beam Search
__3.3.1 Characteristics and Operation of Beam Search: Understand the Search Space! A Search Method Frequently Featured in Top Competitions!
__3.3.2 Implementing beam search
Changes to the way COLUMN beam search is implemented
3.4 Chokudai Exploration
__3.4.1 Features and Operations of Chokudai Search: Automatically Secures Diversity! Easy and Recommended for Beginners!
__3.4.2 Implementing Chokudai Search

Chapter 4: Search Algorithms You Want to Use in Context-Free, Single-Player Games

4.1 Introduction to the Example Game: Automatic Number Collection Maze Game
__4.1.1 Number Collecting Maze Game
__4.1.2 Implementing an automatic number-collecting maze
4.2 Hill Climb Navigation
__4.2.1 Hill Climbing Search: Features and Operations: Steadily Searching for Good Solutions! A Simple and Reliable Algorithm!
__4.2.2 Implementing Hill Climb Search
4.3 Pickling Techniques
__4.3.1 Characteristics and Operation of the Pickling Technique: Breaking Out of Local Optimal Solutions! An Algorithm Familiar with Marathon Matches!
__4.3.2 Implementing the pickling technique
COLUMN Metaheuristics

A search algorithm that you would like to use in a two-player game where you alternate between 5 players.

5.1 Introduction to the Example Game: Alternating Number Collection Maze Game
__5.1.1 Alternating Number Collection Maze Game
__5.1.2 Implementing a maze that collects alternating numbers
5.2 Minimax Algorithm
__5.2.1 Characteristics and Operation of the Minimax Algorithm: A Masterstroke!
__5.2.2 Implementing the Minimax Algorithm
5.3 Alpha-Beta Pruning
__5.3.1 Alpha-Beta Pruning: Characteristics and Operations: Waste is Unforgivable! The Evolution of the Minimax Algorithm!
COLUMN The Relationship Between the Minimax Algorithm and Alpha-Beta Pruning
__5.3.2 Implementing Alpha-Beta Pruning

5.4 Iterative Deepening Exploration
__5.4.1 Features and Operations of Iterative Deepening Search: No Time to Waste! Find the Optimal Tree Depth!
__5.4.2 Implementing iterative deepening search
5.5 Pure Monte Carlo Search
__5.5.1 Features and behavior of pure Monte Carlo search: No need to evaluate the board! Just choose the move with the best chance of winning!
COLUMN Exploring Monte Carlo and Las Vegas
__5.5.2 Implementing Pure Monte Carlo Search
5.6 MCTS Monte Carlo Tree Search
__5.6.1 MCTS Features and Operations: Don't Underestimate Your Enemy! A Simulation of the Battle of the Strong
__5.6.2 Implementing MCTS
5.7 Thunder Exploration
__5.7.1 Features and Operations of Thunder Exploration: Invented by the Author! Uses board evaluation to explore advantageous nodes!
__5.7.2 Implementing Thunder Navigation
COLUMN How was Thunder Navigation created?

A search algorithm that you would like to use in a two-player game where you place six cards simultaneously.

6.1 Introduction to the Example Game: A Simultaneous Number Collection Maze Game
__6.1.1 Simultaneous Number Collection Maze Game
__6.1.2 Implementing a simultaneous number collection maze
6.2 Algorithm application for alternating games
__6.2.1 Implementing Pure Monte Carlo Search
__6.2.2 Implementing MCTS
6.3 DUCT(Decoupled Upper Confidence Tree)
__6.3.1 DUCT's features and operation: If you're looking for a game that puts things in place at the same time, this is it!
__6.3.2 Implementing DUCT

Chapter 7: Techniques for Better Exploration

7.1 Introduction to the Example Game: A Number-Collecting Maze with Walls
__7.1.1 Number Collecting Maze Game with Walls
__7.1.2 Implementing a number-collecting maze with walls
7.2 Designing an Evaluation Function
__7.2.1 Adding candidate scores other than actual recorded scores
__7.2.2 Implementing a method to add auxiliary record scores other than the actual record scores
7.3 Diversity Policy
__7.3.1 Removing the same game board
__7.3.2 Implementing Same Game Board Removal
7.4 High-speed
__7.4.1 Representing the game board as multiple bit strings
__7.4.2 Implementing a game board representation using multiple bit strings
__7.4.3 Representing the game board as a single bit string
__7.4.4 Implementing a Game Board Representation Using a Single Bit String
__7.4.5 Controlling the number of copies
__7.4.6 Implementing copy count control using reference counting

Chapter 8: Applying it to Real Games

8.1 Implementing AI that Plays Connect for Games
__8.1.1 Connect for Games
__8.1.2 Implementing Connect for
__8.1.3 Speeding up the game board using the bitboard
__8.1.4 Implementing bitwise operations on connect four
","
Detailed image
Detailed Image 1
","
Publisher's Review
This book introduces the fundamental concepts of search algorithms, an essential core element of game AI, and examines search algorithms suited to different game types.
We'll explore algorithms that can be applied to a variety of games, as well as algorithms developed by the author himself, who has won numerous competitions.
Additionally, the C++-based example code is kindly explained through comments, and is structured in a way that even beginners can easily understand through the COLUMN and POINT structure.
Additionally, we provide template code that can be used in practice, systematically conveying the theory and know-how required for game AI development.
"]
GOODS SPECIFICS
- Date of issue: March 8, 2024
- Page count, weight, size: 344 pages | 183*235*30mm
- ISBN13: 9791169212038
- ISBN10: 1169212034

You may also like

카테고리