
Логические игры
Развиваем логику
Сортировка «Ханойская башня»

Ханойские башни
Про знаменитую игру Эдуарда Люка́ на Хабре не писа́л только ленивый. Кажется, все покровы сорваны и что-то ещё по поводу алгоритма добавить уже невозможно. Но нет, у данной темы есть ещё скрытые ресурсы. Сегодня, в частности, мы переделаем алгоритм решения этой головоломки в полноценную сортировку. (Зачем? Just for fun. В пятницу можно.)
Чёртова дюжина странных игр

Я люблю разные игры. Например, те, что могут меня удивить. В этой подборке я перечислил игры и почти игры, в хорошем смысле этого слова странные. Я сознательно игнорирую в обзоре симуляторы козлов и хлебушка, игры с необычным графическим дизайном (иначе статья лопнет по швам) и очень известные игры, такие как Dear Esther. И ни в коем случае не претендую при этом на полноту изложения. Просто предлагаю скоротать часок-другой во время праздников, если вам станет любопытно.
Задача про мышей и отраву
Есть 1000 одинаковых колб с прозрачной жидкостью.
В 999 колбах вода, а в одной случайной - отрава.
Если мышь попробует отраву, то она погибнет через 1 час.
Как найти отравленную колбу за минимальное время?
Не только Factorio: свежие игры про автоматизацию и чему они могут научить разработчиков

Игры про автоматизацию затягивают с головой, если хоть раз прочувствовать их прелесть и красоту. Часами смотришь на бесконечные цепочки производств, продумываешь, как всё оптимизировать, а окружающие недоумевают, чем ты вообще занят.
Если вы бывали в этой ситуации, провели сотни часов в Factorio или Satisfactory, но не слышали о других представителях жанра — эта подборка для вас. А для тех, кто никогда не пробовал играть во что-то подобное или всегда избегал Factorio, считая её слишком громоздкой — это отличная возможность найти что-то по душе и открыть для себя новое увлечение.
Мы не только рассмотрим свежие игры в этом жанре, но ещё и проведём аналогии с разработкой ПО: обсудим, какие качества эти игры развивают и как на их примере учиться на ошибках. А также посмотрим на игры с открытым исходным кодом для тех, кто хочет углубиться в их внутреннее устройство.
Если вы только начинаете осваивать профессию, эти игры помогут вам понять преимущества и недостатки различных подходов на более простых аналогиях, а позже перенести этот опыт в реальную разработку. Например, необходимость масштабируемости, удобства хорошо настроенного CI/CD, или компромиссы, которые приходится принимать при использовании микросервисной архитектуры.
5 игрушек, чтобы ребёнок почувствовал программирование

Власть над материальными объектами — пожалуй, лучший способ оценить мощь программирования.
Решаем простой Crackme для Sega Mega Drive
Привет всем,
Несмотря на мой большой опыт в реверсе игр под Sega Mega Drive
, крякмисов под неё я никогда не решал, да и не попадались они мне на просторах интернета. Но, на днях появился забавный крэкми, который захотелось решить. Делюсь с вами решением…
Неожиданные преимущества ролевых настольных игр
(с) Big Bang Theory
Когда речь заходит о ролевых настолках, у многих в голове возникает картина: тускло освещённый подвал, заполненный кидающими кубики людьми в дурацких одеяниях. Но, поверьте, у подобных развлечений немало преимуществ. Ролевые настолки могут быть не только весёлым развлечением, но для кого-то и способом обрести полезные жизненные навыки.
Новая версия программы AlphaGo Zero разгромила своего прославленного предка со счетом 100:0

DeepMind объявила о матче AlphaGo с чемпионом мира по го Кэ Цзе

