ВУЗ:
Составители:
конфигурацию мы никогда не получим, используя описанное выше
преобразование. Отсюда видно, что метод рептаций приводит к
небольшому смещению нашей статистической выборки и вычисленное
среднее расстояние между концами цепочки будет получаться немного
больше, чем если бы рассматривались все конфигурации. Однако
вероятность таких «тупиковых» конфигураций очень мала и смещением в
большинстве случаев можно пренебречь.
Рис.4.10. Пример дважды тупиковой конфигурации для
обыкновенного самонепересекающегося блуждания, которую
невозможно получить в методе рептаций
■ Программа ББС на основе алгоритма рептаций
При изучении общих свойств случайного блуждания исследуется n - шаговых блужданий,
которые формируются посредством добавления нового шага к предыдущему, пока не
выполнится n шагов. Этот метод формирования простых блужданий не используется при
изучении ББС, потому что в случае пересечения последующим шагом предыдущего,
приходится прерывать процесс и начинать строить блуждание заново. С ростом числа
блужданий возможность прерывания процесса растет, следовательно, эффективность
генерирования ББС становится очень низкой.
Альтернативный подход к формирования ББС состоит в том, чтобы считать новый шаг как
ББС, т.е. исключить возможность пересечения шагов. При таком подходе можно применить
алгоритм рептаций.
▪ Алгоритм
1a. Зададим на двумерной решетке ББС длиной n (создадим двумерный массив из n
элементов, который и будет представлять нашу ББС)
1б. Вычислим квадрат длины ББС и запишем его значение в squaredist.
Следующую последовательность шагов необходимо выполнить несколько раз. Первый раз,
используя начальную конфигурацию заданную на шаге 1, а далее — используя
конфигурацию, полученную на предыдущих шагах. Опишем последовательность действий с
произвольной конфигурацией, которую назовем config.
2. Случайно выберем шаг-приращение для добавления к config.
3. Проверяем, не пересекает ли новый шаг какой-нибудь из предыдущих шагов, кроме
первого (т.е. не совпадает ли положение нового шага с каким-нибудь другим шагом в
config). Если произошло пересечение, переписываем конфигурацию наоборот, т.е.
последний элемент записываем как первый и т.д. После чего записываем новую
конфигурацию в переменную path. Если пересечений нет, добавляем новый шаг в качестве
71
Страницы
- « первая
- ‹ предыдущая
- …
- 69
- 70
- 71
- 72
- 73
- …
- следующая ›
- последняя »