Рубрика «Алгоритмы» - 48

VACUUM может «зачистить» из таблицы в PostgreSQL только то, что никто не может увидеть — то есть нет ни одного активного запроса, стартовавшего раньше, чем эти записи были изменены.

А если такой неприятный тип (продолжительная OLAP-нагрузка на OLTP-базе) все же есть? Как почистить активно меняющуюся таблицу в окружении длинных запросов и не наступить на грабли?

Когда пасует VACUUM — чистим таблицу вручную - 1
Читать полностью »

image

Журналисты The Guardian, которая одной из первых раскрыла использование данных десятков миллионов пользователей Facebook британской компанией Cambridge Analytica, не могли добиться интервью с главой соцсети Марком Цукербергом. В итоге они пообщались с нейросетью Цукербот, которую обучили отвечать на вопросы с помощью интервью и публичных выступлений главы Facebook.

Алгоритм создала студия Botnik. Цукербота обучали с применением интервью, речей и публикаций в блогах Цукерберга за последние три года. В итоге нейросеть может оперировать 200 тысячами слов. The Guardian готовила вопросы для интервью совместно с Observer. Читать полностью »

Вторая часть: Принципы работы видеокодека


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

Если рассматривать итоговый цвет как комбинацию т.н. основных цветов (красного, зеленого и синего), в нашей трёхмерной матрице определяем три плоскости: первая для красного цвета, вторая для зеленого и последняя для синего.

3D матрица RGB


Будем называть каждую точку в этой матрице пикселем (элементом изображения). Каждый пиксель содержит информацию об интенсивности (обычно в виде числового значение) каждого цвета. Например, красный пиксель означает, что в нём 0 зеленого цвета, 0 синего и максимум красного. Пиксель розового цвета может быть сформирован с помощью комбинации трех цветов. Используя числовой диапазон от 0 до 255, розовый пиксель определяется как Красный = 255, Зелёный = 192 и Синий = 203.Читать полностью »

Первая часть: Основы работы с видео и изображениями


Kodek's History

Что? Видеокодек — это часть программного/аппаратного обеспечения, сжимающая и/или распаковывающая цифровое видео.

Для чего? Невзирая на определённые ограничения как по пропускной способности так
и по количеству места для хранения данных, рынок требует всё более качественного видео. Припоминаете, как в прошлом посте мы подсчитали необходимый минимум для 30 кадров в секунду, 24 бита на пиксель, с разрешение 480x240? Получили 82,944 Мбит/с без сжатия. Сжатие — это пока единственный способ вообще передавать HD/FullHD/4K на телевизионные экраны и в Интернет. Как это достигается? Сейчас кратко рассмотрим основные методы.Читать полностью »

Последний учебный год, апрель месяц. Студента все чаще и чаще начинают посещать мысли о том, что надо бы заняться дипломной работой. Заняться — в смысле придумать, как быстро состряпать нечто, что будет хотя бы созвучно той теме, которую, вроде как, утверждали с научным руководителем. А, да, надо хотя бы на 80 страниц, еще и соблюсти ГОСТы там всякие… Понятное дело, самому столько связного текста уже не успеть набрать (да еще и могут начать в суть работы вникать, ну его!). Очевидно — надо брать готовую работу, которую уже защитили, работу качественную, проверенную и одобренную. Знакомая всем нам ситуация. Открытым остается единственный вопрос — как сделать так, чтобы работа прошла проверку на заимствования… Поиск в интернете и общение с коллегами по несчастью приводят студента к следующим вариантам решения проблемы:

  • Написать работу самому;
  • Перефразировать текст (дорого и сложно);
  • Обхитрить систему с помощью «технических обходов».

Так Систему не обойти - 1

Давайте посмотрим, какими бывают технические обходы, как мы их отлавливаем и почему их применение — не самая хорошая идея…
Читать полностью »

Индексируем миллиарды текстовых векторов - 1

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

image

Пару лет назад я написал очень простую реализацию фрактального сжатия изображений для студенческой работы и выложил код на github.

К моему удивлению, репозиторий оказался довольно популярным, поэтому я решил обновить код и написать статью, объясняющую его и теорию.
Читать полностью »

Художники заметили, что сайты воруют арты из Twitter-аккаунтов и делают из них принты для футболок - 1

Художники объявили войну сайтам, которые предлагают купить футболки с рисунками. В течение нескольких лет художники, которые публиковали свои работы в интернете, натыкались на сайты, торгующие футболками и другими товарами с их рисунками без разрешения или какой-либо компенсации. Несколько художников выдвинули теорию, в соответствии с которой арты находили боты.
Читать полностью »

Если данные не помещаются в память. Простейшие методы - 1

Самка трубкозуба с детёнышем. Фото: Scotto Bear, CC BY-SA 2.0

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

Проблема в нехватке памяти. Если у вас 16 гигабайт ОЗУ, вы не сможете туда загрузить стогигабайтный файл. В какой-то момент у ОС закончится память, она не сможет выделить новую, и программа вылетит.

Что делать?
Читать полностью »

Google Поиск на базе ИИ с технологией BERT теперь работает на русском языке - 1Поисковый запрос на русском языке, обработанный с применением технологии BERT, наиболее точно отвечает на запрос пользователя.

В официальном блоге Google Россия появилась информация, что теперь Google понимает поисковые запросы лучше, чем когда-либо. Таким образом, с 9 декабря 2019 года технология предварительного обучения анализу текста на естественном языке BERT (Bidirectional Encoder Representations from Transformers) теперь стала использоваться в поисковой выдаче Google Поиск и для запросов на русском языке.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js