самый простой вариант, для начала.
описываешь какие доступны действия для игрока (варианты ходов фигур).
потом случайно начинаешь делать наугад действия (серию действий) и оценивать результат (победа или проигрыш)
даешь возможность сохранять результаты ходов, и позиций, при каждом ходе ищешь варианты в базе данных.
запускаешь бота играть против копии самого себя, собирая статистику ходов, и действий.
бот типа обучается.
-------
проблема в том чтоб сделать грамотную оценочную функцию это один из ключевых моментов.
Еще проблема -> рост сложности (количества вариантов ходов в партии), как работать с этой сложностью целая наука, постройка деревьев решений, поиск общих патернов, упаковка (кластеризация) типовых серий ходов, эффективные способы поиска ходов без проверки всего многообразия, всякие там эволюционные алгоритмы, для работы с не линейными схемами и тд и тому подобное.