Pull to refresh
0
@gcdhgread⁠-⁠only

User

Send message

Решение задачи коммивояжера алгоритмом Литтла с визуализацией на плоскости

Reading time8 min
Views71K

Известная как минимум с 19 века задача коммивояжера имеет множество способов решения и неоднократно описана. Ее оптимизационная версия является NP-трудной, поэтому оптимальное решение можно получить либо полным перебором, либо оптимизированным полным перебором — методом ветвей и границ.


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


animation

Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments7

Как быстро удалить множество строк из большой базы в MySQL

Reading time3 min
Views28K
Как известно, все системные администраторы делятся на две категории. Те, кто уже делают бэкапы и те, кто ещё нет.

Подобно им, администраторы БД также делятся на две категории, те, кто уже запускал процедуру удаления на большой БД с типом таблиц InnoDB, и те, кому это ещё предстоит.



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

Для понимания, удаление 350М записей в таблице на 500М записей может занять более двух суток. Вторые грабли, на которые многие наступают, это попытка прибить запрос. Как мы все помним, InnoDB движок транзакционный, поэтому если вы попытаетесь прибить запрос, он попытается откатить изменения, а это может занять больше времени, чем выполнялся запрос.

Как сделать так, чтобы не было мучительно больно? Добро пожаловать под кат!
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments13

Многопользовательская игра на Go через telnet

Reading time5 min
Views15K
Всем привет! Меня зовут Олег и я SRE. В какой-то момент мне захотелось улучшить свои навыки программирования на Go и написать маленькую многопользовательскую игру.

Заниматься веб-анимацией или писать приложение под мобильную платформу мне не хотелось, поэтому я решил в качестве клиента использовать любимый инструмент сисадминов — telnet.

Вот что получилось:

image
Total votes 33: ↑32 and ↓1+31
Comments8

5 причин, по которым Python достаточно мощный для Google

Reading time4 min
Views25K
Перевод статьи 5 Reasons why Python is Powerful Enough for Google

Вы готовитесь начать новый проект. Какой язык вам выбрать для разработки?


Или, если переформулировать данный вопрос: вы ищите работу, какой язык вам нужно учить?

По названию данной статьи вы можете догадаться, что правильным ответом я считаю Python. Но почему?

Ответ заключается в том, что Python — это мощный язык. Но что это значит? Что делает язык программирования мощным?

Python эффективный


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

Python предоставляет генераторы как выражений, так и функций.

Читать дальше →
Total votes 24: ↑16 and ↓8+8
Comments29

Структура и случайность простых чисел

Reading time22 min
Views39K

Разбросаны ли простые числа по числовой оси подобно рассеянным ветром семенам? Разумеется нет: простота — это не вопрос случайности, а результат элементарной арифметики. Число является простым тогда и только тогда, когда ни одно меньшее положительное целое число кроме единицы не делит его нацело.

Но на этом история не заканчивается. Распределение простых чисел выглядит случайным, с неравномерными разрывами и скоплениями, которые выглядят довольно хаотично. Если и существует какая-то схема, то она непостижима. На самом деле, простые числа выглядят достаточно случайными, чтобы можно было сыграть с ними в кости. Создайте список последовательных простых чисел (допустим, начав с 11, 13, 17, 19,... ) и разделите их по модулю 7. Другими словами, разделите каждое простое число на 7 и сохраните только остаток. Результатом будет последовательность целых чисел из множества {1, 2, 3, 4, 5, 6}, которая выглядит почти как результат нескольких бросков правильной кости.

$\begin{align*}
 11 \bmod 7 & \rightarrow 4 \qquad 47 \bmod 7 \rightarrow 5 \\
 13 \bmod 7 & \rightarrow 6 \qquad 53 \bmod 7 \rightarrow 4 \\
 17 \bmod 7 & \rightarrow 3 \qquad 59 \bmod 7 \rightarrow 3 \\
 19 \bmod 7 & \rightarrow 5 \qquad 61 \bmod 7 \rightarrow 5 \\
 23 \bmod 7 & \rightarrow 2 \qquad 67 \bmod 7 \rightarrow 4 \\
 29 \bmod 7 & \rightarrow 1 \qquad 71 \bmod 7 \rightarrow 1 \\
 31 \bmod 7 & \rightarrow 3 \qquad 73 \bmod 7 \rightarrow 3 \\
 37 \bmod 7 & \rightarrow 2 \qquad 79 \bmod 7 \rightarrow 2 \\
 41 \bmod 7 & \rightarrow 6 \qquad 83 \bmod 7 \rightarrow 6 \\
 43 \bmod 7 & \rightarrow 1 \qquad 89 \bmod 7 \rightarrow 5 \\
 \end{align*}$

Читать дальше →
Total votes 91: ↑91 and ↓0+91
Comments41

Геометрия данных 4. Пространство графа

Reading time12 min
Views11K
Особенность координатных систем на точечном базисе (ди- и би-координат) состоит в том, что их можно использовать как в обычном геометрическом пространстве, так и в пространстве графа.



Что такое пространство графа


Мерность пространства и мерность базиса