Компания DeepMind, сейчас входящее в состав холдинга Alphabet, несколько лет работает над программной платформой AlphaGo. В прошлом году она выиграла в го у одного из чемпионов мира Ли Седоля. Таким образом, разработчики этой нейросети смогли доказать, что компьютер вполне в состоянии соревноваться с человеком в сферах, которые считались ранее прерогативой людей.
Та же игра го входила в рейтинг сложнейших для «понимания» компьютером игр. Эксперты считали, что в ближайшее время ИИ (слабая его форма) не сможет победить не то, что чемпионов мира, но и обычных игроков высокого уровня. Тем не менее, случилось то, что случилось, Alpha Go побил Ли Седоля в четырех партиях из пяти. А сейчас настал черед сразиться с еще одним чемпионом, Кэ Цзе, игроком в го 9 дана. Цзе занимает первую строчку рейтинга Китая и мира по набранным баллам.
Дзэндо — не только боевое искусство, но и игра на индуктивные умозаключения
This is the most serious question of all.
If you answer yes or no
You lose your own Buddha-nature.
На Хабре и Гиктаймсе время от времени появляются посты с обзорами игр для программистов, но в большинстве случаев это или Лого с графикой, или казуальные настолки. Иногда хочется чего-нибудь посложнее и поматематичнее. Как, например, Zendo, выпущенной в 2001 году Кори Хис и полуившая несколько наград. Представляет она собой соревновательную игру, построеннуюна мат.индукции и дзэн-коанах.
В ней игроки пытаются угадать придуманную мастером закономерность, напрямую не конфликтуя друг с другом, но при этом ограничивая друг друга в количестве информации, чего и пытался добиться автор (кстати, эта история решений по игровой механике сама по себе интересна).

Новая подсказка разгадки тайны Криптоса
Создатель легендарной скульптуры-загадки раскрыл ещё 5 букв зашифрованного сообщения

Санборн мало что знал о шифровании данных, поэтому ему пришлось неплохо подготовиться. Помогал в этом Эд Шейдт, который как раз ушёл с поста главы криптографического центра Лэнгли. Нужно было оставить способ разгадки, а также не выдать текущие секреты ЦРУ. Поэтому Шейдт научил художника не современной криптографии, а техникам шифрования периода от конца XIX века до Второй мировой войны, методам, которые требуют наличия лишь ручки и бумаги. В отличие от них сегодняшние алгоритмы сильно опираются на вычислительные машины.
Исследуем игру «5 букв» от Т-Банка и разные алгоритмы решения

Многие знакомы с играми "Wordle" или с российским аналогом "5 букв" от Т-Банка, суть которых в том, чтобы отгадывать пятибуквенные слова. Словарного запаса среднестатистического человека вполне хватает для успешного прохождения этих игр, но иногда человеку тяжело подобрать загаданное слово, хотя он точно его знает.
Кажется, что компьютер справлялся бы с этой игрой очень хорошо, но насколько именно хорошо?
В рамках этой статьи мы подробно исследуем российскую версию игры "5 букв":
• Придумаем различные алгоритмы прохождения игры
• Посмотрим, как различные алгоритмы проходят игру на разных словарях
• Сравним результаты и сделаем выводы
В статье будут рассмотрены как теоретические расчеты, так и вполне применимые для человека на практике советы и подходы.
Ближайшие события
Вычислительная сложность некоторых игр и головоломок (часть 1)

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

Шахматы — удобный объект исследований в области искусственного интеллекта. Игра проста по структуре, подчинена основной задаче (поставить мат противнику) и не допускает вольной трактовки правил – следовательно, классифицируется как «логическая». Именно на шахматах испытывались многие направления искусственного интеллекта. Например, методики оптимизации перебора (уход от «комбинаторного взрыва» при просчёте вариантов вперёд на несколько ходов), логическое программирование, распознавание образов и экспертные системы.
В этой игре воплотился, известный нам по фантастическим фильмам и книгам, сюжет: человек против машины, плоть и кровь против микросхемы, эмоция против алгоритма. Разумеется, в противостоянии гроссмейстеров и компьютерных программ не наблюдалось голливудского размаха, да и ни о какой угрозе речи не шло, напротив, развитие искусственного интеллекта в наших реалиях одна из составляющих прогресса. И всё же нужно признать, что сражения на доске происходили в лучших традициях драматургии. Об этом сегодня и поговорим, доставайте блокноты и записывайте ходы.
Крестики-нолики, шашки и шахматы: немного об играх в математике

