4,552,316 th visitor since 2017.2.1 ( Today : 89 )
Programming
No. 474
Name. swindler
Subject. Heuristic Algorithm
Main Cate. 개발일반
Sub Cate.
Date. 2008-09-29 13:36
Hit. 3217 (210.182.190.136)
File.
일단 알고리즘이란 빠른시간안에 답을 찾는건데 이게 불가능할 경우

- 문제가 너무 커서 오래 걸린다던지 (time complexity)
- 시간이 해결되도 그걸 저장할수 있는 공간이 부족하다던지 (space complexity)

이런 문제를 풀때 하나 또는 둘다 포기하고 풀어내는 알고리즘을

휴리스틱 알고리즘이라고 합니다.. 역시나 AI (인공지능)쪽에서 많이 쓰이죠..

보통은 time complexity가 exponential time일때 적당히 타협을 하고 답이 정확하지

않더라도 휴리스틱 알고리즘으로 찾은 그 답을 쓰는거죠..



가장 간단한 예로는 체스게임을 들 수 있겠네요

컴퓨터로 체스말의 움직임을 모두 계산하려면 지구 생성부터 지금까지 걸린 시간보다

오래걸리거든요.. (바둑 같은경우 더 심함-_-;;) 만약에 트리로 그 움직임을 변환했을때

트리 끝까지 내려간걸 모든 움직임을 찾은거라고 봤을때 그럼 너무 오래걸리니까

적당히 내려가다가 찾는걸 중단하고 그걸 옵티멈 솔루션으로 쓰는거죠..




ps. 얼마전에 휴리스틱 알고리즘을 특정 알고리즘처럼 말하는 사람을 봤다.
뭐 그럴수도 있지.
사실 그 사람 정도면 굉장히 훌륭해서 친해질수 있을 정도였다.



[바로가기 링크] : http://coolx.net/cboard/develop/474



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog