Все потоки
Поиск
Написать публикацию
Обновить
172.96

Алгоритмы *

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

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

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

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

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

Алгоритмы нахождения 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 мин
Количество просмотров13K


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

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

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

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

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

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

Читать далее

Объектно ориентированное программирование на Си без плюсов. Часть 1. Введение

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

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

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

Статья рассчитана на тех кто уже знаком с Си, а все примеры ориентированы на ОС Linux. Мои познания Windows закончились на «WinXP», после которой в Windows стало уже очень много политики ("безопасности") и коммерческой составляющей, но я сейчас не об этом и надеюсь, что здесь вы найдёте для себя полезные моменты, а если я в чём-то не прав или заблуждаюсь, то поправите.

Итак, я решил попробовать писать в стиле объектно ориентированного программирования (далее ООП) на Си без плюсов. Многие скажут, что писать в стиле объектно ориентированного программирования (далее ООП) не для Си, и разные приёмы написания это - «псевдо-ООП». Но лично я считаю ООП всего лишь абстрактной парадигмой, определяющей стиль написания ПО и не более чем. А Си очень мощный и самодостаточный язык программирования.

Так сложилось, что изучать традиции ООП я начал с Delphi и Java, являющихся, как считается, на 100% объектно ориентированными языками программирования, а потому аналогия решений у меня ассоциируется именно с ними. И далее в тексте я иногда буду на них ссылаться, что надеюсь не испортит суть полного понимания.

Читать далее

Эффективная разреженная булева алгебра — то, что нужно алгоритмам анализа графов

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

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

Читать далее

Алгоритмы сортировки NumPy (и танцы, и мемы)

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

Вместо предисловия:

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

Читать далее

ComputerVision и стиль

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

Несколько месяцев назад я писал статью про тихую революцию в ComputerVision - про трансформеры. А сейчас я хочу поговорить про другую революцию в CV. Уже не такую тихую (статьи тут куда более известные). Рассказ будет про GAN'ы. Как ими сегодня умеют управлять, и что достигли. В первую очередь это StyleGan и его производные.
В последний год-полтора появилось много различных способов управлять GAN-сетями и улучшилось их качество. Ещё чуть чуть и… Что? Можно будет генерить фильмы по описанию? Игры? Нужно ли будет рисовать крутые текстуры, или их можно будет создать?Попробую показать куда дошла современная технология, и чего ожидать от GAN’ов.

Читать далее

Как я исполнил свою мечту и написал движок Диззи

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

Давным-давно, два английских школьника умудрились основать серию игр, ставшую легендарными играми для ZX-Spectrum. Да, речь про братьев Оливеров и их неподражаемого Диззи. Впервые услышал я про Диззи в начале девяностых в возрасте лет эдак девяти-десяти, когда мне рассказали, как подруга моей сестры играет в некую игру с бегающим и собирающим предметы яйцом на компьютере (!). Сам спектрум у меня появился чуть позже – в одиннадцать лет (это октябрь 1994 года), почти вместе с книжками серии «Как написать игру для ZX-Spectrum». И вот в книжке про написание игры на ассемблере была картинка из игры Dizzy-4. Увы, самой игры у меня не будет ещё год-два. Но всё-таки, в конце-концов, мне её купили, как сейчас помню, в ларьке в СПб на Балтийском вокзале. Кассета была известной многим студии “Михаил и Михаил” (MIM). Вот тогда-то я прочно запал на Диззи. Я играл в него с утра до вечера, разгадывая головоломки и собирая монеты. Много-много лет мне очень хотелось написать что-то подобное. В 1996 у меня даже получился невероятный примитив на бейсике. Много лет я методично приближался к своей цели. И вот именно сейчас, спустя 25 лет, у меня наконец-то получилось что-то более-менее играбельное. Вот о том, как написать такую игру, я и расскажу.

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

Медицинский алгоритмический язык ДРАКОН против пандемии и не только. Статья для профессиональных врачей

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

