SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Обзор современного состояния области алгоритмов и структур данных Калачёв Максим Александрович Разработчик [email_address]
Идеи
План ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Теоретики
Практики
Программисты
Эдгар Дейкстра
Никлаус Вирт
Чарльз Хоар
Дональт Кнут
Программа +
Computer Science Закон Вирта Программы становятся медленне более быстро ,  чем компьютеры становятся быстрее P  =  <A i , DS i > A = <M  , R 2 > M   - множество процедур решения задачи R 2     M    ² -  бинарное отношение на  M  (  i ,   j )    R 2      после пройедуры   i  выполняется процедура   j
Абстракции
Математическое моделирование
Теория графов  +  Теория вероятностей  = PROFIT +
Веб-графы
Веб-графы
Случайные графы Наблюдения Барабаши-Альберт ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Случайные графы Наблюдения Барабаши-Альберт Веб-граф очень специфичен – разрежен и тесен Степенной закон объединяет социальные ,  биологические и транспортные сети Модели предпочтительного соединения
Случайные графы Модель Эрдёша-Реньи 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|  -  вероятность повления конкретного графа
Транспортная интерпретация
Highway dimension
Highway dimension ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
P vs NP
1  миллион долларов !
Классы задач
P vs NP Задача поиска   задаётся алгоритмом  C,  который получает на вход условие  I  и кандидата на решение  S  и имеет полиномиальное ,  относительно  I  время работы . S  называется решением   если и только если  C(S, I) = true NP –  класс всех задач   поиска ,  решение для которых может быть быстро проверено P –  класс задач поиска ,  решение для которых может быть быстро найдено P ≠ NP –  верно ли ,  что каждый раз ,  когда решение можно быстро проверить ,  его можно быстро найти Задача о расписании Задача о вершинном покрытии A    B
Андрей Михайлович Райгородский
Андрей Гольдберг
Что осталось нерассмотренным Параллельные алгоритмы Распознавание изображений Нейронные сети Генетические алгоритмы Нечёткие модели Строковые алгоритмы Комбинаторная оптимизация Численные алгоритмы Вычислительная геометрия Криптографические алгоритмы Компьютерная лингвистика …… ..
Так говорил Дейкстра 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.

Weitere ähnliche Inhalte

Andere mochten auch

не все комментарии одинаково полезны
не все комментарии одинаково полезныне все комментарии одинаково полезны
не все комментарии одинаково полезныSoftline
 
что такое Zabbiбиxа
что такое Zabbiбиxачто такое Zabbiбиxа
что такое ZabbiбиxаSoftline
 
разработка Mvc приложений на java script
разработка Mvc приложений на java scriptразработка Mvc приложений на java script
разработка Mvc приложений на java scriptSoftline
 
Learn lean. Технология управления от самураев.
Learn lean. Технология управления от самураев.Learn lean. Технология управления от самураев.
Learn lean. Технология управления от самураев.Softline
 
Введение в анализ требований
Введение в анализ требованийВведение в анализ требований
Введение в анализ требованийAnton Trukhanyonok
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчикаSoftline
 
MySQL для высоконагруженных проектов
MySQL для высоконагруженных проектовMySQL для высоконагруженных проектов
MySQL для высоконагруженных проектовSoftline
 
Axure по для создания прототипов веб-сайтов
Axure   по для создания прототипов веб-сайтовAxure   по для создания прототипов веб-сайтов
Axure по для создания прототипов веб-сайтовSoftline
 
эффективные ретроспективы (доклад)
эффективные ретроспективы (доклад)эффективные ретроспективы (доклад)
эффективные ретроспективы (доклад)Softline
 
Use-case diagram
Use-case diagramUse-case diagram
Use-case diagramaepetelin
 
Разработка прототипов на Axure
Разработка прототипов на AxureРазработка прототипов на Axure
Разработка прототипов на AxureSoftline
 
МАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseМАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseОлег Гудаев
 
Пишем пользовательские сценарии
Пишем пользовательские сценарииПишем пользовательские сценарии
Пишем пользовательские сценарииОльга Павлова
 
Use cases на практике
Use cases на практикеUse cases на практике
Use cases на практикеSoftline
 

Andere mochten auch (16)

