SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Алгоритмы и структуры
данных BigData для графов
большой размерности
Докладчик: Алексей Зиновьев
О себе

● аспирант ОмГУ, математик
● занимаюсь теорией графов,
прогнозированием пробок, исследованием
транспортных систем
● большой фанат различных Maps API
Зачем ездить в Computer Science
школы?
● Если вы закончили матфак и в вас до сих пор играет
ретивое
● Мощный networking с учеными-практиками
● Возможность быть в первых рядах, павших за BigData
● Отличная возможность прокачать English
● Можно увидеть, как куча чудаков всю ночь делает
домашку, а потом сорваться и сделать ее самому
Откуда BigData есть быти?
BigData прошлого:
● Астрономический
вычисления
● Данные
многолетних
наблюдений за
погодой
● Данные торговых
операций
● Морские маршруты
А теперь

●
●
●
●
●
●
●

Web-граф (модель Интернета)
Граф почтовых сообщений
Данные с БАК
Астрономия
Генетический код
Граф друзей на Facebook
Анализ текстов, публикаций
Чемпионы-тяжеловесы
Граф

Число
вершин

Число
ребер

Объем
данных
на диске

Прирост в
день

Web-граф

1 трлн

8 трлн

100 PB

300 TB

Facebook
(граф
друзей)

1 млрд

140 млрд

1 PB

15 TB

Дорожный
граф
Европы

18 млн

42 млн

20 GB

50 MB

160 000

300 MB

500 KB

Дорожный 80 000
граф Омска
Они следят за нами
● Уже на первых занятиях все
решили посчитать, а может ли
АНБ, а прав ли Сноуден?
● Все собравшиеся отчетливо
понимали, что их наука немного
evil
● BigData не было бы без человека,
генерирующего своим
существованием тонны
персональной информации
Этические вопросы
Выгоды разумного правительства и общества
●
●
●
●

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

Выгоды IT - бизнеса
●
●
●
●
●

конвертация продуктов в сервисы
создание новых рынков
возможность изменить мир
Интернет по всему миру
доступ к гос.ресурсам
Большой брат?
●
●
●
●

Автоматическое правосудие
Полная публичность
Защита данных как услуга
Война патентов и защита
инноваций
● Ни один грех не будет забыт,
а если и будет, то за большие
деньги
● Исчезновение анонимности
● Нет бесплатных программ,
мы платим персональными
данными
Nearest Neighbor Search (NNS)
● найти ближайшую точку к данной на большом
множестве точек;
● расcтояние может быть любым, в том числе быть
длиной кратчайшего маршрута на графе.
Основные приложения
●
●
●
●
●

сервисы рекомендаций, генетические исследования;
распознавание образов;
классификация текстов;
рекомендательные и экспертные системы;
динамическое размещение рекламы в Интернете.
Nearest Neighbor Search (NNS)
Диаграмма Вороного
● Если мы сумеем построить
такое разбиение плоскости, то
любая точка внутри ячейки
находится ближе к "центру"
своей ячейки. Точки на границе
равноудалены от "центров".
● Двумерный случай прост, в nмерном случае используются
приближенные алгоритмы.
Эксперимент Милграма
Facebook

4.74

712 M

69 G

Twitter

3.67

----

5G follows

180 M

1.3 G arcs

MSN Messenger (1 6.6
month)

● Hyper ANF - новый алгоритм, основанный на счетчиках
HyperLogLog и вычислении функции соседства
● HyperLogLog - статистический счетчик (6% отклонение,
5 - 7 bits)
● Диаметр Facebook - 10 hours, 1TB RAM
Node Centrality Problem
Зачем искать множество центральных точек?
● влияние таких точек больше остальных
● удаление важных вершин снижает надежность
системы
Основные приложения
●
●
●
●
●
●

