Обновить
198.78

Алгоритмы *

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

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

Процедурная генерация 3D миров в Godot Engine при помощи GPU. Часть 1

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

Привет!

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

Читать далее

DataScience Digest — 05.08.21

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

Приветствую всех!

Встречайте свежий выпуск дайджеста полезных материалов из мира Data Science & Machine Learning подготовленный командой Data Phoenix и не забывайте подписываться на наш Telegram-канал.

Также хочу пригласить всех 17 августа на свой вебинар "The A-Z of Data: Introduction to MLOps". В его рамках мы рассмотрим, что такое MLOps, основные принципы и практики, лучшие инструменты и возможные архитектуры. Мы начнем с простого жизненного цикла разработки ML решений и закончим сложным, максимально автоматизированным, циклом, который нам позволяет реализовать MLOps. Детали и обязательная предварительная регистрация здесь.

Читать далее

Разбираемся с ChainMap из коллекций Python

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

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

В обоих случаях можно воспользоваться ChainMap из модуля коллекций. ChainMap группирует словари и отображает их в единое, обновляемое представление с поведением, подобным поведению словаря, а также представляет возможности для эффективного управления различными словарями, определения их ключей, свойств и не только. К старту курса о Fullstack-разработке на Python делимся статьёй о ChainMap, где вы найдёте ссылку на истоки появления класса — баг в Python и, конечно, примеры его применения на практике и в стандартной библиотеке Python.

Читать далее

Удвоение частоты дискретизации оцифровкой в несколько проходов для правильно-периодических сигналов, возможно ли такое?

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

В процессе переделки игрушки-осциллографа DSO138, как уже описывалось в предыдущей статье, возникла идея в DSO303 попробовать фокус с удвоением частоты дискретизации. В самом деле для STM32F303 теоретически максимально достижимая скорость дискретизации с точки зрения входа АЦП, а это определяется минимальным временем открытия УВХ, которое в нашем случае 1,5 такта х (1 / 72 МГц), или примерно 20,8 наносекунд, что дает 48 MSPS (миллионов отсчетов в секунду). Однако при параллельной работе 4-х АЦП на 6 МГц получается достичь только 24 MSPS из-за ограниченного быстродействия АЦП.

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

Читать далее

Реализация счетчика наработки на микроконтроллере 1986BE92QI

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

Очень часто появляется необходимость отсчитывать время, отработанное некоторым устройством. Для ведения счетчика наработки необходимо периодически с определенным интервалом времени, например каждую минуту, обновлять значение, хранящееся в ячейке энергонезависимой памяти EEPROM. К сожалению, ресурс циклов записи и стирания этих ячеек памяти обычно мал и составляет около 10.000 циклов (по оценке производителя). Значит, если стирать и перезаписывать значение в одну и туже ячейку памяти с интервалом в 1 минуту, то ресурс ячейки будет израсходован примерно за неделю. Для увеличения этого времени можно использовать не одну ячейку, а все ячейки некоторой, свободной страницы памяти, например последней. Это даст нам 1024 * 10.000 запас циклов записи и стирания, что эквивалентно, примерно 19 годам при ежеминутной перезаписи значений счетчика.

Читать далее

Оставят ли сервисы по разработке софта на основе ИИ без работы программистов

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

Новость о том, что Сбер обучил нейросеть написанию программы, заставила задуматься о перспективах взаимодействия человека и искусственного интеллекта. Участники рынка рассказали, какие риски могут возникнуть, если ИИ сам начнет создавать ПО, и станет ли нейросеть тем слугой, который обошел своего нерасторопного хозяина.

Читать далее

Зачем студентам теория графов

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

Информация об изображении
(Здание кёнигсбергской биржи (построено в 1875 году, сохранилось до сих пор) и Зелёный мост (построен в 1322 году, не сохранился) — «решение Эйлером задачи о кёнигсбергских мостах явилось первым в истории применением теории графов»).

Ранее я уже писал про приложения теории графов: тут и тут.

В этой статье хочу помочь коллеге в теории графов – он пожаловался в комментарии к своей статье, что:
Здесь я попытался в максимально доступной форме объяснить, как же это делать. И в первую очередь я делаю это для студентов, которые изучают данную тему и могут не понимать, зачем вообще графы нужны. Учась, я лично убедился, что для многих эта тема была «проходной» и они не извлекли из нее никакой ценной информации, а также так и не поняли, как работать с матрицами.

На это я ответил:
ИМХО для IT-студентов нужно сразу сказать, что списки (стеки, очереди) и бинарные деревья это графы. И всякие схемы, типа схемы метро, автодорог, принципиальные в электронике можно рассматривать как графы. Приложения теории графов — это фундаментальные свойства всяких подобных схем.

Читать дальше →

Теория графов. Часть третья (Представление графа с помощью матриц смежности, инцидентности и списков смежности)

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

Пытаюсь объяснить, как представлять матрицы смежности, инцидентности и списки смежности (инцидентности). И немного говорю о взвешенном графе.

Залетай

DataScience Digest — 29.07.21

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

Встречайте свежий выпуск дайджеста полезных материалов из мира Data Science & Machine Learning подготовленный командой Data Phoenix и не забывайте подписываться на наш Telegram-канал.

Читать далее

Новое слово в сфере голосового ИИ: разработан прототип детектора лжи для колл-центров

Время на прочтение3 мин
Количество просмотров4.7K
image

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

Система базируется на специфическом дата-сете, сформированном из аудио-записей нескольких десятков преподавателей и студентов. Добровольцы участвовали в дебатах, обсуждая острые темы вроде смертной казни и платного обучения, а произносимые речи записывались на диктофон. О результатах проекта — под катом.
Читать дальше →

