Невероятная теория вероятностей - удивительное рядом
вебинар: теория вероятностей для программистов, математиков и аналитиков, а также всех желающих
(с) Клейнер И.Е. 2015
парадоксы теории вероятностей
математическая статистика
прохождение интервью
случайные блуждания
16. Цель нашей встречи
0 Понять зачем и почему теория вероятностей
может пригодиться разработчику или
программисту
17. Цель нашей встречи
0 Узнать много нового
интересного и полезного и
хорошо провести время
18. Цель нашей встречи
0 Разобраться как продолжить знакомство с
теорией вероятностей самостоятельно
statistics for medicine
19. План
0 Монте Карло – Ленин и казино
0 Смерть в колыбели
0 Страна потерянных носков
0 Бесконечный лабиринт
0 Восьмимерные влюбленные программисты, блуждающие в
одиночестве
0 Как Google распознает изображения
0 Теория вероятностей при прохождении собеседований
0 Как изучить теорию вероятностей
29. Метод Монте Карло
0 Предположим мы хотим найти площадь нижнего
треугольника
0 Бросим в квадрат большое количество случайных
точек ( x= rand(uniform,100,2d) )
30. Метод Монте Карло
0 Предположим мы хотим найти площадь нижнего
треугольника
0 Бросим в квадрат большое количество случайных
точек ( x= rand(uniform,100,2d) )
0 Сколько в среднем точек попадет в нижний
треугольник?
0 Чему равна площадь нижнего треугольника?
31. Метод Монте Карло
0 Предположим мы хотим найти площадь нижнего
треугольника
0 Бросим в квадрат большое количество случайных
точек ( x= rand(uniform,100,2d) )
0 Сколько в среднем точек попадет в нижний
треугольник? Половина точек
0 Чему равна площадь нижнего треугольника? 0.5
32. Метод Монте Карло
0 Предположим мы хотим найти площадь нижнего
треугольника
0 Бросим в квадрат большое количество случайных
точек ( x= rand(uniform,100,2d) )
0 Сколько в среднем точек попадет в нижний
треугольник? Половина точек
0 Чему равна площадь нижнего треугольника? 0.5
33. Метод Монте Карло
0 Пропорция точек попавших в заданную фигуру в
среднем будет равна площади данной фигуры
вписанной в единичный квадрат
34. Метод Монте Карло
0 Пропорция точек попавших в заданную фигуру в
среднем будет равна (сходится по вероятности)
площади данной фигуры вписанной в единичный
квадрат
0 Вывод: можно вычислить площадь треугольника
по формуле, а можно с помощью случайных чисел
И ВСЕ?
39. Как найти площадь Ленина
с помощью программиста
0 Дайте мне: компьютер и Ленина
40. Как найти площадь Ленина
с помощью программиста
0 Дайте мне: компьютер и Ленина
0 Алгоритм:
0 Генерируем большое количество случайных точек
0 Вычисляем пропорцию точек попавших в объект
41. Метод Монте Карло - итоги
0 Позволяет с помощью теории вероятностей
(симуляции) вычислять площадь различных объектов
0 Позволяет вычислять площадьобъем многомерных
объектов
0 Прост и понятен, а также легок в реализации
48. Теория вероятностей в суде
0 Смерть в колыбели – синдром внезапной детской
смерти
0 В журнале Science рассказывается о деле
женщины, оба ребенка которой умерли от СВДС
49. Теория вероятностей в суде
0 Смерть в колыбели – синдром внезапной детской
смерти
0 В журнале Science рассказывается о деле
женщины, оба ребенка которой умерли от СВДС
0 Врач - эксперт, утверждал, что вероятность
ребенка умереть от СВДС = 1/8500, поэтому
вероятность двух детей умереть от СВДС =
50. Теория вероятностей в суде
0 Смерть в колыбели – синдром внезапной детской
смерти
0 В журнале Science рассказывается о деле женщины,
оба ребенка которой умерли от СВДС
0 Врач - эксперт, утверждал, что вероятность ребенка
умереть от СВДС = 1/8500, поэтому вероятность двух
детей умереть от СВДС =1/8500* 1/8500=0.00000001
51. Теория вероятностей в суде
0 Смерть в колыбели – синдром внезапной детской
смерти
0 В журнале Science рассказывается о деле женщины,
оба ребенка которой умерли от СВДС
0 На основании утверждений врача мать была
приговорена к тюремному сроку
52. Теория вероятностей в суде
0 Смерть в колыбели – синдром внезапной детской
смерти
0 В журнале Science рассказывается о деле женщины,
оба ребенка которой умерли от СВДС
0 На основании утверждений врача мать была
приговорена к тюремному сроку
54. Теория вероятностей в суде
0 В чем ошибся врач?
0 Врач - эксперт, утверждал, что вероятность ребенка
умереть от СВДС = 1/8500, поэтому вероятность двух детей
умереть от СВДС =1/8500* 1/8500=0.00000001
0 Перемножаются лишь вероятности независимых событий,
а дети одной женщины (общие гены), проживающие в
одном городе , в одно время это зависимые события
55. Теория вероятностей в суде
0 В чем ошибся врач?
0 Врач - эксперт, утверждал, что вероятность ребенка
умереть от СВДС = 1/8500, поэтому вероятность двух детей
умереть от СВДС =1/8500* 1/8500=0.00000001
0 Перемножаются лишь вероятности независимых событий,
а дети одной женщины (общие гены), проживающие в
одном городе , в одно время это зависимые события
57. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков.
0 Программист Вася достает носки по одной штуке
пока не получится пара
58. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков.
0 Вася программист достает носки по одной штуке пока
не получится пара
0 while (нет носок одной пары)
0 {
Бери еще один носок из машинки
0 }
59. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков.
0 Вася программист, достает носки по одной штуке
пока не получится пара
0 Сколько в среднем нужно Васе извлечь носков?
Успеет ли Вася на свидание?
60. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков.
0 Вася программист, достает носки по одной штуке
пока не получится пара
0 Сколько в среднем нужно Васе извлечь носков?
Успеет ли Вася на свидание?
0 В среднем нужно извлечь носков
61. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков.
0 Вася программист, достает носки по одной штуке
пока не получится пара
0 Сколько в среднем нужно Васе извлечь носков?
Успеет ли Вася на свидание?
0 В среднем нужно извлечь носков
62. Теория вероятностей и страна
перепутанных носков
0 Сколько в среднем нужно Васе извлечь носков?
Успеет ли Вася на свидание?
0 В среднем нужно извлечь носков
n попытки
5 3,963326
10 5,604989
20 7,926651
50 12,53314
63. Теория вероятностей и страна
перепутанных носков
0 Сколько в среднем нужно Васе извлечь носков?
Успеет ли Вася на свидание?
0 В среднем нужно извлечь носков
n попытки
5 3,963326
10 5,604989
20 7,926651
50 12,53314
64. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков
0 Сколько в среднем нужно Васе извлечь носков?
0 В среднем нужно извлечь носков
0 Обратная задача
65. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков
0 Сколько в среднем нужно Васе извлечь носков?
0 В среднем нужно извлечь носков
0 Обратная задача:
0 Вася извлек 13 носков пока не нашел пару
0 Сколько пар носков в машинке?
66. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков
0 Сколько в среднем нужно Васе извлечь носков?
0 В среднем нужно извлечь носков
0 Обратная задача:
0 Вася извлек 13 носков пока не нашел пару
0 Сколько пар носков в машинке? = 13
67. Теория вероятностей и страна
перепутанных носков
0 После стирки в машинке n пар носков
0 Сколько в среднем нужно Васе извлечь носков?
0 В среднем нужно извлечь носков
0 Обратная задача:
0 Вася извлек 13 носков пока не нашел пару
0 Сколько пар носков в машинке? = 13, n=14
68. Теория вероятностей и страна
перепутанных носков
0 Обратная задача:
0 Вася извлек 13 носков пока не нашел пару
0 Сколько пар носков в машинке? = 13, n=14
0 Математическая статистика – анализ модели с
помощью наблюдений (выборка)
69. Теория вероятностей и страна
перепутанных носков
0 Обратная задача:
0 Вася извлек 13 носков пока не нашел пару
0 Сколько пар носков в машинке? = 13, n=14
0 Математическая статистика – анализ модели с
помощью наблюдений (выборка)
0 Теория вероятностей – модель дана, предсказание
результатов наблюдений (вероятностей)
72. Теория вероятностей и
алгоритмы
0 Предположим, что вы находитесь в лабиринте в
котором 10^300 комнат
0 Наша цель – обойти все комнаты лабиринта
0 Т.е. в какой-то момент мы должны остановиться и
сказать - «все лабиринт пройден»
73. Теория вероятностей и
алгоритмы
0 Предположим, что вы находитесь в лабиринте в
котором 10^300 комнат
0 Наша цель – обойти все комнаты лабиринта
0 Т.е. в какой-то момент мы должны остановиться и
сказать - «все лабиринт пройден»
0 Правило левой руки?
74. Теория вероятностей и
алгоритмы
0 Предположим, что вы находитесь в лабиринте в
котором 10^300 комнат
0 Наша цель – обойти все комнаты лабиринта
0 Т.е. в какой-то момент мы должны остановиться и
сказать - «все лабиринт пройден»
0 Правило левой руки? не всегда работает
75. Теория вероятностей и
алгоритмы
0 Предположим, что вы находитесь в лабиринте в
котором 10^300 комнат
0 Наша цель – обойти все комнаты лабиринта
0 Т.е. в какой-то момент мы должны остановиться и
сказать - «все лабиринт пройден»
0 Если можно помечать краской комнаты где мы были
то задача легко решается BFS, DFS
76. Теория вероятностей и
алгоритмы
0 Задача про лабиринт на языке графов – имеется
ненаправленный граф, в котором очень много
вершин (10^300). Наша цель обойти все вершины
графа
77. Теория вероятностей и
алгоритмы
0 Задача про лабиринт на языке графов – имеется
ненаправленный граф, в котором очень много
вершин (10^300). Наша цель обойти все вершины
графа
0 Решение: BFS, DFS – если можно красить вершины,
то задача легко решаема
78. Теория вероятностей и
алгоритмы
0 Задача про лабиринт на языке графов – имеется
ненаправленный граф, в котором очень много
вершин (10^300). Наша цель обойти все вершины
графа
0 Сколько нужно памяти для наивного решения?
BFS. DFS - 10^300 бит – нужно отмечать все
комнаты где мы были
79. Теория вероятностей и
алгоритмы
0 Задача про лабиринт на языке графов – имеется
ненаправленный граф, в котором очень много вершин
(10^300). Наша цель обойти все вершины графа
0 Сколько нужно памяти для наивного решения? BFS.
DFS - 10^300 бит – нужно отмечать все комнаты где
мы были
Столько памяти не существует на всей планете
80. Теория вероятностей и алгоритмы
0 Задача про лабиринт на языке графов – имеется
ненаправленный граф, в котором очень много вершин
(10^300). Наша цель обойти все вершины графа
0 Сколько нужно памяти для наивного решения? BFS. DFS -
10^300 бит – нужно отмечать все комнаты где мы были
Столько памяти не существует на всей планете
Как же быть???
81. Теория вероятностей и алгоритмы
Как же быть???
Нам нужно обойти гигантский граф (лабиринт)
Мы не можем помечать вершины (комнаты) в которых
были?
82. Теория вероятностей и алгоритмы
Как же быть???
Нам нужно обойти гигантский граф (лабиринт)
Мы не можем помечать вершины (комнаты) в которых
были?
Задача нерешаема - можно идти домой?
83. Теория вероятностей и алгоритмы
Как же быть???
Нам нужно обойти гигантский граф (лабиринт)
Мы не можем помечать вершины (комнаты) в которых
были?
Задача нерешаема - можно идти домой?
Теория вероятностей – на помощь!!!
84. Теория вероятностей и алгоритмы
Нам нужно обойти гигантский граф (лабиринт)
обозначим через n – количество комнат
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
85. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Алгоритм понятен?
86. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Алгоритм понятен? да.
Сколько требуется памяти?
87. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Алгоритм понятен? да.
Сколько требуется памяти? Нужно хранить i.
88. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Алгоритм понятен? да.
Сколько требуется памяти? Нужно хранить i.
log(3*n^3*log(n)) = const* log(n)= const *300* log(10) < 20000 бит
89. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Алгоритм понятен? да.
Сколько требуется памяти? Нужно хранить i.
log(3*n^3*log(n)) = const* log(n)= const *300* log(10) < 20000 бит
вместо 10^300 бит получили 20000 бит
90. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Вопросы:
Почему алгоритмы работает?
91. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Вопросы:
Почему алгоритмы работает? Теория случайных блужданий.
Случайные графы.
92. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Вопросы:
Может ли алгоритм ошибиться?
93. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Вопросы:
Может ли алгоритм ошибиться? Может, но вероятность ошибки
ничтожна мала
94. Теория вероятностей и алгоритмы
for ( i=1 to 3*n^3*log(n)) {
выбери случайно одну из соседних комнат и иди туда
}
print («мы были во всех комнатах лабиринта почти наверняка»)
Вопросы:
Можно ли решить задачу без теории вероятностей?
95. Теория вероятностей и алгоритмы
Вопросы:
Можно ли решить задачу без теории вероятностей?
Да легко! http://research.microsoft.com/pubs/148550/sl.pdf
96. Теория вероятностей и алгоритмы
Вопросы:
Можно ли решить задачу без теории вероятностей?
Да легко! http://research.microsoft.com/pubs/148550/sl.pdf
97. Теория вероятностей и алгоритмы
Вопросы:
Можно ли решить задачу без теории вероятностей?
Да легко! http://research.microsoft.com/pubs/148550/sl.pdf
98. Теория вероятностей и алгоритмы
Одна задача – два решения:
1) Вероятностное, прозрачное доступное для понимания и
реализации
2) Невероятностное, сложное (20 страниц), сложная
реализация -
99. Теория вероятностей и алгоритмы
Одна задача – два решения:
1) Вероятностное, прозрачное доступное для понимания и
реализации
2) Невероятностное, сложное (20 страниц), сложная
реализация – галактический алгоритм
101. Влюбленные одномерные
программисты
0 На каждом шаге, одновременно, каждый из программистов
выбирает случайно направление и делает шаг влево или
вправо с вероятностями 0.5, 0.5
0 Встретятся ли программисты когда-нибудь?
102. Влюбленные одномерные
программисты
0 На каждом шаге, одновременно, каждый из программистов
выбирает случайно направление и делает шаг влево или
вправо с вероятностями 0.5, 0.5
0 Встретятся ли программисты когда-нибудь?
0 Хорошая новость:
0 Плохая новость:
103. Влюбленные одномерные
программисты
0 На каждом шаге, одновременно, каждый из программистов
выбирает случайно направление и делает шаг влево или
вправо с вероятностями 0.5, 0.5
0 Встретятся ли программисты когда-нибудь?
0 Хорошая новость: программисты встретятся с p=1
0 Плохая новость:
104. Влюбленные одномерные
программисты
0 На каждом шаге, одновременно, каждый из программистов
выбирает случайно направление и делает шаг влево или
вправо с вероятностями 0.5, 0.5
0 Встретятся ли программисты когда-нибудь?
0 Хорошая новость: программисты встретятся с p=1
0 Плохая новость: среднее время до встречи равно 00
105. Влюбленные одномерные
программисты
0 На каждом шаге, одновременно, каждый из программистов
выбирает случайно направление и делает шаг влево или
вправо с вероятностями 0.5, 0.5
0 Встретятся ли программисты когда-нибудь?
0 Хорошая новость: программисты встретятся с p=1
0 Плохая новость: среднее время до встречи равно 00
0 Вывод: не стоит случайно блуждать в поисках любви
106. Влюбленные двумерные
программисты
Встретятся ли программисты когда-нибудь?
Хорошая новость: программисты встретятся с p=1
Плохая новость: среднее время до встречи равно 00
Вывод: не стоит случайно блуждать в поисках
любви
108. Влюбленные многомерные
программисты
0 Чем больше размерность пространства тем меньше
вероятность встречи
0 Начиная с размерности 3, вероятность встречи
строго меньше 1.
0 Вывод: многомерные существа очень одиноки
«трансцендентное одиночество» рассказ
Шекли «Обмен разумов»
119. Теория вероятностей и
анализ изображений
0 Наивный алгоритм – беда!
0 Можно ли быстрее?
0 Теория вероятностей – на помощь!!!
120. Теория вероятностей и
анализ изображений
0 Вероятностное решение – случайные пиксели +
умный анализ, достаточно 200 000 операций
вместо 1 500 000 000 000 000 операций
121. Теория вероятностей и
анализ изображений
0 Вероятностное решение – случайные пиксели +
умный анализ, достаточно 200 000 операций
вместо 1 500 000 000 000 000 операций
122. Теория вероятностей на
собеседовании
0 Иногда на интервью задают задания, решения
которых подразумевает знание теории
вероятностей
0 Задача о купонах
0 Тасование колоды карт
0 Безумная старушка в самолете
0 Оценочные задачи
0 Спасение заключенных
123. Задача о купонах
0 Интервью в Интерфакс (Москва)
0 https://goo.gl/kVQBvH
135. Онлайн курсы
0 Теория вероятностей для крутых программистов от
преподавателей одного из лучших технологических
университетов мира
0 EDX – MITx
0 edx.org/course/introduction-probability-science-mitx-6-041x-0
0 Интересный, но сложный курс
0 Теория вероятностей
0 Математическая статистика
0 Теория случайных процессов
136. Онлайн курсы
0 Теория вероятностей для медиков программистов
Statistics for Medical Professionals - Stanford
0 Интересный, доступный и познавательный курс,
знакомящий с основами Т.В. и математической
статистики
0 med.stanford.edu/cme/courses/online/medstats.html
137. Онлайн курсы
0 «Я люблю статистику» - EDX
0 edx.org/course/i-heart-stats-learning-love-statistics-notredamex-soc120x
138. Результаты опроса
0 Нужна ли теория вероятностей программисту
0 poll-maker.com/results446763xB54341a3-18#tab-2
141. Дополнительный материал
0 Парадоксы теории вероятностей - встреча в обществе
скептиков Москва 2014 – в трех частях
0 http://goo.gl/0cH3rB - видео
142. Дополнительный материал
0 Комбинаторика, Н.Я. Виленкин – учебник
0 Один из лучших, доступных и интересных учебников на
русском языке:
0 комбинаторика
0 теория вероятностей
0 производящие функции
0 динамическое программирование
youtube.com/watch?v=2GrWE5lV5W8