астрофизика
биоинформатика
социальные связи
дорожные сети
изучение топологии интернета и выявление спама
системы рекомендаций
Но как работать с такими
данными?
● Hadoop + MapReduce тут не поможет
● Google для частного ряда задач
создал систему Pregel, аналогичная
система есть у компании Яндекс
● АНБ + KeyScore
● Вычисление доминаторных деревьев
в потоке информации, важных
персон
● Необходима линейность по времени
и логарифмичность по памяти
● Можно задавать некоторые сетки,
делать вычисления для подграфов
Pregel - система для вычислений
на больших графах
В основе Pregel лежит вершинный подход, а сама
система основана на модели Bulk Synchronous Parallel
Программы обработки графов в Pregel представлены в
виде последовательностей итераций, которые
называются супершагами. При выполнении супершага
для каждой вершины графа запускается определенная
пользователем функция, и все функции выполняются
параллельно.
Pregel - система для вычислений
на больших графах
Вершины обмениваются сообщениями, а также могут
изменять свое состояние и состояние смежных ребер,
согласно полученной информации.
Pregel: A System for Large-Scale Graph Processing
(Грегорц Малевич [Grzegorz Malewicz] и др., 2010 г.).
На следующей картинке приведен пример обмена
сообщениями между набором вершин графа для
определения максимального значения вершины.
Pregel - система для вычислений
на больших графах
Кратчайшее расстояние на
графе Европы

Поиск кратчайшего расстояния на графе - одна из
важнейших задач оптимизации, причем классические
подходы в данной области не оправдывают себя на
больших графах.
Требования к системе обработки
● Необходимо быстро (10 мс) находить кратчайшее
расстояние между двумя точками
● Линейность алгоритмов
● Этап предварительной обработки (препроцессинг)
● Не хранить все расстояния между вершинами (O(n^2)
по памяти)
● Ответ может быть точным с определнной вероятностью
● Учитывание геоспецифики графа
● Использование сжатия и перекодировки для хранения
на диске
Алгоритмы для вычисления
кратчайшего расстояния
Dijkstra

ALT

RE

HH

CH

TN

HL

2 008 300

24 656

2444

462.0

94.0

1.8

0.3

ALT: [Goldberg & Harrelson 05], [Delling & Wagner 07]
RE: [Gutman 05], [Goldberg et al. 07]
HH: [Sanders & Schultes 06]
CH: [Geisberger et al. 08]
TN: [Geisberger et al. 08]
HL: [Abraham et al. 11]
Оптимизационные задачи на
больших графах
Однако, при решении оптимизационных задач на графах,
изменяющих структуру самого графа, фаза
препроцессинга длиною в несколько часов становится
бессмысленной.
Пример задачи: есть 1 млрд рублей на развитие
дорожной сети. Каким образом можно инвестировать его,
чтобы уменьшить среднее время, затрачиваемое на
ежедневные межрайонные корреспонденции граждан?
Еще пример: дорожная сеть подверглась воздействию
стихии, ожидается еще один удар. Где проложить новые
дороги, чтобы система была максимально устойчивой?
I/O Efficient Algorithms and Data
Structures
● Традиционный подход состоит в случайном чтении из
RAM
● Однако, стоит помнить, что уровней памяти много
● Чем дальше от CPU, тем больше и медленнее
● Данные перемещаются между уровнями большими
блоками
● Часто OS берет на себя предсказание и подгрузку
● Диск в 10^6 медленнее RAM
● Разбиение на небольшие блоки и выполнение
операций внутри каждого блока с объединением
результата уменьшает число I/O операций
Graphs and Memory Errors
Что может привести к ошибкам?
● космическое излучение
● битый кусок винчестера
● ошибка при передаче данных из RAM в кэш
Чем чревато?
● классические алгоритмы (слияние списков, например)
не готовы к ошибкам
● выходом из строя критического оборудования
● редкость ошибок - миф (эксперимент Google)
Разработка алгоритмов, устойчивых к ошибкам, ведется
уже 50 лет!
Итоги
● Для анализа большого графа
достаточно небольшого
вычислительного кластера
● Инструменты визуализации и
алгоритмы на больших графах
являются восходящим трендом
● Невозможна хаотичная работа
с большими данными без
соответствующего
математического аппарата и
программного обеспечения

Weitere ähnliche Inhalte

Andere mochten auch

Greenplum: история одной миграции
Greenplum: история одной миграцииGreenplum: история одной миграции
Greenplum: история одной миграцииКРОК
 
Информационная 3D-4D модель строительства ГРЭС
Информационная 3D-4D модель строительства ГРЭСИнформационная 3D-4D модель строительства ГРЭС
Информационная 3D-4D модель строительства ГРЭСDamir Khayrutdinov
 
Кадастровые инструменты для ArcGIS
Кадастровые инструменты для ArcGISКадастровые инструменты для ArcGIS
Кадастровые инструменты для ArcGISVitaly Zagorovskiy
 
тема 04 проектирование геоинформационных систем
тема 04 проектирование геоинформационных системтема 04 проектирование геоинформационных систем
тема 04 проектирование геоинформационных системAndrey Lepikhov
 
