Data Science: Алгоритмы и Структуры данных
رفتن به کانال در Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество: @oleginc Канал на бирже: https://telega.in/c/structuredata
نمایش بیشتر7 577
مشترکین
-424 ساعت
-187 روز
-6330 روز
آرشیو پست ها
Кредитная карта 180 дней без % от Банка "Открытие"
Бесплатное обслуживание навсегда и снятие наличных за 0₽ в первый месяц.
Подать заявку
Финансовые услуги оказывает: ПАО Банк "ФК Открытие"
#реклама
open.ru
О рекламодателе
Польза создания однородных задач для параллельного вычисления
Как правильно использовать возможности параллельного программирования?
Зачем программистам математика и зачем знать алгоритмы?
Представьте что у вас есть 10 задач. Каждая пронумерована от 1 до 10, а так же каждая задача выполняется секунд, равным номеру задачи. 1я задача - 1 секунда, 10я задача - 10 секунд - она самая "тяжелая".
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Выполняя задачи последовательно, мы получим выполнение всех за 55 секунд. Как мы узнали это число? Есть несколько способов.
Сложив все вместе( 1+2+3...+10). Можно использовать цикл fori. Еще это называется "Сумма арифметической прогрессии".
Использовать формулу (n * (n+1)) / 2 (Это к вопросу, "зачем нам нужна математика?"). Она же с побитовым сдвигом (n * (n+1)) >> 1
Так же мы можем заметить, что если сложить первое и последнее числа, мы получим 11. 1 + 10 = 11. Далее 2+9 тоже будет 11, и так до 5+6=11. То есть 11+11+11+11+11 = 11*(10/2) = 11*5 = 55.
Последнее - это одно из решений на Leetcode для нескольких задач, где мы используем алгоритм под названием "Two pointers" или "Два указателя".
https://habr.com/ru/articles/779188/
Алгоритмы и Структуры данных
Зачем мне пылесос с ананасом или как оценить корректность рекомендательной системы
Рекомендательные системы стали нормой, все к ним привыкли точно также как и к быстрому Wi‑Fi, навигатору или беспроводным наушникам. Они просто делают жизнь немного проще, и всем от этого выгода: пользователям, которым не приходится лишний раз искать на маркетплейсе любимую зубную пасту или корм для собаки; сервису, которому выгодно, чтобы пользователи заказывали больше.
https://habr.com/ru/articles/779038/
Алгоритмы и Структуры данных
Планируем путешествие — задача коммивояжера (TSP) для построения оптимального маршрута
Доставка разных товаров очень популярная услуга сегодня. Чтобы снизить себестоимость и цену на услуги для потребителя, заказы объединяют и доставляются одним курьером. Здесь появляется так называемый эффект масштаба, когда себестоимость доставки единицы заказа снижается с увеличением их количества.
При рассмотрении одного курьера и пула заказов, которые он должен доставить, возникает классическая задача коммивояжера. В более сложном случае, когда у нас несколько курьеров, задача коммивояжера эволюционирует в vehicle routing problem, но это уже другая история.
https://habr.com/ru/companies/pgk/articles/778782/
Алгоритмы и Структуры данных
⚠️Как создавать эффективные AI чат-боты?
Узнайте на бесплатном открытом уроке «Langchain - делаем AI chat bot поверх ваших документов» от OTUS и Александра Брут-Бруляко специалиста по машинному обучению из Сбера.
🔹На вебинаре вы узнате что такое эмбеддинги, векторизация текстов
🔹Рассмотрим задачу векторного поиска и векторные базы данных
✅ Результат урока:
Вы установите и запустите проект AI чат-бота на фреймворке Langhain
👉 Регистрация
https://otus.pw/YVR1/?erid=LjN8KZYJs
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
О простом методе быстрого обновления абсолютных центральных моментов
Конкретная задача, которую мы решали, когда наткнулись на эту проблему - не очень существенна - мы пытались ускорить моделирование следующего комбинированного результата распознавания текстовой строки в видеопотоке, которое нам нужно для принятия решение об остановке (мы про это писали раньше на хабре). В процессе разработки метода (описанного, кстати, вот в этом докладе) мы наткнулись на задачу, которая один в один совпадала с задачей быстрого обновления абсолютного центрального момента первого порядка по некоторой выборке. И, к нашему удивлению, не смогли нагуглить, как это обычно делают. На самом деле делать это не трудно, и мы решили рассказать об этом здесь на Хабре, в более общем виде, на случай, если подобная проблема когда-то у кого-нибудь еще возникнет.
https://habr.com/ru/companies/smartengines/articles/777234/
Алгоритмы и Структуры данных
Документирование кода и проектов на Python с помощью ChatGPT
К счастью, с помощью больших языковых моделей (БЯМ) и таких инструментов, как ChatGPT, можно быстро документировать свой код и проекты на Python.
В Python можно документировать код с помощью строк документации (они же docstrings), а затем использовать их для улучшения внешней документации проекта. ChatGPT может оказать большую помощь в написании как docstrings, так и внешней документации.
https://proglib.io/p/dokumentirovanie-koda-i-proektov-na-python-s-pomoshchyu-chatgpt-2023-11-30
Алгоритмы и Структуры данных
Машинное обучение: что это такое и как оно работает
В этой статье мы разберемся, что такое машинное обучение, как оно работает, из каких компонентов состоит и как применяется на практике для решения сложных задач вроде распознавания образов, прогнозирования и классификации данных.
https://proglib.io/p/mashinnoe-obuchenie-chto-eto-takoe-i-kak-ono-rabotaet-2023-12-04
Алгоритмы и Структуры данных
16-, 8- и 4-битные форматы чисел с плавающей запятой
Прежде чем переходить к описанию «экстремальных» типов данных — давайте вспомним о стандартном типе. Стандарт IEEE 754, регламентирующий арифметику с плавающей запятой, был принят в 1985 году Институтом инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE). Типичное 32-битное число с плавающей запятой, в соответствии с этим стандартном, выглядит так
https://habr.com/ru/companies/wunderfund/articles/776496/
Алгоритмы и Структуры данных
SQL теперь в телеграм!
SQL — главный язык программирования баз данных. Базы данных есть везде: от маленького интернет-магазина до социальной сети. Sql будет легко выучить, если подписаться на официальный русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсах. Стоит подписаться!
Почему x^0 = 1 наглядно
Традиционное определение для операции возведения в натуральную степень (или целую положительную) вводится примерно следующим образом:
https://habr.com/ru/articles/778198/
Алгоритмы и Структуры данных
Хочешь наладить свою личную жизнь?
SHARM - Премиальный клуб для знакомств по всему миру. Без фейков, грязи и сомнительных личностей.
Организация мероприятий, консьерж-сервис высокого уровня
Подробнее о проекте
Алгоритм MiniMax. Использование минимакса в Unity на примере игры Поймай Овечку
Минимакс - популярный алгоритм для принятия решений в играх с нулевой суммой (один выиграл - другой проиграл). Казалось бы, раз он так популярен, то всё что можно было про него сказать уже сказано? Не совсем. Информация сильно раздроблена, иногда ошибочна, а найти какие-либо примеры в играх довольно сложно. Поэтому в этой статье я постараюсь прояснить процесс разработки ИИ на основе минимакса для игры "Поймай Овечку", разумеется все ссылки и код будут в конце статьи.
https://habr.com/ru/articles/778204/
Алгоритмы и Структуры данных
90% москвичей бывают на Красной Площади только когда приводят туда друзей из провинции. И на Арбате ничего не покупают — есть места, где дешевле и лучше. Да и гуляют не в душном Парке Горького.
Фишка в том, что в Москве есть куча крутых мест, о которых знают только старожилы. И как раз о них пишут в этом канале — Первый Московский.
Здесь тебе подскажут, куда позвать девушку на свидание— так чтоб дешево и нестыдно. Расскажут интересные новости и события Москвы, о которых не в пишут СМИ и не знают даже сторожили города. Кино, театры, арт-пространства — вариантов отдохнуть тонна и без Большого Театра.
В общем, это главный гид по столице. Подписывайтесь, Москва куда интереснее, чем ты думаешь: https://t.me/+oJ6cQF8XyhhjZWNi
Алгоритм поиска в глубину для процедурной генерации лабиринтов
Работая над своим ремейком пакмана, я столкнулся с необходимостью создания множества уровней. Каждый раз делать их с нуля было утомительно и я задумался о процедурной генерации заготовок уровней. Я открыл Википедию, почитал об алгоритмах генерации лабиринтов, выбрал подходящий мне и реализовал его.
https://habr.com/ru/articles/778202/
Алгоритмы и Структуры данных
Танцы без бубнов или как я реализовал автомат на ПЛИС
Всем привет, дорогие хабровчане! Сегодня я хочу поделиться своей «больной» идеей реализовать калькулятор на ПЛИС на основе конечного автомата. Почему больной? Потому что уж очень мудрёно получается: всё-таки реализация автоматов на ПЛИС – дорогая практика в смысле ресурсов. Почему хочу поделиться? Потому что вишенкой на торте в этом проекте является автоматическая генерация кода с помощью такого мощного средства, как HDL Coder в MATLAB, что в купе со Stateflow очень интересно смотрится: создание железного кода на основе графического составления графа системы – ни это ли верх мечтаний разработчика, которому необходимо реализовать сложнейший граф с кучей разных переходов и условий ?!
https://habr.com/ru/companies/etmc_exponenta/articles/585342/
Алгоритмы и Структуры данных
Лучший способ выбора случайной точки в круге
Допустим, вам нужно найти случайную точку с равномерным распределением в круге. Как же это сделать лучше всего? Когда я впервые начал изучать эту задачу, я работал над программным проектом, требовавшим случайного распределения значений в круге, но довольно быстро я спустился в неожиданно глубокую кроличью нору, заполненную любопытной математикой, поэтому решил объединить все свои находки в одну статью.
https://habr.com/ru/articles/583838/
Алгоритмы и Структуры данных
«Так ты хочешь кролика или нет?»: как простая автоматизация общения в Авито может принести вдвое больше лидов
В этой статье мы поговорим о программировании чат-ботов, об особенностях ведения бизнеса на АВИТО, а также немного о ботовой этике и эстетике. Текст будет интересен тем, кто является владельцем или открывает свой интернет-магазин, тем, кто сомневается, что чат-бот может быть этичным и удобным решением как для покупателя, так и для продавца.
https://habr.com/ru/companies/chatapp/articles/777872/
Алгоритмы и Структуры данных
Увлекательный лексический анализ языка Rust
Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока лексическим анализом.
Эта статья ориентирована на читателей, только начинающих пробовать свои силы в лексическом анализе Rust. Поэтому, пожалуйста, помните о целевой аудитории, прежде, чем сетовать: «хм, да я тут на коленке набросал поиск в таблице, и он работает в десять раз лучше, чем это недоразумение» и «с такими временами жизни я сам до завершения программы не доживу».
https://habr.com/ru/companies/piter/articles/777680/
Алгоритмы и Структуры данных
Инженерный калькулятор на C++. Часть 2: Алгоритм сортировочной станции
В прошлой части мы научились разбивать исходное математическое выражение формата (log2(18)/3.14)*sqrt(0.11^(-3)/0.02)на токены. На выходе мы получаем массив токенов, каждый их которых содержит информацию о типе (оператор, скобка, число, ...) и об ассоциативности, если он таковую имеет.
Теперь мы хотим привести выражение к виду обратной польской записи (RPN), чтобы затем удобно его посчитать. Это нам позволяет сделать изобретенный Эдсгером Дейкстрой алгоритм сортировочной станции.
https://habr.com/ru/articles/777368/
Алгоритмы и Структуры данных