Мерность пространства графа определяется количеством его связанных вершин (будем считать, что все вершины графа связаны — однокомпонентный граф). Базис пространства задается как подмножество вершин графа с известными дистанциями между ними (метрикой). Подмножество может включать в себя как все вершины графа, так и только часть (подграф). В последнем случае мерность базиса меньше, чем мерность общего пространства графа.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments5

Определение устойчивости систем автоматического управления промышленными роботами

Reading time5 min
Views54K

Введение


Необходимым условием работоспособности системы автоматического управления (САУ), является её устойчивость. Под устойчивостью принято понимать свойство системы восстанавливать состояние равновесия, из которого она была выведена под влиянием возмущающих факторов после прекращения их воздействия [1].

Постановка задачи


Получение простого, наглядного и общедоступного инструмента для решения задач расчёта устойчивости систем автоматического управления, что является обязательным условием работоспособности любого промышленного робота и манипулятора.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments7

Почему DataScientist-ы не используют ошибки первого и второго рода

Reading time6 min
Views21K

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


И если ошибка второго рода выражается просто:


$O_2 = 1 - \Pi$


где Π — это полнота;


то вот ошибка первого рода весьма нетривиально выражается через полноту и точность (см.ниже).


Но это лирика. Самый важный вопрос:


Почему в DataScience используют полноту и точность и почти никогда не говорят об ошибках первого и второго рода?

Кто не знает или забыл — прошу под кат.

Дальше читать
Total votes 16: ↑13 and ↓3+10
Comments6

Введение в архитектуры нейронных сетей

Reading time31 min
Views200K


Григорий Сапунов (Intento)


Меня зовут Григорий Сапунов, я СТО компании Intento. Занимаюсь я нейросетями довольно давно и machine learning’ом, в частности, занимался построением нейросетевых распознавателей дорожных знаков и номеров. Участвую в проекте по нейросетевой стилизации изображений, помогаю многим компаниям.

Давайте перейдем сразу к делу. Моя цель — дать вам базовую терминологию и понимание, что к чему в этой области, из каких кирпичиков собираются нейросети, и как это использовать.

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

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

После этого рассмотрим 2 сравнительно продвинутых темы и закончим небольшим обзором фреймворков и библиотек для работы с нейросетями.
Читать дальше →
Total votes 54: ↑51 and ↓3+48
Comments2

Big Data в Райффайзенбанке

Reading time6 min
Views23K
Всем привет! В этой статье мы расскажем про Big Data в Райффайзенбанке. Но прежде чем перейти к сути, хотелось бы внести ясность по поводу самого определения Big Data. Действительно, в последние несколько лет этот термин употреблялся во множестве контекстов, что привело к размытию границ самого термина и потере содержательной части. Мы в Райффайзенбанке выделили три направления, которые мы относим к Big Data:
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments44

Классификация текста с помощью нейронной сети на Java

Reading time12 min
Views80K
– Наша Лена уходит в декрет, – сообщил начальник, – поэтому нам надо искать замену на время ее отсутствия. Часть задач мы распределим, а вот как быть с задачей перенаправления обращений пользователей?

Лена – это наш сотрудник технической поддержки. Одна из ее обязанностей – распределение поступающих на электронную почту обращений между специалистами. Она анализирует обращение и определяет ряд характеристик. Например, «Тип обращения»: ошибка системы, пользователю просто нужна консультация, пользователь хочет какую-то новую функциональность. Определяет «Функциональный модуль системы»: модуль бухгалтерии, модуль паспортизации оборудования и т.д. Проставив все эти характеристики, она перенаправляет обращение соответствующему специалисту.

– Давай я напишу программу, которая это будет делать автоматически! – ответил я.

На этом увлекательный роман заканчиваем и переходим к технической части.

Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments28

«Попасть в топ»: как составляют музыкальные хит-парады

Reading time4 min
Views13K
Большинство радиостанций, особенно в формате CHR (подробнее о форматах мы рассказывали здесь), практикуют создание чартов — топа песен по популярности.

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

Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments8

Дополненная реальность от Apple ARKit: возможности и примеры

Reading time3 min
Views9.5K
Многие люди верят, что за дополненной реальностью — будущее. Если виртуальная реальность погружает вас в цифровой мир, то дополненная «вливается» в реальный мир, делает обыденность интереснее, что позволит в будущем крутить показывать вам рекламные баннеры на домах, на транспорте и других людях, так что вы вообще не сможете отличить настоящий рекламный щит от иллюзорного.

В технологических гигантах, очевидно, понимают этот тренд. Google для своей мобильной операционки Android разработала инструмент Project Tango, с помощью которого элементы дополненной реальности можно просматривать на экране смартфона. Apple не отстаёт: на конференции WWDC этого года компания представила инструмент для iOS с говорящим названием ARKit. Разработчики с энтузиазмом начали экспериментировать. Появились приложения для парковки гоночных машин на стоянку, танцев роботов на кухне и посадки первой ступени Falcon 9 в бассейн, а осенью поддержку технологии получит игра Pokemon Go. Давайте обсудим несколько потенциальных направлений для использования дополненной реальности, включая развлечения (PornHub?), обучение и медицинские цели и посмотрим на самые интересные работы.


