Обновить
212.21

Алгоритмы *

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

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

Букварь материалиста. Пространственная логика

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

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

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

Учитывая, что неизменная определенность нечто это его качество - практически все дальнейшие понятия будут являтся качествами частей материи, в разной степени относящейся друг к другу.

Пространственная логика.

AASIST: Аудио защита с использованием сети с интегрированным спектро-временным графом внимания

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

Артефакты, которые отличают подделку от реальных данных, могут находиться в спектральной или временной областях. Их надежное обнаружение обычно зависит от ансамбля сложных систем, где каждая подсистема настроена на определенные артефакты. Мы стремимся разработать единую, эффективную систему, которая может обнаруживать широкий спектр различных атак с использованием спуфинга без использования групп баллов. Мы предлагаем новый слой внимания с гетерогенным наложением графа, который моделирует артефакты, охватывающие разнородные временные и спектральные области с гетерогенным механизмом внимания и узлом стека. С новой операцией максимального графа, которая включает конкурентный механизм и расширенную схему считывания, наш подход, названный AASIST, превосходит текущее состояние дел в данной области примерно на 20%. Даже облегченный вариант, AASIST-L, всего с 85 тыс. параметров, превосходит все конкурирующие системы.

Читать далее

TLS 1.2 (протокол безопасности транспортного уровня версии 1.2) (RFC 5246) (Часть 3.2)

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

В материале приводится продолжение перевода на русский язык стандарта IETF - RFC 5246, описывающего работу протокола безопасности транспортного уровня TLS версии 1.2. Данная часть перевода охватывает вторую половину описания работы рукопожатия TLS версии 1.2, а также завершает перевод основной части Стандарта.

Читать далее

Курсы Computer Science клуба в 2021 году: верификация, фотограмметрия, статистика, логика, теория игр и другие

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

Все курсы Computer Science клуба в 2021 году проходили в онлайн режиме. Мы собрали для вас подборку видеозаписей лекций, которые выложены на нашем youtube канале.

Читать далее

Пример применения кода Рида-Cоломона

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

Пример применения кода Рида-Cоломона

О чём это всё?

Всем привет! Наконец дошли руки описать то как я проверял на практике знания, полученные в ходе написания трёх статей об избыточном кодировании по методу Рида-Соломона (раздватри)

Читать далее

Распознаем фигуры по массиву точек: эллипсы и не выпуклые фигуры

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

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

Читать далее

Как муравьи решают проблемы коммивояжёров

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

В математике и программировании порой используются необычные названия явлений, объектов и алгоритмов. Но почти всегда такие названия позволяют быстро понять суть описываемых сущностей. Возьмём, к примеру, широко известную задачу о коммивояжёре — найти кратчайший путь между заданными точками. И действительно, сразу представляется себе коммивояжёр, которому нужно обойти все дома в небольшом городке, но при этом затратить минимум усилий и времени. Для решения этой задачи используются разные алгоритмы, один из них называется «муравьиным». Для того, чтобы разобраться с этим алгоритмом, нам для начала нужно присмотреться к поведению муравьёв в их необычном организованном мире.

Читать далее

Верификация DataMatrix Честный знак — почему она важна

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

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

Правильность маркировки как раз проверяется ее верификацией на специальных лабораторных приборах - верификаторах 2D кода. О важности верификации для успешной продаже товара на кассе и хочу рассказать.

Читать далее

Как я написал алгоритм сортировки, который быстрее std::sort. Продолжение

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

Прим. Wunder Fund: не спешите минусовать эту публикацию — её перевода на Хабре ещё не было :)

Это — продолжение моей предыдущей публикации (вот — перваявторая и третья части перевода), посвящённой тому, как я создал алгоритм сортировки, который быстрее std::sort. Эта статья — мой шанс углубиться в те детали, о которых меня спрашивали в комментариях. Я собираюсь разъяснить здесь некоторые вещи, которые оказались непонятными аудитории, и поговорить о будущем моего алгоритма, о доработках, в которых он нуждается.