Big Data Strategy
Big Data StrategyBig Data Strategy
Big Data StrategyHeru Sutadi
 
Valerii Iakovenko Drones as the part of the present
Valerii Iakovenko	Drones as the part of the presentValerii Iakovenko	Drones as the part of the present
Valerii Iakovenko Drones as the part of the presentАліна Шепшелей
 
Пилотный проект КРОК с использованием технологий BigData для ЦППК
Пилотный проект КРОК с использованием технологий BigData для ЦППКПилотный проект КРОК с использованием технологий BigData для ЦППК
Пилотный проект КРОК с использованием технологий BigData для ЦППКMaxim Andreyev
 
Esri Geoportal Server – учет и поиск корпоративных пространственных данных
Esri Geoportal Server – учет и поиск корпоративных пространственных данныхEsri Geoportal Server – учет и поиск корпоративных пространственных данных
Esri Geoportal Server – учет и поиск корпоративных пространственных данныхVitaly Zagorovskiy
 
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...CodeFest
 
Unmanned Aerial Systems: Smart Inspectors
Unmanned Aerial Systems: Smart Inspectors Unmanned Aerial Systems: Smart Inspectors
Unmanned Aerial Systems: Smart Inspectors EUKA
 
Построение ГИС: Стратегии проектирования системной архитектуры.
Построение ГИС: Стратегии проектирования системной архитектуры.Построение ГИС: Стратегии проектирования системной архитектуры.
Построение ГИС: Стратегии проектирования системной архитектуры.Vitaly Zagorovskiy
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest
 
ГИС с открытым исходным кодом: авантюра или бизнес? Взгляд со стороны разрабо...
ГИС с открытым исходным кодом: авантюра или бизнес? Взгляд со стороны разрабо...ГИС с открытым исходным кодом: авантюра или бизнес? Взгляд со стороны разрабо...
ГИС с открытым исходным кодом: авантюра или бизнес? Взгляд со стороны разрабо...Maxim Dubinin
 
мониторинг чс на опасных объектах с использованием гис
мониторинг чс на опасных объектах с использованием гисмониторинг чс на опасных объектах с использованием гис
мониторинг чс на опасных объектах с использованием гисООО "ИНТРО-ГИС"
 
Совзонд. Опыт использования open source
Совзонд. Опыт использования open sourceСовзонд. Опыт использования open source
Совзонд. Опыт использования open sourceMaxim Dubinin
 
ГИС-Лаб и открытые ГИС
ГИС-Лаб и открытые ГИСГИС-Лаб и открытые ГИС
ГИС-Лаб и открытые ГИСMaxim Dubinin
 
Применение Big Data в маркетинге
Применение Big Data в маркетингеПрименение Big Data в маркетинге
Применение Big Data в маркетингеEvgeniy Pavlovskiy
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Technopark
 
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальность
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальностьBig Data в маркетинге. Просто о непонятном: задачи, возможности, реальность
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальностьTechart Marketing Group
 

Andere mochten auch (20)

Greenplum: история одной миграции
Greenplum: история одной миграцииGreenplum: история одной миграции
Greenplum: история одной миграции
 
Информационная 3D-4D модель строительства ГРЭС
Информационная 3D-4D модель строительства ГРЭСИнформационная 3D-4D модель строительства ГРЭС
Информационная 3D-4D модель строительства ГРЭС
 
Кадастровые инструменты для ArcGIS
Кадастровые инструменты для ArcGISКадастровые инструменты для ArcGIS
Кадастровые инструменты для ArcGIS
 
тема 04 проектирование геоинформационных систем
тема 04 проектирование геоинформационных системтема 04 проектирование геоинформационных систем
тема 04 проектирование геоинформационных систем
 
Big Data Strategy
Big Data StrategyBig Data Strategy
Big Data Strategy
 
Valerii Iakovenko Drones as the part of the present
Valerii Iakovenko	Drones as the part of the presentValerii Iakovenko	Drones as the part of the present
Valerii Iakovenko Drones as the part of the present
 
Пилотный проект КРОК с использованием технологий BigData для ЦППК
Пилотный проект КРОК с использованием технологий BigData для ЦППКПилотный проект КРОК с использованием технологий BigData для ЦППК
Пилотный проект КРОК с использованием технологий BigData для ЦППК
 
Big Data и ArcGIS
Big Data и ArcGISBig Data и ArcGIS
Big Data и ArcGIS
 
