Алгоритм Вольфа заключается в следующем: 1
- Выбирается на решётке случайным образом i-ый спин и в дальнейшем рассматривается началом роста кластера. 1
- К нему присоединяются ближайшие соседние спины с вероятностью f=1-exp(-2/T), если si =sj. 1
- Рост кластера продолжается до тех пор, пока список непроверенных спинов не исчерпывается. 1
- Созданному кластеру присваиваются новые значения спина 1 или -1 с равной вероятностью. 1
Ещё один вариант алгоритма Вольфа используется в методе оптимизации и заключается в следующем: 2
- Относительно начальной точки Xinit случайным образом определяются n+1 вершины симплекса в гиперкубе с ребром DXinit. 2 В вершинах этого симплекса вычисляются значения целевой функции и градиента. 2
- Решается относительно параметров lk система линейных алгебраических уравнений n+1 порядка. 2
- Определяется новая вершина симплекса. 2
- Среди всех старых вершин симплекса находится такая с номером j, в которой значение целевой функции максимально. 2 Если значение максимально, то j-ю вершину заменяют на новую и переходят к следующему пункту, иначе поиск заканчивается. 2
Алгоритм Вольфа предназначен для моделирования методом Монте-Карло моделей Изинга и Поттса. 4