Всё про Алгоритмы и Структуры данных
7.76K subscribers
345 photos
37 videos
5 files
3.16K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

Сотрудничество, авторские права: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Ядро, которое понимает: как я построил обучаемый механизм атак с нейросетью, эволюцией и квантовой логикой

Я больше не мог смотреть на то, как сканеры уязвимостей просто генерируют атаки из словарей и кидают в стену тысячи запросов. Это напоминало мне детский рисунок, где ребёнок мечется кистью по холсту, надеясь случайно изобразить Ван Гога.

Я хотел сканер, который понимает. Сканер, который учится. Сканер, который адаптируется.

Так начался проект AI-Scanner — не как плагин к существующему решению, а как попытка вырастить нечто живое: обучаемую систему, способную эволюционировать, предсказывать, ошибаться и исправляться.

https://habr.com/ru/articles/908796/

Алгоритмы и Структуры данных
👍21🔥1
Интерактивный учебник для подготовки к алгоритмической секции собеседования

Собеседования в крупные IT-компании почти всегда содержат алгоритмическую секцию — даже если вы собеседуетесь на позицию, в работе на которой алгоритмы возникать вряд ли будут. Ниже мы приводим пример задачи, с которой вы можете столкнуться на вашем следующем интервью. Мы расскажем, как эта задача решается, но мы настоятельно рекомендуем вам читать решение только после того, как вы попробуете решить задачу самостоятельно: во-первых, это отличная тренировка; во-вторых, вы лучше запомните решение, если придумаете его сами (не отказывайте себе в этом удовольствии!); в-третьих, даже если вы подумаете над задачей, но не решите её, время не будет потеряно: прочитав потом решение, вы лучше его поймёте и оцените его красоту.

https://habr.com/ru/articles/671466/

Алгоритмы и Структуры данных
Почему идентификация лиц невозможна — так, как этого хочет заказчик?

Ну
, давайте честно, много вы знаете случаев успешного внедрения? Естественно, мы не говорим про верификацию, когда нужно просто подтвердить, что чел похож на того, кому дана карточка СКУД. Хотя… об этом тоже поговорим, потому что и она извращена на практике.

https://habr.com/ru/articles/671940/

Алгоритмы и Структуры данных
Генетический алгоритм в помощь Adam — супер, но есть нюанс

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

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

https://habr.com/ru/articles/909124/

Алгоритмы и Структуры данных
👍1
Как работать с моделью числа II

Содержание текста статьи у некоторых читателей Хабра вызвало определенный интерес (судя по комментариям). Что в общем-то не удивительно, так как тема статьи весьма актуальная для современного общества – информационная безопасность. Специалисты проявляют интерес и активно разрабатывают тему с момента открытия двухключевой криптографии и односторонних функций (около 50 лет).

https://habr.com/ru/articles/908714/

Алгоритмы и Структуры данных
Российские нейросети доступны для всех – показываем, на что они способны

Разбираем и тестируем лучшие отечественные ИИ-инструменты от Яндекса, Сбера и других разработчиков вместе с СЕО университета Зерокодер ⚡️

Кому будет полезно?

– Тем, кто хочет пользоваться доступными в РФ нейросетями без ограничений и языковых барьеров;
– Специалистам, работающим с текстами и визуальным контентом;
– IT-специалистам для оптимизации рабочих процессов.

В программе вебинара:

– Обзор возможностей российских нейросетей и их сравнение с западными аналогами;
– Практические примеры использования ИИ для различных задач в работе и повседневной жизни;
– Рассмотрение рынка вакансий и возможностей заработка с навыками работы с нейросетями.

Один из самых интересных и бесплатных эфиров в 2025 году ждет вас по ссылке.

erid: 2W5zFJNNSwA
ООО Зерокодер, ИНН 9715401631
Об одном красивом неизвестном решении одной известной задачи

