О том, как Computer Science нам жить помогает или современные...

27
О том, как Computer Science нам жить помогает или современные приложения теории графов Калачёв Максим Александрович Разработчик [email protected]

description

Доклад на ProfitConf 2011

Transcript of О том, как Computer Science нам жить помогает или современные...

Page 1: О том, как Computer Science нам жить помогает или современные приложения теории графов

О том, как Computer Science нам жить помогает или современные приложения теории графов

Калачёв Максим АлександровичРазработчик[email protected]

Page 2: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Agenda

веб-графы методы моделирования ранжирование неестественные структуры shortest path problem нерешённые проблемы

Page 3: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Метафизический вопрос №1

Page 4: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Метафизический вопрос №2

Page 5: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Графы, вероятность, приложения

Page 6: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Веб-графы

Page 7: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Веб-графы

Page 8: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Веб-графы

Page 9: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Социальные сети

Page 10: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Социальные сети

Page 11: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Моделирование веб-графов Случайные графы

Исследования Barabasi-Albert

Модель Bollobas-Riordan

Модификации модели

Page 12: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Как устроен веб-граф?

Albert-Laszlo Barabasi and Reka Albert. Emergence of scaling in random networks. Science, 286:509, 1999.

5 млрд вершин, псевдомультиорграф

Ключевые свойства веб-графа:

Разрежённость

на k вершин kt рёбер, k 1

Диаметр графа {5, 6}

Теория о шести рукопожатиях

Степенное распределение степеней вершин

P(d) c / d

2.1, c – нормирующий множитель

Page 13: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Степенной закон распределения

Page 14: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Эволюция веб-графа

Модель предпочтительного соединения (preferential attachment)

Page 15: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Six degrees of separations

Page 16: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Six degrees of separations

Page 17: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Масштабная инвариантность

Page 18: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Scale-free networks

• Техника: Сети электропередачи, VLSI, Интернет, Веб

• Социум: контакты, связи, организации, язык, дороги, авиамаршруты

• Биология: нейроны; пищевые, экологические, метаболические сети

• Физика: молекулы, галактики

Page 19: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Ранжирование в поисковых системах

Page 20: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Ранжирование в семантических сетях

проект WordNet (wordnet.princeton.edu)

Page 21: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Выявление веб-структур

Page 22: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Выявление веб-структур

Page 23: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Shortest path problem

Andrew GoldbergMicrosoft Research

Page 24: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Shortest path problemПочему современные алгоритмы на картах работают очень быстро

100000 млн вершинВремя работы 10-2 c

Интуитивные идеи:

• Указатели на дугах• Поиск A*• Достижимость• Шоссейная и желаемые иерархии• Перевалочные пункты

Page 25: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Нерешённые вопросы

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

Петровский И.Г.

brainware hardware

Page 26: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

P vs NP

NP – класс всех задач поиска, решение для которых может быть быстро проверено.

P – класс задач поиска, решение для которых может быть быстро найдено.

P ≠ NP – верно ли, что каждый раз, когда решение можно быстро проверить, его можно быстро найти.

Page 27: О том, как Computer Science нам жить помогает или современные приложения теории графов

8-800-100-00-23 l [email protected]

Послесловие

Я.Б. Зельдович считал, что постановка задачи – искусство куда более тонкое, чем решение. “Стоит точно сформулировать вопрос, - говорил он, - как тотчас найдётся подходящий математик для решения. Ведь математики, они как мухи, - умеют ходить по потолку!”

В.И. Арнольд, Задачи Арнольда.