Алгоритм Ванга — Ландау

Материал из testwiki
Перейти к навигации Перейти к поиску

Алгоритм Ванга-Ландау, предложенный Фугао Вангом и Дэвидом Ландау[1], это метод Монте-Карло, предназначенный для расчета плотности состояний системы. Метод выполняет немарковские случайные переходы для построения плотности состояний, посещая все возможные состояния. Алгоритм Ванга и Ландау, это важный для получения плотности состояний метод, требуемый для выполнения мультиканонического моделирования

Алгоритм Ванга-Ландау может быть применен к любой системе, которая характеризуется некоторым параметром (например, энергией, объемом и др.). К примеру, он может быть использован для численного интегрирования[2] и моделирования белков[3][4].

Описание

Алгоритм Ванга-Ландау является реализацией метода энтропического моделирования, в котором изучается плотность состояний с помощью блуждания в пространстве энергий с равновероятным посещением всех энергетических состояний. Алгоритм решает проблему подбора подходящих вероятностей перехода для получения требуемого при энтропическом моделировании равномерного посещения энергетических состояний и, следовательно, позволяет получить плотность состояний Ω(E).

Алгоритм

Рассмотрим систему в фазовом пространстве Ω и энергию E, изменение которой ограничено диапазоном EminEEmax. Пусть рассматриваемая система имеет плотность вероятности ρ(E)exp(S(E)), которую нам требуется посчитать. Поскольку алгоритм Ванга и Ландау работает с дискретным спектром энергии, диапазон EminEEmax разбивается на конечное число (M) равных отрезков («ящиков»), размер которых равен Δ. Таким образом:

M=EmaxEminΔ.

С учетом этого дискретного спектра, алгоритм имеет следующие начальные условия:

  • S(Ei)=0,i=1,2,...,M
  • f=1 (используется далее, как добавка к энтропии S(Ei) после каждого принятого шага)
  • Выбирается случайная конфигурация системы rΩ

Алгоритм выполняет моделирование в мультиканоническом ансамбле: случайное блуждание Метрополиса-Гастингса по фазовому пространству Ω системы с распределением вероятности P(r)=1/ρ(E(r))=exp(S(E(r))) и вероятностью генерации нового состояния, данной распределением вероятности g(rr), которое выбирается произвольно (обычно любое состояние может быть сгенерировано с равной вероятностью). В процессе моделирования, посещение каждого «ящика» записывается в гистограмму H(E) (то есть, значение H(E) увеличивается на единицу). Как и в алгоритме Метрополиса-Гастингса, генерация и принятие нового состояния выполняется следующим образом:

  1. генерация нового состояния rΩ согласно распределению вероятности g(rr)
  2. принятие/отклонение нового состояния, производится следующим образом:

Если энтропия нового состояния меньше текущего, то оно сразу принимается. Если же энтропия увеличилась, то новое состояние принимается с вероятностью: A=eSSg(rr)g(rr), где S=S(E(r)) и S=S(E(r)).

То есть, общая формула выглядит следующим образом:

A(rr)=min(1,eSSg(rr)g(rr)).

Таким образом, энтропия наиболее часто посещаемых состояний будет расти, в результате чего они будут посещаться всё реже, а наиболее редкие состояния, следовательно, будут посещаться чаще. Тем самым, мы добиваемся равновероятного посещения всех состояний.

После каждого шага генерации-принятия система переходит в некоторое состояние Ei, значение H(Ei) увеличивается на единицу, а также выполняется следующее изменение:

S(Ei)S(Ei)+f

Это важный шаг алгоритма, и это то, что делает алгоритм Ванга-Ландау немарковским: случайный процесс теперь зависит от истории процесса. Таким образом, когда в следующий раз будет предложено состояние с энергией Ei, это состояние будет отклонено с большей вероятностью; в этом смысле, алгоритм принуждает систему посещать все состояния с одинаковой частотой. Как следствие, гистограмма H(E) становится все более и более плоской. Хотя, эта равномерность зависит от того, насколько посчитанная энтропия близка к точной энтропии, что зависит от f. Для улучшения приближения точной энтропии (и, таким образом, равномерности гистограммы), f уменьшается после M шагов генерации-принятия:

ff/2

Через некоторое время было показано, что при изменении fпостоянным делением на два алгоритм может не сходиться[5]. Небольшая модификация метода Ванга-Ландау позволяет избежать этого: производится деление не на два, а на t, при чем t пропорционально шагу моделирования.

В результате использования этого алгоритма происходит автоматическая настройка весов вероятности перехода, которые одновременно определяют плотности состояний. По окончании расчета вычисляется массив Ω(E)=expS(E)и нормируется на единицу.

Пример кода

Ниже показан пример кода на Python, в котором предполагается симметричность функции распределения g:

g(𝒙𝒙)=g(𝒙𝒙)

currentEnergy = system.randomConfiguration() # случайная генерация начального состояния системы
while (f > epsilon):
    system.proposeConfiguration() # генерация новой конфигурации
    proposedEnergy = system.proposedEnergy() # вычисление энергии нового состояния

    if (random() < exp(entropy[currentEnergy]-entropy[proposedEnergy])):
        # если принято, обновляем энергию и систему
        currentEnergy = proposedEnergy
        system.acceptProposedConfiguration()
    else:
        # если отклонено
        system.rejectProposedConfiguration()
    
    H[currentEnergy] += 1
    entropy[currentEnergy] += f
    
    if (isFlat(H)): # isFlat проверяет достаточно ли гладкая гистограмма (например, 95%)
        H[:] = 0
        f *= 0.5 # refine the f parameter

Примечания

Шаблон:Примечания

  1. Wang, Fugao & Landau, D. P. (Mar 2001). «Efficient, Multiple-Range Random Walk Algorithm to Calculate the Density of States». Phys. Rev. Lett. American Physical Society. 86 (10): 2050—2053. arXiv[1] Шаблон:Wayback. doi: [2]. PMID [3].
  2. R. E. Belardinelli and S. Manzi and V. D. Pereyra (Dec 2008). «Analysis of the convergence of the 1∕t and Wang-Landau algorithms in the calculation of multidimensional integrals». Phys. Rev. E. American Physical Society. 78 (6): 067701. arXiv: [4]Шаблон:Недоступная ссылка. Bibcode: [5]. doi: [6].
  3. P. Ojeda and M. Garcia and A. Londono and N.Y. Chen (Feb 2009). «Monte Carlo Simulations of Proteins in Cages: Influence of Confinement on the Stability of Intermediate States». Biophys. Jour. Biophysical Society. 96 (3): 1076—1082. Bibcode:2009BpJ….96.1076O. doi:10.1529/biophysj.107.125369
  4. P. Ojeda & M. Garcia (Jul 2010). «Electric Field-Driven Disruption of a Native beta-Sheet Protein Conformation and Generation of alpha-Helix-Structure». Biophys. Jour. Biophysical Society. 99 (2): 595—599. Bibcode:2009BpJ….96.1076O. doi:10.1016/j.bpj.2010.04.040. PMC 2905109Freely accessible. PMID 20643079
  5. Belardinelli, R. E. & Pereyra, V. D. (2007). «Wang-Landau algorithm: A theoretical analysis of the saturation of the error». Jour. Chem. Phys. 127 (18): 184105. arXiv: cond-mat/0702414Freely accessible. Bibcode:2007JChPh.127r4105B. doi:10.1063/1.2803061