Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Обзор современного состояния области алгоритмов и структур данных

969 views

Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Обзор современного состояния области алгоритмов и структур данных

  1. 1. Обзор современного состояния области алгоритмов и структур данных Калачёв Максим Александрович Разработчик [email_address]
  2. 2. Идеи
  3. 3. План <ul><li>Computer Science </li></ul><ul><li>Web- графы </li></ul><ul><li>Случайные графы </li></ul><ul><li>Highway dimenstion </li></ul><ul><li>NP vs P </li></ul><ul><li>Что осталось нерассмотренным </li></ul><ul><li>Послесловие </li></ul>
  4. 4. Теоретики
  5. 5. Практики
  6. 6. Программисты
  7. 7. Эдгар Дейкстра
  8. 8. Никлаус Вирт
  9. 9. Чарльз Хоар
  10. 10. Дональт Кнут
  11. 11. Программа +
  12. 12. Computer Science Закон Вирта Программы становятся медленне более быстро , чем компьютеры становятся быстрее P = <A i , DS i > A = <M  , R 2 > M  - множество процедур решения задачи R 2  M  ² - бинарное отношение на M  (  i ,  j )  R 2   после пройедуры  i выполняется процедура  j
  13. 13. Абстракции
  14. 14. Математическое моделирование
  15. 15. Теория графов + Теория вероятностей = PROFIT +
  16. 16. Веб-графы
  17. 17. Веб-графы
  18. 18. Случайные графы Наблюдения Барабаши-Альберт <ul><li>Как устроен web- граф ? </li></ul><ul><li>Barabashi, Albert, 1999, 2000 </li></ul><ul><li>5 млрд вершин , псевдомультиорграф </li></ul><ul><li>Ключевые свойства веб-графа : </li></ul><ul><li> Разрежённость </li></ul><ul><ul><li>на k вершин kt рёбер , k  1 </li></ul></ul><ul><li> Диаметр графа  {5, 6} </li></ul><ul><ul><li>Теория о шести рукопожатиях </li></ul></ul><ul><li> Степенное распределение степеней вершин </li></ul><ul><ul><li>P(d)  c / d  </li></ul></ul><ul><ul><li>  2.1, c – нормирующий множитель </li></ul></ul>
  19. 19. Случайные графы Наблюдения Барабаши-Альберт Веб-граф очень специфичен – разрежен и тесен Степенной закон объединяет социальные , биологические и транспортные сети Модели предпочтительного соединения
  20. 20. Случайные графы Модель Эрдёша-Реньи G(n,p) V = {1, 2, …, n}, E рёбра проводятся взаимно-независимо с вероятностью p  [0, 1] в соответствии со схемой Бернулли e 1 , …, e m , m = C 2 n – количество всех испытаний Вероятностное пространство <  n , F n , P n,p >  n = {G = (V n , E)} – множество элементарных событий F n = 2  n – множество событий P n,p (G) = p |E| (1-p) m-|E| - вероятность повления конкретного графа
  21. 21. Транспортная интерпретация
  22. 22. Highway dimension
  23. 23. Highway dimension <ul><li>Почему современные алгоритмы на картах работают очень быстро </li></ul><ul><li>100000 млн вершин </li></ul><ul><li>Время работы 10 -2 c </li></ul><ul><li>Интуитивные идеи : </li></ul><ul><li>Указатели на дугах </li></ul><ul><li>Поиск A* </li></ul><ul><li>Достижимость </li></ul><ul><li>Шоссейная и желаемые иерархии </li></ul><ul><li>Перевалочные пункты </li></ul>
  24. 24. P vs NP
  25. 25. 1 миллион долларов !
  26. 26. Классы задач
  27. 27. P vs NP Задача поиска задаётся алгоритмом C, который получает на вход условие I и кандидата на решение S и имеет полиномиальное , относительно I время работы . S называется решением если и только если C(S, I) = true NP – класс всех задач поиска , решение для которых может быть быстро проверено P – класс задач поиска , решение для которых может быть быстро найдено P ≠ NP – верно ли , что каждый раз , когда решение можно быстро проверить , его можно быстро найти Задача о расписании Задача о вершинном покрытии A  B
  28. 28. Андрей Михайлович Райгородский
  29. 29. Андрей Гольдберг
  30. 30. Что осталось нерассмотренным Параллельные алгоритмы Распознавание изображений Нейронные сети Генетические алгоритмы Нечёткие модели Строковые алгоритмы Комбинаторная оптимизация Численные алгоритмы Вычислительная геометрия Криптографические алгоритмы Компьютерная лингвистика …… ..
  31. 31. Так говорил Дейкстра I think it wise, and only honest, to warn you that my goal is immodest. It is not my purpose to &quot;transfer knowledge&quot; to you that, subsequently, you can forget again. My purpose is no less than to effectuate in each of you a noticeable, irreversable change. I want you to see and absorb calculational arguments so effective that you will never be able to forget that exposure. I want you to gain, for the rest of your lives, the insight that beautiful proofs are not &quot;found&quot; by trial and error but are the result of a consciously applied design discipline. I want to inspire you to raise your quality standards. I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself &quot;Dijkstra would not have liked this.&quot;, well, that would be enough immortality for me.

×