Data Science: Алгоритмы и Структуры данных
الذهاب إلى القناة على Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество: @oleginc Канал на бирже: https://telega.in/c/structuredata
إظهار المزيد7 582
المشتركون
-524 ساعات
-177 أيام
-6030 أيام
أرشيف المشاركات
Поиск пути в ВГД-лабиринте
Поставка задачи. Найти кратчайший путь в заданном лабиринте между двумя проходными клетками этого лабиринта. При нахождении пути допускается использовать только целочисленные переменные. Погрешности в вычислениях не допускаются. Алгоритм должен (хотя бы в теории) работать со сколь угодно большими лабиринтами.
https://habr.com/ru/articles/803123/
Алгоритмы и Структуры данных | ChatGPT
И к гадалке не ходи. Как и зачем мы предсказываем офлайн-продажи товаров
Онлайн-ритейлеры и всевозможные маркетплейсы постоянно пересчитывают цены, придумывают хитрые акции и ставят эксперименты на пользователях. Но кто сказал, что в магазине у дома нельзя делать то же самое? Да, это сложнее, но зато интереснее и может принести больше пользы.
Мы разрабатываем системы управления ценообразованием для больших розничных сетей. В рамках этой задачи экспериментируем с предсказанием продаж в розничных офлайн-магазинах. Предлагаем вам узнать больше о подходах, которые используются в решении таких задач.
https://habr.com/ru/companies/magnus-tech/articles/803579/
Алгоритмы и Структуры данных | ChatGPT
Логистическая и Softmax-регрессии. Теоретические основы и реализация с нуля на Python
Начнём с более простого. Логистическая регрессия — линейный бинарный классификатор, основанный на применении сигмоидальной функции к линейной комбинации признаков, результатом которого является вероятность принадлежности к определённому классу. Обычно порог устанавливается 0.5: если вероятность меньше порога — класс относится к 0, а если больше — к 1. В принципе, условия определения логистической регрессии такие же как и у линейной за исключением бинаризации таргета.
https://habr.com/ru/articles/803397/
Алгоритмы и Структуры данных | ChatGPT
Как собрать компьютер из оригами
Логическая операция принимает одно или несколько входных данных (каждое из которых записано как ИСТИНА или ЛОЖЬ) и выдает выходные данные (ИСТИНА или ЛОЖЬ) на основе заданного правила. Чтобы выполнить операцию с бумагой, математики разработали диаграмму линий, называемую узором сгиба, которая указывает, где складывать бумагу. Складка на бумаге представляет собой вход. Если вы сложите бумагу по одной линии рисунка, складка перевернётся в одну сторону, что указывает на входное значение ИСТИНА. Но если вы сложите бумагу по другой (ближайшей) линии, складка перевернётся на противоположную сторону, указывая на ЛОЖЬ.
https://habr.com/ru/companies/first/articles/803561/
Алгоритмы и Структуры данных | ChatGPT
Станьте Python-разработчиком за 0₽
Зарплата начинающего Python разработчика от 100 000₽, а стоимость обучения на профессию в онлайн-школах от 120 000 до 300 000 рублей.
Прямо сейчас GeekBrains отдают бесплатно 3 курса по IT, в том числе и курс по Python.
⚠️Переходите по ссылке и забирайте курс по Python — только до 31-го марта: https://go.redav.online/98188006fbb1f770?erid=LdtCK7b7u&m=1
Фильтрация JSON: как мы проводили конкурс на самый быстрый алгоритм
В статье расскажу, как мы организовали конкурс, который помог решить проблему исключения некоторых данных (в нашем API) в процессе отправки на фронт. В результате мы получили высокопроизводительный алгоритм фильтрации JSON с использованием векторных инструкций Intel® AVX2.
https://habr.com/ru/companies/quadcode/articles/660229/
Алгоритмы и Структуры данных | ChatGPT
Эффективное хранение графов: матрицы смежности
Как известно, представление графа в памяти преимущественно осуществляется двумя способами: матрицей смежности и списком смежности. Остановимся на первом из них.
Матрица смежности графа
Стоит отметить, что размер, выделяемый для хранения обыкновенной матрицы смежности, равняется n^2 где n- количество вершин в графе.
https://habr.com/ru/articles/660567/
Алгоритмы и Структуры данных | ChatGPT
Эзотерическая оптимизация газа в Solidity
Программирование в Солидити отличается от других языков, так как каждое инструкция и байт памяти тратят газ - деньги пользователей. В сети уже есть много ресурсов с основными техниками оптимизации кода (например, стараться использовать calldata вместо memory), но я хочу показать несколько совсем безумных и неочевидных.
Понять о чем я говорю без базового опыта в solidity будет очень сложно, но может быть эти оптимизации проявят в вас интерес в ethereum программировании.
https://habr.com/ru/articles/656269/
Алгоритмы и Структуры данных
Инженерный подход к тестированию алгоритмов: исследовательский анализ рабочего процесса. Часть 2
Как мы уже говорили в первой части, для демонстрации анализа алгоритма в более широком контексте примером послужит расстояние редактирования Левенштейна. Расстояние редактирования также иногда называют поиском похожих строк (или нечетким поиском). Это метрика редактирований (изменений символов), необходимых для преобразования одной строки в другую (целевую) строку. Из самых известных применений алгоритма можно выделить предоставление предложений по правильному написанию, нечеткий поиск по строке поискового запроса и сравнение последовательностей ДНК/РНК.
https://habr.com/ru/companies/otus/articles/651045/
Алгоритмы и Структуры данных
Как раскрасить вершины графа
В этой небольшой заметке я хочу показать, как с помощью алгебры можно решать классическую задачу о раскраске вершин графа. Об этом сюжете я узнал из книги W.W. Adams, P. Loustanau. An Introduction to Groebner Basis (параграф 2.7).
https://habr.com/ru/articles/651793/
Алгоритмы и Структуры данных
Много-агентное планирование траекторий в децентрализованном режиме: эвристический поиск и обучение с подкреплением
В этом посте я расскажу о наших свежих наработках в этой области, а именно о гибридном методе, которые сочетает в себе принципы классического эвристического поиска (A*) и обучения с подкреплением (PPO). Метод получился неплохим, превосходящим многие современные аналоги по результатам экспериментов, а соответствующая статья была принята на The 38th AAAI Conference on Artificial Intelligence (пока доступен только препринт). Это одна из топовых академических конференций по искусственному интеллекту, которая в этом (2024) году проходила в Канаде (спойлер: я сам визу получить не успел, но моим коллегам и соавторам, кто имел ранее выданные канадские визы, удалось принять личное участие и достойно представить нашу науку на мировом уровне).
https://habr.com/ru/companies/airi/articles/802777/
Алгоритмы и Структуры данных
Синхронные и асинхронные стектрейсы: опыт использования в Facebook
Здесь мы подробно поговорим о том, каковы технические отличия между реализацией асинхронных стектрейсов по сравнению с реализацией традиционных стектрейсов, а также с какими сложностями можно столкнуться, реализуя такие асинхронные стектрейсы поверх корутин C++.
https://habr.com/ru/companies/piter/articles/649725/
Алгоритмы и Структуры данных
Магнитная аномалия: как предсказать продажи промо в ритейле
Во вводной статье мы расскажем о разнице между промо и регулярными продажами, о команде и истории развития направления прогнозирования в «Магните», а также объясним, почему качественный прогноз промо важен для бизнеса.
https://habr.com/ru/companies/magnit/articles/649683/
Алгоритмы и Структуры данных
Стеганографические эксперименты с видеофайлами и Youtube
Сможет ли собственная стеганографическая pet-поделка выдержать тесты и успешно пройти через жернова внутренних верификаций и преобразований Youtube, который решено было выбрать в качестве видеохостинга для наукообразных экспериментов? Можно ли в конечном итоге использовать Youtube для альтернативного хранения видеоданных? Данная заметка постарается если не закрыть полностью ответы на эти вопросы, то по крайней мере через натурный эксперимент проиллюстрировать потенциальные возможности, которые могут оказаться скрытыми за простыми предположениям относительно организации хранения и обработки видеоданных.
https://habr.com/ru/articles/651905/
Алгоритмы и Структуры данных
Хеш-таблицы в Java: секреты производительности
Посмотрим на проблемы, которые возникают при имплементации хеш-таблицы, когда сложность добавления или удаления из нее не O(1), а линейная, и какие потенциальные атаки можно провести на эту структуру данных (и как их избегают в современных языках программирования на примере Java).
https://proglib.io/p/hesh-tablicy-v-java-sekrety-proizvoditelnosti-2024-03-20
Алгоритмы и Структуры данных
ПОЯВИЛАСЬ БЕСПЛАТНАЯ НЕЙРОСЕТЬ, КОТОРАЯ ЭКОНОМИТ ТВОЕ ВРЕМЯ
AI Open News — это нейросеть, которая читает ваши подписки в Телеграм и скидывает вам дайджесты, в которых коротко пересказываются главные новости.
Это сэкономит десятки часов. Теперь не надо скроллить каналы в поисках классных постов — они придут в личку.
А еще в боте есть удобный поиск и каталог каналов.
ПОПРОБОВАТЬ
Адаптация алгоритма Дейкстры для расчёта кратчайших путей в IP-сетях
Первоначально алгоритм был предназначен для ориентированных графов с положительными весами рёбер. Ориентированный граф содержит ориентированные рёбра. Пройти по такому ребру можно только в одном направлении. В ip-сетях это требование, на первый взгляд, кажется невыполнимым. Любой интерфейс или порт является дуплексным, т.е. может как принимать, так и отправлять данные, поэтому каждое ребро в реальной сети двунаправленно.
https://habr.com/ru/articles/802519/
Алгоритмы и Структуры данных
Линейный дискриминантный анализ (LDA). Принцип работы и реализация с нуля на Python
Линейный дискриминантный анализ (Linear Discriminant Analysis или LDA) — алгоритм классификации и понижения размерности, позволяющий производить разделение классов наилучшим образом. Основная идея LDA заключается в предположении о многомерном нормальном распределении признаков внутри классов и поиске их линейного преобразования, которое максимизирует межклассовую дисперсию и минимизирует внутриклассовую. Другими словами, объекты разных классов должны иметь нормальное распределение и располагаться как можно дальше друг от друга, а одного класса — как можно ближе.
https://habr.com/ru/articles/802511/
Алгоритмы и Структуры данных
Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python
Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных вероятностных плотностей вместо одной многомерной.
Помимо теории и реализации с нуля на Python, в данной статье также будет приведён небольшой пример использования наивного Байеса в контексте фильтрации спама со всеми подробными расчётами вручную.
https://habr.com/ru/articles/802435/
Алгоритмы и Структуры данных
Манифест Киберправды
Усиление политической поляризации общества и повсеместное проникновение социальных сетей во все сферы жизни создали идеальные условия для намеренного распространения дезинформации с целью введения в заблуждение, обмана граждан, извлечения финансовой прибыли и получения политической выгоды. Возможности криптографии и анонимного хостинга сайтов, на которых публикуются анонимные или псевдонимные авторы, затрудняют законное преследование таких недостоверных источников за дезинформацию и клевету. В результате фальшивые новости, сфабрикованные документы, информационные мистификации и политическая пропаганда захлестнули социальные медиа и традиционные средства массовой информации. Число репостов фальшивых новостей в Фэйсбуке превысило число перепостов добросовестных сообщений, благодаря тому, что фальшивки больше соответствуют ожиданиям читателей или кажутся им более захватывающими. Умышленное распространение вредоносной лжи способствовало быстрому снижению доверия и терпимости к оппонентам, а также развитию паранойи в онлайн-сообществе.
https://habr.com/ru/articles/802419/
Алгоритмы и Структуры данных
