Пути на клетчатой бумаге

Задача

Дано число p из отрезка [0, 1]. Рассмотрим клетчатую полуплоскость, в которой все клетки закрашены красным. С каждой клеткой проделывают следующую операцию: бросают «p-монетку», которая с вероятностью p выпадает орлом и с вероятностью 1 − p — решкой, и если выпал орел, то перекрашивают клетку в синий. Затем, когда со всеми клетками проделана эта операция, на границу полуплоскости сажают специально обученного муравья, который может свободно перемещаться по границе полуплоскости, но на ней может ходить только по синему (муравей может переползать только в соседние по стороне синие клетки).

Ясно, что если вероятность p очень мала, то большая часть клеток не закрашена и муравей скорее всего сможет отойти только на ограниченное расстояние от края полуплоскости. Напротив, если число p достаточно близко к единице, то муравей скорее всего сможет удалиться как угодно далеко от края.

Оказывается, существует «критическое» значение p = pcrit, при котором ограниченное движение муравья почти наверное сменяется неограниченным. Как найти это значение?


Подсказка 1

Попробуйте мысленно объединить клетки в блоки 2×2. Если забыть про внутреннюю структуру этих блоков, то получится задача, эквивалентная исходной. Однако в новой задаче вероятность «закрашивания» блоков не будет совпадать с исходным значением, а будет иметь новое значение p1, зависящее от p. Первый шаг к решению задачи — отыскать это p1.

Описанная идея, а именно — замена задачи на эквивалентную задачу с блоками, не совсем строгая, но позволяет найти ответ.


Подсказка 2

Если вам удалось получить формулу для p1, p1 = f(p), продолжите укрупнение сетки. Можно объединять блоки в новые блоки и продолжать этот процесс до бесконечности. И на каждом следующем шаге pn+1 будет равно f(pn). Подумайте, как поведение pn в зависимости от n отражает возможность муравья путешествовать на сколь угодно большие расстояния. Определите качественно эволюцию pn для различных начальных значений. Для этого может быть очень полезно построить график y = f(x) и сравнить его c графиком функции y = x.


Решение

Как говорилось в подсказке, мысленно объединим клетки в блоки 2×2 и будем эти блоки рассматривать как новые клетки. Зададимся вопросом: в каком случае блок можно считать закрашенным? Для этого представим, что муравей находится на верхней стороне блока, и найдем такие конфигурации закрашенных клеток, при которых муравей может пройти на нижнюю сторону.

Всего существует 24 = 16 конфигураций, которые различаются количеством и расположением синих клеток. Разберем по порядку случаи с разным количеством закрашенных клеток (рис. 1). Очевидно, что если закрашены четыре или три клетки, то муравей всегда может перейти с верхнего края блока на нижний. Если закрашены две клетки, то из шести возможных расположений годятся два варианта, когда клетки находятся одна над другой. Во всех остальных случаях муравей не пройдет через блок.

Рис. 1. Некоторые варианты расположения клеток в блоке

Рис. 1. Некоторые варианты расположения клеток в блоке. Варианты a), b), c) соответствуют проходимому блоку, d), e), f) — непроходимому

Получается следующая картина: годится одна конфигурация с 4 синими клетками, четыре — с тремя синими клетками и две — с двумя. Несложно вычислить, что если для клетки вероятность быть закрашенной равна p, то вероятность того, что через блок можно пройти, равна p1 = f(p) = p4 + 4p3(1 − p) + 2p2(1 − p)2 = 2p2 − p4.

Будем продолжать процесс укрупнения сетки, то есть объединять блоки в новые блоки. Тогда на каждом шагу мы будем получать новую вероятность того, что блок очередного размера может быть закрашен, по формуле \( p_{n+1} = 2p_n^2- p_n^4 \). Это — довольно сложное рекуррентное соотношение, и едва ли здесь можно найти явную формулу для pn. Но этого и не нужно: если построить график f(p), то можно качественно понять поведение pn в зависимости от n.

