휴리스틱

일반적으로 휴리스틱은 의사 결정을 내릴 때 따르는 "경험 법칙" 또는 유용한 지침을 의미합니다. 컴퓨터 과학에서 휴리스틱도 비슷한 의미를 가지지만, 구체적으로는 알고리즘을 가리킵니다.

소프트웨어를 프로그래밍할 때 컴퓨터 프로그래머는 다양한 작업을 수행하는 가장 효율적인 알고리즘을 만들려고 합니다. 여기에는 숫자 정렬과 같은 간단한 프로세스나 이미지 또는 동영상 클립 처리와 같은 복잡한 기능이 포함될 수 있습니다. 이러한 기능은 입력값의 범위가 넓은 경우가 많기 때문에 한 알고리즘이 어떤 경우에는 잘 작동하지만 다른 경우에는 그다지 잘 작동하지 않을 수 있습니다.

예를 들어 GIF 이미지 압축 알고리즘은 색상이 적은 작은 이미지에서 잘 작동하지만, 색상이 많은 큰 이미지에서는 JPEG 압축만큼 잘 작동하지 않습니다. 색상 범위가 넓지 않은 작은 이미지만 다룰 것이라는 사실을 알고 있다면 GIF 압축만 있으면 됩니다. 크고 다채로운 이미지에 대해서는 걱정할 필요가 없으므로 이러한 이미지에 맞게 알고리즘을 최적화할 이유도 없습니다. 이와 마찬가지로 컴퓨터 프로그래머는 일반적이지 않은 상황에서는 비효율적으로 작동할 수 있더라도 대부분의 상황에서 잘 작동하는 알고리즘을 사용하는 경우가 많습니다.

따라서 휴리스틱 프로세스에는 테스트를 실행하고 시행착오를 통해 결과를 얻는 과정이 포함될 수 있습니다. 더 많은 샘플 데이터를 테스트할수록 비슷한 유형의 데이터를 처리하는 효율적인 알고리즘을 만들기가 쉬워집니다. 앞서 설명했듯이 이러한 알고리즘이 항상 완벽한 것은 아니지만 대부분의 경우에는 잘 작동합니다. 휴리스틱의 목표는 허용 가능한 시간 안에 정확한 결과를 생성하는 간단한 프로세스를 개발하는 것입니다.

업데이트됨 in 2006 작성: Per C.

quiz지식 테스트하기

What programming language supports the "struct" data type?

A
C
0%
B
PHP
0%
C
JSP
0%
D
HTML
0%
Correct! Incorrect!     View the Struct definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 휴리스틱에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.