От парадокса к симуляции и доказательству: как вероятностный эксперимент формирует научный стиль мышления
На примере парковочной задачи: от гипотезы и компьютерного эксперимента к доказательству и новому вопросу
Клейнер Игорь Евгеньевич, Ph.D.
Senior Lecturer
HIT
Holon Institute of Technology
University of Haifa
TECHNION
Israel Institute of Technology
Вероятность · Статистика · Data Science · Моделирование · Образование
«Сюрпризы в теории вероятностей»
Восемнадцать коротких историй
Когда интуиция оказывается ненадёжным советчиком.
Книга
Анализ данных в век ИИ
Флагманский курс
Данные, эксперименты и критическое мышление через реальные задачи.
Курс (Stepik)
Не дать готовый ответ — а создать условия, в которых его хочется найти.
1 · Что нас ждёт
Сегодня рассмотрим одну немного парадоксальную задачу
Условие задачи о парковке кажется очень простым, но уже первые эксперименты приводят к неожиданной закономерности. На её примере мы пройдём весь исследовательский путь: от вопроса и эксперимента — к гипотезе, симуляции, доказательству и новому вопросу.
Начнём с простой парковки. По дороге появятся перебор, вероятность, симуляция, Python и ИИ — но каждый инструмент возникнет только тогда, когда он действительно нужен.
01
Увидеть закономерность
Как эксперимент помогает увидеть закономерность там, где сначала видны только отдельные случаи.
02
Почувствовать границу
Где заканчивается эксперимент и почему даже очень убедительные данные ещё не заменяют доказательство.
03
Перенести в класс
Как из одной задачи сделать исследовательский урок, где школьник сначала играет, потом спорит, потом доказывает.
Полный путь: вопрос → эксперимент → гипотеза → доказательство → новый вопрос.
?Вопрос
→
▦Эксперимент
→
∼Гипотеза
→
✓Доказательство
→
?Новый вопрос
2 · Как исследуют задачу
От вопроса к доказательству
Как компьютерный эксперимент помогает обнаружить математическую закономерность — и где начинается доказательство?
ВопросЧто хотим понять?
Простые случаиСмотрим примеры.
ЭкспериментСчитаем и моделируем.
ГипотезаФормулируем закономерность.
ДоказательствоОбъясняем, почему она верна.
Где помогают технологии? Компьютер быстро считает и перебирает; случайные числа дают симуляции; ИИ помогает писать код, проверять крайние случаи и превращать идею в материалы для урока.
Важный вопрос: как использовать технологии так, чтобы они усиливали мышление, а не подменяли его?
3 · Постановка задачи
Рассмотрим следующую задачу
Имеется стоянка с n местами, пронумерованными слева направо: 1, 2, …, n.
На стоянку в случайном порядке приезжают n машин. У каждой заранее выбрано предпочитаемое место от 1 до n; предпочтения разных машин могут совпадать.
Если предпочитаемое место свободно, машина паркуется там. Если оно занято, машина едет вправо до первого свободного места.
Если справа свободных мест уже нет, машина уезжает.
1. Сколько вариантов предпочтений делают парковку возможной для всех машин?
2. Если каждая машина независимо и равновероятно выбирает место от 1 до n, какова вероятность, что припаркуются все?
4 · Симуляция
Разберём условие задачи с помощью симулятора
Машины приезжают по одной. Число на капоте — предпочитаемое место. Нажимаем «Следующее» и шаг за шагом смотрим, что происходит.
Подъезжает
1
2
3
4
5
Первая машина уже подъехала. Нажмите «Следующее».
Такая визуализация помогает школьникам лучше понять условия задачи.
5 · Парковочная лаборатория
Теперь попробуем менять предпочтения сами
Чтобы лучше разобраться в условии, попробуем сами задавать предпочтения машин и смотреть, что получится. Такой эксперимент помогает понять задачу, заметить структуру и сформулировать гипотезу.
Подъезжает
Задайте предпочтения и начните эксперимент.
6 · Полный перебор
Исследуем простые случаи
Для маленьких n можно проверить каждый набор. Важно увидеть не только итоговое число: для n = 2 и n = 3 школьники видят сами варианты и отмечают, где парковка проходит успешно.
1всего наборов
—успешных
—доля успешных
Выберите n и нажмите «Перебрать».
После перебора здесь появятся сами наборы предпочтений.
Так рождаются гипотезы 💻Сначала считаем руками и глазами. Когда вариантов становится много, уже разумно попросить компьютер помочь с полным перебором — но потом обязательно проверить, что он считал именно нашу задачу.
7 · Продолжаем эксперимент
Посмотрим на n от 1 до 15. Видим что-то интересное?
Соберём результаты в одну таблицу. Последний столбец — доля успешных наборов среди всех возможных.
n
успешных наборов
доля успешных
1
1
100,0%
2
3
75,0%
3
16
59,3%
4
125
48,8%
5
1 296
41,5%
6
16 807
36,0%
7
262 144
31,8%
8
4 782 969
28,5%
9
100 000 000
25,8%
10
2 357 947 691
23,6%
11
61 917 364 224
21,7%
12
1 792 160 394 037
20,1%
13
56 693 912 375 296
18,7%
14
1 946 195 068 359 375
17,5%
15
72 057 594 037 927 936
16,5%
Что вы замечаете? Есть ли закономерность в числе успешных наборов? А в их доле?
8 · Ещё одна гипотеза
Вероятности падают. Но стремятся ли они к какому-то пределу?
Чем больше n, тем меньше доля успешных наборов.
Но таблица до 15 ещё не говорит, что будет при n = 100, 1000 или миллион.
Можете ли вы угадать предел?
Наша догадка:Pn → 0
9 · Данные
Вернёмся к первым пяти числам. Видим закономерность?
n = 11
n = 23
n = 316
n = 4125
n = 51296
1
→
3
→
16
→
125
→
1296
?
Видите ли вы закономерность?
• Можно ли записать каждое число как степень?
• Что происходит с основанием?
• Что происходит с показателем степени?
10 · Из чисел рождается гипотеза
Школьники часто замечают степени — и угадывают правило
An — число наборов предпочтений для n машин, при которых все машины успешно припаркуются.
A11 = 20
A23 = 31
A316 = 42
A4125 = 53
A51296 = 64
Что общего у основания и показателя?
Попробуйте сформулировать правило словами — прежде чем открывать формулу.
число успешных наборовAn = (n + 1)n − 1
11 · Проверяем следы в математике
Нашу последовательность можно проверить в энциклопедии
Важно Энциклопедия не доказывает нашу формулу, но показывает: мы попали в настоящую математическую тему, а не в «одноразовую задачку».
Как спросить ИИ? «Проверь последовательность 1, 3, 16, 125, 1296 в OEIS. Не выдавай это за доказательство. Объясни, с какой известной темой она связана».
«Последовательность нашлась! Но это не конец — теперь интереснее всего понять, почему именно она возникла в нашей задаче».
12 · Строим вероятностное пространство
Вероятность успешной парковки: числитель и знаменатель
числительAn
сколько наборов дают успешную парковку — это числитель
Pn =Annn
знаменательnn
сколько всего равновероятных наборов предпочтений — это знаменатель
n = 22 · 2 = 4всего наборов
n = 33 · 3 · 3 = 27всего наборов
n = 444 = 256всего наборов
в общем случаеnnn выборов для каждой из n машин
Формула вероятности: Pn = An / nn.Теперь осталось понять числитель An. Мы считаем предпочтения машин независимыми и равновероятными; порядок приезда отдельно не умножает число исходов на n!.
13 · Вероятность по нашей догадке
Какова вероятность, что припаркуются все?
вероятность = успешные / все
Pn =(n + 1)n − 1nn
Пока это следствие гипотезы, а не доказанный результат.
n = 23 / 4 = 75%
n = 316 / 27 ≈ 59,3%
n = 51296 / 3125 ≈ 41,5%
1
Доказать
Это сделаем чуть позже.
или
2
Проверить симуляцией
Сначала посмотрим, согласуются ли случайные эксперименты с нашей формулой.
14 · ИИ как помощник школьника-исследователя
Просим ИИ не «решить за нас», а помочь проверить
Плохой промпт
Он сразу отдаёт инициативу машине и часто убивает исследовательский момент.
«Реши задачу про парковку и дай ответ».
Хороший промпт
Он оставляет мышление ученикам, а ИИ превращает идею в проверяемый эксперимент.
«Не доказывай формулу. Напиши Python-симуляцию для n машин. Проверь n=1,2,3. Сделай аудит граничных случаев, предположений и возможных ошибок кода».
✓ написать код симуляции
✓ проверить крайние случаи
✓ сравнить с малыми n
✓ попросить аудит и контрпримеры
ИИ помогает ускорить проверку — но ответственность за проверку остаётся у нас.
15 · Метод Монте-Карло
Идея симуляции очень проста
1Случайно выбираем предпочтения
Каждая машина получает число от 1 до n.
→
2Проигрываем парковку
Точно по правилам задачи.
→
3Записываем исход
Все припарковались или нет.
→
4Повторяем много раз
100, 1000, 10 000 опытов.
Оценка вероятности
p̂ = число успешных опытовчисло всех опытов
Важная идея: мы не перебираем все nn вариантов. Мы берём случайную выборку и смотрим, что происходит.
16 · Пример 1: кубик
Симуляция на кубике: одна идея в миниатюре
Один бросок — это история
Всего бросков 0
Частота шестёрки —
Последний бросок —
Теория 1/6
Много бросков — уже данные
Столбики шумят, но при большом числе бросков становятся похожи друг на друга.
Один опыт может обмануть. Серия опытов помогает увидеть вероятность — и это ровно то, что мы скоро сделаем с парковкой. 🎲
17 · Пример 2: число π
Как случайные точки помогают увидеть число π?
Кидаем точки в квадрат
Внутри квадрата нарисована окружность. Точка попала в круг — считаем её «успехом».
π ≈ 4 · точки внутри кругавсе точки
Точек всего 0
Внутри круга 0
Оценка π —
Ошибка —
Красивый парадокс: точное число можно приблизить случайным экспериментом. Значит, симуляция — не игрушка, а настоящий математический инструмент. 🟢
18 · Пример 3: больница
Зачем симуляция в реальной жизни? Например, больница
🏥
Пациенты приходят случайно
В один час спокойно, в другой — внезапная очередь. Таблица средних значений этого не показывает.
👩⚕️👨⚕️
Ресурсы ограничены
Сколько нужно врачей, кабинетов, мест ожидания? Пробовать на реальной больнице дорого и рискованно.
Модель показывает последствия
Меняем правила в компьютере и смотрим, как меняются очереди, ожидание и вероятность перегрузки.
А наша парковка — маленький безопасный полигон: случайность есть, правила простые, результат можно проверить. Теперь возвращаемся к машинам. 🚗
19 · Python под кнопкой
Возвращаемся к парковке: как компьютер проводит симуляцию?
Мостик обратно 🚗Кубик, число π и больница показали общую идею симуляции. Теперь применяем тот же рецепт к нашей задаче: случайные предпочтения → парковка машин → успех или неуспех → много повторов.
Теперь моделируем именно парковку
ИИ может быстро написать черновик симуляции. Но ученик должен понимать: машины случайно выбирают предпочтения, затем паркуются по нашему правилу, а результат — все припарковались или нет.
n = 1успех всегда
n = 23 из 4
n = 316 из 27
аудитчто именно случайно?
🚗
Что делает компьютер?
Он снова и снова создаёт случайный набор предпочтений, запускает правило парковки и записывает: успех или провал.
Так мы быстро получаем численную оценку вероятности и можем сравнить её с нашей гипотезой.
import random
def parks_all(prefs):
n = len(prefs)
taken = [False] * n
for p in prefs:
j = p - 1
while j < n and taken[j]:
j += 1
if j == n:
return False
taken[j] = True
return True
def estimate(n, trials=10000):
ok = 0
for _ in range(trials):
prefs = [random.randint(1, n) for _ in range(n)]
ok += parks_all(prefs)
return ok / trials
for n in [2, 3, 5, 10]:
print(n, estimate(n))
«Коду тоже нужен экзамен: сначала проверим его там, где точный ответ уже знаем».
20 · Один случайный опыт
Сначала посмотрим на одну случайную парковку
Предпочтения:
Подъезжает
Нажмите «Следующее» — и проследим путь первой машины.
Что видно?Одна парковка отлично показывает правило, но это долго и почти не показывает тенденцию. А можно сразу разыграть тысячи — или даже миллион — таких парковок? 💻
21 · Много случайных опытов
Теперь повторим парковку тысячи раз
успешных—
оценка p̂—
по гипотезе—
Выберите число опытов и запустите.
Сколько машин в итоге припарковалось?
Правый столбец K = n — именно событие «припарковались все».
📈
Чем больше опытов, тем оценка обычно устойчивее. Это просто удача?
100, 1 000, 10 000 опытов дают всё менее «шумную» картину.
Нет — это закон больших чисел.При независимых повторах доля успехов стремится к истинной вероятности. Но она не обязана становиться ближе после каждого увеличения числа опытов. Если наша гипотеза верна, предел — именно число в колонке «по гипотезе».
22 · Что мы увидели
Почему симуляция здесь действительно полезна?
1Один опыт ничего не решает
Один опыт хорошо показывает механику процесса, но почти ничего не говорит о самой вероятности.
2Много опытов дают оценку
При 100 опытах результат заметно «прыгает». При 10 000 — обычно стабилизируется около одной величины.
3Формула получает независимую проверку
Если симуляция снова и снова оказывается рядом с нашей догадкой, это сильное свидетельство, что мы нашли правильную закономерность.
А зачем это нужно в математике?Симуляция особенно ценна, когда полный перебор огромен или точной формулы ещё нет: она позволяет исследовать задачу, сравнивать гипотезы и быстро находить ошибки.
23 · Аудит перед доказательством
Что обязательно проверяем, прежде чем верить симуляции?
Случайная модельКаждая машина выбирает место независимо и равновероятно?
Порядок машинМы считаем набор предпочтений, а не добавляем лишний множитель n!?
Крайние случаиn=1, n=2, n=3 совпадают с полным перебором?
КонтрпримерМожет ли код принять неуспешный набор за успешный?
Совет учителю: после красивой визуализации спросите не «понравилось?», а «где мы могли себя обмануть?». Так ученик становится не зрителем, а проверяющим.
24 · Визуальная пауза
10 000 симуляций согласны с формулой. Это уже доказательство?
Нет.Симуляция проверила много случаев. Доказательство должно объяснить, почему формула верна для любого n.
Идея доказательства в одной строке: добавим одно место → замкнём парковку в круг → используем симметрию поворотов → разрежем круг по пустому месту.
25 · Доказательство: меняем геометрию
Добавим одно место и замкнём парковку в круг
1
2
3
4
5
6
n машинn + 1 мест
1
Теперь у каждой машины n + 1 возможных предпочтений.
2
На круге ни одна машина не может «упасть с правого края» — все n машин припаркуются.
3
Поэтому после парковки останется ровно одно пустое место.
Всего круговых наборов: (n + 1)n
Мини-пример n = 2: две машины и три места по кругу. Любые два предпочтения сработают: обе машины припаркуются, а одно место останется пустым. Всего таких круговых наборов — 32 = 9.
26 · Главная симметрия
Повернём все предпочтения на один шаг
пусто1
→
пусто2
→
пусто3
→
…
→
пустоn + 1
Если ко всем предпочтениям прибавить 1 по кругу, вся парковка просто поворачивается.
Каждый набор входит в группу из n + 1 поворотов, и пустое место последовательно бывает во всех n + 1 позициях.
В каждой такой группе есть ровно один поворот, где пустым остаётся место n + 1.
Пример n = 2: (1,1) оставляет пустым 3; поворот даёт (2,2) и пустое 1; ещё поворот даёт (3,3) и пустое 2. Одна тройка поворотов — три положения пустого места.
27 · Разрезаем круг
Пустое место n + 1 — значит, мы вернулись к исходной задаче
✂
n + 1 пусто
→
1
2
3
…
n
Если место n + 1 осталось пустым, ни одна машина не предпочитала n + 1.
Кроме того, никто не мог «завернуть» за правый край: первая такая машина сразу заняла бы свободное место n + 1. Значит, после разреза круга получаем успешную линейную парковку.
Из каждых n + 1 круговых поворотов ровно один даёт такую линейную конфигурацию.
(n + 1)n÷ (n + 1)= (n + 1)n − 1
Для n = 2: 9 круговых наборов делим на 3 поворота и получаем 3 успешных линейных набора: (1,1), (1,2), (2,1).
28 · Теперь слово «гипотеза» можно убрать
Получили точный ответ — и для подсчёта, и для вероятности
успешных наборов(n + 1)n − 1
вероятность успехаPn = (n + 1)n − 1 / nn
n = 275%
n = 359,3%
n = 541,5%
n = 10≈ 23,6%
При больших n: Pn ≈ e / n. Чем больше парковка, тем реже случайные предпочтения позволяют припарковаться всем.
29 · Почему тема не игрушечная
Из детской парковки выросла настоящая математика
Комбинаторика
(n + 1)n − 1
Ровно столько же помеченных деревьев на n + 1 вершинах. Это связь с теоремой Кэли
Информатика
Правило «едем вправо до свободного места» — близкий родственник linear probing в хеш-таблицах: коллизия заставляет искать следующую свободную позицию.
Вероятность
Исследуются модели с m машинами, n местами, лишними местами и дополнительной случайностью — то есть наш «следующий вопрос» ведёт прямо к современной литературе.
Структуры
Parking functions связаны также с лесами, noncrossing partitions и другими классическими объектами перечислительной комбинаторики.
А что изменится, если мест станет больше: n машин и n + k мест?
Новый случай можно исследовать без готовой формулы: сначала запустим симуляцию и посмотрим на малые значения n и k.
Что происходит при k = 1?
А при k = 2?
Как меняется вероятность?
Точный перебор малых случаев
Нажмите «Запустить перебор» — и сравним k = 0, 1, 2 для n = 3, 4, 5.
31 · После урока: превращаем исследование в материал
Можно попросить ИИ собрать школьный доклад по нашей модели
Что просим получить
Не «ещё один ответ», а пакет материалов, который можно обсуждать, проверять и улучшать.
мини-статья для школьников
таблица и графики
код симуляции
вопросы для класса
лист проверки и аудит
Промпт-задание
«На основе модели парковки n машин на n+k местах подготовь школьный исследовательский доклад: постановка задачи, симуляция, таблицы, графики, вопросы, Python-код, идеи для доказательства и отдельный раздел “что нужно проверить”. Не выдавай гипотезы за доказанные факты».
ИИ готовит черновик. Учитель и класс остаются авторами проверки.
32 · Как перенести эту историю в класс
Получается не «урок по формуле», а маленькое математическое исследование
1Понять правило
Шаговая визуализация.
2Поиграть с примерами
Меняем предпочтения сами.
3Запустить перебор
Перебор малых n.
4Угадать формулу
Степени и гипотеза.
5Проверить случайно
Monte Carlo и вероятность.
6Спросить «почему?»
Переход к доказательству.
Компьютербыстро перебирает и моделирует
Случайные числадают независимую проверку гипотезы
ИИпомогает писать код и материалы — но не отменяет проверку
Взятьструктуру урока
Заменитьматематический сюжет
Сохранитьлогику исследования
33 · Финал
Эксперимент обнаруживает и проверяет. Доказательство объясняет.
вопрос→малые случаи→гипотеза→вероятность→симуляция→доказательство→новый вопрос
Главное, что получает ученик, — не готовую формулу, а опыт настоящего математического исследования.
34 · Вопросы и обсуждение
Что из этой истории хочется унести в свой класс?
💡С какой задачи начать?
Где у ваших учеников можно сначала поиграть с примерами, а потом сформулировать гипотезу?
🎲Где нужна симуляция?
Какие задачи становятся понятнее, если увидеть один опыт, а затем повторить его тысячи раз?
🤖Где подключать ИИ?
Что разумно отдать ИИ — код, аудит, поиск контрпримеров — а что важно оставить ученику?
✅Как проверять?
Какие крайние случаи, контрольные ответы и вопросы должны стать привычкой?
🔢
Что такое OEIS?
OEIS — The On-Line Encyclopedia of Integer Sequences, онлайн-энциклопедия целочисленных последовательностей. Вводим первые члены — и получаем известные формулы, ссылки, статьи и родственные последовательности.
Нашлась последовательность — отлично: это подсказка и источник литературы. Но это ещё не доказательство.
Симуляция — это когда компьютер много раз честно разыгрывает один и тот же случайный опыт. Например, если из 10 000 парковок успех случился примерно 5 900 раз, мы оцениваем вероятность примерно как 59%.
Это не заменяет доказательство. Зато быстро показывает, правдоподобна ли наша гипотеза.
🌳
Что за деревья Кэли?
Дерево — это связный граф без циклов. Теорема Кэли говорит: на m помеченных вершинах существует mm−2 деревьев.
Если m = n + 1, получаем (n + 1)n−1 — ровно то же число, что и для parking functions. Это не просто совпадение: между этими объектами существуют явные биекции.
🙂🤖
ИИ прошёл аудит?
ИИ: «Я проверил код — ошибок нет».
Математик: «Отлично. А теперь проверим, что именно ты проверил».
Поэтому малые случаи, крайние случаи и независимая проверка — не формальность, а часть исследования.
🙂🎲
Очень быстрый статистик
После первого броска выпала шестёрка.
«Вероятность шестёрки — 100%!», — объявил очень торопливый статистик.
Именно поэтому один опыт — это история, а много опытов уже дают данные.
🙂✓
Компьютер почти доказал
Компьютер: «Я проверил формулу для n = 1, 2, …, 10 000!»
Математик: «Прекрасно. А что у нас с n = 10 001?»
Проверка множества случаев — сильное свидетельство. Доказательство объясняет сразу все n.