Как стать автором
Обновить
20.33

Логические игры

Развиваем логику

Сначала показывать
Порог рейтинга
Уровень сложности

Крестики-Нолики (Tic Tac Toe) с компьютером на Python. Мой первый шаг к Machine Learning. Часть 1

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров12K

Всем привет. Я любитель Python и совсем недолго осваиваю язык всеми доступными способами. Моя цель - понять принципы машинного обучения и его взаимосвязь с нейросетью. Никакого опыта в IT не имел, тем не менее постараюсь излагать общепринятой терминологией, не судите строго. Моя основная профессия (оперирующий травматолог, кандидат наук) не менее сложная и далека от IT, но для упрощения работы в нее все больше внедряются AI и ML. Мною движет лишь интерес к современным технологиям, программированию.

В первой части покажу только основные этапы создания игры, где пользователь выбирает роль (Х или О), играя с компьютером. Поиск в сети Python аналогов дал только несколько вариантов игры с рандомным ответом компьютера. Мой целью в этой части стало самостоятельно научиться оценивать текущую позицию на поле "Крестики-Нолики" и подбирать оптимальный вариант следующего хода компьютера. К слову, уже перед окончанием статьи нашел готовую web-игру в google, где уже реализован такой подход. Тем интереснее было проверить себя и поделиться "изобретением колеса, но по-своему".

Во второй части попробую прикрутить к игровой логике другой подход - машинное обучение на основе большого числа сыгранных партий компьютером с самим собой.

Кому будет полезен материал: любителям Python, логики, алгоритмов. В финальном коде все переменные, функции и действия прокомментированы на английском.

Крестики-Нолики с компьютером на Python
Всего голосов 5: ↑4 и ↓1+5
Комментарии6

El Ajedrecista — шахматный компьютер 1914 года

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.1K

Вы наверняка знаете, что знаменитый «Механический турок» на самом деле был грандиозным мошенничеством. Шахматный автомат гастролировал по Европе в конце XVIII века, обыграв многих известных шахматистов. Однако в действительности автомат управлялся человеком, скрытым в его корпусе. Этот нюанс подпортил репутацию изобретателям шахматных автоматов, пусть и 60 лет спустя, когда был раскрыт секрет «турка».

Но через полтора века после изобретения фон Кемпелена испанский инженер Леонардо Торрес‑и-Кеведо изобрёл El Ajedrecista («Шахматист»): настоящий шахматный автомат. Вот о нём мы сегодня и расскажем.

Читать далее
Всего голосов 31: ↑30 и ↓1+41
Комментарии3

Вычислительная сложность некоторых игр и головоломок (часть 2)

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров2.9K

В предыдущей статье мы рассмотрели сложность некоторых игр и головоломок. Данная тема вызвала некоторый интерес, вот и продолжение. В комментариях некоторые читатели высказали свои пожелания, которые я постарался учесть.

В первой статье и правда по справедливому замечанию avsmal «не хватает каких-то более строгих и конкретных утверждений», но не стоит забывать, что любой даже самый нудный материал нужно стараться подать интересно. В прошлый раз я пожертвовал структурой и конкретностью в пользу читабельности и привлечения интереса к теме. Сильно «душные» статьи заходят с большим скрипом и больше отпугивают читателя.

Прежде всего, нужно отметить, что теория вычислительной сложности анализирует сложность различных алгоритмических задач, а теория вычислимости — какие проблемы могут быть решены с помощью алгоритмов. Теория сложности рассматривает проблемы, которые в принципе могут быть решены алгоритмически, и пытается установить экстремумы ресурсов, необходимых для их решения. Это важно, потому что некоторые проблемы в принципе могут быть решаемы, но требовать неосуществимого количества ресурсов.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии4

Математическая версия игры «Морской бой»

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.7K

Математический морской бой, несмотря на то, что является неплохим таким развлечением на долгий вечер, как и многие настолки, имеет практическую пользу в обучении математике: помогает подружиться с концепцией графика функции или уравнения, играется в любом классе, начиная с седьмого; или младше - но тогда надо объяснить ученику идею координатной плоскости и линейной функции. Правила придуманы на основе классического морского боя.

