|
0 / 0 / 0
Регистрация: 21.11.2020
Сообщений: 1
|
|
Прогнозирование победы в крестики-нолики21.11.2020, 12:54. Показов 1291. Ответов 4
У нас есть поле 10x10 для крестиков и ноликов. На поле отмечены крестики, нолики или точки(означает что клетка пустая). Что бы выиграть, надо что бы в ряд или по диагонали было 5 элементов, и на основе входных данных предсказать кто победит.
Буду благодарен коду на python, или другом яп, или хотя бы словесное описание алгоритма Входные данные: .......... .......... .......... .......... ...0XX0... ...X0X0... .......... .......... .......... .......... Выходные данные: X
0
|
|
| 21.11.2020, 12:54 | |
|
Ответы с готовыми решениями:
4
Крестики-нолики
|
|
8849 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
|
|
| 21.11.2020, 14:44 | |
|
uimpl,
Алгоритм, конечно - если есть возможность "поставить" один "Х" или "О" на пересечении "линий" так, чтобы получилось минимум две "сплошные" последовательности из трех знаков, не имеющих каждая "по краям" противоположного "знака"...Х ХХ Х Х Или ХХХ Х Х Или --Х -Х-Х Х----Х Но ХХХО Х Х Не является решением - после верхних Х есть сразу О ХХХ-О Х Х Это является решением Или одна последовательность из 4 (со свободными концами) или 5 (ну это понятно)...
0
|
|
|
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
|
|
| 21.11.2020, 15:21 | |
|
Мне тоже хотелось бы написать такую программу, которую хочет ТС, но ничего толком не вышло. Только интерфейс красивый написал, на этом успехи и закончились.
Добавлено через 2 минуты Друг один раз сыграл партию с программой, выиграл в 8 ходов, больше не играл (потому что скучно со слабым соперником играть). Добавлено через 1 минуту Ну по крайней мере, не в пять ходов программа проиграла .
0
|
|
|
8849 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
|
|
| 21.11.2020, 15:31 | |
|
КулХацкеръ, алгоритм "не проиграть" - при появлении "по линии" двух знаков противника ставится рядом в линии свой знак. Если два знака с "пробелом" по линии, то обяз между ними
0
|
|
|
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
|
|
| 21.11.2020, 15:56 | |
|
Примерно такой алгоритм и был, про агрессию даже и не думал, отбиться бы. Если программа находила линию из двух знаков противника на линии из пяти клеток, то прибавляла в свободные клетки опасность 10, если находила линию из трёх знаков противника на линии из шести клеток, то добавляла в свободные клетки опасность 100, для линии из четырёх знаков добавлялась опасность 1000, и так как опасности суммировались, то к примеру, пересечение двух линий из трёх знаков опаснее (имеет уже опасность 200, а не 100).
Добавлено через 1 минуту Далее программа просто выбирала клетку с наибольшей опасностью и ставила нулик (она всегда за нолики играла). Добавлено через 3 минуты Обидно, но так и не получилось толком реализовать алгоритм. По неясной причине программа добавляла опасность на краю доски, где не было никакой активности и никаких крестиков, в итоге при принятии решения она часто ходила на край доски, хотя надо было обороняться в центре. Боролся с этим глюком долго и мучительно, потом просто забросил программу .Добавлено через 4 минуты Да и вообще, у ТС задача не просто написать играющую программу, а сделать прогноз. Догадываюсь, что это ещё сложнее.
0
|
|
| 21.11.2020, 15:56 | |
|
Помогаю со студенческими работами здесь
5
Крестики - нолики Крестики-нолики Крестики-нолики Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|