Вы вечно проигрываете в крестики-нолики? Устали от бесконечных издевок окружающих? Чувствуете себя неполноценным членом общества? Тогда вы обратились по адресу! Сегодня у вас есть уникальная возможность пройти наш обучающий курс по беспроигрышной стратегии, который стартует уже сегодня! Присоединяйтесь сейчас и получите скидку 10% по промокоду НЕУДАЧНОЕ_ВСТУПЛЕНИЕ!
Картонный движок для электротехнической настольной игры. Как мы приближали его к реальности
Летом 2018 года я уже писал о том, как мы создавали настольную электротехническую игру "Не закороти Цепь!", которая тогда готовилась к изданию. В настоящий момент работа над игрой завершена, она успешно собирает средства на издание на площадке CrowdRepublic, но мы решили рассказать об её "движке", его создании и с проблемами, с которыми мы столкнулись при этом.
Казалось бы, что сложного. Батарейка, провода, светодиоды и лампочки — собирай цепочку, смотри, что зажглось, получай очки и штрафы, если замкнул плюс на минус без нагрузки. Резистор уменьшает число очков, диод пропускает или не пропускает ток в определенном направлении, цепь "считается" от плюса к минусу. Но...
Игра детская (8+ рекомендация) и необходимо, чтобы дети (и взрослые) не сломали мозг на определении работоспособности цепи. И пришлось пойти на упрощение правил. Главное, чем пришлось пожертвовать и где "движок" расходится с реальной цепью — это параллельные и последовательные соединения. Обычно игроки создают цепочки, где все элементы расположены последовательно, но увы на тестах они умудрялись подключать лампочки параллельно. Тогда элементы получают одинаковое напряжение и раз у нас число очков дается за "силу свечения", то очки начислять надо было не так, как при последовательном соединении. Казалось бы ничего сложного, но как только в цепи появляются еще резисторы и светодиоды, мозг начинает "кипеть".
Взять и победить: ИИ выиграл покерный турнир у четырех профи

Искусственный интеллект (слабая его форма), разработанная представителями Школы информатики университета Карнеги-Меллон, обыграл четырех профессиональных игроков в покер. Речь идет о турнире в Техасский холдем, который проходил в питтсбургском казино Rivers. Это одна из наиболее популярных разновидностей покера. В ходе турнира было сыграно около 120 тысяч раздач. ИИ взял банк в $1,7 миллиона.
Авторы программы — Томас Сэндхолм и Ноам Браун. По словам разработчиков, покер — игра, участники которой не знают, какие карты у всех остальных. По этой причине просчитать что-то крайне сложно. Джимми Чу, один из участников турнира, пожаловался на то, что он с коллегами недооценил возможности Libratus: «Бот каждый день играл все лучше. Он как будто более умелая наша версия».
Система AlphaGo выиграла третью, решающую игру у Ли Седоля
Третья победа искусственного интеллекта в исторической серии из пяти игр в го

Так эксперты говорили до появления AlphaGo. Разработка от DeepMind (в 2014 году компанию купила Google) использует метод Монте-Карло. Лучшие из современных систем компьютерного го используют эту технологию. Но в AlphaGo ходы также помогают выбрать нейросети политики и ценности. Их можно назвать близкими родственниками нейросетей, которые распознают изображения и речь. Систему сначала научили игре на 160 тысячах партий с сервера KGS. Затем AlphaGo тренировалась в играх против самой себя.
Решение задачи о двух мудрецах
Собственно, задача:
У некоторого султана было два мудреца: Али-ибн-Вали и Вали-ибн-Али. Желая убедиться в их мудрости, султан призвал мудрецов к себе и сказал: «Я задумал два числа. Оба они целые, каждое больше единицы, но меньше ста. Я перемножил эти числа и результат сообщу Али и при этом Вали я скажу сумму этих чисел. Если вы и вправду так мудры, как о вас говорят, то сможете узнать исходные числа».
Мудрецы задумались. Первым нарушил молчание Али.
— Я не знаю этих чисел, — сказал он, опуская голову.
— Я это знал, — подал голос Вали.
— Тогда я знаю эти числа, — обрадовался Али.
— Тогда и я знаю! — воскликнул Вали.
И мудрецы сообщили пораженному царю задуманные им числа.
Назовите эти числа.
Решение под катом.