Анализируются клинические рекомендации и выявляются их слабые места, связанные с неудачным изображением клинических алгоритмов (алгоритмов действий врача).

Даются краткие сведения о медицинском алгоритмическим языке ДРАКОН. Это графический язык, предназначенный для записи алгоритмов действий врача. В Литве с помощью ДРАКОНа обучают 9000 человек (медицинских работников и студентов) в год.

В российской медицине ДРАКОН мало известен. Но уже есть и в России успешные попытки использовать ДРАКОН в медицине, например, в области реаниматологии и анестезиологии для противодействия новой коронавирусной инфекции COVID-19.

Такую попытку осуществили в Поволжском исследовательском медицинском университете (ПИМУ) в рамках дополнительного обучения профессиональных реаниматологов и анестезиологов в условиях ковид-больницы за неделю до ее открытия для приема первых ковид-пациентов.

Читать далее

Две открытые библиотеки для обучения байесовских сетей и идентификации структуры данных

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

В одном из предыдущих материалов мы рассказали о фреймворке для AutoML и библиотеке алгоритмов выбора признаков. На этот раз продолжаем делиться разработками специалистов, магистров и аспирантов Университета ИТМО и представляем вашему вниманию парочку open source инструментов для работы с данными. Как обычно — говорим о них простыми словами и делимся ссылками на публичные репозитории, предоставленными авторами проектов.

Читать далее

Что стоит почитать и посмотреть летом — рекомендации ученых из Университета ИТМО

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

Сегодня мы решили открыть новую рубрику в нашем блоге на Хабре — делиться «неклассическими» рекомендациями от представителей Университета ИТМО и спикеров нашего подкаста «ITMO Research_». В сегодняшнем выпуске: YouTube- и Telegram-каналы, книги и другой контент, который подойдет для изучения в относительно спокойной обстановке — в отпуске или во время отдыха.

Читать далее

Разработка панели индикации с помощью сдвиговых регистров IN74HC595AD

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

Часто при разработке радио-электронных устройств возникает необходимость выполнения климатических условий с повышенными требованиями, таких как предельно допустимые рабочие температуры -60…+70 ºC. И эти требования становятся проблемой для реализации цифровых панелей взаимодействия с пользователем. Рабочие температуры ЖК индидикаторов в пределах -20...+70 ºC , люминисцентных газоразрядных индикаторов -40..+70 ºC. Поэтому возникает необходимость организовывать панели взаимодействия с оператором-пользователем с помощью 7-сегментных цифровых индикаторов, одноцветных и двухцветных светодиодов. Для использования таких органов индикации необходимы схемотехнические и программные решения. Есть разные способы управления системой индикации. В данной статье хочу привести свой опыт использования и организации схемно-программной структуры проекта.

Читать далее

Теория графов. Термины и определения в картинках

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

В этой статье мы познакомимся с основными терминами и определениями Теории графов. Каждый термин схематично показан на картинках.

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

Теория графов

Общего решения из коробки — нет, или Тестируем PySpark MLlib

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

Андрей Гаврилов работает в компании EPAM software инженером и занимается data-инженерными задачами. Пишет на Python, работает с Big Data и изучает Data Science — потому что невозможно заниматься Big Data на Python, не касаясь при этом Data Science.

И однажды он захотел выяснить, насколько модуль Spark, связанный с machine learning —  рабочий. Имеет ли  смысл его применять, когда мы мигрируем какое-то решение — например, Scikit-learn — на Spark. На конференции Russian Python Week 2020 он рассказал о своем эксперименте, а сегодня — самая суть для вас.

Обозначим задачу: есть пайплайн, написанный с привычными для Data Scientist фреймворками типа Scikit-learn. Это нужно перенести в кластер Spark’а. Посмотрим, в чем тут может быть проблема. 

Читать далее

DataScience Digest — 15.07.21

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

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

Читать далее

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