담금질 기법(simulated annealing) 배우고 최소 외접원 문제(smallest enclosing circle problem) 풀기

1. 담금질 기법(simulated annealing) 담금질 기법은 인공지능에서 말하는 gradient descent와 비슷하다. 목적함수를 설정하고, 해당 함수를 최적화하는 해를 찾는 것이다. 현재 답의 근처 해를 적당히 찾은 다음, 해가 더 좋아질 경우에는 갱신하고 해가 좋아지지 않을 경우에는 확률적으로 갱신하는 기법이다. 다항시간에 해를 찾기 어렵다고 생각되면 적당히 좋은 해를 찾기 위해 사용되는 휴리스틱(heuristic) 방법이다. 마치 금속을 뜨거운 온도에 담금질하여 원하는 금속으로 만드는 과정과 비슷하다고 하여 이름 붙여진 듯 하다. 원하는 금속으로 만들려면 적절한 온도에 담그는게 중요한데, 담금질 기법의 핵심은 온도 설정에 있다. 인공지능의 gradient descent에서도 weight..