Esri Geoportal Server – учет и поиск корпоративных пространственных данных
Esri Geoportal Server – учет и поиск корпоративных пространственных данныхEsri Geoportal Server – учет и поиск корпоративных пространственных данных
Esri Geoportal Server – учет и поиск корпоративных пространственных данных
 
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
 
Unmanned Aerial Systems: Smart Inspectors
Unmanned Aerial Systems: Smart Inspectors Unmanned Aerial Systems: Smart Inspectors
Unmanned Aerial Systems: Smart Inspectors
 
Построение ГИС: Стратегии проектирования системной архитектуры.
Построение ГИС: Стратегии проектирования системной архитектуры.Построение ГИС: Стратегии проектирования системной архитектуры.
Построение ГИС: Стратегии проектирования системной архитектуры.
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
 
ГИС с открытым исходным кодом: авантюра или бизнес? Взгляд со стороны разрабо...
ГИС с открытым исходным кодом: авантюра или бизнес? Взгляд со стороны разрабо...ГИС с открытым исходным кодом: авантюра или бизнес? Взгляд со стороны разрабо...
ГИС с открытым исходным кодом: авантюра или бизнес? Взгляд со стороны разрабо...
 
мониторинг чс на опасных объектах с использованием гис
мониторинг чс на опасных объектах с использованием гисмониторинг чс на опасных объектах с использованием гис
мониторинг чс на опасных объектах с использованием гис
 
Совзонд. Опыт использования open source
Совзонд. Опыт использования open sourceСовзонд. Опыт использования open source
Совзонд. Опыт использования open source
 
ГИС-Лаб и открытые ГИС
ГИС-Лаб и открытые ГИСГИС-Лаб и открытые ГИС
ГИС-Лаб и открытые ГИС
 
Применение Big Data в маркетинге
Применение Big Data в маркетингеПрименение Big Data в маркетинге
Применение Big Data в маркетинге
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальность
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальностьBig Data в маркетинге. Просто о непонятном: задачи, возможности, реальность
Big Data в маркетинге. Просто о непонятном: задачи, возможности, реальность
 

Ähnlich wie Алгоритмы и структуры данных BigData для графов большой размерности

2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данныхОмские ИТ-субботники
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data MATLAB
 
Big Data - первые шаги
Big Data - первые шагиBig Data - первые шаги
Big Data - первые шагиAnton Gorokhov
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Alexey Zinoviev
 
Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelTechnopark
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationAnton Gorokhov
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахAlex Tutubalin
 
Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обученияДмитрий Колодезев
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Thumbtack Expertise Days # 5 - Dataset
Thumbtack Expertise Days # 5 - DatasetThumbtack Expertise Days # 5 - Dataset
Thumbtack Expertise Days # 5 - DatasetAlexey Remnev
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3Computer Science Club
 
Место Postgres/PostGIS в экосистеме открытого ПО
Место Postgres/PostGIS в экосистеме  открытого ПОМесто Postgres/PostGIS в экосистеме  открытого ПО
Место Postgres/PostGIS в экосистеме открытого ПОMaxim Dubinin
 
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Ontico
 
Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Anton Moiseev
 
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...HappyDev
 
Олег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоОлег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоCodeFest
 
12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связан...
12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связан...12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связан...
12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связан...HappyDev-lite
 
BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты Dima Karamshuk
 
МЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3D-СКАНИРОВАНИЯ
МЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3D-СКАНИРОВАНИЯМЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3D-СКАНИРОВАНИЯ
МЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3D-СКАНИРОВАНИЯITMO University
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6Nikolay Samokhvalov
 

Ähnlich wie Алгоритмы и структуры данных BigData для графов большой размерности (20)

2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
 
Работа с Big Data
Работа с Big Data Работа с Big Data
Работа с Big Data
 
Big Data - первые шаги
Big Data - первые шагиBig Data - первые шаги
Big Data - первые шаги
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
 
Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартах
 
Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обучения
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Thumbtack Expertise Days # 5 - Dataset
Thumbtack Expertise Days # 5 - DatasetThumbtack Expertise Days # 5 - Dataset
Thumbtack Expertise Days # 5 - Dataset
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
 
Место Postgres/PostGIS в экосистеме открытого ПО
Место Postgres/PostGIS в экосистеме  открытого ПОМесто Postgres/PostGIS в экосистеме  открытого ПО
Место Postgres/PostGIS в экосистеме открытого ПО
 
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
 
Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017Цифровая микроэлектроника для математиков и программистов 2017
Цифровая микроэлектроника для математиков и программистов 2017
 
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
 
