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

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

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

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

Математическая модель игры Доббль

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

Уровни сложности чтения


  • Я слишком молод, чтобы думать


    • Введение и правила игры
    • Как они это делают?
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности

  • Сделай мне умно


    • Введение и правила игры
    • Как они это делают?
    • При чём тут карточки?
    • Проективные плоскости малых порядков
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности

  • Кошмар


    • Введение и правила игры
    • Как они это делают?
    • Конечная геометрия для грудничков
    • При чём тут карточки?
    • Проективные плоскости малых порядков
    • Как построить проективную плоскость?
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности


Введение и правила игры


Несколько лет назад я купил игру Доббль (Dobble, оригинальное название “Spot It!”). Это очень простая, быстрая и весёлая игра, которую я считаю одной из лучших настольных игр вообще.

Читать дальше →
Всего голосов 110: ↑110 и ↓0+110
Комментарии23

ИИ и 2048. Часть 1: Метод Монте-Карло

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


«2048» через несколько недель исполняется 5 лет, а значит, пора написать что-нибудь, посвящённое этой замечательной игре.

Особенно познавательна тема самостоятельной игры искусственного интеллекта в головоломку. Способы реализации есть самые разные и сегодня разберём относительно лёгкий из них. А именно — научим компьютерный разум собирать степени двойки с помощью метода Монте-Карло.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии21

Выигрышная стратегия Гомоку – 35 ходов

Время на прочтение11 мин
Количество просмотров37K
При игре по стандартным правилам Гомоку для выигрыша черным требуется не более 35 ходов. В статье Вашему вниманию представлена полная выигрышная стратегия и соответствующий алгоритм игры.

Демонстрация полного решения – здесь – можно поиграть и найти самые длинные варианты. Программа всегда выигрывает и затрачивает на это не более 35 ходов. Исходные тексты приложения, само решение и примеры партий в конце статьи.
Читать дальше →
Всего голосов 64: ↑64 и ↓0+64
Комментарии25

Стратегического покерного бота Libratus адаптировали для военных симуляторов

Время на прочтение3 мин
Количество просмотров7.3K
В 2017 году покерный бот Libratus попал в заголовки СМИ, когда обыграл четырёх профессионалов в безлимитный холдем на дистанции 120 000 рук. Теперь технологию адаптировали для военного применения.

Разработчики систем слабого ИИ часто сравнивают эффективность своих программ в игровом противостоянии против человека. В играх с полной информацией в любой момент игры все игроки имеют полную информацию о состоянии игры, то есть о позиции и всех возможных ходах любого из игроков. В отличие от таких детерминированных ситуаций, в играх с неполной информацией часть информации о состоянии игры скрыта от игрока — например, карты оппонента. Безлимитный холдем как раз одна из таких игр. Кроме закрытых карт оппонента, добавляется здесь элемент неопределённости за счёт произвольного размера каждой ставки. С учётом этого количество возможных исходов оценивается в 10161. Выработка оптимальной стратегии в условиях неопределённости с учётом тактики оппонента — именно то, что нужно военным.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Истории

Один гигантский шаг для машины, играющей в шахматы

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

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




В начале декабря исследователи из компании DeepMind, занимающейся искусственным интеллектом и принадлежащей Alphabet Inc., родительской корпорации, также владеющей и Google, рассказали о происходящем на передних рубежах шахмат.

Годом ранее, 5 декабря 2017 года, команда поразила шахматный мир, объявив о своём алгоритме машинного обучения (МО) AlphaZero, который сумел овладеть не только обычными шахматами, но и японскими шахматами сёги и игрой го. Алгоритм начал работу без какого бы то ни было понятия об играх, кроме базовых правил. Затем он начал играть сам с собой несколько миллионов раз и учиться на своих ошибках. Всего за несколько часов алгоритм стал наилучшим игроком, как среди людей, так и компьютеров, из всех, что видел мир.
Читать дальше →
Всего голосов 108: ↑89 и ↓19+70
Комментарии284

Ticket to Ride.Европа — скромные шаги в арифметику игры

Время на прочтение5 мин
Количество просмотров30K
День первый. Нам подарили игру «Ticket to ride. Европа». Это моё первое знакомство с игрой данной серии, надо обязательно попробовать и заценить.

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


С помощью гугла, excel и python и чёртовой матери была проведена познавательная экскурсия в механики игры.
Волшебной таблетки не нашлось, но что-то полезное на выходе получилось
Всего голосов 48: ↑46 и ↓2+44
Комментарии32

Математика апокалипсиса: теория игр и карибский ядерный кризис

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

Теория ходов


«Мы сыграли в гляделки, и, по-моему, противник моргнул», — сказал государственный секретарь США Дин Раск на пике кубинского ракетного кризиса в октябре 1962 года. Он имел в виду сигналы, которые подавал Советский Союз, желая разрешить самую опасную ядерную конфронтацию между двумя сверхдержавами, которую многие аналитики интерпретировали как классический пример игры в ядерного «цыплёнка» (на русском аналог этой игры называется «ястребы и голуби»).