не все комментарии одинаково полезны
не все комментарии одинаково полезныне все комментарии одинаково полезны
не все комментарии одинаково полезны
 
что такое Zabbiбиxа
что такое Zabbiбиxачто такое Zabbiбиxа
что такое Zabbiбиxа
 
разработка Mvc приложений на java script
разработка Mvc приложений на java scriptразработка Mvc приложений на java script
разработка Mvc приложений на java script
 
Learn lean. Технология управления от самураев.
Learn lean. Технология управления от самураев.Learn lean. Технология управления от самураев.
Learn lean. Технология управления от самураев.
 
Введение в анализ требований
Введение в анализ требованийВведение в анализ требований
Введение в анализ требований
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчика
 
MySQL для высоконагруженных проектов
MySQL для высоконагруженных проектовMySQL для высоконагруженных проектов
MySQL для высоконагруженных проектов
 
Axure по для создания прототипов веб-сайтов
Axure   по для создания прототипов веб-сайтовAxure   по для создания прототипов веб-сайтов
Axure по для создания прототипов веб-сайтов
 
эффективные ретроспективы (доклад)
эффективные ретроспективы (доклад)эффективные ретроспективы (доклад)
эффективные ретроспективы (доклад)
 
Use-case diagram
Use-case diagramUse-case diagram
Use-case diagram
 
Разработка прототипов на Axure
Разработка прототипов на AxureРазработка прототипов на Axure
Разработка прототипов на Axure
 
МАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseМАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use Case
 
Use Cases
Use CasesUse Cases
Use Cases
 
п15 16
п15 16п15 16
п15 16
 
Пишем пользовательские сценарии
Пишем пользовательские сценарииПишем пользовательские сценарии
Пишем пользовательские сценарии
 
Use cases на практике
Use cases на практикеUse cases на практике
Use cases на практике
 

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

О том, как Computer Science нам жить помогает или современные приложения теор...
О том, как Computer Science нам жить помогает или современные приложения теор...О том, как Computer Science нам жить помогает или современные приложения теор...
О том, как Computer Science нам жить помогает или современные приложения теор...maxkalachev
 
Программирование: от сложного к простому
Программирование: от сложного к простомуПрограммирование: от сложного к простому
Программирование: от сложного к простомуNikolay Grebenshikov
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
Лекция 1: Введение в алгоритмы
Лекция 1: Введение в алгоритмыЛекция 1: Введение в алгоритмы
Лекция 1: Введение в алгоритмыMikhail Kurnosov
 
SAP _ presentation about Machine learning
SAP _ presentation about Machine learningSAP _ presentation about Machine learning
SAP _ presentation about Machine learningAlexey Lutokhin
 
Методы машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицМетоды машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицAndrey Ustyuzhanin
 
С.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEС.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEAnatoly Levenchuk
 
BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты Dima Karamshuk
 
Антон Конушин (НИУ ВШЭ)
Антон Конушин (НИУ ВШЭ)Антон Конушин (НИУ ВШЭ)
Антон Конушин (НИУ ВШЭ)Edutainme
 
лекция1
лекция1лекция1
лекция1shagore
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationAnton Gorokhov
 
IT Network BACon agile spring. Дмитрий Гузенко - BA for Data Science & Machin...
IT Network BACon agile spring. Дмитрий Гузенко - BA for Data Science & Machin...IT Network BACon agile spring. Дмитрий Гузенко - BA for Data Science & Machin...
IT Network BACon agile spring. Дмитрий Гузенко - BA for Data Science & Machin...it-network
 
Bacon.2018.it pro network.ba for dsml
Bacon.2018.it pro network.ba for dsmlBacon.2018.it pro network.ba for dsml
Bacon.2018.it pro network.ba for dsmlDmitry Guzenko
 
Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обученияДмитрий Колодезев
 
Big Data - первые шаги
Big Data - первые шагиBig Data - первые шаги
Big Data - первые шагиAnton Gorokhov
 
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераАндрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераYandex
 
Dsml for business.full version
Dsml for business.full versionDsml for business.full version
Dsml for business.full versionDmitry Guzenko
 

Ähnlich wie Обзор современного состояния области алгоритмов и структур данных (20)

О том, как Computer Science нам жить помогает или современные приложения теор...
О том, как Computer Science нам жить помогает или современные приложения теор...О том, как Computer Science нам жить помогает или современные приложения теор...
О том, как Computer Science нам жить помогает или современные приложения теор...
 
Программирование: от сложного к простому
Программирование: от сложного к простомуПрограммирование: от сложного к простому
Программирование: от сложного к простому
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
Лекция 1: Введение в алгоритмы
Лекция 1: Введение в алгоритмыЛекция 1: Введение в алгоритмы
Лекция 1: Введение в алгоритмы
 
01 вводная
01 вводная01 вводная
01 вводная
 
SAP _ presentation about Machine learning
SAP _ presentation about Machine learningSAP _ presentation about Machine learning
SAP _ presentation about Machine learning
 
Методы машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частицМетоды машинного обучения в физике элементарных частиц
Методы машинного обучения в физике элементарных частиц
 
С.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSEС.Ковалёв -- теория категорий как математическое основание MBSE
С.Ковалёв -- теория категорий как математическое основание MBSE
 
BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты BigData и Data Science: методы и инструменты
BigData и Data Science: методы и инструменты
 
Антон Конушин (НИУ ВШЭ)
Антон Конушин (НИУ ВШЭ)Антон Конушин (НИУ ВШЭ)
Антон Конушин (НИУ ВШЭ)
 
лекция1
лекция1лекция1
лекция1
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
 
Введение в алгоритмы и структуры данных
Введение в алгоритмы и структуры данныхВведение в алгоритмы и структуры данных
Введение в алгоритмы и структуры данных
 
IT Network BACon agile spring. Дмитрий Гузенко - BA for Data Science & Machin...
IT Network BACon agile spring. Дмитрий Гузенко - BA for Data Science & Machin...IT Network BACon agile spring. Дмитрий Гузенко - BA for Data Science & Machin...
IT Network BACon agile spring. Дмитрий Гузенко - BA for Data Science & Machin...
 
Bacon.2018.it pro network.ba for dsml
Bacon.2018.it pro network.ba for dsmlBacon.2018.it pro network.ba for dsml
Bacon.2018.it pro network.ba for dsml
 
2020 03-31-lection
2020 03-31-lection2020 03-31-lection
2020 03-31-lection
 
Интерпретация моделей машинного обучения
Интерпретация моделей машинного обученияИнтерпретация моделей машинного обучения
Интерпретация моделей машинного обучения
 
Big Data - первые шаги
Big Data - первые шагиBig Data - первые шаги
Big Data - первые шаги
 
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераАндрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
 
Dsml for business.full version
Dsml for business.full versionDsml for business.full version
Dsml for business.full version
 

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

  • 1. Обзор современного состояния области алгоритмов и структур данных Калачёв Максим Александрович Разработчик [email_address]
  • 3.
  • 12. Computer Science Закон Вирта Программы становятся медленне более быстро , чем компьютеры становятся быстрее P = <A i , DS i > A = <M  , R 2 > M  - множество процедур решения задачи R 2  M  ² - бинарное отношение на M  (  i ,  j )  R 2   после пройедуры  i выполняется процедура  j
  • 15. Теория графов + Теория вероятностей = PROFIT +
  • 18.
  • 19. Случайные графы Наблюдения Барабаши-Альберт Веб-граф очень специфичен – разрежен и тесен Степенной закон объединяет социальные , биологические и транспортные сети Модели предпочтительного соединения
  • 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| - вероятность повления конкретного графа
  • 23.
  • 25. 1 миллион долларов !
  • 27. P vs NP Задача поиска задаётся алгоритмом C, который получает на вход условие I и кандидата на решение S и имеет полиномиальное , относительно I время работы . S называется решением если и только если C(S, I) = true NP – класс всех задач поиска , решение для которых может быть быстро проверено P – класс задач поиска , решение для которых может быть быстро найдено P ≠ NP – верно ли , что каждый раз , когда решение можно быстро проверить , его можно быстро найти Задача о расписании Задача о вершинном покрытии A  B
  • 30. Что осталось нерассмотренным Параллельные алгоритмы Распознавание изображений Нейронные сети Генетические алгоритмы Нечёткие модели Строковые алгоритмы Комбинаторная оптимизация Численные алгоритмы Вычислительная геометрия Криптографические алгоритмы Компьютерная лингвистика …… ..
  • 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.