Из графика видно, что f(p) пересекает прямую y = p в некоторой единственной точке pcrit (рис. 2). При p > pcrit выполнено соотношение f(p) > p, а при p < pcrit — соотношение f(p) < p. Значит, если начальное значение p0 = pcrit, то и все pn = pcrit. Если p0 > pcrit, то вероятность будет увеличиваться с итерациями, а если p0 < pcrit, то — уменьшаться.

Рис. 2. Лестница, изображающая итерации рекуррентного соотношения

Рис. 2. Лестница, изображающая итерации рекуррентного соотношения \( p_{n+1} = 2p_n^2- p_n^4 \). Синяя точка соответствует начальному значению p

Графически итерации рекуррентного соотношения pn+1 = f(pn), где f(x) = 2x2 − x4, описываются лестницей, изображенной на рисунке 2. Принцип построения лестницы таков: отложим pn на оси абсцисс. Тогда точка графика, соответствующая pn, имеет ординату pn+1. Чтобы отметить pn+1 на оси абсцисс, проведем через точку графика с координатами (pnpn+1) горизонтальную линию до пересечения с прямой у = p. Точка пересечения имеет абсциссу pn+1, и можно продолжить итерации в том же духе.

Рассмотрим для определенности лестницу, соответствующую p0 < pcrit. Из рисунка понятно, что pn не просто уменьшается, а стремится к нулю! Точно так же при p0 > pcrit вероятность стремится к единице. Это значит, что при p0 < pcrit муравей почти наверняка не сможет пройти через блок достаточно большого размера и, наоборот, почти наверняка пройдет через блок при p0 > pcrit.

Осталось найти pcrit. Для этого нужно решить уравнение p = 2p2 − p4. Это — уравнение четвертой степени, однако два корня известны (их легко найти подбором): это 0 и 1. Если поделить многочлен p3 − 2p + 1 на p − 1, получится квадратный трехчлен p2 + p − 1, который имеет положительный корень \( (\sqrt5- 1)/2 \approx 0{,}618 \). Точная критическая вероятность, найденная с помощью компьютера, равна 0,592746. Таким образом, относительная ошибка нашего ответа — 4%.

Рис. 3. Непроходимая комбинация двух блоков

Рис. 3. Непроходимая комбинация двух блоков

Причина расхождения в том, что, как уже отмечалось, идея с объединением клеток в блоки — не совсем строгая. Рассмотрим, например, два блока, расположенные так, как на рисунке 3. Оба эти блока считались «проходимыми» в нашем решении, однако очевидно, что пройти через такую комбинацию блоков нельзя. Однако наше решение правильно ухватывает суть явления, с чем и связана довольно небольшая ошибка. Добавим, что точное аналитическое выражение для критической вероятности до сих пор не известно, хотя, разумеется, можно получить более точные приближенные оценки.


Послесловие

На самом деле название и условие этой задачи — маскировка известной задачи перколяции (от англ. percolation — протекание). В самом деле, клетчатую бумагу можно представлять себе как пористую среду, а движение муравья — как распространение жидкости. И наша задача имеет прямое отношение к реальной физической проблеме о прохождении жидкости через пористый материал. Более того, связи задачи о перколяции с физикой не ограничиваются этой аналогией, а идут гораздо глубже. Здесь важна не сколько формулировка и ответ, сколько подход к решению. Примененная нами и самыми проницательными читателями идея масштабирования находит исключительно богатое применение в физике. Похожий подход, называющийся ренормализационной группой (или ренормгруппой), широко известен в квантовой теории поля, физике конденсированного состояния и теории фазовых переходов второго рода. Кстати, то, что мы наблюдали, даже можно трактовать как фазовый переход между двумя состояниями: с ограниченным и неограниченным движением.

Задача о перколяции в чистом виде тоже очень сложна и интересна. Ее можно ставить не только для клетчатой бумаги, но и для любой решетки и даже для любого графа. Для некоторых случаев известны точные ответы для критических вероятностей, но, как правило, их приходится искать численно. Результаты наших расчетов для вероятностей, близких к критической, приведены на рисунках ниже. Видно, что область, доступная для муравья, имеет сложную фрактальную структуру. Кроме того, малое изменение p — всего на сотые доли — очень сильно меняет картину.

<b>Рис. 4.</b> Результаты численного моделирования зоны проницаемости

Рис. 4. Результаты численного моделирования зоны проницаемости (черная) в нашей задаче для разных значений p. Слева направо: p = 0,57, p = 0,585, p = 0,6

Заметим, что моделирование перколяции и других подобных процессов — это не какие-то отвлеченные или устаревшие задачи. Их актуальность подтверждается, например, тем, что совсем недавно — в 2010 году — за работы в этой области была вручена Филдсовская медаль российскому математику Станиславу Смирнову. Читайте также статью «О современной математике и ее преподавании» («Квант» №2 за 2011 год), в которой Станислав в том числе рассказывает о моделировании перколяции и о своих результатах в этой области.

В заключение расскажем еще об одной задаче, связанной с перколяцией. А именно: как зависит глубина проникновения муравья от p, если p < pcrit? Ответ можно получить, используя наши предыдущие рассуждения. Пусть p0 = pcrit − ε, где ε очень мало. Тогда, применяя описанную в решении итеративную процедуру, мы очень долго будем получать близкое к критическому значение вероятности. С другой стороны, ясно, что «протекание» исчезает именно тогда, когда p значительно меньше pcrit. Значит, глубина проникновения — порядка размера блока, для которого p значительно меньше pcrit.

Чтобы получить количественный ответ, нужно сделать еще одно упрощение. При p ≈ pcrit можно заменить f(p) на pcrit + df/dp·(p − pcrit), где df/dp — производная функции f. В точке pcrit она равна \( 4(p_{crit}- p_{crit}^3) = 6- 2\sqrt5 \). Значит,

\( p_{n+1}- p_{crit} = \mathrm{d}f/\mathrm{d}p\cdot(p_n- p_{crit}) \),

то есть при p ≈ pcrit наша рекуррентная последовательность очень близка к геометрической прогрессии, и можно написать

\( p_n- p_{crit} = (\mathrm{d}f/\mathrm{d}p)^n\cdot(p_0- p_{crit}) \).

Нам нужно найти такое n, что pn − pcrit ≈ 1.

Решая уравнение, получим, что \( n = \ln(1/\Delta p_0)/ \ln(\mathrm{d}f/\mathrm{d}p) \), а соответствующий размер блока равен \( L = 2^n = (1/\Delta p_0)^{(1/\ln(6- 2\sqrt5))}. \)

К сожалению, этот ответ, как и ответ для критической вероятности, не является точным. Однако верен вывод о степенной зависимости глубины проникновения от вероятности. И это — очень важный вывод, потому что такая степенная зависимость типична для всех фазовых переходов второго рода.

В фазовых переходах второго рода, как и во всех обычных фазовых переходах, состояние вещества меняется при изменении температуры. Особое отличие фазовых переходов второго рода — в том, что в точке перехода меняется симметрия физической системы, то есть происходит в некотором смысле переход от «более симметричной» фазы к менее симметричной. Самый простой пример — переход между парамагнетиком и ферромагнетиком: при критической температуре магнитные моменты атомов выстраиваются вдоль одного направления, создавая намагниченность (и нарушая тем самым симметрию). Отметим, что, как правило, парамагнитное состояния реализуется при более высокой температуре, а ферромагнитное — при более низкой.

Явления при температуре, близкой к критической, имеют много общего с задачей перколяции. В примере про пара- и ферромагнетики при понижении температуры и приближении её к критической начинают образовываться небольшие кластеры из атомов с магнитными моментами, направленными в одну сторону. Оказывается, эта картина из кластеров очень напоминает доступные для муравья области в задаче перколяции. А характерный размер кластера (который более правильно называть корреляционной длиной) зависит от (T − Tc) по степенному закону — так же, как в задаче перколяции размер кластера зависит от p − pcrit.


18
Показать комментарии (18)
Свернуть комментарии (18)

  • kbob  | 25.06.2017 | 11:35 Ответить
    Если начать с перехода к 3x3 блокам результат станет точнее?
    Ответить
    • evg.anikin > kbob | 26.06.2017 | 09:41 Ответить
      Не могу сказать точно, но на первый взгляд кажется, что да. Можете попробовать провести такое вычисление.
      Ответить
  • Леша  | 25.06.2017 | 13:17 Ответить
    У меня получилось, что p_crit<=0.5:
    Будем считать математическое ожидание путей длины n, начинающихся с точки, где стартует муравей, которые раскрашены полностью синим.
    Если мы рассмотрим пути, которые идут только вниз и вправо, то всего таких путей 2^n. Вероятность того, что этот путь будет целиком покрашен синим равна p^n. Значит, матожидание числа таких путей по крайней мере (2p)^n. Значит, если p>1/2, то это матожидание стремиться к бесконечности, если n стремиться к бесконечности. Значит у муравья будет в среднем бесконечно много возможностей уйти бесконечно далеко. Где я ошибся?
    Ответить
    • NickName > Леша | 25.06.2017 | 21:15 Ответить
      1) Вы считаете, что вероятности быть окрашенным целиком в синий цвет для разных путей независима, это не так. (Если квадрат снизу от стартовой точки будет красным он вам сразу же перекроет половину путей).

      2) Путь длины n вправо всегда существует по условию задачи. ("....муравья, который может свободно перемещаться по границе полуплоскости,...."). Не очень понятно, что вы хотели вычислить.
      Ответить
      • deviant_9 > NickName | 25.06.2017 | 21:39 Ответить
        1) M[X + Y] = M[X] + M[Y] - как в случае независимых, так и в случае зависимых друг от друга случайных величин X и Y, если что.

        2) Изначально условие было другое (муравья сажали на одну из синих клеток), и решение выложить обещали вчера:)
        Ответить
        • NickName > deviant_9 | 25.06.2017 | 21:55 Ответить
          1) В задаче спрашивалось о наличии пути, а не об их количестве. То есть нас волнует, не количество путей, а функция от их количества, которая равна 1 если есть хоть один путь, и 0 если путей нет. Из-за того что вероятности путей связаны, у нас будут ситуации когда путей очень много и когда их нет совсем. Чтобы пользоваться рассуждением приведенным выше нужна еще связь между M(f(X+Y)) и f(M(X+Y)), для независимых путей она тривиально находится.

          2) Спасибо. Интересно зачем условие поменяли.
          Ответить
    • deviant_9 > Леша | 25.06.2017 | 21:35 Ответить
      Задача не про среднее число путей, а про то, с какой вероятностью число путей равно нулю. Эта вероятность может стремиться к единице, а матожидание при этом - к бесконечности за счёт всё более и более редких случаев не равного нулю числа путей (если в этих всё более редких случаях матожидание числа путей растёт достаточно быстро). Одно другому не противоречит.

      Я так понимаю, тут принципиально важно, что проходимость разных путей скоррелирована.
      Ответить
      • Леша > deviant_9 | 26.06.2017 | 01:26 Ответить
        Забавно получается. Если, скажем, p=0.55, то вероятность того, что существует хотя бы один путь из данной точки длины n стремиться к нулю при n→∞. Но при этом, матожидание числа таких путей стремиться к бесконечности. Формального противоречия нет, но очень контринтуитивно.
        Ответить
  • NickName  | 25.06.2017 | 21:05 Ответить
    В условии задачи, что-то пропущено. Вероятность вертикального цепочки синих блоков длиной - p^M. Если таких цепочек очень много например 10000/p^M, то среди них почти наверняка найдется такая. Так как муравей может беспрепятственно бегать вдоль всей полуплоскости, то он наверняка найдет эту цепочку.

    Решение рассчитывает вероятность пересечения квадрата, а не полуплоскости. Если бы авторы рассматривали блок не 2x2, а 2x3 вероятность получилась бы другой.
    Ответить
    • evg.anikin > NickName | 26.06.2017 | 10:36 Ответить
      Действительно, вероятность пересечения прямоугольника будет зависеть от соотношения его сторон. Вы правы, что для любого M можно выбрать такую ширину прямоугольника, что он будет наверняка проходим. Дело, однако, в том, что эта ширина будет экспоненциально расти с увеличением M. В вашем рассуждении с вертикальными цепочками она будет порядка 1/p^M, что при больших M много больше M.

      Если же соотношение сторон прямоугольника разумное, порядка единицы, то от него практически ничего не будет зависеть.

      Замечание про блок 2x3 тоже верно. Однако мы отмечали, что вся идея с объединением клеток в блоки - не очень строгая, и ответ у нас не совсем точный, поэтому этого следует ожидать. Уже в комментариях предлагали рассматривать блок 3x3.
      Ответить
  • Олег Чечулин  | 26.06.2017 | 04:08 Ответить
    У меня что-то со склерозом стало, или в исходной формулировке задачи, опубликованной неделю назад, вместо полуплоскости фигурировала плоскость, а про "....муравья, который может свободно перемещаться по границе полуплоскости,...." вообще не упоминалось - муравья сажали в произвольную синюю клетку?
    Ответить
    • 945lea > Олег Чечулин | 26.06.2017 | 14:11 Ответить
      Подтверждаю, что у Вас не склероз. Причём, насколько я помню, в той версии муравей из этой клетки должен был мочь дойти сколь угодно далеко с вероятностью 1. Что, строго говоря, выполнялось только если красных клеток осталось не более 3.
      Ответить
  • egorbatov  | 26.06.2017 | 13:28 Ответить
    Любопытно, а ведь приближённое значение решения совпало по значению с "золотым сечением"
    Ответить
    • semenanna > egorbatov | 03.07.2017 | 15:06 Ответить
      Поддерживаю 945lea: условия задачи изменились, кроме того, даже в новой версии задачи существуют варианты со сколь угодно низкой долей красных клеток, при которых движение муравья все же остается финитным.
      Простейший вариант: сплошная полоса в одну красную клетку, идущая параллельно краю полуплоскости. Да, вероятность такого решения равна нулю, но оно возможно.
      Второй вариант: доска разбита на синие квадраты со стороной N, разграниченные красными полосами шириной в одну клетку. Для любого конечного r>0 можно найти такое натуральное N, что доля красных клеток будет меньше r, но при этом движение муравья при старте с любой синей клетки будет финитным.

      В задаче требуется найти "вероятность перекраса", при которой инфинитные траектории будут существовать с вероятностью 1? 1-r для сколь угодно малого r? Или что?
      Ответить
  • anothereugene-2  | 26.06.2017 | 17:14 Ответить
    Два предела одновременно - это плохо. Не факт, что их можно переставлять.

    Вырежем из полуплоскости вертикальную полубесконечную полосу конечной ширины. Для любого p меньше единицы вероятность того, что муравей сможет уйти на бесконечное расстояние, равна нулю. Теперь устремим ширину этой полосы к бесконечности...

    Теперь вырежем из полуплоскости горизонтальную бесконечную полосу конечной высоты. Для любого p больше нуля вероятность того, что муравей сможет пройти от верхнего края полосы к нижнему, равна 1. Теперь устремим высоту этой полосы к бесконечности...

    PS Движок форума продолжает глючить, глотая куски сообщений.
    Ответить
  • Angl  | 29.06.2017 | 16:38 Ответить
    Странно, но я получил 0,6 исходя из гораздо более простых соображений. Где ошибка?

    Рассмотрим крест из 5 клеток: одна в центре, 4 по краям. Считаем, что муравей туда уже зашел в центр. Муравей пройдет через крест, если минимум 3 клетки из 5 закрашены красным. Муравей будет ходить неограниченно, если он в среднем проходит через все кресты.
    Ответить
    • Андрей Михалыч > Angl | 02.07.2017 | 03:50 Ответить
      0.618 число Фибоначчи.
      1/ф=1+ф
      Деление переходит в сложение, течет переходит в Не течёт.

      Забавно.
      Ответить
      • Олег Чечулин > Андрей Михалыч | 09.07.2017 | 10:50 Ответить
        Это не число Фибоначчи, а золотое сечение :) Все числа Фибоначчи - целые.
        Ответить
Написать комментарий
Элементы

© 2005–2025 «Элементы»