Я давно уже не делал обзор новинок рынка научных настольных игр, поэтому исправляюсь и попробую рассказать об интересных их представителях, которые уже есть на рынке (или появятся в ближайшее время).
Логические игры
Развиваем логику
Кубинг. Часть 1
Всем привет! В этой серии статьей речь пойдет об увлечении головоломками, но не просто на скорость, а еще и с точки зрения мат.апарата. А значит, в том числе и применимость темы к кодингу. Сразу оговорюсь, чего в этой статье не будет:
1. Рассказа о рекордах, как мировых, так и любительских. Возможно, когда-нибудь позже я выпущу статью и об этом, но не то чтобы я знаю тему спидкубинга лучше, чем кубинга (о разнице чуть ниже).
2. Теории Групп. Да, я знаю, это первое, что приходит в голову, когда слышишь «мат.аппарат для головоломок», но для начала надо обозначить некоторые более базовые нюансы, а именно каковыми бывают головоломки, и каковыми бывают методы их сборки.
Зато будет много картинок.
Первая статья будет тестово-обзорной для того, чтобы я понял, о чем писать дальше в первую очередь.
Итак! Я полностью уверен, что хабравчанам не требуется объяснять, что такое кубик Рубика (не кубик-рубик!!). Но что еще выдумало человечество из аналогов?
Почему при умножении «минус на минус» дает «плюс»?
(фотография треков частиц и античастиц. источник: www.sciencephoto.com )
В чем, собственно, вопрос
Когда вы учились в школе, разве у вас не возникало желание получить простое объяснение, почему при умножении чисел “минус на минус” дает “плюс”? С умножением двух положительных все просто: — это, когда у вас есть корзины по яблок. Умножение положительного и отрицательного тоже легко себе представить: — это когда вы одолжили у соседа корзины по яблок в каждой и все эти яблоки уже съели. Но как тогда при помощи корзин и яблок предать смысл произведения и почему оно неожиданно оказывается тем же самым, что и ?
Этот вопрос — он не то, чтобы совсем простой. Когда я вновь задумался о нем, мне уже был знаком почти весь курс университетской математики, но даже с этим багажом знаний поиск ответа занял у меня почти неделю. Я до сих пор считаю, что получил его скорей случайно.
Объяснение, которое я тогда обнаружил, кажется мне по-настоящему красивым и в то же время достаточно простым, чтобы о нем стоило попробовать рассказать школьникам. Повествование у меня получилось, конечно, не самым кратким, но я старался составить его так, чтобы до всех ключевых идей мой читатель смог догадаться (почти) сам.
Если у вас неправильно отображаются формулы, попробуйте несколько раз перезагрузить страницу. Приятного чтения.
Каково это — быть операционной системой?
Pier-Luc Brault придумал забавную игру, которая превращает вас в... операционную систему. Некий пользователь загружает нас процессами, которые нужно распределять по свободным CPU. Если мы будем плохо справляться с задачей, пользователь выйдет из себя и перезагрузит нас. Game over.
Истории
Крестики-Нолики (Tic Tac Toe) с компьютером на Python. Часть 2: шаг к ML
Всем привет. Я любитель Python и совсем недолго осваиваю язык всеми доступными способами. Моя цель - понять принципы машинного обучения и его взаимосвязь с нейросетью. Никакого опыта в IT не имел, тем не менее постараюсь излагать общепринятой терминологией, не судите строго. Моя основная профессия не менее сложная (оперирующий травматолог, кандидат наук), далека от IT, но для упрощения работы в нее все больше внедряются AI и ML.
Хотел бы присоединиться к какому-то проекту на границе практической медицины и машинного обучения. Для этого решил публиковать оригинальные статьи, чтобы как-то начать IT портфолио в дополнение к аналогичному "из операционной".
В первой части статьи рассказывалось о новом программном алгоритме игры человека с компьютером в качестве «Х» или «О» игрока, избегая классического «дерева для конечного числа ходов». Цель - ситуационный анализ только текущего поля и выбор "лучшего следующего хода".
Во второй части "лучший ход" будет взят на основе нейросети из базового файла .csv с результатами 50000 случайных игр компьютера с самим собой. Причем все последующие игры пользователя и машины будут также продолжать вноситься в файл, если ранее их там не было. Этот принцип я взял из ML шахматных движков, основанных на записи в DB результатов игр профессионалов за полтора века. Контроль качества провел, сыграв 100 игр с web Tic-Tac-Toe от Google, выбрав роль посредника между ним и моей программой на Python.
Кому будет полезен материал: любителям Python, логики, алгоритмов. В финальном коде обоих проектов все переменные, функции и действия прокомментированы на английском.
Крестики-Нолики (Tic Tac Toe) с компьютером на Python. Мой первый шаг к Machine Learning. Часть 1
Всем привет. Я любитель Python и совсем недолго осваиваю язык всеми доступными способами. Моя цель - понять принципы машинного обучения и его взаимосвязь с нейросетью. Никакого опыта в IT не имел, тем не менее постараюсь излагать общепринятой терминологией, не судите строго. Моя основная профессия (оперирующий травматолог, кандидат наук) не менее сложная и далека от IT, но для упрощения работы в нее все больше внедряются AI и ML. Мною движет лишь интерес к современным технологиям, программированию.
В первой части покажу только основные этапы создания игры, где пользователь выбирает роль (Х или О), играя с компьютером. Поиск в сети Python аналогов дал только несколько вариантов игры с рандомным ответом компьютера. Мой целью в этой части стало самостоятельно научиться оценивать текущую позицию на поле "Крестики-Нолики" и подбирать оптимальный вариант следующего хода компьютера. К слову, уже перед окончанием статьи нашел готовую web-игру в google, где уже реализован такой подход. Тем интереснее было проверить себя и поделиться "изобретением колеса, но по-своему".
Во второй части попробую прикрутить к игровой логике другой подход - машинное обучение на основе большого числа сыгранных партий компьютером с самим собой.
Кому будет полезен материал: любителям Python, логики, алгоритмов. В финальном коде все переменные, функции и действия прокомментированы на английском.
El Ajedrecista — шахматный компьютер 1914 года
Вы наверняка знаете, что знаменитый «Механический турок» на самом деле был грандиозным мошенничеством. Шахматный автомат гастролировал по Европе в конце XVIII века, обыграв многих известных шахматистов. Однако в действительности автомат управлялся человеком, скрытым в его корпусе. Этот нюанс подпортил репутацию изобретателям шахматных автоматов, пусть и 60 лет спустя, когда был раскрыт секрет «турка».
Но через полтора века после изобретения фон Кемпелена испанский инженер Леонардо Торрес‑и-Кеведо изобрёл El Ajedrecista («Шахматист»): настоящий шахматный автомат. Вот о нём мы сегодня и расскажем.
Вычислительная сложность некоторых игр и головоломок (часть 2)
В предыдущей статье мы рассмотрели сложность некоторых игр и головоломок. Данная тема вызвала некоторый интерес, вот и продолжение. В комментариях некоторые читатели высказали свои пожелания, которые я постарался учесть.
В первой статье и правда по справедливому замечанию avsmal «не хватает каких-то более строгих и конкретных утверждений», но не стоит забывать, что любой даже самый нудный материал нужно стараться подать интересно. В прошлый раз я пожертвовал структурой и конкретностью в пользу читабельности и привлечения интереса к теме. Сильно «душные» статьи заходят с большим скрипом и больше отпугивают читателя.
Прежде всего, нужно отметить, что теория вычислительной сложности анализирует сложность различных алгоритмических задач, а теория вычислимости — какие проблемы могут быть решены с помощью алгоритмов. Теория сложности рассматривает проблемы, которые в принципе могут быть решены алгоритмически, и пытается установить экстремумы ресурсов, необходимых для их решения. Это важно, потому что некоторые проблемы в принципе могут быть решаемы, но требовать неосуществимого количества ресурсов.
Математическая версия игры «Морской бой»
Математический морской бой, несмотря на то, что является неплохим таким развлечением на долгий вечер, как и многие настолки, имеет практическую пользу в обучении математике: помогает подружиться с концепцией графика функции или уравнения, играется в любом классе, начиная с седьмого; или младше - но тогда надо объяснить ученику идею координатной плоскости и линейной функции. Правила придуманы на основе классического морского боя.
В качестве игрового поля берётся координатная плоскость хОу произвольного размера. Если играющие знакомы с отрицательными числами, то от (-10; -10) до (10; 10) скорее всего будет достаточно, хотя чем обширнее их знания алгебры, тем больше нужна игровая площадь. Для всех, кто младше шестого класса, советую поле от (0; 0) до (20; 20), или даже до (10; 10). Прямоугольное, естественно (квадратность не обязательна). Для старших, конечно, можно задавать её как любую криволинейную трапецию или не задавать вовсе, лишь бы все корабли вместились в чертёж заданного масштаба.
Минëр: сапëр наоборот
Так выглядит расклад в минëре на новичке.
Если задача в сапëре разминировать поле, то задаче в игре минëр наоборот — заминировать.
Хочу как в жизни. Будут ли картонные электрические цепи из настольной игры работать также в реальном мире?
В настольной игре «Не закороти Цепь! Последовательная история» относительно несложная механика. Батарейка, провода, светодиоды и лампочки — собирай замкнутую цепь от плюса к минусу, смотри, что зажглось, получай очки и штрафы, если замкнул плюс на минус без ламп и светодиодов. Резистор уменьшает число очков, диод пропускает или не пропускает ток в определенном направлении, элементы "сгорают". Но будет ли в реальности также? Но будет ли в реальности также? Я решил проверить это, собрав цепи из правил игры на макетной плате.
Научные настольные игры для школьников и не только. Дополняемый список
Начал составлять список научных настольных игр для детей школьного возраста и не только, которые доступны в России, отсортированный по видам наук: смотреть список в Google Docs.
Вычислительная сложность некоторых игр и головоломок (часть 1)
Есть несколько причин смотреть на игры как на нечто большее, чем просто на развлечения. Как станет яснее по ходу дела, многие игры основаны на сложных вычислительных задачах, хотя зачастую и с более низким «входным барьером», поскольку они редко требуют наличия формального образования.
Ближайшие события
Авторский взгляд на создание картонных электрических цепей
Игра "Не закороти Цепь! Последовательная история", словами персонажа небезызвестного мультфильма, выглядит "как луковица". Да, она может довести до слез (и этот момент я как автор постарался уменьшить, как мог), но она в первую очередь многослойна. Поэтому я хочу рассказать о самом игровом процессе, "механике картонного движка" и о том, как на него влияют электронные компоненты и другие элементы игры (и причем тут вообще электрические цепи).
Русские шашки: эффективная генерация ходов в Golang
Я рад представить вам свою реализацию ИИ для русских шашек под названием "damka" (https://github.com/antonmedv/damka). Проект, размещенный на GitHub и доступен для игры по адресу https://medv.io/шашки/, включает в себя ИИ, который следует правилам игры в русские шашки
Электротехническая настольная игра «Не закороти Цепь! Последовательная история»
Четыре года назад я выпустил игру, в которой необходимо было строить цепочки электрических цепей и зажигать лампочки и светодиоды. На тот момент аналогов у игры не было (и до сих пор не появилось), а небольшой тираж игры был раскуплен еще прошлым летом. Поэтому год был потрачен на разработку новой улучшенной версии игры (о начале разработки я писал тут) и сейчас игра вышла на краудфандинг. Почти вся игра сделана мной в одиночку от игровой механики до графики.
Kandinsky создаёт игры
Мы предлагаем Вам познакомиться с Kandinsky 2.1 на практике, углубившись в реальный кейс использования генеративной нейросети.
В рамках этой статьи мы сосредоточимся на процессе создания игры, а именно визуальном оформлении карточной игры, используя Kandinsky 2.1. Мы рассмотрим оптимальные способы генерации изображений и дадим рекомендации по превращению сгенерированных артов в игральные карты для настольной игры.
Статья будет интересна людям, интересующимся генеративными нейронными сетями, дизайнерам, которые хотят оптимизировать свою работу, иллюстраторам и всем тем, кто хотел бы создать что-то подобное, но не имеет возможности нанять профессионального художника.
Как собрать кубик Рубика изнутри
Представьте: вы находитесь в комнате, у которой стены, пол и потолок это стороны головоломки. Стены вращаются, пол и потолок тоже. Теперь не кубик крутится в ваших руках, а вы - внутри кубика Рубика.
Чтобы воспроизвести эту необычную ситуацию я написал небольшое приложение. С помощью приложения расскажу, как собрать кубик Рубика изнутри.
ChatGPT делает уровни, новые режимы и дизайн в Судоку
Начать делать свои игры как независимый разработчик я решил с чего-то простого и для первой игры выбрал механику Судоку, которую смог сделать за месяц.
Несмотря на то, что в интернете есть куча примеров и алгоритмов для создания уровней этой головоломки я предпочел делать их в ручную, а позже обратился за помощью к GhatGPT. Пример запроса, для создания одного уровня вы можете видеть на скриншоте и по аналогии можно создавать уровни любой сложности, которые я добавляю в игру.
Парадокс подарка: что может поведение рабочего коллектива сказать об экономике?
В России, в отличии от многих стран (имеются в виду страны Евросоюза, Великобритания, США, Израиль), есть странная и с виду парадоксальная «игра» (так мы здесь далее называем это устоявшееся социальное поведение), которая упорно поддерживается социумом, но при этом кажется совершенно нелогичной и бессмысленной стороннему наблюдателю: на каждый день рождения своего коллеги весь коллектив дружно скидывается «на подарок», причём каждый раз сотрудник отдаёт в общую кассу существенную сумму, как правило превышающую 1% его зарплаты за месяц. Собранная сумма в виде высоколиквидного актива, чаще — в деньгах, реже — в их эквиваленте типа подарочного сертификата, в качестве подарка вручается имениннику в конверте!