Содержание
- 2. ГРАФ С их помощью часто моделируют – библиографические сети – сети белок-белковых взаимодействий – Социальные сети
- 3. Задачи и проблемы на графах Поиск кратчайшего пути – Роутинг трафика – Навигация маршрута Поиск минимального
- 4. Графы и MapReduce Большой класс алгоритмов на графах включает – Выполнение вычислений на каждой ноде –
- 5. Матрица смежности Граф представляется как матрица M размером n x n – n = |V| –
- 6. Списки смежности • Берем матрицу смежности и убираем все нули 1: 2 2: 3, 4 3:
- 7. Матрицы смежности + – Удобство математических вычислений – Перемещение по строкам и столбцами соответствует переходу по
- 8. Задача поиска кратчайшего пути Найти кратчайший путь от исходной вершины до заданной (или несколько заданных) Также,
- 9. Задача поиска кратчайшего пути . Алгоритм Дейкстры C A E B D
- 10. Поиск кратчайшего пути Рассмотрим простой случай, когда вес всех ребер одинаков и равен единице Интуитивно: Определим:
- 11. Алгоритм breadth-first search
- 12. Параллельный BFS Представление данных: – Key: вершина n – Value: d (расстояние от начала), adjacency list
- 14. Параллельный BFS
- 15. BFS: итерации • Каждая итерация задачи MapReduce смещает границу продвижения по графу (frontier) на один “hop”
- 16. BFS: критерий завершения Как много итераций нужно для завершения параллельного BFS? Когда первый раз посетили искомую
- 17. BFS vs Дейкстра Алгоритм Дейкстры более эффективен На каждом шаге используются вершины только из пути с
- 18. BFS: Weighted Edges Добавим положительный вес каждому ребру Простая доработка: добавим вес w для каждого ребра
- 19. BFS Weighted: сложности
- 20. BFS Weighted: критерий завершения Как много итераций нужно для завершения параллельного BFS (взвешенный граф)? В худшем
- 21. Графы и MapReduce Большое количество алгоритмов на графах включает в себя: Выполнение вычислений, зависимых от особенностей
- 22. PageRank Модель блуждающего веб-серфера – Пользователь начинает серфинг на случайной веб-странице – Пользователь произвольно кликает по
- 23. Определение Дана страница x, на которую указывают ссылки t1…tn, где – C(t) степень out-degree для t
- 24. Вычисление PageRank без PageRank PageRank может быть рассчитан итеративно Примерный алгоритм: Начать с некоторыми заданными значения
- 25. Упрощения для PageRank Случайный переход и “подвисшие” вершины Нет фактора случайного перехода (random jump) Нет “подвисших”
- 26. Итерация 1
- 27. Итерация 2
- 28. PageRank на MapReduce
- 29. Псевдокод на MapReduce
- 30. Полный PageRank Две дополнительные сложности Как правильно обрабатывать “подвешенные” вершины? Как правильно определить фактор случайного перехода
- 31. Критерии сходимости PageRank Продолжать итерации пока значения PageRank не перестанет изменяться Фиксированное число итераций
- 33. Скачать презентацию