Как известно, на машине Тьюринга (далее МТ) запрограммировать можно всё, что мы вообще считаем программируемым, но в реальности программы на МТ настолько громоздкие, что МТ редко используется даже в академических примерах. И тем не менее в некоторых отдельных случаях с помощью МТ получается написать небольшую программу, на КДПВ изображена программа из 5 состояний на алфавите из 3 символом. Если вы изучали программирование, то задачу, которую решает эта программа, вы скорее всего встречали. Если я сумел вас заинтересовать, то приглашаю в небольшое приключение по реверс инженирингу МТ.

https://habr.com/ru/articles/909162/

Алгоритмы и Структуры данных
👍1
Как мы научили AI писать тексты для бизнеса не хуже, чем копирайтеры

Привет, Хабр! Я Алексей, data scientist в Сбере, отвечаю за AI создание персонализированного маркетингового контента для разных каналов коммуникаций.

Как и другие подразделения Сбера, мы в трайбе «Массовая персонализация» создаём много текстового контента. Это тексты для СМС, пуш-уведомлений, e-mail, рекламные баннеры и прочее для СберБанка. (Да-да, это мы шлём вам эсэмэски!)

Мы хотели сделать этот процесс эффективнее — как по продажам, так и по затратам на производство контента. После того как SberDevices выкатили ruGPT-3, мы решили обобщить накопленные за несколько лет данные и доверить AI написание текстов для наших клиентов.

Получилось ли это? Спойлер: да, ещё как. Но обо всём по порядку.

https://habr.com/ru/companies/sberbank/articles/671792/

Алгоритмы и Структуры данных
Алгоритм преобразования НКА в эквивалентный ДКА

Цель данной статьи: познакомить Вас с алгоритмом построения детерминированного конечного автомата из недетерминированного конечного автомата. И сразу куча вопросов: зачем понадобилось данное преобразование, что такое конечный автомат, что такое ДКА и НКА и зачем мне это знать? Начнём с мотивации.

https://habr.com/ru/articles/671742/

Алгоритмы и Структуры данных
Оптимизация производительности кода — это тяжёлый труд

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

Статья, которую вы читаете — это, отчасти, рассуждения о том, сколько огорчений мне приносит оптимизация кода. Но я, кроме того, попытаюсь дать здесь практические советы, которые, надеюсь скрасят путь тем, кто идёт дорогами оптимизации.

https://habr.com/ru/companies/wunderfund/articles/908402/

Алгоритмы и Структуры данных
Java-разработчик о том, зачем ходить на собеседования ради удовольствия и как их проводить для обоюдной пользы

Константин Шибков (на Хабре sendelust) — эксперт Skillbox и Java-разработчик, который искренне любит собеседования. Не только проходить их сам, но и обсуждать чужие. Он расспрашивает знакомых, какие им попались задачи, а потом разбирает их вместе с участниками своего алгоритмического клуба JavaKeyFrame. Ведёт телеграм-канал «Три монитора», где делится личным опытом. Мы поговорили с Константином о том, почему техническое интервью — это не пытка, а интеллектуальное удовольствие, как проводить собесы по-человечески, зачем нужны задачки «на подумать» и почему иногда лучше не отвечать сходу, а сначала задать встречный вопрос.

https://habr.com/ru/articles/909780/

Алгоритмы и Структуры данных
Робот для пинг-понга: умнее, быстрее, точнее

Многие виды спорта являются либо командными, либо парными занятиями. Но не всегда у человека может быть кто-то, кто готов составить ему компанию в дружеском матче по пинг-понгу. В такой ситуации на помощь придет робот, разработанный учеными из Массачусетского технологического института (США). Из чего сделан пинг-понг робот, в чем его особенности, и насколько хорошим соперником он может быть? Ответы на эти вопросы мы найдем в докладе ученых.

https://habr.com/ru/companies/ua-hosting/articles/909616/

Алгоритмы и Структуры данных
Программный генератор случайных числовых последовательностей на RISC-V с использованием PUF в DRAM

