[ KAIST ] in KIDS 글 쓴 이(By): Lina (Inverse) 날 짜 (Date): 2003년 7월 12일 토요일 오전 07시 42분 38초 제 목(Title): constraint에 대한 질문 하나. 에... 간단한 것 같은데 전혀 찾아지지가 않으니 결국 여기에 질문합니다. 2차원(일 필요는 없지만) \phi(r) 이라는 field가 주어지면 에너지 F(\phi)가 계산이 되는 시스템이 있다고 합시다. (그래디언트, 라플라시안이 마구마구 들어가는 상황이라 좀 복잡한 함수입니다만 여하간 F는 \phi의 함수입니다.) 풀고자 하는 정확한 문제는 F를 어떤 constraint g(\phi)=0 이 만족하는 상황에서 최소값을 찾는 겁니다. (예를 들면 Laplacian \phi = C 가 위 평면의 일부영역에서 반드시 성립한다든가..) 직접 종이에 문제를 풀 때는 라그랑쥬 멀티플라이어 h(x)를 동원해서 G = F + h(x)*g(\phi) 라고 놓고 최소화시키면 되겠죠. 적어도 이론상은.. 문제는 F가 워낙 복잡하다는 등의 이런저런 이유로 인해 이걸 Monte Carlo로 풀어보려고 합니다. \phi(r)값을 각 점마다 적절히 변화시켜 가면서 낮은 에너지를 찾아가는 방식으로.. 여기서 골치아픈 게 constraint의 적용입니다. 얼핏 생각해본 바로는.. 라그랑쥬 멀티플라이어는 문제를 다 풀기 전에는 알 수 없기 때문에 처음부터 G를 써주고 최소값을 찾을 수는 없습니다. 그렇다고 F만 놓고 풀면 당연히 될리가 없고.. constraint를 벗어나는 것에 대해 적절한 penalty를 줘야 할 것 같은데.. 이걸 위한 가장 적절한 function이 바로 라그랑쥬 멀티플라이어인 셈이니.(그래선 도움이 안되죠.) 그냥 무대포로 const.g(r)^2 같은 페널티를 주고 계산해버려도 될까요?(제곱도 귀찮으면 절대값으로 한다던가) 뭔가 아주 표준적인 방법이 있을 것 같은데, 아는 사람이 주변에 없네요. @ MC로 푸는 건 삽질인 듯 한데.. Numerical하게 직접 풀다 보니, 라그랑쥬 멀티플라이어와 \phi간의 바운더리 컨디션을 맞춰 주는 게 거의 불가능할 만큼 복잡해지는 바람에 이쪽으로 고려해보는 중입니다. @ MC에 대한 기본내공수련용 책을 추천받습니다. 어둠보다 더 검은 자여 밤보다도 더 깊은 자여 혼돈의 바다여 흔들리는 존재여 금색의 어둠의 왕이여 나 여기서 그대에게 바란다 나 여기서 그대에게 맹세한다 내 앞을 가로막는 모든 어리석은 자들에게 나와 그대의 힘을 합쳐 마땅한 파멸을 가져다 줄 것을! --- Lina Inverse @ Slayers --- |