Форум программистов, компьютерный форум, киберфорум
ИИ, нейросети, LLM, ML, Data Science, ИИ-агенты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504

Научить компьютер играть в дурака

27.06.2024, 09:43. Показов 3486. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задача такая, научить компьютер играть в дурака, собираюсь решить её с помощью генетического алгоритма и нейросети.
Если с ГА проблем пока не возникает, то с нейросетью явный затык. Не могу понять какие данные она должна принимать и какие возвращать.
Допустим я её буду передавать текущее состояние, т.е. карты находящиеся на столе и у меня на руках, а так же в отбое и козырь. но возникает проблема с тем что в процессе игры не всегда нужно отбиваться или атаковать, иногда нужно нажать бито, иногда сделать перевод, иногда взять, а если всё таки нужно отбиваться, но нужно понять какую карту отбивать.
отсюда собственно вопрос, как лучше организовать структуру нейросети?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.06.2024, 09:43
Ответы с готовыми решениями:

Крестики Нолики 4x4: как научить компьютер "играть"
Всем привет! Я пока еще только начинаю программировать, поэтому обращаюсь к вам, может вы поможете. Вот хотел спросить. Не подскажете...

Как научить сборную России играть в футбол?
Просто накипело, извините:cry:

Хочу научить компьютер говорить на C#, а он ошибку выдает!
пишу private void button1_Click(object sender, EventArgs e) { SpeechSynthesizer h = new...

24
11 / 11 / 0
Регистрация: 17.01.2013
Сообщений: 504
03.07.2024, 17:24  [ТС]
Студворк — интернет-сервис помощи студентам
Mikhaylo, мы же знаем сколько карт в колоде, вот и будем считать каждый нейрон отдельной картой, а отправлять в него будем текущее состояние карты (у кого на руках, в колоде или на столе), а на выходе каждому нейрону присваиваем действие, я прикинул, их всего 5 или 6 получается
back propagation применим, если у нас есть выборка, на которой можно учиться, в нашем случае если создавать выборку из всех возможных ходов, то она будет огромная, да и если она у нас будет, то нам и нейронка не нужна, просто отсеиваем выигрышные ходы
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,820
03.07.2024, 20:45
Ладно, коли тут собрались люди, любящие щелкать орешки...

Давайте договоримся, для простоты рассматриваем игру в простого дурака без переводов, 36 карт.

У нас есть 5 массивов карт:
A - карты на руках,
B - карты у соперника на руках,
C - колода,
D - игровое поле,
E - сброс.

A - полностью известный.
B - обычно неизвестный, но некоторые карты могут "спалиться", когда соперник забирает их.
C - известна козырная карта, которая рубашкой вверх.
D - все карты открыты.
E - все карты известны.

Соответственно, помимо нейросетей должны использоваться обычные несложные алгоритмы, которые отслеживают перемещение карт по массивам, иначе задача не формулируется как следует. А учить ИИ, что в результате некоего действия карта X перешла из массива D в массив E - это слишком утомительное и ненужное обучение правилам игры через веса.

Наличие или отсутствие карты - это 0 или 1, если карта неизвестна, то 0,5 - это нормальный подход для нейронки.

Помимо этого:
1. Нужно вычислить неизвестные карты
2. Нужно оценить действия соперника, учесть его знания карт массива A.

Короче, тут еще куча работы до выхода MVP.
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,820
04.07.2024, 07:53
Цитата Сообщение от Mikhaylo Посмотреть сообщение
Помимо этого:
1. Нужно вычислить неизвестные карты
2. Нужно оценить действия соперника, учесть его знания карт массива A.
Это да, нейронка может/должна осилить сама.

Вы начните уже собирать данные для обучения. Надо, чтобы кто-то сыграл 10000 партий.

https://youtu.be/Ct2Jx0UwcGE
0
148 / 111 / 37
Регистрация: 28.11.2013
Сообщений: 383
04.07.2024, 21:51
Можно использовать lstm нейросеть, она немного ресурсов занимает, вот пример обучения игре в змейку за 100 итераций youtube. Вот пример использования обученной нейросети для обучения игры в марио youtube2.
Итак, какой-бы алгоритм вы не выбрали, Вам нужно сначала получить данные из игры, желательно в виде цифр (ответ агенту). Начните с отладки работы с игрой. На это у вас уйдет прилично времени. Научитесь передавать данные в игру и получать ответ, желательно в виде цифр. Сведите к минимуму количество команд. А после этого уже выбирайте алгоритмы - нейросети, генетический алгоритм и т.д.
0
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,820
05.07.2024, 09:02
Самое главное, не предаваться иллюзии, что все просто: типа скормил нейросети массивы и все заработало.

По моей ссылке на Ютуб есть реализация, и там не самые лучшие решения по интеграции нейросети к игроку.

Нужно попробовать что-то сделать, чтобы понять свои слабости. А иначе мы имеем только шапкозакидательский трёп.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.07.2024, 09:02

Sonoff как научить его включать и выключать компьютер?
Добрый день! Есть WiFi реле Sonoff как научить его включать и выключать компьютер? т.е. при сигнале он подает питание 220 в. на...

Возвести 11^100 (метод:научить компьютер умножать столбиком)
Как я понял, нужно взять 2 массива, в один записываем число,затем копируем, то же число, но со сдвигом, суммируем, если какой-то элемет...

Учим компьютер играть в Гомоку (пять в ряд)
Отработал защиту бота, (я играю крестиками компьютер нулями) начал решать задачу с конца. Бот еще не умеет "выстраивать" свои...

Учим компьютер играть в Гомоку (пять в ряд)
Отработал защиту бота, (я играю крестиками компьютер нулями) начал решать задачу с конца. Бот еще не умеет "выстраивать" свои...

Прошу научить меня.
Здравствуйте, я очень хочу научиться програмировать на языке С++. Кто-нибудь пожалуйста может написать небольшую программу, написать что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru