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

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

Время на прочтение1 мин
Количество просмотров14K
Мы в компании «Флант» любим IT-квесты — те, кто устраивался к нам на работу, прекрасно об этом знают. И так замечательно сложилось, что в свободное от основной занятости время мне посчастливилось придумать ещё одну головоломку.

Решение опубликовать её в хабе системного администрирования обусловлено тем, что в большей степени мы относим себя к этой категории айтишников, однако полное прохождение квеста требует проявления смекалки в разрезе более общих компетенций из области ИТ. В общем, если вам, как и нам, даже (и особенно!) в выходные (а может, уже и в пятницу?) хочется занять свой мозг интересными задачами — welcome! Мы даже обещаем приз самому быстрому победителю.
Читать дальше →

Скрытый порядок в цветном хаосе

Время на прочтение5 мин
Количество просмотров4.9K
Мне повезло на работе заниматься любимым делом в сильной команде с хорошими людьми. Мы строили и рушили воздушные замки, сражались с ветряными мельницами, внедряли, поддерживали и не волновались. Однажды мне захотелось построить свой замок. Рассудив с разных сторон я решил, что он будет небольшой, и я построю его сам, это будет хобби-проект. Идей было несколько, я выбрал одну и приступил к разработке, это была игра.
Читать дальше →

Самый большой кубик Рубика в мире: на решение головоломки требуется 7,5 часов

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


Если вы умеете складывать кубик Рубика 3*3, и делаете это хорошо — самое время начать достигать новых высот. Сделать это можно, используя новый кубик Рубика, в формате 17*17*17. В этой головоломке 6.69 * 10^1054 возможных комбинаций, так что поиграться будет время.

К слову, несмотря на большое количество разновидностей этой головоломки, формат 3*3*3 все же остается самым популярным. Тем не менее, профессионалы и любители кубика работают и с другими форматами. И один из профи уже научился складывать самый большой кубик Рубика в мире.

Читать дальше →

Решаем Wordle с 3,64 попыток в 99,4% случаев

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

Недавно я играл в головоломку Wordle, параллельно думая, как бы её могла решать программа.

[Прим. пер.: Wordle — игра в отгадывание слов, напоминающая «быки и коровы». Правила достаточно ясны по скриншоту выше.]

Первым делом я извлёк списки слов с сайта Wordle. Любопытно, что существует «целевой» список из 2315 слов, которые могут быть ответами, но и дополнительный список из 10657 возможных догадок — вариантов, которые могут вводить пользователи, но которые никогда не будут ответом. Если вам нужны эти списки, то в репозитории ниже есть пара set в формате Python.

Первым делом я подумал, что для управления моей стратегией угадываний стоит использовать частотность букв английского языка. Однако потом я осознал, что есть способ получше: использовать частотность букв в целевом списке! Ведь это самое важное? Никаких мне etaoin shrdlu!
Читать дальше →

Day Out, второй шанс

Время на прочтение1 мин
Количество просмотров746

Задача для тех кто:


  • Много путешествовал или в принципе достаточно эрудирован.
  • Умеет пользоваться поисковиком или на крайний случай википедией.
  • Хорошо считает в уме или вообще программист.

Призов, как здесь, увы не обещаем.

Внимание вопрос


ILV

Мгновений интересных ряд,
Большое яблоко и индексов отряд
Готов боец, найди его
Используй goog

UPD0: 10/20/2011 12:33, задачу первым решил Николай (ответ через web-форму на сайте).
UPD1: 10/21/2011 10:10, задачу решил general

Читать дальше →

Интуиция, головоломки и вычислимость

Время на прочтение5 мин
Количество просмотров4.8K
В этой статье я хочу рассказать об одном парадоксе, который был подмечен давно, но который до сих пор является таинственной загадкой — одной из тех, о которых рассказывают преподаватели, чтобы заинтересовать студентов своим предметом. Этот парадокс непосредственно связан с проблемой искусственного интеллекта, поэтому данная статься опубликована в соответствующем блоге.

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

Читать дальше →

Новый рекорд по сборке Кубика Рубика: всего 5,25 секунды

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


Кубик Рубика до сих пор остается одной из наиболее популярных головоломок в мире. Несмотря на почтенный возраст, у игрушки — сотни тысяч поклонников, среди которых есть настоящие профи, изучающие новые методы сборки Кубика, с тем, чтобы улучшить предыдущие рекорды. К слову, сейчас рекордсменами являются роботы. Так, CubeStormer 3 решил головоломку всего за 3 секунды.

Но люди наступают роботам на пятки (конечно, в переносном смысле). На днях Коллин Барнс побил предыдущий рекорд, поставленный человеком, и решил головоломку всего за 5,25 секунды. Коллин работает со скоростью, которая почти равна скорости работы робота — движения рук почти неуловимы.
Читать дальше →

Задачка 165-летней давности не даёт покоя математикам

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


В 1850 году преподобный Томас Киркман, британский математик и настоятель прихода в Ланкашире, сформулировал невинно выглядящую головоломку в развлекательном журнале для любителей математики «Записная книжка леди и джентльменов»:

«Пятнадцать юных школьниц выходят на прогулку семь дней рядами по трое: нужно каждый день располагать их так, чтобы одна и та же пара школьниц никогда не встречалась дважды в одном ряду».
Читать дальше →

Как написать решатель «Пятнашек» на C#

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

Цель этой статьи — пробудить интерес читателей к удивительному миру и показать различные способы решения таких же интересных головоломок, как «Пятнашки». Создайте свою базу данных с шаблонами и начните решать головоломки менее чем за 50 миллисекунд. Материалом делимся к старту курса по разработке на C#.

Читать далее

Brainteaser – сайт веб-квестов

Время на прочтение2 мин
Количество просмотров1.4K
image
На Хабре регулярно публикуются различные головоломки и квесты, как свои, так и чужие. Я хочу предложить вашему вниманию целый ресурс головоломок и веб-квестов.

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

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

Первый квест стартует сегодня.
Главный приз — вертолет GYRO-Vizor XL.

Квест публикуется на Хабре до официального старта на Brainteaser.
Читать дальше →

Как сложить кубик Рубика новичку по алгоритму бога? Дополненная реальность приходит на помощь

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


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

К слову, чемпион мира по сборке кубика Рубика (да, есть и такие чемпионы) решает головоломку всего за 4,9 секунды. Чемпиона зовут Лукас Эттер, это подросток из США. Аналогичный рекорд для роботизированной системы составляет уже 0,887 секунды (правда, этот результат еще не подтвержден). Но как научиться быстро собирать кубик Рубика самостоятельно? Можно тренироваться (на это могут уйти многие годы). А можно воспользоваться специальной программой, которая поможет собрать кубик в минимальное число ходов (так называемый алгоритм бога). Здесь никакие тренировки не нужны, приложение делает все само.
Читать дальше →

Решение головоломок помогает только в решении головоломок

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


Если вы занимаетесь спортом, то хорошо знаете, как физические упражнения развивают силу, ловкость, выносливость. Это полезные качества в реальной жизни: вы сможете поднять мешок картошки одной рукой, забежать на 20-й этаж без лифта, обогнать автомобиль на велосипеде (средняя скорость движения автомобилей в Москве составляет 24 км/ч). Тренировки тела действительно помогают в реальной жизни.

А что насчёт тренировок мозга? Казалось бы, тот же принцип должен срабатывать в тренировке когнитивных способностей. К сожалению, это не так.
Читать дальше →

Создание процедурного генератора головоломок

Время на прочтение11 мин
Количество просмотров6.1K
В этом посте описывается генератор уровней для моей игры-головоломки Linjat. Пост можно читать и без подготовки, но он легче усвоится, если сыграть в несколько уровней. Исходный код я выложил на github; всё обсуждаемое в статье находится в файле src/main.cc.

Примерный план поста:

  • Linjat — это логическая игра, в которой нужно закрыть все числа и точки в сетке линиями.
  • Головоломки процедурно генерируются при помощи комбинации из солвера, генератора и оптимизатора.
  • Солвер пытается решить головоломки так, как это делал бы человек, и присваивает каждой головоломке оценку интересности.
  • Генератор головоломок создан таким образом, чтобы можно было с лёгкостью менять одну часть головоломки (числа) и при этом все остальные части (точки) менялись таким образом, чтобы головоломка оставалась решаемой.
  • Оптимизатор головоломок многократно решает уровни и генерирует новые вариации из наиболее интересных, найденных на текущий момент.

Правила


Чтобы понять, как работает генератор уровней, нужно, к сожалению, разобраться с правилами игры. К счастью, они очень просты. Головоломка состоит из сетки, содержащей пустые квадраты, числа и точки. Пример:


Цель игрока — прочертить вертикальную или горизонтальную линию через каждое из чисел при соблюдении трёх условий:

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

Пример решения:


Ура! Дизайн игры готов, UI реализован, и теперь единственное, что осталось — найти несколько сотен хороших головоломок. А для подобных игр обычно не имеет смысла пытаться создавать такие головоломки вручную. Это работа для компьютера.
Читать дальше →

Оптимизация поиска в ширину: как обработать граф с 10 миллиардами состояний

Время на прочтение17 мин
Количество просмотров10K
image

Пару месяцев назад мне наконец пришлось признать, что я недостаточно умён, чтобы пройти некоторые уровни головоломки Snakebird. Единственным способом вернуть себе часть самоуважения было написание солвера. Так я мог бы притвориться, что создать программу для решения головоломки — это почти то же самое, что и решить её самому. Код получившейся программы на C++ выложен на Github. Основная часть рассматриваемого в статье кода реализована в search.h и compress.h. В этом посте я в основном буду рассказывать об оптимизации поиска в ширину, который бы потребовал 50-100 ГБ памяти, чтобы он уместился в 4 ГБ.

Позже я напишу ещё один пост, в котором будет описана специфика игры. В этом посте вам нужно знать, что мне не удалось найти никаких хороших альтернатив грубому перебору (brute force), потому что ни один из привычных трюков не сработал. В игре множество состояний, потому что есть куча подвижных или толкаемых объектов, при этом важна форма некоторых из них, которая может меняться со временем. Не было никакой пригодной консервативной эвристики для алгоритмов наподобие A*, позволяющих сузить пространство поиска. Граф поиска был ориентированным и заданным неявно, поэтому одновременный поиск в прямом и обратном направлении оказался невозможным. Единственный ход мог изменить состояние множеством несвязанных друг с другом способов, поэтому не могло пригодиться ничего наподобие хеширования Зобриста.

Приблизительные подсчёты показали, что в самой большой головоломке после устранения всех симметричных положений будет порядка 10 миллиардов состояний. Даже после упаковки описания состояний с максимальной плотностью размер состояния составлял 8-10 байт. При 100 ГБ памяти задача оказалась бы тривиальной, но не для моей домашней машины с 16 ГБ памяти. А поскольку Chrome нужно из них 12 ГБ, мой настоящий запас памяти ближе к 4 ГБ. Всё, что будет превышать этот объём, придётся сохранять на диск (старый и ржавый винчестер).
Читать дальше →

Школьный учитель из США разгадал световую криптограмму с верхнего этажа офиса Adobe

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


Джимми Вейтерс (Jimmy Waters) — школьный учитель из города Кноксвилль, Теннесси, США. Обычный человек, который любит читать книги. Прошлым летом ему в руки попал роман «Выкрикивается лот 49» писателя Томаса Пинчона. Это произведение считается одним из ярких примеров постмодернистской литературы.

Книга примечательна и сама по себе. Но, как оказалось, она связана с одним интересным объектом — San Jose Semaphore. Так называется световая инсталляция на верхнем этаже офиса Adobe. Эта инсталляция работает уже более десяти лет, притом известно, что она несет в себе какое-то сообщение, которое, никто не мог разгадать в течение долгого времени. Так вот, книга помогла Вейтерсу разгадать световую криптограмму.

Сложный ARG квест для IT-шников, в котором ты не участвовал. (Часть 3 — финал)

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

Квест окончен! Это было сложно... Но интересно! Постараюсь рассказать вам обо всех загадках последнего этапа квеста от ютубера.

Читать далее

Чему я научился делая игры на LibGDX

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

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

Читать далее

Как я пазлы делать учился

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

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

Читать далее

Новая игра позволит пользователям управлять вагонеткой механической почты в альтернативном мире России

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

Новая игра уральского разработчика позволит пользователю управлять вагонеткой механической почты в альтернативном мире России прошлого

Километры рельс, проводов, тонны громоздких панелей автоматики и умиротворённое путешествие на фоне русской глубинки – всё это ждёт Вас в новой игре «Pnevmo-Capsula: Domiki». Меня зовут Валентин Помешкин, я автор концепции, реализации и в этой статье я расскажу о своём детище, которое уже скоро выйдет, и о том, что же вас ждёт! Устраивайтесь поудобнее)

«Pnevmo-Capsula» - трёхмерная инди-игра в стиле квест, головоломка. Игрок контролирует подвижную капсулу и должен найти выход из уровня. Главной идеей игры является создать атмосферу изолированного, но уютного места, которое бы игрок безошибочно определил как Россия. Места без оглядки знакомого, но то и дело наталкивающего тебя на мысли «что-то здесь не так». Антураж сна с бесчисленным количеством деталей российского быта и забытых временем развалин. И позволить не спеша прокатиться по хорошо знакомым ему видам: ночным деревням, и пространствам, приоткрывшим завесу тайны. Многие элементы игры до сих пор имеют место быть, вдалеке от городов-милионников: жизнь там идёт неспешно, своим чередом, и именно таким представится мир «Пневмо-капсулы».

Читать далее

Дизайн игр-головоломок на примере In The Shadows

Время на прочтение6 мин
Количество просмотров9.8K
Существует множество игр жанра «пазл-платформер», но мне редко удаётся найти такую, в которой правильно соблюдён баланс сюжета, головоломок и графики. Всегда находится какой-нибудь аспект, который меня напрягает. Я очень хотел создать игру с красивой графикой, интересным сюжетом и классическими платформенными головоломками, но стремился ещё и к тому, чтобы все эти три аспекта глубоко сочетались друг с другом. В In The Shadows я старался сделать так, чтобы каждый аспект имел своё обоснование. Сделать так, чтобы всё работало вместе — сложная задача, которая сама по себе является головоломкой.


Дневники разработки In The Shadows, собранные за три года работы



Сюжет In The Shadows посвящён преодолению страхов, противостоянию реальности, использованию страха темноты в качестве символа. Чтобы обеспечить целостность, всё в игре освещается в реальном времени и отбрасывает настоящие тени — основная часть механик связана с пугающим созданием-тенью, обретением контроля над ним. Все три аспекта игры связаны друг с другом. Никаких хитростей — сюжет передаётся как через графику, так и через головоломки с механиками. На то, чтобы всё это заработало вместе, ушло много времени, это оказалось гораздо сложнее, чем я ожидал.
Читать дальше →