В качестве игрового поля берётся координатная плоскость хОу произвольного размера. Если играющие знакомы с отрицательными числами, то от (-10; -10) до (10; 10) скорее всего будет достаточно, хотя чем обширнее их знания алгебры, тем больше нужна игровая площадь. Для всех, кто младше шестого класса, советую поле от (0; 0) до (20; 20), или даже до (10; 10). Прямоугольное, естественно (квадратность не обязательна). Для старших, конечно, можно задавать её как любую криволинейную трапецию или не задавать вовсе, лишь бы все корабли вместились в чертёж заданного масштаба.

Читать далее
Всего голосов 47: ↑47 и ↓0+47
Комментарии40

Истории

Минëр: сапëр наоборот

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров17K
Что будет, если взять известную игру сапëр и изменить игровой процесс на обратный? Получится игра минëр


Так выглядит расклад в минëре на новичке.

Если задача в сапëре разминировать поле, то задаче в игре минëр наоборот — заминировать.
Читать дальше →
Всего голосов 96: ↑96 и ↓0+96
Комментарии39

Хочу как в жизни. Будут ли картонные электрические цепи из настольной игры работать также в реальном мире?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.9K

В настольной игре «Не закороти Цепь! Последовательная история» относительно несложная механика. Батарейка, провода, светодиоды и лампочки — собирай замкнутую цепь от плюса к минусу, смотри, что зажглось, получай очки и штрафы, если замкнул плюс на минус без ламп и светодиодов. Резистор уменьшает число очков, диод пропускает или не пропускает ток в определенном направлении, элементы "сгорают". Но будет ли в реальности также? Но будет ли в реальности также? Я решил проверить это, собрав цепи из правил игры на макетной плате.

Читать далее
Всего голосов 9: ↑7 и ↓2+8
Комментарии7

Научные настольные игры для школьников и не только. Дополняемый список

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров3.5K

Начал составлять список научных настольных игр для детей школьного возраста и не только, которые доступны в России, отсортированный по видам наук: смотреть список в Google Docs.

Читать далее
Всего голосов 21: ↑18 и ↓3+21
Комментарии27

Вычислительная сложность некоторых игр и головоломок (часть 1)

Время на прочтение11 мин
Количество просмотров7.7K

Есть несколько причин смотреть на игры как на нечто большее, чем просто на развлечения. Как станет яснее по ходу дела, многие игры основаны на сложных вычислительных задачах, хотя зачастую и с более низким «входным барьером», поскольку они редко требуют наличия формального образования.

Дальше-больше..
Всего голосов 21: ↑21 и ↓0+21
Комментарии17

Авторский взгляд на создание картонных электрических цепей

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.2K

Игра "Не закороти Цепь! Последовательная история", словами персонажа небезызвестного мультфильма, выглядит "как луковица". Да, она может довести до слез (и этот момент я как автор постарался уменьшить, как мог), но она в первую очередь многослойна. Поэтому я хочу рассказать о самом игровом процессе, "механике картонного движка" и о том, как на него влияют электронные компоненты и другие элементы игры (и причем тут вообще электрические цепи).

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии4

Русские шашки: эффективная генерация ходов в Golang

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.1K

