Как стать автором
Поиск
Написать публикацию
Обновить
248.68

Алгоритмы *

Все об алгоритмах

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

Мультиплеер в Цивилизации 5

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров605

Некоторое время назад я участвовал в разработке поддержки мультиплеера для одной глобальной модификации Цивилизации 5 и сегодня хотел бы поделиться здесь некоторыми подробностями о том, как устроена сетевая игра, как всё-таки запустить ее с модами, что с ней вообще не так, и как мы это фиксили.

Читать далее

Новости

FIDE Grand Swiss 2025: Прогнозы, котировки и психология игроков

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров141

Привет, шахматные фанаты!

В этом посте разберём, кто реально имеет шансы на успех в Grand Swiss 2025 в Самарканде. Всё по делу: рейтинг FIDE, результаты топ-турниров 2024 года, котировки букмекеров и аналитика с использованием bStresScore — показателя стрессоустойчивости игроков в критические моменты.

Читать далее

Программист embedded лезет в FPGA (часть 2, передышка на семисегментниках)

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров1.3K

В предыдущей статье мы поморгали диодом. Большое дело, вообще‑то. После удобных сред разработки, вроде VSCode, CubeIDE, или продуктов JetBrains (поклонники Vim вышли из чата), Квартус не кажется очень уж дружелюбным. Плюс смена подхода к разработке: от программы к схеме. Но ничего, вроде, справились. Получается, мы погрузились в тему, наверное, на уровне «намочить ноги». Теперь, неспеша, зайдём по щиколотку.

Читать далее

Общий алгоритм саморазвития системы

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров574

Статья ориентирована на тех, кому интересно мыслить о создании сильного ИИ. Рассказал общую идею алгоритма через свою призму понимания того, как должна работать система. Этот алгоритм отражает как адаптацию, так и развитие системы. В начале рассказал о понятиях, которые я использовал для описания алгоритма, потом сам алгоритм, некоторые детали и немного про клетки.

Это лишь гипотеза и сам алгоритм может быть не полным. Для подтверждения и развития этого алгоритма необходимо реализовать не только сам алгоритм, но и систему, которая будет совместима с этим алгоритмом (либо подогнать алгоритм под систему).

Читать далее

Athenix — мониторинг котировок с глубоким анализом объёмов и прогнозами от ИИ

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров1.6K

Проект Athenix — это уникальная система мониторинга котировок с глубоким анализом объёмов торгов и прогнозами на основе искусственного интеллекта. Если вы интересуетесь финансовыми рынками, трейдингом и современными технологиями, эта статья для вас.

Созданная на Python, платформа Athenix сочетает мощь вычислений, анализ временных рядов и нейросетевые модели для прогнозирования динамики цен на бирже MOEX и потенциалом подключения к другим биржам. В статье вы узнаете, как автор с опытом работы на биржах и в программировании реализовал систему, которая собирает данные, анализирует их с помощью инновационных алгоритмов и визуализирует результаты в удобном для анализа виде.

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

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

Читать далее

Топологический аудит ECDSA: Практическая реализация с минимальными входными данными

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров756

Топологический аудит ECDSA: как найти уязвимости с одной подписью

Традиционный анализ безопасности ECDSA требует сотен подписей для выявления уязвимостей. Но что делать, когда у вас есть только одна подпись из блокчейна?

Мы разработали AuditCore — систему топологического аудита, которая анализирует безопасность ECDSA, используя лишь публичный ключ и одну реальную подпись. Система автоматически генерирует необходимое количество валидных подписей и проводит глубокий анализ пространства (u_r, u_z) как топологического тора.

Ключевые возможности:

Определение уязвимостей по топологическим инвариантам (числам Бетти)

Расчет TVI Score — количественной метрики уязвимости

Автоматическое обнаружение паттернов: фиксированный k, линейные зависимости, кластеры

Генерация необходимого количества данных для статистически значимого анализа

Система состоит из нескольких специализированных модулей:

TopologicalAnalyzer для вычисления персистентных гомологий

BettiAnalyzer для интерпретации топологических показателей

CollisionEngine для поиска коллизий

SignatureGenerator для создания валидных подписей

TCON для оценки соответствия топологии тора

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