Zip – как не нужно создавать формат файлов

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

Zip появился 32 года назад. Можно подумать, что настолько зрелый формат должен быть отлично задокументирован. К сожалению, нет. Что же конкретно в нем не так, и каким образом его можно было бы оптимизировать? Подробно рассмотрим эти вопросы, опираясь на исходную документацию.

12 ключевых направлений для развития IoT-технологий. Часть 2

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

Продолжение. С первой частью статьи можно ознакомиться по ссылке.


6. Здравоохранение и телемедицина


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


med_IoT.jpg

Кроме того, носимые устройства могут использоваться для сведения к минимуму ненужных контактов в ситуациях, когда риск вирусного заражения особенно высок (например, в домах престарелых и в инфекционных отделениях больниц).


Еще один из сценариев применения IoT в медицине — это внедрение роботов, которые используются в некоторых больницах, например, для дезинфекции поверхностей.


Читать дальше →

Алгоритм Краскала, Прима для нахождения минимального остовного дерева

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

Привет, Хабр!
В свободное от учебы время пишу статьи, которых мне не хватало несколько лет назад.

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

Читать далее

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

Тайловое освещение без боли

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

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

Применять сложные технологии для освещения ячеек дело неблагородное, уйдет много времени, сил, да и не факт что в таком случае это оправдано. Для написания простой пошаговой игры нужно нечто более простое, чем явно непростые инструменты во главе с шейдером. В общем, как вы могли догадаться, сегодня поговорим о простом алгоритме освещения тайловых карт.

Читать далее

Как мы получили реалистичные лица с новых ракурсов с помощью нейросетей

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

В этой статье вы узнаете про глубокий нейросетевой подход Neural Radiance Fields — метод для генерации новых изображений сцены с различных ракурсов. Основная задача — интерполяция новых views между исходными оригинальными изображениями для получения “непрерывной сцены” из ограниченного числа фотографий.

Поскольку в нашем стартапе twin3d мы занимаемся созданием фотореалистичных 3D моделей людей, то упор будет сделан именно на фотографии людей. Мы расскажем, какие подзадачи нам пришлось решить, чтобы получить новые фотореалистичные изображения людей с разных ракурсов.

Читать далее

DataScience Digest — 22.07.21

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

Встречайте свежий выпуск дайджеста полезных материалов из мира Data Science & Machine Learning подготовленный командой Data Phoenix и не забывайте подписываться на наш Telegram-канал.

Читать далее

12 ключевых направлений для развития IoT-технологий. Часть 1

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

Интернет вещей (IoT) — новая реальность, которая уже не кажется социальным и технологическим чудом. Но умные лампочки и роботы-пылесосы уже мало кого удивляют. Настоящие возможности IoT раскрываются в сфере анализа больших данных или при использовании алгоритмов искусственного интеллекта.


По данным IDC, собственные стратегии цифровизации уже выстроили 2/3 компаний из списка Global 2000, а безусловными лидерами в этой области являются Сингапур, Китай, Новая Зеландия, Дания и Южная Корея. Что касается РФ, по оценке IDC, более 50% российских компаний освоят IoT-технологии до конца 2021 года.


Одним из драйверов роста затрат на IoT (которые вырастут на 11,3% в 2021-2024 годах, согласно прогнозу IDC) будет рост потребностей:


  • в подключенных к интернету устройствах для дистанционного контроля и управления;
  • в сценариях использования искусственного интеллекта для мониторинга поведения людей.

Развитие IoT стимулирует развитие концепции Digital First, в рамках которой каждый бизнес должен быть максимально развит в интернет-среде. Это значительно расширяет возможности взаимодействия между сторонами различных процессов, позволяя осуществлять автоматизацию доставки покупок, онлайн-обучение и даже трудоустройство в удаленном формате.

smart_city.jpg


Читать дальше →

Почему я продолжаю использовать устаревшие виртовский Pascal и Delphi-7

Время на прочтение5 мин
Количество просмотров26K
(О разработке алгоритмов, их описании и программной реализации)


(Модель античного святилища Аполлона в Дельфах)

Почему я продолжаю использовать устаревшие виртовский Pascal и Delphi-7?
Этот вопрос мне часто задают мои коллеги, сослуживцы по работе и здесь на Хабре. Решил ответить сразу всем в этой заметке.
Читать дальше →

Копнём поглубже: сравниваем популярные алгоритмы оптимизации с менее известными

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


Привет, Хабр! Меня зовут Мария Белялова, и я занимаюсь data science в мобильном фоторедакторе Prequel.

Эта статья открывает наш цикл материалов со сравнением алгоритмов оптимизации для обучения нейросетей. Помимо классических методов, которые давно зарекомендовали себя, мы рассмотрим и менее известные методы, и совсем новые: например, алгоритм MADGRAD, разработанный в Facebook в этом году. В первой статье мы сравним поведение алгоритмов на тестовых функциях, во второй — посмотрим, как они ведут себя на игрушечной задаче по распознаванию цифр из датасета MNIST, а в третьей — проверим эти алгоритмы в бою на реальной задаче из продакшена.
Читать дальше →

Алгоритм коррекции геометрических искажений, вносимых объективом «рыбий глаз» в изображения и видео

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

Рассматривается новый алгоритм коррекции геометрических искажений, вносимых объективом "рыбий глаз" в изображения и видео. Этот алгоритм позволяет осуществлять более точную коррекцию дисторсии при меньших потерях информации на краях изображений и видеокадров по сравнению с широко распространенным методом Brown-Conrady.

Алгоритм разработан при реализации одного из проектов компании Оксаджайл (Oxagile)

Читать далее

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