Я рад представить вам свою реализацию ИИ для русских шашек под названием "damka" (https://github.com/antonmedv/damka). Проект, размещенный на GitHub и доступен для игры по адресу https://medv.io/шашки/, включает в себя ИИ, который следует правилам игры в русские шашки

Читать далее
Всего голосов 5: ↑4 и ↓1+4
Комментарии7

Электротехническая настольная игра «Не закороти Цепь! Последовательная история»

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.2K

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

Читать далее
Всего голосов 27: ↑27 и ↓0+27
Комментарии13

Kandinsky создаёт игры

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров12K

Мы предлагаем Вам познакомиться с Kandinsky 2.1 на практике, углубившись в реальный кейс использования генеративной нейросети.

В рамках этой статьи мы сосредоточимся на процессе создания игры, а именно визуальном оформлении карточной игры, используя Kandinsky 2.1. Мы рассмотрим оптимальные способы генерации изображений и дадим рекомендации по превращению сгенерированных артов в игральные карты для настольной игры.

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

Читать далее
Всего голосов 20: ↑17 и ↓3+23
Комментарии26

Как собрать кубик Рубика изнутри

Время на прочтение5 мин
Количество просмотров3.6K

Представьте: вы находитесь в комнате, у которой стены, пол и потолок это стороны головоломки. Стены вращаются, пол и потолок тоже. Теперь не кубик крутится в ваших руках, а вы - внутри кубика Рубика.

Чтобы воспроизвести эту необычную ситуацию я написал небольшое приложение. С помощью приложения расскажу, как собрать кубик Рубика изнутри.

Читать далее
Всего голосов 8: ↑7 и ↓1+10
Комментарии13

Ближайшие события

ChatGPT делает уровни, новые режимы и дизайн в Судоку

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.2K

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

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

Читать далее
Всего голосов 8: ↑4 и ↓40
Комментарии13

Парадокс подарка: что может поведение рабочего коллектива сказать об экономике?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.9K

В России, в отличии от многих стран (имеются в виду страны Евросоюза, Великобритания, США, Израиль), есть странная и с виду парадоксальная «игра» (так мы здесь далее называем это устоявшееся социальное поведение), которая упорно поддерживается социумом, но при этом кажется совершенно нелогичной и бессмысленной стороннему наблюдателю: на каждый день рождения своего коллеги весь коллектив дружно скидывается «на подарок», причём каждый раз сотрудник отдаёт в общую кассу существенную сумму, как правило превышающую 1% его зарплаты за месяц. Собранная сумма в виде высоколиквидного актива, чаще — в деньгах, реже — в их эквиваленте типа подарочного сертификата, в качестве подарка вручается имениннику в конверте!

Что это может сказать об экономике?
Всего голосов 24: ↑12 и ↓12+4
Комментарии28

Игра «Камень, ножницы, бумага». Как придумать свой вариант: методика, алгоритм, стратегии

Время на прочтение6 мин
Количество просмотров5.6K

Спорщики всех возрастов на всех континентах энергично трясут кулаками, повторяя на разных языках слова этой незамысловатой считалки.

Игра «Камень, ножницы, бумага» не так уж проста, как может показаться на первый взгляд. Тут есть над чем подумать. А заодно и поразвлечься, придумывая свои варианты.

Читать далее
Всего голосов 12: ↑10 и ↓2+11
Комментарии4

Игра для проведения киберучений

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.2K

Мы сделали игру для проведения штабных киберучений по информационной безопасности. Чтобы не только потренировать навыки реагирования на инциденты ИБ, но и отлично провести время. Хотим с вами ей поделиться. В статье описание и материалы для игры, выводы по результатам проведенных игр и еще больше котеек.

Хочу играть
Всего голосов 7: ↑5 и ↓2+7
Комментарии2

Создаем библиотеку теории игр на питоне: как вообще это будет работать?

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров3.3K

Сделаем наброски примеров кода работы с python-библиотекой решения задач методами теории игр (как если бы библиотека была полностью готовой). Напишем очередной класс Очередь Игроков. А ещё поддадимся модной тенденции и спросим совета у ChatGPT-3...

Это [уютный, ламповый] пет-проект автора статьи.

Читать далее
Всего голосов 3: ↑2 и ↓1+2
Комментарии1

Судоку — магия чисел

Время на прочтение9 мин
Количество просмотров8.4K

Кубик Рубика имеет сложную конструкцию, для игры в шахматы нужны фигурки и доска, для многочисленных карточных игр необходимы колоды карт разного объёма, для древнейшей игры в кости требуются аккуратно изготовленные кубики. И только для игры в судоку не нужно ничего, кроме листа бумаги и карандаша.

Читать далее
Всего голосов 24: ↑22 и ↓2+25
Комментарии15

Взаимные угрозы шахматных фигур в числовой разнице

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.7K

Решил переосмыслить оригинальную идею Александра В. Катапанга младшего (Alexander V. Catapang Jr.), реализованную в шахматном тренажёре «Guess-Chess» из пакета логических игр «eGames» (1997-й год). Получившуюся программу вначале обозвал «Загадочные шахматы» («Riddle chess»), но поскольку не ограничивается только индийскими шахматами, и есть дополнительно тайские макрук (makruk), китайские сянци (xiangqi) и японские сёги (shogi) — стала «Генератором загадок» («Divine generator»).

Игра заключается в угадывании расположения фигур на доске, исходя из количества обозначенных угроз на клетках. В оригинальной версии поддерживаются только классические шахматы. При этом фигуры изначально располагаются на доске, могут конфликтовать и являться препятствиями, что несколько затрудняет разгадку.

См. далее...
Всего голосов 5: ↑4 и ↓1+6
Комментарии0

Вклад авторов