«Умный» бот для онлайн-версии «Битвы Големов»: от эвристики к иллюзии разума
Меня просили сделать версию моей настольной игры «Битва Големов» в онлайн варианте почти с момента ее придумывания в 2014 году. Полноценно переносить игру я в итоге не стал (да и она бесплатно доступна в Tabletop Simulator), а вот сделать мини-версию для игры с 1 или 2 ботами желание появилось.
Если с реализацией менюшек и прочего задачи были чисто технического характера, то вот с логикой самих ботов встал вопрос - как их сделать достаточно умными, чтобы играть было интересно. В настольной игре ты играешь с живыми людьми и их поведение хоть и просчитывается, но не в полной мере. Слишком много факторов. А боты в настольной игре служат лишь антуражем и живут по своим простейшим алгоритмам, умещающимся на одной игровой карте.
https://habr.com/ru/articles/994194/
Алгоритмы и Структуры данных
Меня просили сделать версию моей настольной игры «Битва Големов» в онлайн варианте почти с момента ее придумывания в 2014 году. Полноценно переносить игру я в итоге не стал (да и она бесплатно доступна в Tabletop Simulator), а вот сделать мини-версию для игры с 1 или 2 ботами желание появилось.
Если с реализацией менюшек и прочего задачи были чисто технического характера, то вот с логикой самих ботов встал вопрос - как их сделать достаточно умными, чтобы играть было интересно. В настольной игре ты играешь с живыми людьми и их поведение хоть и просчитывается, но не в полной мере. Слишком много факторов. А боты в настольной игре служат лишь антуражем и живут по своим простейшим алгоритмам, умещающимся на одной игровой карте.
https://habr.com/ru/articles/994194/
Алгоритмы и Структуры данных
Хабр
«Умный» бот для онлайн-версии «Битвы Големов»: от эвристики к иллюзии разума
Меня просили сделать версию моей настольной игры «Битва Големов» в онлайн варианте почти с момента ее придумывания в 2014 году. Полноценно переносить игру я в итоге не стал (да и она бесплатно...
10 алгоритмов на графах в гифках
Подборка алгоритмов обхода графа с gif-анимациями и объяснениями. Статья поможет ознакомиться и разобраться с различными методами, которые используются в теории графов.
https://proglib.io/p/graphs-algoguide
Алгоритмы и Структуры данных
Подборка алгоритмов обхода графа с gif-анимациями и объяснениями. Статья поможет ознакомиться и разобраться с различными методами, которые используются в теории графов.
https://proglib.io/p/graphs-algoguide
Алгоритмы и Структуры данных
Библиотека программиста
10 алгоритмов на графах в гифках
Подборка алгоритмов обхода графа с gif-анимациями и объяснениями. Статья поможет ознакомиться и разобраться с различными методами, которые используются в теории графов.
Тестирование в спортивном программировании: приемы и советы
Информация из этой статьи явно пригодится вам, если вы планируете или уже участвуете в соревнованиях, олимпиадах из перечня РСОШ или ВСОШ по предмету информатика (программирование).
Я расскажу о самых популярных и удобных способах тестирования, которые должен знать каждый, а также дам пару практических советов о том, что делать, когда вердикт вашего решения WA (wrong answer) или TL (time limit).
https://habr.com/ru/articles/994516/
Алгоритмы и Структуры данных
Информация из этой статьи явно пригодится вам, если вы планируете или уже участвуете в соревнованиях, олимпиадах из перечня РСОШ или ВСОШ по предмету информатика (программирование).
Я расскажу о самых популярных и удобных способах тестирования, которые должен знать каждый, а также дам пару практических советов о том, что делать, когда вердикт вашего решения WA (wrong answer) или TL (time limit).
https://habr.com/ru/articles/994516/
Алгоритмы и Структуры данных
Хабр
Тестирование в спортивном программировании: приемы и советы
Информация из этой статьи явно пригодится вам, если вы планируете или уже участвуете в соревнованиях, олимпиадах из перечня РСОШ или ВСОШ по предмету информатика (программирование) . Я расскажу о...
Система частиц в The 13th Sign
Мы с друзьями делаем инди-игру The 13th Sign, и недавно выпустили первый трейлер, он же - техническое демо. После чего в узких кругах возник широкий круг вопросов формата “как это работает”. Ниже - все детали реализации.
https://habr.com/ru/articles/994682/
Алгоритмы и Структуры данных
Мы с друзьями делаем инди-игру The 13th Sign, и недавно выпустили первый трейлер, он же - техническое демо. После чего в узких кругах возник широкий круг вопросов формата “как это работает”. Ниже - все детали реализации.
https://habr.com/ru/articles/994682/
Алгоритмы и Структуры данных
Хабр
Система частиц в The 13th Sign
Доброго дня всем! Мы с друзьями делаем инди-игру The 13th Sign, и недавно выпустили первый трейлер , он же - техническое демо. После чего в узких кругах возник широкий круг вопросов формата “как это...
Как перестать угадывать цены и довериться теории вероятностей. Хроника одного эксперимента
В прошлой своей статье я открыл для себя интересную, но неприглядную истину — что рынок это то место, где можно зарабатывать даже не зная будущего. Не угадывая направление — пойдёт вверх или вниз, не изображая из себя Вангу, а лишь правильно работая с вероятностями и размерами позиции. Если вы подбрасываете монетку и ставите 100% на орла — вы банкрот при первом же выпадении решки. Но если вы дробите капитал по формуле Келли или используете ребалансировку, вы можете зарабатывать даже при череде неудач.
https://habr.com/ru/articles/993978/
Алгоритмы и Структуры данных
В прошлой своей статье я открыл для себя интересную, но неприглядную истину — что рынок это то место, где можно зарабатывать даже не зная будущего. Не угадывая направление — пойдёт вверх или вниз, не изображая из себя Вангу, а лишь правильно работая с вероятностями и размерами позиции. Если вы подбрасываете монетку и ставите 100% на орла — вы банкрот при первом же выпадении решки. Но если вы дробите капитал по формуле Келли или используете ребалансировку, вы можете зарабатывать даже при череде неудач.
https://habr.com/ru/articles/993978/
Алгоритмы и Структуры данных
Хабр
Как перестать угадывать цены и довериться теории вероятностей. Хроника одного эксперимента
В прошлой своей статье я открыл для себя интересную, но неприглядную истину — что рынок это то место, где можно зарабатывать даже не зная будущего. Не угадывая...
Совет на 2026 год — освойте ВАЙБ-КОДИНГ. ИИ уже пишет код, чинит баги, генерит тесты и документацию быстрее и качественнее любой команды айтишников
И те, кто научится вайбкодить сейчас, будут зарабатывать в разы больше тех, кто всё ещё делает всё вручную
Разобраться в этом с нуля поможет канал Вайб-кодинг. Там простым языком разбирают, какие инструменты действительно стоит использовать, как собирать проекты от идеи до релиза и что сейчас актуально в вайбкодинге
Подписывайтесь, нас уже 15 тысяч: @vibecoding_tg
И те, кто научится вайбкодить сейчас, будут зарабатывать в разы больше тех, кто всё ещё делает всё вручную
Разобраться в этом с нуля поможет канал Вайб-кодинг. Там простым языком разбирают, какие инструменты действительно стоит использовать, как собирать проекты от идеи до релиза и что сейчас актуально в вайбкодинге
Подписывайтесь, нас уже 15 тысяч: @vibecoding_tg
❤1
Новогодний переполох X Яндекс Доставка
Всем привет, любители экспресс доставки до клиента! Я тут на неделе узнал прикольный кейс при работе с Яндекс Доставкой, который стрелял так, что дорогие оффера Яндекса все таки пробивали первую линию обороны и выбирались как целевые при экспресс доставке до клиентов Sunlight. Я думал, что мы готовы к праздникам а оказалось, что не совсем
https://habr.com/ru/articles/994974/
Алгоритмы и Структуры данных
Всем привет, любители экспресс доставки до клиента! Я тут на неделе узнал прикольный кейс при работе с Яндекс Доставкой, который стрелял так, что дорогие оффера Яндекса все таки пробивали первую линию обороны и выбирались как целевые при экспресс доставке до клиентов Sunlight. Я думал, что мы готовы к праздникам а оказалось, что не совсем
https://habr.com/ru/articles/994974/
Алгоритмы и Структуры данных
SIMDe, дополнение к DOD архетектуре
Для начала хочу сказать огромное спасибо всем, кто прочитал и прокомментировал мою прошлую статью про Data-Oriented Design.
Честно говоря, я ожидал дискуссии, но такой накал страстей вокруг кэш-миссов, структур данных и «смерти ООП» меня приятно удивил. Приятно видеть, что оптимизация и понимание того, как данные текут через железо, всё еще волнуют сообщество.
Я внимательно изучил все ваши аргументы — от «компилятор сам всё сделает» до «это невозможно поддерживать в реальных проектах». И вместо того, чтобы отвечать каждому в ветке комментариев, я решил подготовить этот материал.
Многие из вас совершенно справедливо заметили: DOD — это круто, но какой в нем смысл, если мы упираемся в зоопарк архитектур? Мы раскладываем данные в памяти идеально ровно, но как только пытаемся применить к ним SIMD-инструкции (чтобы получить тот самый 10-кратный буст), мы попадаем в ловушку вендор-лока. Написал под Intel — не работает на ARM. Написал под ARM — не заведется в браузере.
https://habr.com/ru/articles/995072/
Алгоритмы и Структуры данных
Для начала хочу сказать огромное спасибо всем, кто прочитал и прокомментировал мою прошлую статью про Data-Oriented Design.
Честно говоря, я ожидал дискуссии, но такой накал страстей вокруг кэш-миссов, структур данных и «смерти ООП» меня приятно удивил. Приятно видеть, что оптимизация и понимание того, как данные текут через железо, всё еще волнуют сообщество.
Я внимательно изучил все ваши аргументы — от «компилятор сам всё сделает» до «это невозможно поддерживать в реальных проектах». И вместо того, чтобы отвечать каждому в ветке комментариев, я решил подготовить этот материал.
Многие из вас совершенно справедливо заметили: DOD — это круто, но какой в нем смысл, если мы упираемся в зоопарк архитектур? Мы раскладываем данные в памяти идеально ровно, но как только пытаемся применить к ним SIMD-инструкции (чтобы получить тот самый 10-кратный буст), мы попадаем в ловушку вендор-лока. Написал под Intel — не работает на ARM. Написал под ARM — не заведется в браузере.
https://habr.com/ru/articles/995072/
Алгоритмы и Структуры данных
Хабр
SIMDe, дополнение к DOD архитектуре
Привет, Хабр! Для начала хочу сказать огромное спасибо всем, кто прочитал и прокомментировал мою прошлую статью про Data-Oriented Design . Честно говоря, я ожидал дискуссии, но такой накал...
👍1
База по графовой СУБД Neo4j
Последние полтора года я почти каждый будний день работаю с графовой СУБД Neo4j. В эту статью я поместил основы, которые в худшем случае сильно расширят ваш технический кругозор, а в лучшем - станут отправной точкой для изучения графовых СУБД. Я постарался понятно изложить важные моменты, которые разбросаны по разным книгам и статьям, чтобы вам было проще познакомиться с Neo4j.
https://habr.com/ru/articles/994950/
Алгоритмы и Структуры данных
Последние полтора года я почти каждый будний день работаю с графовой СУБД Neo4j. В эту статью я поместил основы, которые в худшем случае сильно расширят ваш технический кругозор, а в лучшем - станут отправной точкой для изучения графовых СУБД. Я постарался понятно изложить важные моменты, которые разбросаны по разным книгам и статьям, чтобы вам было проще познакомиться с Neo4j.
https://habr.com/ru/articles/994950/
Алгоритмы и Структуры данных
Хабр
База по графовой СУБД Neo4j
Последние полтора года я почти каждый будний день работаю с графовой СУБД Neo4j. В эту статью я поместил основы, которые в худшем случае сильно расширят ваш технический кругозор, а в лучшем - станут...
Гиперсети: нейронные сети для обработки иерархических данных
В этом посте мы проанализируем иной подход, а именно создание гиперсетей. С их помощью можно научить нейронные сети адаптироваться к датасету. Гиперсеть не будет заучивать одно фиксированное отображение, а освоит генерацию параметров другой сети на основании датасета, полученного в качестве эмбеддинга. В результате получится модель, способная:
https://habr.com/ru/articles/995346/
Алгоритмы и Структуры данных
В этом посте мы проанализируем иной подход, а именно создание гиперсетей. С их помощью можно научить нейронные сети адаптироваться к датасету. Гиперсеть не будет заучивать одно фиксированное отображение, а освоит генерацию параметров другой сети на основании датасета, полученного в качестве эмбеддинга. В результате получится модель, способная:
https://habr.com/ru/articles/995346/
Алгоритмы и Структуры данных
Хабр
Гиперсети: нейронные сети для обработки иерархических данных
С точки зрения нейронных сетей мир плоский. Иерархические данные напоминают, что это не так. Работа нейронных сетей неотделима от допущения, что всего одна функция отображает вводные данные на...
❤1
Мой опыт решения 50 задач по динамическому программированию из LeetCode-плана за 24 дня
Всем привет! Я решил углубленно изучить динамическое программирование и поделиться с вами опытом. Недавно я обнаружил довольно интересный план обучения на LeetCode (https://leetcode.com/studyplan/dynamic-programming/), взял его за основу - и полностью завершил, решив все задачи (50/50).
https://habr.com/ru/articles/995376/
Алгоритмы и Структуры данных
Всем привет! Я решил углубленно изучить динамическое программирование и поделиться с вами опытом. Недавно я обнаружил довольно интересный план обучения на LeetCode (https://leetcode.com/studyplan/dynamic-programming/), взял его за основу - и полностью завершил, решив все задачи (50/50).
https://habr.com/ru/articles/995376/
Алгоритмы и Структуры данных
LeetCode
Dynamic Programming - Study Plan - LeetCode
10 Essential DP Patterns
Окончательно разбираем списки в питоне
Какая структура данных стоит за list? Как быстро отрабатывает операция append? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список работает под капотом. В этой статье разберём, как же устроен список в питоне, копнём на уровень CPython и позапускаем код. После прочтения вы будете знать о списках больше, чем ваши коллеги.
Эта статья предполагает, что у читателя есть какая‑то база: понимание, как работает память, и что такое О большое. Если нет, можно начать с видео‑версии, там больше визуала и примеров с собеседований. В видео также есть про изменяемость списков и про то, почему нужно использовать copy() вместо =. Данная статья является более углублённым разбором.
https://habr.com/ru/articles/989942/
Алгоритмы и Структуры данных
Какая структура данных стоит за list? Как быстро отрабатывает операция append? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список работает под капотом. В этой статье разберём, как же устроен список в питоне, копнём на уровень CPython и позапускаем код. После прочтения вы будете знать о списках больше, чем ваши коллеги.
Эта статья предполагает, что у читателя есть какая‑то база: понимание, как работает память, и что такое О большое. Если нет, можно начать с видео‑версии, там больше визуала и примеров с собеседований. В видео также есть про изменяемость списков и про то, почему нужно использовать copy() вместо =. Данная статья является более углублённым разбором.
https://habr.com/ru/articles/989942/
Алгоритмы и Структуры данных
Хабр
Окончательно разбираем списки в питоне
Какая структура данных стоит за list ? Как быстро отрабатывает операция append ? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список...
❤1
Хеш-таблица это не О(1)
Нет лучше способа в чем-то разобраться, чем написать свою реализацию.
Создадим базовую версию хеш-таблицы, выясним, когда операция добавления, удаления и получения значения по ключу выполняется не за константное время.
https://habr.com/ru/articles/995544/
Алгоритмы и Структуры данных
Нет лучше способа в чем-то разобраться, чем написать свою реализацию.
Создадим базовую версию хеш-таблицы, выясним, когда операция добавления, удаления и получения значения по ключу выполняется не за константное время.
https://habr.com/ru/articles/995544/
Алгоритмы и Структуры данных
Хабр
Хеш-таблица это не О(1)
Нет лучше способа в чем-то разобраться, чем написать свою реализацию. Создадим базовую версию хеш-таблицы, выясним, когда операция добавления, удаления и получения значения по ключу выполняется не за...
❤2
10 структур данных, которые вы должны знать (+видео и задания)
Бо Карнс – разработчик и преподаватель расскажет о наиболее часто используемых и общих структурах данных. Специально для вас мы перевели его статью.
https://proglib.io/p/data-structures
Алгоритмы и Структуры данных
Бо Карнс – разработчик и преподаватель расскажет о наиболее часто используемых и общих структурах данных. Специально для вас мы перевели его статью.
https://proglib.io/p/data-structures
Алгоритмы и Структуры данных
Библиотека программиста
10 структур данных, которые вы должны знать (+видео и задания)
Бо Карнс – разработчик и преподаватель расскажет о наиболее часто используемых и общих структурах данных. Специально для вас мы перевели его статью.
❤1
Сортировки в гифках: 8 самых популярных алгоритмов
Краткий гайд пригодится новичкам, расскажет о видах и способах сортировки. Для лучшего усвоения и наглядности процесса каждый вид сопровождается gif-анимацией.
https://proglib.io/p/sort-gif
Алгоритмы и Структуры данных
Краткий гайд пригодится новичкам, расскажет о видах и способах сортировки. Для лучшего усвоения и наглядности процесса каждый вид сопровождается gif-анимацией.
https://proglib.io/p/sort-gif
Алгоритмы и Структуры данных
Библиотека программиста
Сортировки в гифках: 8 самых популярных алгоритмов
Краткий гайд пригодится новичкам, расскажет о видах и способах сортировки. Для лучшего усвоения и наглядности процесса каждый вид сопровождается gif-анимацией.
В поисках O(n): как научиться видеть эффективные решения задач
Привет, Хабр! Сегодня разберём простую на первый взгляд, но очень показательную задачку: найти максимальное произведение двух чисел в массиве целых чисел.
На собеседованиях, в олимпиадах или даже в реальных задачах часто возникают простые на вид задачи, за которыми скрывается важный урок: правильный выбор алгоритма решает всё.
Казалось бы — что сложного скрывает поставленная задача о нахождении максимального произведения двух чисел? Но в зависимости от подхода решение может работать за O(n^2), O(n log n) или O(n).
https://habr.com/ru/articles/996212/
Алгоритмы и Структуры данных
Привет, Хабр! Сегодня разберём простую на первый взгляд, но очень показательную задачку: найти максимальное произведение двух чисел в массиве целых чисел.
На собеседованиях, в олимпиадах или даже в реальных задачах часто возникают простые на вид задачи, за которыми скрывается важный урок: правильный выбор алгоритма решает всё.
Казалось бы — что сложного скрывает поставленная задача о нахождении максимального произведения двух чисел? Но в зависимости от подхода решение может работать за O(n^2), O(n log n) или O(n).
https://habr.com/ru/articles/996212/
Алгоритмы и Структуры данных
Хабр
В поисках O(n): как научиться видеть эффективные решения задач
Привет, Хабр! Сегодня разберём простую на первый взгляд, но очень показательную задачку: найти максимальное произведение двух чисел в массиве целых чисел . На собеседованиях, в олимпиадах или даже в...
❤1
Я заразил 200 нейросетей вирусом. К 20-му поколению они выработали иммунитет — и разучились думать
Лёха — единственный биолог среди моих друзей. Мы сидим в баре, он тычет телефоном мне в лицо. На экране — чашка Петри. В колонию бактерий вливают бактериофаги. Бактерии лопаются. Колония редеет. Тает. Исчезает.
Перематывает на сутки.
Колония на месте. Как ни в чём не бывало.
«Выжившие передали устойчивость потомкам. Они не понимают вирус. Перебирают мутации, пока что-то не сработает. А потом это наследуется».
Я смотрю на экран и думаю совсем про другое. Вчера Карпати выложил microGPT — минимальную архитектуру GPT, которую можно уместить на двух экранах. Attention, эмбеддинги, генерация — всё на месте. Никаких фреймворков размером с авианосец. Весь алгоритмический контент, необходимый для обучения языковой модели, в одном файле.
https://habr.com/ru/articles/996244/
Алгоритмы и Структуры данных
Лёха — единственный биолог среди моих друзей. Мы сидим в баре, он тычет телефоном мне в лицо. На экране — чашка Петри. В колонию бактерий вливают бактериофаги. Бактерии лопаются. Колония редеет. Тает. Исчезает.
Перематывает на сутки.
Колония на месте. Как ни в чём не бывало.
«Выжившие передали устойчивость потомкам. Они не понимают вирус. Перебирают мутации, пока что-то не сработает. А потом это наследуется».
Я смотрю на экран и думаю совсем про другое. Вчера Карпати выложил microGPT — минимальную архитектуру GPT, которую можно уместить на двух экранах. Attention, эмбеддинги, генерация — всё на месте. Никаких фреймворков размером с авианосец. Весь алгоритмический контент, необходимый для обучения языковой модели, в одном файле.
https://habr.com/ru/articles/996244/
Алгоритмы и Структуры данных
❤1
Архитектура «Обратного Хэша»: Нейросети без умножения
Современный Deep Learning уперся в производительность вычислений с плавающей точкой и пропускную способность памяти. Мы предлагаем архитектуру, где нейрон — это не сумма произведений, а битовая хэш-функция. Ноль умножений, ноль сложений. Только логика и статистика.
https://habr.com/ru/articles/996268/
Алгоритмы и Структуры данных
Современный Deep Learning уперся в производительность вычислений с плавающей точкой и пропускную способность памяти. Мы предлагаем архитектуру, где нейрон — это не сумма произведений, а битовая хэш-функция. Ноль умножений, ноль сложений. Только логика и статистика.
https://habr.com/ru/articles/996268/
Алгоритмы и Структуры данных
Хабр
Архитектура «Обратного Хэша»: Нейросети без умножения
Современный Deep Learning уперся в производительность вычислений с плавающей точкой и пропускную способность памяти. Мы предлагаем архитектуру, где нейрон — это не сумма произведений, а битовая...
Маски, Каскады, использование масок вместо циклов(В некоторых случаях) + Атомарные инструкции
Сегодня я решил закрыть трилогию статей, а закончи парой не мало важных тем. Хочу сказать огромное спасибо тем кто активничает и задает вопросы. Ну что ж, начнем.
https://habr.com/ru/articles/996432/
Алгоритмы и Структуры данных
Сегодня я решил закрыть трилогию статей, а закончи парой не мало важных тем. Хочу сказать огромное спасибо тем кто активничает и задает вопросы. Ну что ж, начнем.
https://habr.com/ru/articles/996432/
Алгоритмы и Структуры данных
Хабр
Маски, Каскады, использование масок вместо циклов(В некоторых случаях) + Атомарные инструкции
Привет Хабр! Сегодня я решил закрыть трилогию статей, а закончи парой не мало важных тем. Хочу сказать огромное спасибо тем кто активничает и задает вопросы. Ну что ж, начнем. Mask как то я в одной из...
«Искусство программирования» — обзор легендарной серии книг
Краткий обзор легендарной монографии Дональда Кнута «Искусство программирования» - фундаментального труда в области компьютерных наук.
https://proglib.io/p/knuth-art-of-programming
Алгоритмы и Структуры данных
Краткий обзор легендарной монографии Дональда Кнута «Искусство программирования» - фундаментального труда в области компьютерных наук.
https://proglib.io/p/knuth-art-of-programming
Алгоритмы и Структуры данных
Библиотека программиста
«Искусство программирования» — обзор легендарной серии книг
Краткий обзор легендарной монографии Дональда Кнута «Искусство программирования» - фундаментального труда в области компьютерных наук.
🔥2
5 отличных англоязычных книг по теоретическому Computer Science
Подборка книг и курсов по информационным технологиям от лучших университетов и преподавателей планеты, которая поможет в углубленном изучении информатики.
https://proglib.io/p/5-computer-science-books
Алгоритмы и Структуры данных
Подборка книг и курсов по информационным технологиям от лучших университетов и преподавателей планеты, которая поможет в углубленном изучении информатики.
https://proglib.io/p/5-computer-science-books
Алгоритмы и Структуры данных
Библиотека программиста
5 отличных англоязычных книг по теоретическому Computer Science
Подборка книг и курсов по информационным технологиям от лучших университетов и преподавателей планеты, которая поможет в углубленном изучении информатики.