Total votes 10: ↑10 and ↓0+10
Comments21

Где прогресс в оперативной памяти и зачем её разгонять?

Reading time10 min
Views117K
Привет, GT! Все мы любим новое железо — приятно работать за быстрым компьютером, а не смотреть на всякие прогрессбары и прочие песочные часики. Если с процессорами и видеокартами всё более-менее понятно: вот новое поколение, получите ваши 10-20-30-50% производительности, то с оперативкой всё не так просто.



Где прогресс в модулях памяти, почему цена на гигабайт почти не падает и чем порадовать свой компьютер — в нашем железном ликбезе.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments38

Спросите Итана: откуда нам известно, что Вселенной 13,8 млрд лет?

Reading time4 min
Views24K
image

Вы уже наверняка слышали, что Вселенная началась с Большого взрыва 13,8 млрд лет назад, и сформировала атомы, звёзды, галактики, и, наконец, планеты с нужным для появления жизни составом. Заглядывая в отдалённые места Вселенной, мы также заглядываем и назад во времени, и каким-то образом, благодаря возможностям физики и астрономии, мы вычислили не только, как началась Вселенная, но и её возраст. Но откуда нам известно, сколько ей лет? Именно такой вопрос и задаёт нам читатель:
Итан, как подсчитали это число в 13,8 млрд лет? (Только объясни понятным языком, пожалуйста!)

На самом деле есть два разных, независимых метода измерения этой величины, и хотя один из них гораздо точнее другого, в менее точном используется гораздо меньше предположений.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments31

Отвечаем на вопросы читателей: что такое когнитивная система IBM Watson, и как она работает?

Reading time10 min
Views16K

Александр Дмитриев

Добрый день, Хабрахабр! Сегодня о том, что собой представляет когнитивная система Watson и как она работает расскажет Александр Дмитриев, бизнес-консультант Клиентского центра IBM в Москве. Он ответит на вопросы, которые возникали у читателей по прочтении других материалов на эту тему.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments7

Практика применения технологий виртуальной и дополненной реальности

Reading time5 min
Views11K
В этой статье мы рассмотрим сложные и важные вопросы о том, существует ли индустрия виртуальной и дополненной реальности; кому это нужно; что делать, когда вы сделали очередное приложение по демонстрации недвижимости в виртуальной реальности, а его никто не покупает или пошли в индустрию развлечений, а там настолько большая конкуренция, что протолкнуться невозможно.

Материал подготовлен на базе лекции Василия Рыжонкова, которая проходила на конференции VR-Today в рамках нашей образовательной программы «Менеджмент игровых проектов» в Высшей школе бизнес-информатики НИУ ВШЭ. Конспект и видео и под катом.


Total votes 13: ↑12 and ↓1+11
Comments1

Квантовый компьютер: большая игра на повышение. Лекция в Яндексе

Reading time15 min
Views34K
Мы то и дело слышим, что не за горами эпоха активного использования квантовых вычислений, что такие системы уже скоро станут доступны специалистам, включая аналитиков данных. Но сколько осталось ждать на самом деле? Научный сотрудник Российского квантового центра Алексей Фёдоров вводит в курс дела и рассказывает, как идут дела с разработкой квантовых компьютеров.


Под катом — расшифровка и часть слайдов Алексея.

Total votes 57: ↑55 and ↓2+53
Comments11

Анализ изображений и видео. Классификация изображений и распознавание объектов

Reading time1 min
Views26K
Сегодня мы публикуем седьмую лекцию из курса «Анализ изображений и видео», прочитанного Натальей Васильевой в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.



Всего в программе девять лекций, из которых уже были опубликованы:
  1. Введение в курс «Анализ изображений и видео»;
  2. Основы пространственной и частотной обработки изображений;
  3. Морфологическая обработка изображений;
  4. Построение признаков и сравнение изображений: глобальные признаки;
  5. Построение признаков и сравнение изображений: локальные признаки;
  6. Поиск по подобию. Поиск нечетких дубликатов.

Под катом вы найдете план новой лекции и слайды.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments0

Анализ изображений и видео. Обнаружение текста на изображениях

Reading time1 min
Views27K
Сегодня мы публикуем последнюю лекцию курса «Анализ изображений и видео», прочитанного Натальей Васильевой — старшим научным сотрудником HP Labs и руководителем HP Labs Russia. Наталья Сергеевна читала курс, посвящённый анализу изображений, в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS клуба.



Всего в программе девять лекций, из которых уже были опубликованы:
  1. Введение в курс «Анализ изображений и видео»;
  2. Основы пространственной и частотной обработки изображений;
  3. Морфологическая обработка изображений;
  4. Построение признаков и сравнение изображений: глобальные признаки;
  5. Построение признаков и сравнение изображений: локальные признаки;
  6. Поиск по подобию. Поиск нечетких дубликатов;
  7. Классификация изображений и распознавание объектов;
  8. Анализ изображений и видео. Сегментация изображений.

Под катом вы найдете план новой лекции и слайды.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments1
1

Information

Rating
Does not participate
Registered
Activity