Игра в «цыплёнка» обычно используется для моделирования конфликтов, в которых каждый из игроков взял курс на столкновение. Игроками могут быть водители, приближающиеся друг к другу на узкой дороге, каждый из который имеет выбор — свернуть, чтобы избежать столкновения, или не сворачивать. В рассказе «Бунтарь без причины», который позже был переделан в фильм с участием Джеймса Дина, водителями были два подростка, но они ехали не друг на друга, а к обрыву. Цель игры была в том, чтобы не нажать на тормоза первым и не превратиться таким образом в «цыплёнка», и в то же время не свалиться с обрыва.

Хотя с виду карибский ракетный кризис похож на игру в «цыплёнка», на самом деле он плохо моделируется этой игрой. Другая игра более точно описывает действия лидеров США и Советского Союза, но даже для этой игры стандартная теория игр не полностью описывает доступные им варианты выбора.

С другой стороны, воспроизводит или предсказывает прошлое действий лидеров «теория ходов» (theory of moves), основанная на теории игр, но радикально меняющая стандартные правила игры. Что ещё более важно, эта теория проливает свет на динамику игры, основываясь на предположении, что игроки думают не только о непосредственных последствиях их действий, но и об их влиянии на игру в будущем.
Читать дальше →
Всего голосов 34: ↑25 и ↓9+16
Комментарии23

Как написать игру для компьютера, в котором нет устройств ввода и вывода

Время на прочтение3 мин
Количество просмотров14K
Что можно сделать с компьютером на электромагнитных реле у которого нет никаких устройств ввода, а из устройств вывода — только дамп восьми регистров?

Поиграть в игры, конечно! Играли же древние люди на калькуляторах МК-61/52, которые лишь немногим нагляднее.


Всего голосов 37: ↑35 и ↓2+33
Комментарии19

Квантовые шашки — make checkers great again

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

Мы добавили правила на основе квантовой теории в шашки, чтобы сделать их менее предсказуемыми и сломать стандартные тактики игры. Это не просто игра, это интерактивное представление квантовой теории с такими эффектами как суперпозиция и квантовая запутанность.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии33

Возможно ли загрузить непроходимый уровень в Super Mario Maker?

Время на прочтение8 мин
Количество просмотров21K
Данная запись — вольный пересказ видео Is it Possible to Upload an Impossible Level in Super Mario Maker?. В ролике есть отсылка на видео The Impossible Level, поэтому перескажу и его. Мой пересказ не претендует на точность, я просто хочу поделиться интересным материалом.

О чём пойдёт речь


Поиск ошибок в ПО бывает очень разным. Я занимаюсь поиском ошибок в исходных кодах, в бинарных файлах, в больших комплексах программ и даже в каких-то железках. Но есть область, в которой я практически никогда ничем не занимался — поиск ошибок в компьютерных играх.

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

В сентябре 2015 года компания Нинтендо выпустила Super Mario Maker — платформер про известного сантехника Марио. Одной из ключевых особенностей игры стала возможность пользователям самостоятельно создавать уровни (здесь они называются курсы) и делиться ими с другими игроками. Кто-то уровни создаёт, отслеживает процент успешных прохождений, а кто-то, собственно, проходит эти уровни. Именно в этот момент у игроков-исследователей зачесались руки — а можно ли опубликовать непроходимый уровень?


Рисовать что-то такое нет смысла, уровень хоть и действительно непроходимый, но и опубликовать мы его не сможем.
Читать дальше →
Всего голосов 59: ↑57 и ↓2+55
Комментарии7

AlphaZero снова обыграл Stockfish в матче из 1000 партий

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

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

Результаты снова не оставляют никаких сомнений в том, что AlphaZero является одним из сильнейших шахматных движков в мире.

Обновленный AlphaZero разгромил Stockfish 8 в новом матче с 1000 партий с результатом: 155 побед, 6 поражений, 839 ничьих.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии21

«Потомок» AlphaGo самостоятельно научился играть в шахматы, сеги и го

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

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

Тем не менее, компания не останавливается на достигнутом, а продолжает работу. Благодаря исследованиям ее сотрудников на свет появилась улучшенная версия AlphaGo, которая получила название AlphaZero. Как и указано в заголовке, система сама смогла научиться играть сразу в три логических игры — шахматы, сеги и го.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии17

Сортировка «Ханойская башня»

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

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

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Крестики нолики «Без границ»

Время на прочтение14 мин
Количество просмотров27K
Крестики-нолики… в них играли все, я уверен. Игра притягательна своей простотой, особенно когда ты тянешь часы где-нибудь на уроке, паре, а под рукой нет ничего, кроме тетрадного листа и простого карандаша. Уж не знаю, кто первым когда-то догадался рисовать кресты и кружки в 9 квадратах, но с тех пор игра нисколько не потеряла в востребованности, тем более, что народ придумал огромное множество её вариаций.



Эта статья про процесс разработки ИИ на javascript для игры в одну из таких вариаций крестиков-ноликов: получилось довольно много материала, но я разбавил его анимацией и картинками. В любом случае, хотя бы стоит попробовать поиграть в это.
Отличия этого варианта игры от оригинала в следующем:

  1. Поле может быть сколь угодно большим (На сколько хватит тетради)
  2. Побеждает тот, кто поставит 5 фигур (если их можно так назвать) в ряд.

