Soft war e Clou d Serv ices Обзор современного состояния области алгоритмов и структур данных Калачёв Максим Александрович Разработчик maxkalache

Содержание

Слайд 2

Идеи

Идеи

Слайд 3

План Computer Science Web-графы Случайные графы Highway dimenstion NP vs P Что осталось нерассмотренным Послесловие

План

Computer Science
Web-графы
Случайные графы
Highway dimenstion
NP vs P
Что осталось нерассмотренным
Послесловие

Слайд 4

Теоретики

Теоретики

Слайд 5

Практики

Практики

Слайд 6

Программисты

Программисты

Слайд 7

Эдгар Дейкстра

Эдгар Дейкстра

Слайд 8

Никлаус Вирт

Никлаус Вирт

Слайд 9

Чарльз Хоар

Чарльз Хоар

Слайд 10

Дональт Кнут

Дональт Кнут

Слайд 11

Программа +

Программа

+

Слайд 12

Computer Science Закон Вирта Программы становятся медленне более быстро, чем компьютеры

Computer Science

Закон Вирта
Программы становятся медленне более быстро, чем компьютеры становятся быстрее

P

=
A =
Mρ - множество процедур решения задачи
R2 ⊂ Mρ ² - бинарное отношение на Mρ
(ρi, ρj) ∈ R2 ⇔ после пройедуры ρi выполняется процедура ρj
Слайд 13

Абстракции

Абстракции

Слайд 14

Математическое моделирование

Математическое моделирование

Слайд 15

Теория графов + Теория вероятностей = PROFIT +

Теория графов + Теория вероятностей = PROFIT

+

Слайд 16

Веб-графы

Веб-графы

Слайд 17

Веб-графы

Веб-графы

Слайд 18

Случайные графы Наблюдения Барабаши-Альберт Как устроен web-граф? Barabashi, Albert, 1999, 2000

Случайные графы
Наблюдения Барабаши-Альберт

Как устроен web-граф?
Barabashi, Albert, 1999, 2000
5 млрд вершин, псевдомультиорграф
Ключевые

свойства веб-графа:
∙ Разрежённость
на k вершин kt рёбер, k ≥ 1
∙ Диаметр графа ∈ {5, 6}
Теория о шести рукопожатиях
∙ Степенное распределение степеней вершин
P(d) ~ c / d λ
λ ≈ 2.1, c – нормирующий множитель
Слайд 19

Случайные графы Наблюдения Барабаши-Альберт Веб-граф очень специфичен – разрежен и тесен

Случайные графы
Наблюдения Барабаши-Альберт

Веб-граф очень специфичен – разрежен и тесен
Степенной закон объединяет

социальные, биологические и транспортные сети
Модели предпочтительного соединения
Слайд 20

Случайные графы Модель Эрдёша-Реньи G(n,p) V = {1, 2, …, n},

Случайные графы
Модель Эрдёша-Реньи

G(n,p)
V = {1, 2, …, n}, E
рёбра проводятся взаимно-независимо

с
вероятностью p ∈ [0, 1] в соответствии со
схемой Бернулли
e1, …, em, m = C2n – количество всех испытаний
Вероятностное пространство <Ωn, Fn, Pn,p>
Ωn = {G = (Vn, E)} – множество элементарных событий
Fn = 2Ωn – множество событий
Pn,p(G) = p|E|(1-p)m-|E| - вероятность повления конкретного графа
Слайд 21

Транспортная интерпретация

Транспортная интерпретация

Слайд 22

Highway dimension

Highway dimension

Слайд 23

Highway dimension Почему современные алгоритмы на картах работают очень быстро 100000

Highway dimension

Почему современные алгоритмы на картах работают очень быстро
100000 млн вершин
Время

работы 10-2 c
Интуитивные идеи:
Указатели на дугах
Поиск A*
Достижимость
Шоссейная и желаемые иерархии
Перевалочные пункты
Слайд 24

P vs NP

P vs NP

Слайд 25

1 миллион долларов!

1 миллион долларов!

Слайд 26

Классы задач

Классы задач

Слайд 27

P vs NP Задача поиска задаётся алгоритмом C, который получает на

P vs NP

Задача поиска задаётся алгоритмом C, который получает на вход

условие I и кандидата на решение S и имеет полиномиальное, относительно I время работы.
S называется решением если и только если C(S, I) = true
NP – класс всех задач поиска, решение для которых может быть быстро проверено
P – класс задач поиска, решение для которых может быть быстро найдено
P ≠ NP – верно ли, что каждый раз, когда решение можно быстро проверить, его можно быстро найти
Задача о расписании
Задача о вершинном покрытии
A → B
Слайд 28

Андрей Михайлович Райгородский

Андрей Михайлович Райгородский

Слайд 29

Андрей Гольдберг

Андрей Гольдберг

Слайд 30

Что осталось нерассмотренным Параллельные алгоритмы Распознавание изображений Нейронные сети Генетические алгоритмы

Что осталось нерассмотренным

Параллельные алгоритмы
Распознавание изображений
Нейронные сети
Генетические алгоритмы
Нечёткие модели
Строковые алгоритмы
Комбинаторная оптимизация
Численные алгоритмы
Вычислительная

геометрия
Криптографические алгоритмы
Компьютерная лингвистика
……..