Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/56: Рейтинг темы: голосов - 56, средняя оценка - 4.59
 Аватар для Taras_Z
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2

ИИ для крестиков ноликов на С++

25.02.2012, 16:42. Показов 11693. Ответов 19

Студворк — интернет-сервис помощи студентам
вот написал крестики нолики 3х3
но немогу написать ИИ для компа
тупо перебирать все комбинации типа :
C++
1
2
3
if(a[0][0]==a[0][1] && a[0][0]!=' '){ a[0][2]=charr;}
if(a[0][1]==a[0][2] && a[0][1]!=' '){ a[0][0]=charr;}
if (a[0][0]==a[0][2] && a[0][0]!=' '){ a[0][1]=charr;}
не интересно
как можно написать ИИ?
 Комментарий модератора 
На форуме есть теги для выделения кода!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.02.2012, 16:42
Ответы с готовыми решениями:

Бот для крестиков-ноликов
Хочу написать бота для крестиков-ноликов и вот тут незадача, или нужно перечислять все комбинации что являеться не сильно приятным, :wall: ...

Создать массив для игрового поля крестиков-ноликов
Создать массив 13Х13 и заполнить его символами так, чтобы получилось игровое поле для крестиков-ноликов

Найти вероятность выпадения крестиков, ноликов и пустой клетки
Проблема в следующем мой преподаватель скинул мне готовую программу для вычисления вероятности выпадения крестиков , ноликов и пустой...

19
 Аватар для R136a1
143 / 112 / 36
Регистрация: 14.04.2011
Сообщений: 261
25.02.2012, 16:53
Есть два подхода к созданию ИИ:
Нисходящий - в вашем случае это воссоздать все возможные комбинации игры и пути решения
Восходящий - тут гораздо сложнее. Смотри Искусственная нейронная сеть
0
 Аватар для Taras_Z
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
25.02.2012, 17:00  [ТС]
нуу мне тогда остается всё перебирать.....
0
 Аватар для R136a1
143 / 112 / 36
Регистрация: 14.04.2011
Сообщений: 261
25.02.2012, 17:05
Цитата Сообщение от Taras_Z Посмотреть сообщение
нуу мне тогда остается всё перебирать.....
Можно ещё анализировать комбинации, хотя это тоже в каком то смысле "перебор"
0
 Аватар для Taras_Z
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
25.02.2012, 17:06  [ТС]
а примера у вам нету случайно?
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.02.2012, 17:14
Тут, наверное, эвристикой нужно делать.
Если строить дерево игры, то выиграть будет слишком сложно, и играть будет неинтересно.
А если рандомно делать ходы - слишком легко, что, опять же, неинтересно.
0
 Аватар для Taras_Z
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
25.02.2012, 17:20  [ТС]
а у вас есть пример крестиков ноликов???
а то я на двоих сделал а с компом не получается=)
0
 Аватар для R136a1
143 / 112 / 36
Регистрация: 14.04.2011
Сообщений: 261
25.02.2012, 17:22
Цитата Сообщение от Taras_Z Посмотреть сообщение
а примера у вам нету случайно?
Ну например игрок ходит первым (нолик) player[1][0], компьютер например может оценить куда игроку выгоднее всего пойти и сравнить со своей текущей позицией и будущем предпочтительным шагом, ну например computer[0][2]. Далее допустим игрок идет так player[0][0], теперь компьютеру выгоднее всего обломать игрока (т.е. компьютер уже знает какую скорее всего комбинацию задумал игрок и ему нужно будет помешать его планам) - computer[2][0] и тд.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
25.02.2012, 17:38
https://www.cyberforum.ru/cgi-bin/latex.cgi?3^{(3*3)}=19683. Это не такое уж большое количество вариантов текущего состояния, для всех можно заранее выбрать и записать правильный следующий ход.
0
 Аватар для R136a1