Мы продолжаем рассказывать о проектах Зимней школы RISC-V, организованной YADRO. Возможно ли создать программный генератор на базе открытой архитектуры, используя физически неклонируемые функции (PUF) динамической памяти? Команда из БГУИР — Никита Малявко, Ксения Трубач, Михаил Кулик, Павел Шлык — в своем проекте проверила гипотезу о наличии PUF в динамической памяти и создала модель одноканального источника шума. Затем реализовала постобработку и тестирование, измерила производительность генератора и оптимизировала код.

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

https://habr.com/ru/companies/yadro/articles/909902/

Алгоритмы и Структуры данных
Математическое решение царской игры Ура

Мы потратили семь лет на эксперименты с ИИ для царской игры Ура, и, наконец, пришли к сильному решению по правилам Финкеля, Блица и Мастерса! В конечном итоге, для этого понадобилась пара красивых уравнений, которые я объясню в статье.

На самом деле, мы не «просто» нашли сильное решение игры. Для сильного решения необходимо находить наилучший ход из каждой позиции. Мы сделали это, плюс вычислили точную вероятность победы каждого игрока при оптимальной игре из каждой позиции. Для этого мы воспользовались нашей опенсорсной библиотекой RoyalUr-Java.

https://habr.com/ru/articles/907912/

Алгоритмы и Структуры данных
👍1
Основные алгоритмы сортировки. Разбираемся с танцами (это не шутка)

Два распространенных алгоритма могут ускользать от понимания. В чем отличие разбиения в быстрой сортировке и похожих «магических» движений в сортировке слиянием? Меня это долго сбивало с толку. Разберемся же с ними наконец!

https://habr.com/ru/companies/selectel/articles/910086/

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

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

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

https://habr.com/ru/articles/671136/

Алгоритмы и Структуры данных
Кривые и что это такое ч.2

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

https://habr.com/ru/articles/671078/

Алгоритмы и Структуры данных
Проверка високосности года в трёх командах CPU

Показанным ниже кодом вы можете проверить на високосность год в интервале 0 ≤ y ≤ 102499 всего примерно тремя командами CPU:

bool is_leap_year_fast(uint32_t y) {
return ((y * 1073750999) & 3221352463) <= 126976;
}
Как это работает? Ответ на удивление сложен. В статье я объясню процесс; в основном он связан с забавным битовым жонглированием. В конце мы обсудим применение этого кода на практике.

https://habr.com/ru/articles/910188/

Алгоритмы и Структуры данных
👍1
Делаем ландшафт на основе реальных данных

Я долгое время занимаюсь построением 3D копий городов в проприетарном игровом движке на основе картографических данных. Суммарно это сложная задача, успех выполнения которой заключется в решении небольшого набора больших проблем. Одной из таких проблем является отрисовка точного ландшафта на основе реальных данных. Далее я постараюсь расказать обо всех R&D этапах и технических особенностях, с которыми пришлось столкнуться, а вконце будет несколько сравнений сгенерированного ландшафта с фотографиями реальных мест (перейти).

https://habr.com/ru/articles/894762/

Алгоритмы и Структуры данных
НКА: игры без знания о замыслах других

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

Вопрос можно поставить абстрактно. Пусть имеется множество {a, b, c, d}. Некоторые из элементов могут быть состояниями, некоторые действиями.

Предположим, что действиями будут {a, b}, состояниями {c, d}. Пусть имеем: с|d=a(c), с|d=b(c), c=a(d), с|d=b(d).

Здесь "|" означает "либо". Так с|d=b(d) означает: из состояния d при действии b следует либо c, либо d.

Попробуем иначе интерпретировать. Предполагаем: действия {a, c}, состояния {b, d}. Пусть имеем: b=a(b), b|d=c(b), d=a(d), b=c(d).

Разница, если ее оценить количественно, в более однозначном поведении второй гипотезы. В первом случае коэффициент однозначности, взятый как отношение как если бы все переходы были бы однозначны к всем случившимся переходам, будет равен 4/7. Во втором случае он будет равен 4/5. Или, другими словами, мы имеем почти детерминированное пространство состояний. Для которого уже можно делать предсказания с приемлемой точностью.

https://habr.com/ru/articles/671076/

Алгоритмы и Структуры данных