Олег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоОлег Бартунов и Иван Панченко
Олег Бартунов и Иван Панченко
 
12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связан...
12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связан...12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связан...
12 HappyDev-lite-2014. Иван Погудин, Анатолий Никулин. Решение задач, связан...
 
BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты
 
МЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3D-СКАНИРОВАНИЯ
МЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3D-СКАНИРОВАНИЯМЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3D-СКАНИРОВАНИЯ
МЕТОДИКА СБОРКИ И ОБРАБОТКИ ДАННЫХ, ПОЛУЧЕННЫХ В ПРОЦЕССЕ 3D-СКАНИРОВАНИЯ
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
 

Mehr von Alexey Zinoviev

Kafka pours and Spark resolves
Kafka pours and Spark resolvesKafka pours and Spark resolves
Kafka pours and Spark resolvesAlexey Zinoviev
 
Java BigData Full Stack Development (version 2.0)
Java BigData Full Stack Development (version 2.0)Java BigData Full Stack Development (version 2.0)
Java BigData Full Stack Development (version 2.0)Alexey Zinoviev
 
Joker'16 Spark 2 (API changes; Structured Streaming; Encoders)
Joker'16 Spark 2 (API changes; Structured Streaming; Encoders)Joker'16 Spark 2 (API changes; Structured Streaming; Encoders)
Joker'16 Spark 2 (API changes; Structured Streaming; Encoders)Alexey Zinoviev
 
HappyDev'15 Keynote: Когда все данные станут большими...
HappyDev'15 Keynote: Когда все данные станут большими...HappyDev'15 Keynote: Когда все данные станут большими...
HappyDev'15 Keynote: Когда все данные станут большими...Alexey Zinoviev
 
Мастер-класс по BigData Tools для HappyDev'15
Мастер-класс по BigData Tools для HappyDev'15Мастер-класс по BigData Tools для HappyDev'15
Мастер-класс по BigData Tools для HappyDev'15Alexey Zinoviev
 
JavaDayKiev'15 Java in production for Data Mining Research projects
JavaDayKiev'15 Java in production for Data Mining Research projectsJavaDayKiev'15 Java in production for Data Mining Research projects
JavaDayKiev'15 Java in production for Data Mining Research projectsAlexey Zinoviev
 
Joker'15 Java straitjackets for MongoDB
Joker'15 Java straitjackets for MongoDBJoker'15 Java straitjackets for MongoDB
Joker'15 Java straitjackets for MongoDBAlexey Zinoviev
 
JPoint'15 Mom, I so wish Hibernate for my NoSQL database...
JPoint'15 Mom, I so wish Hibernate for my NoSQL database...JPoint'15 Mom, I so wish Hibernate for my NoSQL database...
JPoint'15 Mom, I so wish Hibernate for my NoSQL database...Alexey Zinoviev
 
Python's slippy path and Tao of thick Pandas: give my data, Rrrrr...
Python's slippy path and Tao of thick Pandas: give my data, Rrrrr...Python's slippy path and Tao of thick Pandas: give my data, Rrrrr...
Python's slippy path and Tao of thick Pandas: give my data, Rrrrr...Alexey Zinoviev
 
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)Alexey Zinoviev
 
Joker'14 Java as a fundamental working tool of the Data Scientist
Joker'14 Java as a fundamental working tool of the Data ScientistJoker'14 Java as a fundamental working tool of the Data Scientist
Joker'14 Java as a fundamental working tool of the Data ScientistAlexey Zinoviev
 
First steps in Data Mining Kindergarten
First steps in Data Mining KindergartenFirst steps in Data Mining Kindergarten
First steps in Data Mining KindergartenAlexey Zinoviev
 