143 / 112 / 36
Регистрация: 14.04.2011
Сообщений: 261
25.02.2012, 17:46
Цитата Сообщение от taras atavin Посмотреть сообщение
https://www.cyberforum.ru/cgi-bin/latex.cgi?3^{(3*3)}=19683. Это не такое уж большое количество вариантов текущего состояния, для всех можно заранее выбрать и записать правильный следующий ход.
Я не это имел в виду. Я имел в виду что можно отталкиваться от того как пошел игрок и уже потом строить планы относительно хода компьютера
0
 Аватар для Taras_Z
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
25.02.2012, 17:56  [ТС]
я пока сделал проверку еслть ли подряд два крестика итого 22 варианта....
0
 Аватар для Питекантроп
251 / 145 / 21
Регистрация: 14.06.2010
Сообщений: 340
25.02.2012, 18:06
Все перебирать нет никакой необходимости. Нужно расставлять весовые коэффициенты для ячеек в зависимости от перспектив образования ряда при ходе в соответствующую ячейку.
Крестики-нолики 3x3 я писал на c#. Сам так называемый "ИИ" там относительно небольшой, поэтому разберешься.
0
 Аватар для Taras_Z
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
25.02.2012, 18:30  [ТС]
спасибо очень!
0
 Аватар для Питекантроп
251 / 145 / 21
Регистрация: 14.06.2010
Сообщений: 340
25.02.2012, 18:45
там, кстати, ИИ в одном случае неправильно ходит. Найдешь в каком?
0
 Аватар для Taras_Z
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
25.02.2012, 18:52  [ТС]
хорошо но потом=) щас дела...
0
ilnuribat
11.06.2012, 23:50
Цитата Сообщение от Taras_Z Посмотреть сообщение
а у вас есть пример крестиков ноликов???
Я взял в качестве курсовой работы игру крестики-нолики, реализовав там нейронную сеть.
exe файл тут :
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 24
02.12.2022, 00:36
Я взял в качестве курсовой работы игру крестики-нолики, реализовав там нейронную сеть.
exe файл тут :
Здравствуйте, еще остался исходный код?)
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
02.12.2022, 01:46
hillet, а не легче обычные крестики нолики написать? Нафига ты с нейросетями мучаешься, если самостоятельно написать не можешь?
Просто сделай крестики-нолики обычные!
0
0 / 0 / 0
Регистрация: 17.02.2022
Сообщений: 24
02.12.2022, 02:09
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
hillet, а не легче обычные крестики нолики написать? Нафига ты с нейросетями мучаешься, если самостоятельно написать не можешь?
Просто сделай крестики-нолики обычные!
Я бы с радостью! Но моя задача написать крестики нолики с "ИИ" который будет заместо 2 игрока, проходим minimax алгоритм, а как его реализовать не знаю
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
02.12.2022, 08:24
Шёл 21 век.
Крестики-нолики 3х3.
"ИИ", "нейронные сети", тысячи комбинаций...

Вы чего, люди?? что с вами случилось??

стратегия игры в крестики нолики
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.12.2022, 08:24
Помогаю со студенческими работами здесь

Функция для крестиков-ноликов
Здравствуйте, я пишу свою первую программу на функциональном языке программирования, поэтому возникают большие сложности. Можете...

Робот для крестиков ноликов
import pygame import sys def check_control(mas, sign): # ПРОВЕРКА ВЫЙГРАША zero = 0 capriz_1 = -50 capriz_2 = -50...

Алгоритм minimax для крестиков-ноликов
В общем, написал я minimax для крестиков-ноликов, а враг отчего-то "не хочет" выигрывать. При компиляции ошибок нет, но обыграть его ну...

Алгоритм минимакс для Крестиков-Ноликов
Объясните пожалуйста следующую минимакс функцию // основная минимакс-функция static int Minimax(int hypothetical_board, int...

Сделать графический интерфейс для крестиков-ноликов
Здравствуйте. Есть код для крестиков-ноликов, все более-менее работает. Хочу сделать GUI с помощью PyQT, пока сложно все это доходит до...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru