This is generally done by allowing a neural network or genetic algorithm to either review a large database of professional games, or play many games against itself or other people or programs.
В основном такой подход реализуется с помощью нейронных сетей или генетических алгоритмов, которые позволяют либо найти нужную ситуацию в большой базе данных игр, либо сыграть множество игр против себя или других программ или людей.