EST: Smart rate (Effective recommendation system for Taxi drivers based on th...
EST: Smart rate (Effective recommendation system for Taxi drivers based on th...EST: Smart rate (Effective recommendation system for Taxi drivers based on th...
EST: Smart rate (Effective recommendation system for Taxi drivers based on th...Alexey Zinoviev
 
Android Geo Apps in Soviet Russia: Latitude and longitude find you
Android Geo Apps in Soviet Russia: Latitude and longitude find youAndroid Geo Apps in Soviet Russia: Latitude and longitude find you
Android Geo Apps in Soviet Russia: Latitude and longitude find youAlexey Zinoviev
 
Keynote on JavaDay Omsk 2014 about new features in Java 8
Keynote on JavaDay Omsk 2014 about new features in Java 8Keynote on JavaDay Omsk 2014 about new features in Java 8
Keynote on JavaDay Omsk 2014 about new features in Java 8Alexey Zinoviev
 
"Говнокод-шоу"
"Говнокод-шоу""Говнокод-шоу"
"Говнокод-шоу"Alexey Zinoviev
 
GDG Devfest Omsk 2013. Year of events!
GDG Devfest Omsk 2013. Year of events!GDG Devfest Omsk 2013. Year of events!
GDG Devfest Omsk 2013. Year of events!Alexey Zinoviev
 
How to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOSHow to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOSAlexey Zinoviev
 
Поездка на IT-DUMP 2012
Поездка на IT-DUMP 2012Поездка на IT-DUMP 2012
Поездка на IT-DUMP 2012Alexey Zinoviev
 

Mehr von Alexey Zinoviev (20)

Kafka pours and Spark resolves
Kafka pours and Spark resolvesKafka pours and Spark resolves
Kafka pours and Spark resolves
 
Java BigData Full Stack Development (version 2.0)
Java BigData Full Stack Development (version 2.0)Java BigData Full Stack Development (version 2.0)
Java BigData Full Stack Development (version 2.0)
 
Joker'16 Spark 2 (API changes; Structured Streaming; Encoders)
Joker'16 Spark 2 (API changes; Structured Streaming; Encoders)Joker'16 Spark 2 (API changes; Structured Streaming; Encoders)
Joker'16 Spark 2 (API changes; Structured Streaming; Encoders)
 
Hadoop Jungle
Hadoop JungleHadoop Jungle
Hadoop Jungle
 
HappyDev'15 Keynote: Когда все данные станут большими...
HappyDev'15 Keynote: Когда все данные станут большими...HappyDev'15 Keynote: Когда все данные станут большими...
HappyDev'15 Keynote: Когда все данные станут большими...
 
Мастер-класс по BigData Tools для HappyDev'15
Мастер-класс по BigData Tools для HappyDev'15Мастер-класс по BigData Tools для HappyDev'15
Мастер-класс по BigData Tools для HappyDev'15
 
JavaDayKiev'15 Java in production for Data Mining Research projects
JavaDayKiev'15 Java in production for Data Mining Research projectsJavaDayKiev'15 Java in production for Data Mining Research projects
JavaDayKiev'15 Java in production for Data Mining Research projects
 
Joker'15 Java straitjackets for MongoDB
Joker'15 Java straitjackets for MongoDBJoker'15 Java straitjackets for MongoDB
Joker'15 Java straitjackets for MongoDB
 
JPoint'15 Mom, I so wish Hibernate for my NoSQL database...
JPoint'15 Mom, I so wish Hibernate for my NoSQL database...JPoint'15 Mom, I so wish Hibernate for my NoSQL database...
JPoint'15 Mom, I so wish Hibernate for my NoSQL database...
 
Python's slippy path and Tao of thick Pandas: give my data, Rrrrr...
Python's slippy path and Tao of thick Pandas: give my data, Rrrrr...Python's slippy path and Tao of thick Pandas: give my data, Rrrrr...
Python's slippy path and Tao of thick Pandas: give my data, Rrrrr...
 
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
Thorny path to the Large-Scale Graph Processing (Highload++, 2014)
 
Joker'14 Java as a fundamental working tool of the Data Scientist
Joker'14 Java as a fundamental working tool of the Data ScientistJoker'14 Java as a fundamental working tool of the Data Scientist
Joker'14 Java as a fundamental working tool of the Data Scientist
 
First steps in Data Mining Kindergarten
First steps in Data Mining KindergartenFirst steps in Data Mining Kindergarten
First steps in Data Mining Kindergarten
 
EST: Smart rate (Effective recommendation system for Taxi drivers based on th...
EST: Smart rate (Effective recommendation system for Taxi drivers based on th...EST: Smart rate (Effective recommendation system for Taxi drivers based on th...
EST: Smart rate (Effective recommendation system for Taxi drivers based on th...
 
Android Geo Apps in Soviet Russia: Latitude and longitude find you
Android Geo Apps in Soviet Russia: Latitude and longitude find youAndroid Geo Apps in Soviet Russia: Latitude and longitude find you
Android Geo Apps in Soviet Russia: Latitude and longitude find you
 
Keynote on JavaDay Omsk 2014 about new features in Java 8
Keynote on JavaDay Omsk 2014 about new features in Java 8Keynote on JavaDay Omsk 2014 about new features in Java 8
Keynote on JavaDay Omsk 2014 about new features in Java 8
 
"Говнокод-шоу"
"Говнокод-шоу""Говнокод-шоу"
"Говнокод-шоу"
 
GDG Devfest Omsk 2013. Year of events!
GDG Devfest Omsk 2013. Year of events!GDG Devfest Omsk 2013. Year of events!
GDG Devfest Omsk 2013. Year of events!
 
How to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOSHow to port JavaScript library to Android and iOS
How to port JavaScript library to Android and iOS
 
Поездка на IT-DUMP 2012
Поездка на IT-DUMP 2012Поездка на IT-DUMP 2012
Поездка на IT-DUMP 2012
 

Алгоритмы и структуры данных BigData для графов большой размерности

  • 1. Алгоритмы и структуры данных BigData для графов большой размерности Докладчик: Алексей Зиновьев
  • 2. О себе ● аспирант ОмГУ, математик ● занимаюсь теорией графов, прогнозированием пробок, исследованием транспортных систем ● большой фанат различных Maps API
  • 3. Зачем ездить в Computer Science школы? ● Если вы закончили матфак и в вас до сих пор играет ретивое ● Мощный networking с учеными-практиками ● Возможность быть в первых рядах, павших за BigData ● Отличная возможность прокачать English ● Можно увидеть, как куча чудаков всю ночь делает домашку, а потом сорваться и сделать ее самому
  • 4. Откуда BigData есть быти? BigData прошлого: ● Астрономический вычисления ● Данные многолетних наблюдений за погодой ● Данные торговых операций ● Морские маршруты
  • 5. А теперь ● ● ● ● ● ● ● Web-граф (модель Интернета) Граф почтовых сообщений Данные с БАК Астрономия Генетический код Граф друзей на Facebook Анализ текстов, публикаций
  • 6.
  • 7.
  • 8. Чемпионы-тяжеловесы Граф Число вершин Число ребер Объем данных на диске Прирост в день Web-граф 1 трлн 8 трлн 100 PB 300 TB Facebook (граф друзей) 1 млрд 140 млрд 1 PB 15 TB Дорожный граф Европы 18 млн 42 млн 20 GB 50 MB 160 000 300 MB 500 KB Дорожный 80 000 граф Омска
  • 9. Они следят за нами ● Уже на первых занятиях все решили посчитать, а может ли АНБ, а прав ли Сноуден? ● Все собравшиеся отчетливо понимали, что их наука немного evil ● BigData не было бы без человека, генерирующего своим существованием тонны персональной информации
  • 10. Этические вопросы Выгоды разумного правительства и общества ● ● ● ● прямая демократия принятие оптимальных решений снижение преступности вследствие тотальной слежки снижение экономических издержек (реабилитация централизованного планирования) Выгоды IT - бизнеса ● ● ● ● ● конвертация продуктов в сервисы создание новых рынков возможность изменить мир Интернет по всему миру доступ к гос.ресурсам
  • 11. Большой брат? ● ● ● ● Автоматическое правосудие Полная публичность Защита данных как услуга Война патентов и защита инноваций ● Ни один грех не будет забыт, а если и будет, то за большие деньги ● Исчезновение анонимности ● Нет бесплатных программ, мы платим персональными данными
  • 12. Nearest Neighbor Search (NNS) ● найти ближайшую точку к данной на большом множестве точек; ● расcтояние может быть любым, в том числе быть длиной кратчайшего маршрута на графе. Основные приложения ● ● ● ● ● сервисы рекомендаций, генетические исследования; распознавание образов; классификация текстов; рекомендательные и экспертные системы; динамическое размещение рекламы в Интернете.
  • 13. Nearest Neighbor Search (NNS) Диаграмма Вороного ● Если мы сумеем построить такое разбиение плоскости, то любая точка внутри ячейки находится ближе к "центру" своей ячейки. Точки на границе равноудалены от "центров". ● Двумерный случай прост, в nмерном случае используются приближенные алгоритмы.
  • 14.
  • 15. Эксперимент Милграма Facebook 4.74 712 M 69 G Twitter 3.67 ---- 5G follows 180 M 1.3 G arcs MSN Messenger (1 6.6 month) ● Hyper ANF - новый алгоритм, основанный на счетчиках HyperLogLog и вычислении функции соседства ● HyperLogLog - статистический счетчик (6% отклонение, 5 - 7 bits) ● Диаметр Facebook - 10 hours, 1TB RAM
  • 16.
  • 17.
  • 18. Node Centrality Problem Зачем искать множество центральных точек? ● влияние таких точек больше остальных ● удаление важных вершин снижает надежность системы Основные приложения ● ● ● ● ● ● астрофизика биоинформатика социальные связи дорожные сети изучение топологии интернета и выявление спама системы рекомендаций
  • 19. Но как работать с такими данными? ● Hadoop + MapReduce тут не поможет ● Google для частного ряда задач создал систему Pregel, аналогичная система есть у компании Яндекс ● АНБ + KeyScore ● Вычисление доминаторных деревьев в потоке информации, важных персон ● Необходима линейность по времени и логарифмичность по памяти ● Можно задавать некоторые сетки, делать вычисления для подграфов
  • 20. Pregel - система для вычислений на больших графах В основе Pregel лежит вершинный подход, а сама система основана на модели Bulk Synchronous Parallel Программы обработки графов в Pregel представлены в виде последовательностей итераций, которые называются супершагами. При выполнении супершага для каждой вершины графа запускается определенная пользователем функция, и все функции выполняются параллельно.
  • 21. Pregel - система для вычислений на больших графах Вершины обмениваются сообщениями, а также могут изменять свое состояние и состояние смежных ребер, согласно полученной информации. Pregel: A System for Large-Scale Graph Processing (Грегорц Малевич [Grzegorz Malewicz] и др., 2010 г.). На следующей картинке приведен пример обмена сообщениями между набором вершин графа для определения максимального значения вершины.
  • 22. Pregel - система для вычислений на больших графах
  • 23. Кратчайшее расстояние на графе Европы Поиск кратчайшего расстояния на графе - одна из важнейших задач оптимизации, причем классические подходы в данной области не оправдывают себя на больших графах.
  • 24. Требования к системе обработки ● Необходимо быстро (10 мс) находить кратчайшее расстояние между двумя точками ● Линейность алгоритмов ● Этап предварительной обработки (препроцессинг) ● Не хранить все расстояния между вершинами (O(n^2) по памяти) ● Ответ может быть точным с определнной вероятностью ● Учитывание геоспецифики графа ● Использование сжатия и перекодировки для хранения на диске
  • 25. Алгоритмы для вычисления кратчайшего расстояния Dijkstra ALT RE HH CH TN HL 2 008 300 24 656 2444 462.0 94.0 1.8 0.3 ALT: [Goldberg & Harrelson 05], [Delling & Wagner 07] RE: [Gutman 05], [Goldberg et al. 07] HH: [Sanders & Schultes 06] CH: [Geisberger et al. 08] TN: [Geisberger et al. 08] HL: [Abraham et al. 11]
  • 26. Оптимизационные задачи на больших графах Однако, при решении оптимизационных задач на графах, изменяющих структуру самого графа, фаза препроцессинга длиною в несколько часов становится бессмысленной. Пример задачи: есть 1 млрд рублей на развитие дорожной сети. Каким образом можно инвестировать его, чтобы уменьшить среднее время, затрачиваемое на ежедневные межрайонные корреспонденции граждан? Еще пример: дорожная сеть подверглась воздействию стихии, ожидается еще один удар. Где проложить новые дороги, чтобы система была максимально устойчивой?
  • 27.
  • 28.
  • 29.
  • 30. I/O Efficient Algorithms and Data Structures ● Традиционный подход состоит в случайном чтении из RAM ● Однако, стоит помнить, что уровней памяти много ● Чем дальше от CPU, тем больше и медленнее ● Данные перемещаются между уровнями большими блоками ● Часто OS берет на себя предсказание и подгрузку ● Диск в 10^6 медленнее RAM ● Разбиение на небольшие блоки и выполнение операций внутри каждого блока с объединением результата уменьшает число I/O операций
  • 31. Graphs and Memory Errors Что может привести к ошибкам? ● космическое излучение ● битый кусок винчестера ● ошибка при передаче данных из RAM в кэш Чем чревато? ● классические алгоритмы (слияние списков, например) не готовы к ошибкам ● выходом из строя критического оборудования ● редкость ошибок - миф (эксперимент Google) Разработка алгоритмов, устойчивых к ошибкам, ведется уже 50 лет!
  • 32. Итоги ● Для анализа большого графа достаточно небольшого вычислительного кластера ● Инструменты визуализации и алгоритмы на больших графах являются восходящим трендом ● Невозможна хаотичная работа с большими данными без соответствующего математического аппарата и программного обеспечения