Кто-то, за что я этому неизвестному благодарен, разместил ссылки на мою статью на Hacker News и на Reddit. И хотя эти ссылки там разместил не я, я, всё же, прочитал большую часть комментариев, сделанных пользователями этих сайтов. По какой-то причине те комментарии, что были сделаны в моём блоге, оказались гораздо позитивнее, чем комментарии на Hacker News и Reddit. Но у меня такое ощущение, что причина появления негативных комментариев заключается, в целом, в неправильном понимании того, о чём я пишу. Здесь я собираюсь расставить все точки над «i».

Читать далее

Дональд Кнут —  автор «Искусства программирования»  и  великий мастер ордена программистов Земли

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

Уже совсем скоро – 10 января  гранд-мастеру программирования исполнится 84 года,  а он считает, что для окончания основного труда его жизни "Искусства программирования" ему необходимо еще 25 лет.  Дай бог ему здоровья, сил и ясный ум, а со всем остальным он точно справится сам. Кстати, рост у него не как у мастера Йоды – 190 см, хотя он, конечно, сильно сутулится.

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

Читать далее

LJV: Чему нас может научить визуализация структур данных в Java

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

Эта статья является пересказом моего доклада на Java-конференции SnowOne 2021 года. LJV — проект, созданный в 2004 году как инструмент для преподавания языка Java студентам. Он позволяет визуализировать внутреннее устройство структур данных. В этом докладе я запускаю LJV на разных структурах (от String до ConcurrentSkipListMap) в разных версиях Java и разбираю, что там внутри, как оно менялось от версии к версии, и как это всё работает.


image

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

Разбираем задачу T9 (predictive text)

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

Привет, Хабр! На днях ко мне обратился ученик на одном из ресурсов, где я выступаю в качестве frontend-ментора, с просьбой разобрать одну задачу. Суть задачи состояла в следующем:

Найти все доступные комбинаций предложений, полученных методом T9 (predictive text)

Вводные данные:

Файл input.txt, в котором описаны последовательности цифр, имитирующие пользовательский ввод:

Читать далее

Сравнение быстродействия def и lambda функций. Так все таки быстродействие или читабельность?

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

Читая pep8, я наткнулся на пункт об использовании анонимных функций - по версии пепа, они снижают читабельность, если использовать переменную с значением функции как функцию, лучше использовать def. Я решил сравнить def и lambda по другому параметру - быстродействию. Я предполагал, что lambda, заточенный под однострочники , будет быстрее выполняться и создаваться. В этом исследовании я это проверю.

Читать далее

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

Как я написал алгоритм сортировки, который быстрее std::sort. Часть 3

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

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

Прим. Wunder Fund: ну, вы наверное, и сами догадываетесь, как мы любим быстрые алгоритмы и оптимизации. Если вы тоже такое любите — вы знаете, что делать)

Читать далее

Язык кибернетики. На пути к нашему Я

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

Язык представляет собой как бы второе зеркало, в котором отражается весь мир, и в том числе каждый индивидуум, и в котором каждый индивидуум может увидеть (вернее, не может не увидеть!) самого себя. Так возникает понятие Я. //В.Турчин

Читать далее

Автоматическое создание траектории движения руки в анимации

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

Всем привет. В последнее время я занимаюсь созданием простых анимационных роликов. Недавно столкнулся со следующей проблемой -- мой персонаж должен коснуться звонка перед входом в квартиру пальцем руки. Скелет руки представлен на Fig.1. Это трехзвенный механизм, имеющий шарнирное закрепление в точке O. Требуется, манипулируя углами α,β,γ, перевести точку A3 (эффектор) в точку E , если такое движение возможно. Данная задача имеет традиционное решение. Известны начальные значения углов. Решаем обратную задачу манипулятора, описанную в многочисленных статьях, и находим конечные значения углов α,β,γ. Каждый из интервалов между начальным и конечным значением угла разбивается на заданное число частей N . В результате получаем набор углов, с помощью которых получаем нужную траекторию движения руки. Поскольку для решения обратной задачи придётся решать нелинейные уравнения относительно углов, такой алгоритм не очень удобен. В книге Рик Парент "Компьютерная анимация" КУДИЦ-ОБРАЗ, М.:2004 предложено другое решение. К сожалению, изложение в упомянутой книге излишне абстрактно. В данной краткой статье представлена простая реализация алгоритма из этой книги. В конце статьи дана ссылка на ролик, в котором использован описанный метод.