Полная реализация доступна на GitHub: https://github.com/miroaleksej/AuditCore/tree/main/Scripts

Читать далее

SONAR-LLM — учим нейросети думать предложениями вместо слов

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров2.7K

Привет, Хабр. Меня зовут Никита Драгунов, я из команды «Интерпретируемый ИИ» лаборатории FusionBrain AIRI. У себя в группе мы активно пытаемся понять, почему большие языковые модели и другие архитектуры ведут себя так или иначе, и разрабатываем инструменты, которые помогают нам в этом разобраться.

Среди прочего нас очень заинтересовал сравнительно свежий подход, в котором предлагается перейти от генерации токенов к генерации целых предложений — Large Concept Models, LCMs. Мы углубились в эту тему и смогли предложить новый способ, как использовать идею LCM эффективнее.

О том, что мы сделали — в статье ниже.

Читать далее

Универсальный сервис по сбору телеметрии с CAN-шин на технике

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.5K

Всем привет! Меня зовут Артём Сидоров. Я ведущий разработчик из ИТ-команды «Северстали». Сегодня хочу рассказать, как мы реализовали «Универсальный сервис по сбору телеметрии с CAN-шин на технике».

Читать далее

Комбинаторная теория переобучения повысила информативность трассерных исследований в нефтегазовых месторождениях

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров993

Коллектив российских ученых исследовал применение методов машинного обучения для проектирования трассерных исследований. Целью было повышение достоверности результатов по выявлению гидродинамической связи в пласте между нагнетательными и добывающими скважинами в низкопроницаемых коллекторах с самопроизвольным развитием трещин гидроразрыва пласта (автоГРП) в нагнетательных скважинах. Работа была опубликована в российском журнале «Искусственный интеллект и принятие решений» и была выполнена совместно учеными и исследователями из МФТИ (г. Москва), ООО «РН-БашНИПИнефть» (г. Уфа) и ООО «РН-Юганскнефтегаз» (г. Нефтеюганск).

Читать далее

На дворе LLM, а книгу о перцептроне так никто и не открыл!?

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров5.7K

Сложно следить за околонаучными темами, и понимать, что ветка эволюции научного направления пошла не туда. Сейчас случился некий бум псевдонаучного взлета LLM, и я приведу в качестве современной статьи на хабре лишь одну, но это по прежнему массовое явление. Например, в статье компании Friflex за 2024 год История LLM-агентов: 10 ярких моментов по прежнему утверждается "На смену однослойному перцептрону Розэнблатта пришел многослойный. В статье Learning representations by back-propagating errors («Обучение представлений с помощью обратного распространения ошибки») Румельхарт и Хинтон показали, что многослойный перцептрон справляется с задачами, которые были не под силу его однослойному предшественнику. Например, с XOR. ". Совершенно излишне говорить, что это полное вранье, а авторы статьи даже не потрудились открыть эту статью, чтобы её прочитать. Это стало массовым явлением, и я его наблюдаю как минимум 20 лет, я когда то написал тут на хабре цикл статей объясняющих детали, лучше всего посмотреть эту Какова роль первого «случайного» слоя в перцептроне Розенблатта. Поэтому к этому возвращаться не будем. Я не знаю почему, может это массовая культура так влияет на людей, а порог вхождения в тематику ИИ слишком сложный? Не знаю, но не важно. Чтобы продемонстрировать скорость обучения перцептрона я написал несколько реализаций перцептрона Розенблатта и выложил их на гитхабе. А затем мы коснемся LLM.

Читать далее

Алгоритм Вахнина

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.4K

В статье представлен алгоритм полного левостороннего обхода узлов двоичного дерева, реализованный без использования дополнительной памяти. Приведена реализация на Python.

Читать далее

Книга: «Алгоритмы и структуры данных для тех, кто ненавидит читать лонгриды»

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

Привет, Хаброжители! Алгоритмы — это сердце программирования. От их правильного выбора зависит, будет ли программа работать мгновенно или заставит вас ждать вечность. Но как разобраться во всем этом, если вы только в начале пути?

Эта яркая книга делает изучение алгоритмов и структур данных простым и увлекательным. Благодаря полноцветным иллюстрациям, схемам и наглядным примерам сложные концепции становятся понятными даже новичкам.

Читать далее

Программирование автомобилей в играх

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров5K

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

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

Здесь важно сказать следующее: игры — это не физические движки, а впечатления. И гоночные игры больше других намеренно манипулируют реальностью, чтобы дать нам эти впечатления. Например, мы ожидаем от шутеров определённого поведения; пуль, летающих по прямой, отдачу при выстрелах, перезарядку. Если эти ожидания не оправдываются, игра начинает казаться «не такой». Но в случае транспорта степень допущений может быть огромной.

Возьмём для примера Mario Kart. Это гонки, максимально далёкие от реалистичности; машинки дрифтят по песку, вы бросаете в друзей черепашьи панцири и гоняете в картах с мультяшными пропорциями и физикой. Тем не менее, эту игру обожают, ведь она «продаёт» реализацию фантазии о гонках.

На противоположном краю спектра находятся такие реалистичные симуляторы, как iRacing и Assetto Corsa. В них игровой процесс тщательно отточен, чтобы передавать все нюансы и трудности реального автоспорта. Люди тратят тысячи долларов на оборудование, позволяющее воссоздать ощущение нахождения за рулём. Тем не менее, в основе всех этих игр лежит программирование автомобилей. Они лишь по-разному расставляют приоритеты аспектов игрового опыта.

Читать далее

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

Разбор задачи из реальной практики

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.4K

Фича для мобилки, которая должна работать на более ранних версиях.
Как подойти к реализации и преодолеть ограничения?

Читать далее

Гибридный квантовый эмулятор с топологическим сжатием: вдохновленный фотонными вычислениями

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров927

Архитектура эмулятора

Наш эмулятор строится по принципу фотонного вычислителя, описанного vsradkevich: "лазер → модулятор → решетка интерферометров → фотодетекторы → АЦП → CMOS-блок".

Читать далее

Топологическая безопасность ECDSA: Динамические методы анализа и теоретические основы

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров562

Топологическая безопасность ECDSA: Раскрываем скрытые уязвимости через законы диагональной периодичности

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

Вы узнаете:

Как закон диагональной периодичности T = n / \text{НОД}(d-1, n) помогает обнаруживать subtle уязвимости

Почему числа Бетти (\beta_0 = 1, \beta_1 = 2, \beta_2 = 1) являются ключевыми индикаторами безопасности

Как метод динамических улиток снижает сложность анализа с O(m⁴) до O(m log m)

Как TVI Score заменяет субъективные оценки количественной метрикой риска.

Читать далее

Flat-контейнеры в C++

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3K

Привет, Хабр! Еще в C++23 появились «плоские» ассоциативные контейнеры: std::flat_setstd::flat_map и их многоключевые аналоги. Проще говоря, это полные аналоги обычных std::set и std::map, но реализованные иначе – через упорядоченный последовательный контейнер (по умолчанию std::vector). Зачем вообще понадобились эти штуки? Официальная причина – экономия памяти и выигрыш в производительности при чтении данных.

Читать далее

Генерация синтетических данных для LLM. Часть 3: случайные матрицы

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров394

Добрый день, уважаемые Хабровчане :) Продолжаем наши научные изыскания в области определения «синтетических» данных. В этой статье я рассмотрю тему анализа графов с позиции анализа спектров матрицы смежности для случайных матриц. То есть мы зайдём со стороны оптимизации знаний из прошлых двух статей (раз и два) и посмотрим, как применить теорию случайных матриц к нашей исходной задаче. Основная цель — расширение диапазона исследуемых значений. 

Итак, погнали, значицо ;)

Читать далее

Статья 5: Алгоритмы – реализация и модель ошибок

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров724

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

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

Итак, в этой части опишу следующие аспекты:

Читать далее

Искусство создания эффективных математических моделей

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.2K

За любой математической моделью стоит субъект-создатель, который имеет свое видение моделируемых процессов, свою креативность и виртуозность владения мат. аппаратом. Эти и другие источники субьективности формируют определенный почерк автора-разработчика. Но все ли модели хороши?

Выпущено множество книг-рекомендаций про то, как писать "хороший" программный код: "Чистый код", "Совершенный код", "Программист-прагматик", "Чистая архитектура" и др. Такого рода литература задает некоторый стандарт качества и очертания "идеала".

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

Читать далее
1
23 ...

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