Тема 7 Статистические методы ★★

Перколяция и лесной пожар

При какой густоте леса пожар проходит насквозь – резкий порог, который можно найти расчётом.

Кластер перколяции у порога: связная область, которая едва-едва проходит через всё поле.
Кластер перколяции у порога: связная область, которая едва-едва проходит через всё поле. Alexis Monnerot-Dumaine · CC BY-SA 3.0 · Wikimedia Commons

Что за явление

В лесу деревья растут случайно, и огонь перескакивает только на соседнее дерево. При малой густоте пожар гаснет сам, при большой проходит лес насквозь. Между этими режимами – резкий переход при вполне определённой густоте.

Где встречается

Лесные пожары, просачивание нефти и воды сквозь горные породы, электропроводность смесей (проводящие частицы в пластике), распространение эпидемий. Теория перколяции – одна из самых наглядных моделей фазового перехода.

Что вы исследуете

Где находится порог, при котором пожар проходит насквозь, и как он «размывается» на малом лесу. Как долго горит лес при разной густоте – дольше всего он горит у порога. Каково распределение размеров сгоревших островков.

Что получится в конце

анимация пожара; график «доля сгоревшего от густоты»; вероятность прохода насквозь для разных размеров леса; гистограмма размеров кластеров в логарифмическом масштабе.

Этапы работы

По порядку. Пока не пройдена проверка на случае с известным ответом, к исследованию не переходим.

  1. Разберитесь, почему при малой густоте пожар гаснет сам, а при большой проходит лес насквозь, и где между этими режимами лежит переход. Выпишите, что такое порог перколяции.
  2. Выберите модель: перколяция по узлам на квадратной решётке, кластеры – обходом в ширину (BFS) или алгоритмом Хошена – Копельмана; пожар – тот же обход по шагам времени.
  3. Напишите программу с нуля: решётка плюс тепловая карта. Обход делайте только очередью – рекурсия переполняет стек на больших решётках.
  4. Проверьте код на перколяции по связям: порог там ровно $1/2$ – это точный результат, хороший тест (минимум).
  5. Найдите порог по узлам: должно получиться $p_c \approx 0{,}5927$ с точностью до сотых (минимум).
  6. Постройте кривые вероятности прохода для L = 32, 64, 128, 256 – они должны пересекаться около $p_c$: так порог «размывается» на малом лесу.
  7. Снимите время горения от густоты – дольше всего лес горит у порога.
  8. В точке порога постройте распределение размеров кластеров в логарифмическом масштабе: оно степенное, $n_s \propto s^{-\tau}$, где $\tau = 187/91 \approx 2{,}055$, а фрактальная размерность большого кластера $91/48 \approx 1{,}896$. На малых решётках степенные законы выходят грубо.
  9. Расширение: измерьте показатели $\tau$ и фрактальную размерность по своим данным и добавьте ветер – анизотропный пожар.
  10. Оформите работу: анимацию пожара, график «доля сгоревшего от густоты», вероятность прохода насквозь для разных размеров леса и гистограмму размеров кластеров в логарифмическом масштабе; сформулируйте выводы и подготовьте доклад.