Читать далее

Проникающий взгляд: что в мешке у Деда Мороза?

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

Новый Год - чудесный праздник: веселый, сказочный, волшебный. Наряженные елки, запах мандаринов в воздухе. Идут последние недели декабря, настроение праздничное, и на работе тоже  пора заниматься праздничными делами. Вот мы и решили побаловать наших читателей новогодней томографической статьей. Самая прекрасная традиция - дарить подарки на Новый год. Ко всем детям на планете приходят Дед Мороз, Санта Клаус и другие герои культурного наследия и приносят разные подарки. Вот и под нашим пристальным рентгеновским взором оказались новогодние игрушки - детские подарки. В статье мы расскажем об ожиданиях, полученных результатах и наконец ответим на вопрос, что же скрывается в мешке у Деда Мороза.

Читать далее

QOI: как сжимать изображения в 20 раз быстрее STBI и без потерь

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

У представленного месяц назад формата сжатия изображений QOI уже есть реализации на различных языках, плагины для GIMP, Xn View MP и Paint.NET, а также dll для отображения эскизов в Проводнике Windows. Можно скачать изображение и сразу посмотреть на него здесь. Подробности о qoi от автора формата читайте под катом.

Читать далее

О русской науке замолвите слово или за что я люблю Тинькофф, часть 1

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


Так сложилось, что я уже много лет руковожу научной группой, а с недавних пор лабораторией в МГУ. При этом львиная доля финансирования нашей лаборатории идет от компаний. Изначально она была создана в рамках контракта с Intel (совместная лаборатория), а позднее мы очень активно работали ещё и с RealNetworks (20+ проектов), Samsung (совместная лаборатория), Cisco, Huawei (до 5 контрактов параллельно) и другими. И так получилось, что большая часть наших контрактов (примерно 95% по количеству и 99% по деньгам) приходилась на иностранные компании, при этом взаимодействие с российскими компаниями в среднем заметно контрастировало.

Моим наилучшим примером отношения русских компаний к университетам является любимый пример Олега Тинькова из его книги:

«Третий пример, мой любимый. Весной 2011 года я выступал на мехмате МГУ и с присущим мне эпатажем заявил: «Что такое фундаментальная наука. Ходить грязным, вонючим и в итоге стать нобелевским лауреатом? Так вот, это все булшит! Зарабатывайте деньги. Не думайте про фундаментальную науку, потому что это отстой».
Олег Тиньков, «Революция. Как построить крупнейший онлайн банк в мире»
 

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

Меня периодически спрашивают друзья из компаний: «Как там наука? Поднялась с колен? Я слышал — ситуация получше стала». Кому интересно, как Тиньков развалил мехмат что происходит в науке в разрезе работы с компаниями (этюды в багровых тонах, вечерние зарисовки из окопа автора) — добро пожаловать под кат!
Читать дальше →

Как я написал алгоритм сортировки, который быстрее std::sort. Часть 2

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

Прим. Wunder Fund: ну, вы наверное, и сами догадываетесь, как мы любим быстрые алгоритмы и оптимизации. Если вы тоже такое любите — вы знаете, что делать)

Публикуем вторую часть перевода материала об очень быстром алгоритме сортировки — «Ska Sort». В первой части говорилось о временной сложности алгоритмов и о том, какие улучшения базового алгоритма «Американский флаг» позволили автору «Ska Sort» повысить скорость сортировки. Сегодняшний материал посвящён рассказу о том, почему новый алгоритм быстрее других алгоритмов сортировки.

Читать далее

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