Все просто… и в то же время сложно: исход игры не может быть просчитан заранее, как в классическом аналоге. Этот «маленький проектик» отнял у меня много времени и нервов. Надеюсь, что вам будет интересно.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии21

Как проходить кибер испытания на «Checkpoint» 2 часть

Время на прочтение6 мин
Количество просмотров2.9K
Привет всем, я Никита Куртин, куратор израильской высшей школы IT и безопасности HackerU.

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

Для тех, кто пропустил первый пост расскажу, этим летом Checkpoint, опубликовала серию кибер испытаний.
Челлендж официально завершился к концу сентября 2018-го.

Задачи поделили на шесть категорий:

• Logic
• Web
• Programming
• Networking
• Reversing
• Surprise

По две задачки на каждое направление. Как я уже писал, Checkpoint до этого уже успел завоевать уважение и интерес с мой стороны, поэтому я решил принять эти вызовы. Однако ввиду занятости, смог позволить себе взяться лишь за 8 из 12 заданий (из четырёх разных категорий). И решить мне удалось 7 из них.

И так:

Челлендж: «Пазл»

Описание:

Наконец-то мы тебя нашли!
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Как проходить кибер испытания на «Checkpoint»

Время на прочтение5 мин
Количество просмотров3.8K
Привет всем, я Никита Куртин, куратор израильской высшей школы IT и безопасности HackerU

Этим летом ведущая израильская компания в области информационной безопасности Checkpoint, опубликовала серию кибер испытаний.

Задачи поделили на шесть категорий:

• Logic
• Web
• Programming
• Networking
• Reversing
• Surprise

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

Checkpoint до этого уже успел завоевать уважение и интерес с мой стороны, поэтому я решил принять эти вызовы. Однако ввиду занятости, смог позволить себе взяться лишь за 8 из 12 заданий (из четырёх разных категорий). И решить мне удалось 7 из них.

Челлендж официально завершился к концу сентября 2018-го.

image

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

• Логический челлендж «PNG++»
• Web челлендж «Роботы возвращаются»
• Web челлендж «Галерея Диего»
• Задача на программирование «Осторожные шаги»
• Задача на программирование «Пазл»
• Нетворкинг челлендж «Пинг Понг»
• Нетворкинг челлендж «Протокол»

Челлендж: PNG++

Описание:

Это (ссылка на зашифрованный файл PNG) изображение было закодировано с использованием пользовательского шифра.

Нам удалось считать большую часть этого кода здесь (ссылка на python код).
К несчастью, кто-то нерасторопный пролил кофе на весь key_transformator.py.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Разминки с Прологом

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

Путешественники, привет.


Если вы это читаете предлагаю продолжение того "занимательного" материала, который я писал перед этим. Если вы немного проследили за мыслью, которая изветвилась в три статьи, а основной то посыл — был, только в том, чтобы показать интерес к декларативному подходу. Он почему то не велик, как будто эСКюэЛ не стал общедоступным и обязательным, ведь без него невозможно подумать, а как можно обработать данные иначе. Правда, ведь лучше сформулировать задачу и не заботиться о том, во что это воплощается.


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


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


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


Хватит вызывать заинтересованность, начинаю...

Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии10

Занимательный пролог #2

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

Привет, сообщество разработчиков, надо довести дело до конца.


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


Попробую продолжить выпендриваться демонстрировать.


Коротко напомню задачу:


Wildcard Matching

Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for '?' and ''.
'?' Matches any single character.
'
' Matches any sequence of characters (including the empty sequence).
The matching should cover the entire input string (not partial).


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


Хардкорно я получил от него 66 и проверил свое решение — пока все работало. Но не может быть все так просто.


Зачем было делать так много тестов, хочу проверить дальше...


Попробую переписать данное решение на языке понятном доступном в этой системе (они отражают популярность языков программирования современности).


Итак, выбираю Питон.

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Занимательный пролог

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

Привет, жители, пришло время поговорить про декларативное программирование. Это когда вам в институте втирали, что программы можно не кодить, а формулировать. Это противоположность императивности, которая сейчас во всех языках программирования. Отдадим должное функциональному подходу, он тут братский, и дело свое делает все глубже проникая в современность, вот вам и лямбды в си++ и яваскрипты, может хаскел?


Но грустнее дело обстоит с логическим, продукционным программированием, которое можно представить только на Prolog.


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


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


1. Итак


Тут выбираем ближайшее к самым сложным задание, и пытаемся его решить на Prolog, необходимо продемонстрировать насколько он занимателен.


2. Задача 44. Wildcard Matching

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии34

Так ли хороши джуны?

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

Преамбулка


Эта статья является анализом другой статьи: Если вы не нанимаете джунов, то не заслуживаете сеньоров


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


Я оставил по возможности оригинальное оформление, а свои комментарии отметил отдельно.


Ну и желтый заголовок тоже оставил, немного видоизменив.


Поехали.

Читать дальше →
Всего голосов 86: ↑47 и ↓39+8
Комментарии240
Изменить настройки темы

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