담금질 기법: 두 판 사이의 차이

크기가 바뀐 것이 없음 ,  12년 전
편집 요약 없음
내용 삭제됨 내용 추가됨
편집 요약 없음
8번째 줄:
아래 유사코드 ( pseudo-code, 類似)는 담금질 기법을 코드화한 것이다.
 
* P는 P=nk=5*100=500 이 되고 Step 이 500 이 된다. 여기서 Step의 값은 아주 중요한 요소가 된다. 만약 Step이 크게 되면 최적한된 값을 건더 뛰고 넘어가서 최적화의 단계를 가지지 못한다. 여기서 최적화를 예를 들면 만약 무작위의 10개의 돌이 있으면 이 돌을 가장 작은 공간에 배치할 때 가장 효율적으로 배치한 값이 담금질 기법의 최적화 값이 된다. 10개의 돌을 배치하는 방법으로 단순히 10!*10의 경우의 수를 생각해 보겠지만 이것을 한 번씩 다해서 최적의 경우의 수를 얻는다는 것은 너무나 비효율적이고 만약 돌의 갯수가 100000 개라고 하면 이 많은 경우의 수를 하는 것이 불가능하다. 그리고 특정 시간안에 이것을 찾아야 하는 조건이면 거의 불가능하게 된다. 그래서 모든 경우의 수를 하지 않고 이것을 찾는 방법이 바로 담금질 기법이다. 하지만 이 담금질 기법의 문제점이 바로 적당한 Step 사이즈 즉 가장 효율적으로 찾기 위한 돌을 움직여야 하는 갯수를 결정하는 것이다. 본론으로 돌아가서 Step의 사이즈가 작으면 최적화의 방법을 당연히 찾을 것이다. 여러가지 경우의 수를 많이 해보면 당연히 그중에 찾을 확률이 높다. 하지만 Step의 사이즈가 작으면 작을 수록 무작위로 모든 경우 수를 해보는 것고것과 점점 차이가 없어진다. 그럼 담금질 기법의 의미가 없어진다.
* 담금질 기법의 원문을 자주 보거나 번역판을 보면 온도라는 말과 Frozen 즉 냉각이라는 말이 자주 나온다. 이것은 이 기법이 담금질 기법과 비슷하기 때문에 같은 개념으로 설명하기 위한 것이지 절대 이것이 정말 온도나 냉각을 의미하는 것이 아니라 경우의 수을 높여서 더 안좋은 결과가 나오는 것을 Uphill 즉 상승 즉 온도의 상승으로 보고, 경우의 수의 조합을 좋게 해서 Downhill 즉 하락 온도의 하락으로 보고 설명을 하는 것이다. 온도가 완전히 떨어진 경우 Downhill의 최저점이 우리가 찾는 최적의 조합이 되는 것이다.
 
익명 사용자