잡담

일상에서의 시뮬레이티드 어닐링

시뮬레이티드 어닐링이란 무엇인가?? 시뮬레이티드 어닐리은 인공지능에서 최적화에 사용되는 기술중의 하나이다.

쉬운 예를 들어보자.

어떤 외계의 혹성에 스타게이트를 통해 갑자기 순간이동된 탐사대가 있었다. 그들은 그 혹성의 면적이 얼마나 되는지도 -- 심지어 무한대인지도 -- 모른다. 그들의 임무는 그 혹성에서 가장 낮은 곳의 깊이를 측정하는 것이었다. 하지만 문제는 혹성 전체가 짙은 안개에 깔려있어서 현재 위치의 깊이 밖에 알 수가 없다는 것이고, 또, 그곳에 머무를 수 있는 시간이 유한하기에 느긋하게 모든 곳을 다녀볼 길이 없다는 것이었다.

한 대원이, "한 발자국 움직여서 만약 밑으로 더 내려가면 그 쪽으로 가고, 그게 아니고 더 올라가게 되면 다른 쪽을 택하도록 하죠"라고 말했다. 대장 왈 "그렇게 되면 별로 깊지도 않은 계곡에 들어갔을 경우 거기가 제일 깊은지 알 것 아닌가?"라고 반문했다.

한 똘똘한 대원이 시뮬레이티드 어닐링이라는 방법을 제안했다. 간혹 "올라가는 멍청한 짓"도 하긴 하되, 시간이 갈 수록 그 확률을 줄이자는 것이었다. 무슨 이야기인고 하니, 임의로 한 발자국 움직여서 "더 낮은 곳"이라면 그리로 가고, 만약 "더 높은 곳"이라면 우리가 들고 다니는 컴퓨터로 확률 계산을 하되 시간이 갈수록, 우리의 위치가 더 낮을수록 "낮은 확률"이 나오도록 해서, 실제로 주사위를 던지든가 하는 것으로 그 확률 안에 들어가면 그곳이 비록 더 고지대일지라도 그리로 이동하고, 아니면 다른 곳으로 발걸음을 옮기자는 말이었다.

결국 처음에는 "도박"도 하지만 나중에 갈수록 안전빵을 고르자는 것이었다.
(시뮬레이티드 어닐링의 핵심은 "더 나쁜 답도 선택할 확률의 점차적 감소"에 있다)
출처: http://no-smok.net/nsmk/SimulatedAnnealing

우리의 일상에서도 항상 가장 좋은 결과만을 바라보고 하루 하루 정진해야 하겠지만, 가끔씩은 일탈을 통해 새로운 변화를 꾀해 보는것은 어떨까 하는 생각이 든다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
top


http://www.joon.pe.kr/blog/trackback/136


<< Prev   1   ... 204   205   206   207   208   209   210   211   212   ... 336   Next >>