Невероятные приключения теории вероятностей
Антон Антонов
@tonytonov
Вопрос на миллион:
зачем нужна математика?
- Чтобы развивать абстрактное мышление
- Чтобы иметь предсказательную силу
- Чтобы сформировать научную картину мира
- Чтобы хоть что-то работало, как задумано
Детерминированность
Случайность
Квантовая механика (1905)
Теория вероятностей (1933)
Как выглядит поверхность стола?
Что такое случайность?
Это отсутствие паттерна,
непредсказуемость
Двухминутка истории
Азартные игры
(игральные кости)
Минимизация риска
в торговле (страхование)
~2400 д.н.э.
Знакомый пасьянс?
Теоретический шанс выигрыша: ≈79%
Шанс выигрыша игроком: ≈43%
Теория вероятностей
Где используется теория вероятностей?
А.Н. Колмогоров (1903-1987)
Математическая статистика
- Подбор моделей, описывающих наблюдаемые данные
- Прогнозирование
Симуляция процессов
- Метод Монте-Карло
- Марковские цепи
Криптография
- Генерация ключей, цифровых сертификатов
- Устойчивость ко взлому
Финансовые модели
- Определение равновесной цены финансового инструмента
- Управление рисками
Генераторы случайных чисел
Как получить реализации случайной величины на компьютере?
Ответ: использовать детерминированный алгоритм!
PRNG
PseudoRandom Number Generator
Линейный конгруэнтный генератор
C++11, minstd_rand:
0.04531552
0.42541747
0.32685232
0.48833458
0.39869517
0.41458000
0.19126152
0.38491058
0.01882955
0.92110228
0.47485753
0.84764339
0.59422451
0.81143749
0.89889238
0.43383980
0.88076287
0.30447058
0.09919764
0.36917432
seed генератора
set.seed(1111)
runif(5)
#[1] 0.4655026 0.4129249 0.9070032 0.1371054 0.7388168
runif(5)
#[1] 0.9763270 0.8799599 0.1167843 0.5462888 0.1401160
set.seed(1111)
runif(5)
#[1] 0.4655026 0.4129249 0.9070032 0.1371054 0.7388168
set.seed(1112)
runif(5)
#[1] 0.7845598 0.5253633 0.3365035 0.5135698 0.5226884
Пример для языка программирования R
Процедурная генерация ландшафта:
Perlin noise
Похожие идеи:
процедурная генерация уровней, текстур и объектов
(XCOM, Borderlands, Spelunky)
искусственный интеллект
(Left 4 Dead)
случайные события
(Fallout)
Подводим итоги
2. Теория вероятностей — раздел математики, изучающий случайные величины
3. Для моделирования на компьютере существуют генераторы псевдослучайных чисел
4. У генераторов есть seed, за счёт чего обеспечивается воспроизводимость
1. Математика — язык научной картины мира
5. Для статистического моделирования и анализа данных есть язык программирования R
Невероятные приключения теории вероятностей
By Antonov Anton
Невероятные приключения теории вероятностей
The talk I gave for Digital Banana, a project for computer technology popularization among high school students (http://digital-banana.ru/).
- 570