Разработка ИИ для настольной карточной игры. Обучение?
Всем привет!
Сам я занимаюсь веб разработкой, но при этом люблю интересоваться смежными вещами, которые позволяют и мозг прокачать и освоить что-то полезное
Сейчас я зажёгся идей написать самообучающегося бота для какой то настольной карточной игры (пока не выбрал какой, для примера пусть по типу Гвинта из Ведьмака, но скорее всего выберу что-то малоизвестное для практики)
Из того что я понял, надо копать в область поиска по графам, эвристические алгоритмы и около того
Меня интересуют любые подходы, в том числе и машинное обучение на базе сыгранных игр, и объединение упомянутых подходов
Буду благодарен за любые наводки по теме, структурированную информацию, и подсказки по выборе технологий в том числе!
Эта задача - обучение с подкреплением: на вход подается поток входных данных, а алгоритм сам подстраивается и обучается.
Скорее всего здесь подойдет простой MiniMax алгоритм: после каждого шага ему присваивается вес - -1(плохой ход), 0 (просто ход), 1 (хороший ход). В начале это будут случайные ходы, но после обучения они станут более осмысленными.
Проблема в том - как понять, что ход был хороший или плохой. Я видел пример для крестиков-ноликов. Но в Гвинт не играл, поэтому не знаю, какую модель построить.
Мне кажется что дешевле игру запрограммировать чем обучать ей бота.
Просто в случае обучения - ты должен показать все возможные сочетания "стритов", "флешей" и прочего.
И не один а несколько раз. И обеспечить учителя или подкреплять удачные ходы.