콘텐츠로 이동

P1-7.2 휴리스틱(heuristic)은 무엇을 줄이는가

Section ID: P1-7.2 Version: v2026.07.20

7.1에서는 탐색 공간(search space)이 커질 때 모든 후보를 살펴보는 방식이 계산 한계(computational limit)에 부딪힌다는 점을 봤습니다. 이제 다음 질문으로 넘어갑니다.

가능한 후보를 모두 볼 수 없다면, 무엇을 기준으로 먼저 보고, 무엇을 줄일 것인가?

Part 1에서 휴리스틱(heuristic), 휴리스틱 함수(heuristic function), 충분히 좋은 해(good-enough solution)의 기본 구분은 이 절에서 잡습니다. 7.1에서는 왜 탐색 공간이 커질 때 계산 한계가 생기는지 먼저 잡았고, 여기서는 그 한계를 줄이기 위해 어떤 기준을 두는지에 집중합니다. 휴리스틱과 확률 모델, 학습 모델의 더 분명한 경계는 7.3에서 다시 정리합니다.

휴리스틱은 정답을 보장하는 공식이 아니라, 먼저 볼 후보를 정하는 경험적 기준이다.

어원: 발견을 돕는다는 뜻

휴리스틱(heuristic)의 어원은 이 개념을 이해하는 데 도움이 됩니다. Online Etymology Dictionary는 heuristic이 그리스어 heuriskein에서 왔고, “찾다, 알아내다, 발견하다”의 의미와 연결된다고 설명합니다. 같은 어근은 “찾았다”라는 의미로 알려진 eureka와도 연결됩니다.

그래서 휴리스틱을 한국어로 이해할 때는 “정답을 맞히는 요령”보다 “찾아내기 위한 방법”에 가깝게 읽는 쪽이 더 안전합니다.

휴리스틱은 답을 이미 알고 있다는 뜻이 아니라, 답을 찾기 위해 어디를 먼저 볼지 정하는 방법이다.

이 문장은 휴리스틱은 정답을 대신하는 것이 아니라 탐색 순서를 정하는 기준이라는 뜻입니다. 그래서 휴리스틱이 유용하더라도, 그 자체가 진실이나 최종 근거를 보장하는 것은 아닙니다.

이 어원은 7.1의 탐색(search)과도 잘 이어집니다. 탐색 공간(search space)이 너무 넓을 때 휴리스틱은 모든 곳을 다 뒤지는 대신, 발견 가능성이 더 높아 보이는 방향을 먼저 보게 합니다.

발상: 사람은 모든 경우를 다 보지 못한다

AI에서 휴리스틱 발상이 중요해진 배경에는 “사람은 문제를 어떻게 푸는가”라는 질문이 있습니다. Allen Newell과 Herbert A. Simon의 초기 AI 연구는 컴퓨터를 단순히 빠른 계산기로 보는 데서 멈추지 않고, 사람의 문제 해결(problem solving)을 시뮬레이션하는 도구로 보려 했습니다.

ACM의 Newell 소개는 Newell이 George Pólya의 수학적 문제 해결 강의를 접했고, 사람이 완전한 알고리즘으로 모든 문제를 풀 시간이나 처리 능력을 갖지 못한다고 보았다고 설명합니다. 그래서 사람은 단순화된 규칙, 즉 휴리스틱을 사용해 해를 향한 선택적 탐색(selective search)을 수행한다고 정리합니다.

Simon의 관점도 이 흐름과 연결됩니다. Nobel Prize 자료는 Simon이 완전히 합리적인 선택이라는 기존 경제학의 가정과 달리, 실제 사람과 조직은 엄격한 합리성에서 벗어난 선택을 한다고 보았다고 설명합니다. ACM의 Simon 소개도 사람이 모든 정보와 시간을 갖지 못하므로, 최적으로 합리적인 선택 대신 만족할 만한 결과를 받아들이는 휴리스틱을 사용한다고 설명합니다.

이 흐름을 입문 수준으로 정리하면 다음과 같습니다.

휴리스틱의 발상은 사람처럼 생각한다는 낭만적 표현보다, 제한된 시간과 정보 안에서 문제를 풀기 위해 모든 후보를 보지 않는 선택 기준을 만든다는 생각에 가깝다.

이 관점은 Logic Theorist와 General Problem Solver(GPS) 같은 초기 AI 프로그램으로 이어졌습니다. 이 프로그램들은 사람이 문제를 푸는 방식처럼 목표 상태와 현재 상태의 차이를 줄이고, 모든 가능성을 전부 나열하기보다 유망한 방향을 먼저 살피려 했습니다.

따라서 휴리스틱을 “찍기”나 “요령”으로만 이해하면 부족합니다. 초기 AI에서 휴리스틱은 다음 질문에 대한 답이었습니다.

완전 탐색이 현실적으로 어렵다면, 컴퓨터가 어떤 기준으로 사람처럼 후보를 줄이며 문제를 풀게 할 것인가?

여기서는 A 탐색(A search), greedy best-first search, admissible heuristic, consistent heuristic 같은 알고리즘 세부 조건을 계산하지 않습니다.

또한 휴리스틱을 확률 모델(probabilistic model)이나 학습된 모델(learned model)과 같은 것으로 설명하지 않습니다. 휴리스틱과 확률 모델의 차이는 7.3에서 따로 다룹니다.

여기서는 다음 정도만 잡습니다.

휴리스틱은 탐색 공간이 너무 클 때 후보 수, 시간, 메모리, 비교 부담을 줄이는 기준이다.

휴리스틱이 줄이는 탐색 비용

  • 휴리스틱(heuristic)을 “탐색이나 판단을 유망한 방향으로 이끄는 경험적 기준”으로 이해합니다.
  • 휴리스틱이 후보(candidate), 시간(time), 메모리(memory), 비교 부담(evaluation burden)을 어떻게 줄이는지 설명할 수 있습니다.
  • 휴리스틱 함수(heuristic function)를 “후보에 점수나 추정값을 붙여 우선순위를 정하는 방식”으로 이해합니다.
  • 충분히 좋은 해(good-enough solution, satisficing solution)가 왜 필요한지 이해합니다.
  • 휴리스틱은 빠른 판단을 돕지만, 최적해(optimal solution)를 보장하지 않는다는 점을 기억합니다.

세 가지 기준

여기서는 휴리스틱 공식을 외우기보다, 왜 후보를 줄여야 하는지 설명하는 데 목적을 둡니다. 아래 세 가지를 먼저 가릅니다.

기준 왜 중요한가 이 절에서 이해할 수준
휴리스틱은 정답 공식이 아니라 먼저 볼 후보를 정하는 기준이라는 점 휴리스틱을 “찍기”나 “요령” 정도로 오해하지 않게 해 줍니다. 답을 보장하지 않아도 탐색을 줄여 주는 기준이라고 이해합니다.
휴리스틱은 시간, 메모리, 비교 부담을 줄인다는 점 계산 한계와 실제 문제 해결이 어떻게 연결되는지 보여 줍니다. 모든 후보를 다 보지 않기 위한 장치라고 봅니다.
충분히 좋은 해(good-enough solution)가 현실에서 중요하다는 점 최적해만 찾으려는 사고에서 벗어나게 해 줍니다. 완벽한 답보다 제한된 시간 안의 쓸 만한 답이 중요할 때가 많다는 점을 이해합니다.

휴리스틱, 휴리스틱 함수, 좋은 해, 최적해, 검증은 초반에 비슷한 판단 기준처럼 들릴 수 있습니다. 아래처럼 자리만 짧게 구분해 둡니다.

용어 아주 짧은 뜻 이 절에서의 역할
휴리스틱 먼저 볼 후보와 줄일 후보를 정하는 경험적 기준 탐색을 줄이는 중심 아이디어
휴리스틱 함수 후보에 유망함의 추정값을 붙이는 기준 우선순위를 계산하는 구체적 형태
충분히 좋은 해 제한된 시간 안에 쓸 만한 답 현실 문제에서 자주 목표가 되는 수준
최적해 가능한 후보 중 가장 좋은 답 휴리스틱이 항상 보장하지 않는 목표
검증 휴리스틱이 놓친 문제를 다시 확인하는 절차 빠른 판단을 그대로 믿지 않게 하는 장치

여기서는 휴리스틱은 탐색 축소, 휴리스틱 함수는 점수 기준, 좋은 해는 실용적 답, 최적해는 이상적 답, 검증은 빠진 것을 다시 보는 절차라는 자리 구분을 유지합니다.

휴리스틱은 모든 후보를 보지 않기 위한 기준이다

Poole과 Mackworth는 사람이 모든 문제에서 최적해(optimal solution)를 찾지는 않으며, 종종 충분히 좋은 해(good-enough solution)를 찾는다고 설명합니다. 또한 탐색 공간(search space)만으로는 부족할 때, 특수한 경우에 대한 추가 지식이 해를 찾는 방향을 안내할 수 있으며 이것을 휴리스틱 지식(heuristic knowledge)이라고 설명합니다.

가능한 후보가 너무 많을 때, 더 유망해 보이는 후보를 먼저 보게 하는 기준

예를 들어 길 찾기에서 목적지까지의 직선거리(straight-line distance)를 생각해 볼 수 있습니다. 목적지와 가까운 방향을 먼저 보는 것은 합리적으로 보입니다. 하지만 실제 도로에는 강, 다리, 산, 공사 구간, 일방통행이 있을 수 있습니다.

따라서 직선거리는 좋은 힌트가 될 수 있지만, 항상 실제 최단 경로(shortest path)를 보장하지는 않습니다.

관점 설명
도움이 되는 점 목적지에서 멀어지는 후보를 뒤로 미룰 수 있음
줄이는 것 살펴볼 후보 수, 비교 시간
위험 실제 도로 조건을 무시하면 좋은 경로를 놓칠 수 있음
필요한 태도 휴리스틱 결과를 정답처럼 보지 않고 검증함

휴리스틱은 무엇을 줄이는가

휴리스틱은 단순히 “빠르게 찍는 방법”이 아닙니다. 무엇을 줄이는지 분명히 보면 의미가 더 정확해집니다.

줄이는 대상 의미 예시
후보 수(candidate set) 모든 후보를 보지 않고 일부를 우선 검토 목적지와 너무 멀어지는 길은 뒤로 미룸
탐색 깊이(search depth) 너무 긴 경로를 일찍 중단 일정 단계 이상 실패하면 다른 후보로 이동
시간(time) 비교와 계산에 쓰는 시간을 줄임 가능성이 높은 후보부터 확인
메모리(memory) 저장해야 할 중간 상태를 줄임 모든 경로를 저장하지 않고 일부만 유지
비교 부담(evaluation burden) 무엇이 더 나은지 판단하는 비용을 줄임 간단한 점수로 우선순위를 정함
수정 비용(rework cost) 나중에 크게 고칠 가능성을 줄임 근거가 약한 문장은 초안에서 제외

이 표에서 중요한 점은 “휴리스틱이 줄이는 것”과 “휴리스틱이 보장하는 것”을 구분하는 것입니다.

휴리스틱은 탐색을 줄일 수 있다. 하지만 줄인 후보 안에 항상 최선의 답이 남아 있다고 보장하지는 않는다.

현대적인 휴리스틱 예시

휴리스틱은 초기 AI에만 있던 표현이 아닙니다. 현대 AI 서비스와 머신러닝 실무에서도 “모든 후보를 다 볼 수 없으니 어떤 기준으로 줄일 것인가”라는 문제가 계속 나타납니다.

다만 아래 예시는 모두 같은 층위(level)의 기술이 아닙니다. 어떤 것은 사람이 정하는 운영 기준이고, 어떤 것은 모델을 개발할 때 쓰는 탐색 전략이며, 어떤 것은 AI가 생성한 후보를 평가하는 자동화된 절차입니다. 공통점은 후보를 줄이거나 우선순위를 정한다는 점입니다.

현대적 상황 휴리스틱처럼 쓰이는 기준 줄이는 것 검증해야 할 점
분류 모델(classification model) 운영 분류 임계값(classification threshold)을 정해 자동 처리와 사람 검토를 나눔 사람이 봐야 할 요청 수, 자동화 판단 후보 오탐(false positive), 미탐(false negative), 임계값 변경의 영향
모델 개발(model development) 단순한 모델에서 시작하고, 검증 점수(validation score)가 나쁜 후보를 줄임 모델 후보, 튜닝 시간, 실험 비용 검증 데이터에만 맞춘 과적합(overfitting)
하이퍼파라미터 튜닝(hyperparameter tuning) 모든 조합을 다 보지 않고 학습률(learning rate), 모델 크기, 규제(regularization) 범위를 좁힘 조합 폭발, 학습 시간 탐색하지 않은 범위에 더 좋은 후보가 있을 가능성
생성형 AI(generative AI) 검토 초안 생성 뒤 근거가 없는 문장, 범위 밖 문장, 중복 문장을 제거 검토할 문장 수, 수정 비용 그럴듯하지만 근거 없는 문장
에이전트(agent) 워크플로우 검색, 파일 읽기, 빌드, 테스트 같은 도구 사용 순서를 정함 불필요한 도구 호출, 반복 작업 잘못된 순서로 인한 누락과 과신
프로그램 탐색(program search) FunSearch처럼 생성된 프로그램을 자동 평가하고 높은 점수의 후보를 다시 사용 프로그램 후보, 사람이 직접 비교할 부담 평가 함수가 실제 목표를 잘 반영하는지

예를 들어 Google의 Machine Learning Glossary는 분류 임계값(classification threshold)이 사람이 선택하는 값이며, 그 선택이 거짓 양성(false positive)과 거짓 음성(false negative)의 수에 영향을 준다고 설명합니다. 이 값은 모델이 학습한 파라미터(parameter)가 아니라, 서비스 운영에서 어떤 후보를 자동 처리할지 정하는 기준입니다.

DeepMind의 FunSearch 사례도 현대적 휴리스틱을 이해하는 데 도움이 됩니다. FunSearch는 LLM이 만든 프로그램 후보를 자동 평가하고, 높은 점수의 프로그램을 다음 탐색의 재료로 삼습니다. 특히 온라인 bin packing 문제에서 기존에는 사람 경험에 기반한 규칙형 휴리스틱이 쓰였고, FunSearch는 데이터 상황에 맞춘 프로그램을 찾아 기존 휴리스틱보다 더 적은 bin을 사용했다고 설명합니다.

여기서 중요한 점은 “현대 AI가 휴리스틱을 없앴다”가 아니라는 것입니다.

현대 AI는 휴리스틱을 없앤 것이 아니라, 휴리스틱을 사람이 정한 규칙, 검증 기준, 평가 함수, 자동 탐색 절차로 다시 배치하고 있다.

다만 이 문장은 조심해서 읽어야 합니다. 모든 AI 시스템이 휴리스틱으로만 설명된다는 뜻은 아닙니다. 학습된 모델, 확률적 판단, 최적화, 검색, 평가 절차가 함께 쓰이는 시스템 안에서 휴리스틱이 후보를 줄이는 기준으로 계속 등장한다는 뜻입니다.

휴리스틱 함수(heuristic function)는 후보에 추정값을 붙인다

AI 교재에서 휴리스틱은 종종 휴리스틱 함수(heuristic function)로 설명됩니다. 함수(function)라는 말이 나오면 어렵게 느껴질 수 있지만, 여기서는 다음 기준으로 읽으면 됩니다.

후보를 입력으로 받아, 그 후보가 얼마나 유망한지 추정값을 돌려주는 기준

길 찾기 예시에서는 다음처럼 표현할 수 있습니다.

후보 휴리스틱 함수의 추정값 예시
A 교차로 목적지까지 직선거리 2km
B 교차로 목적지까지 직선거리 5km
C 교차로 목적지까지 직선거리 9km

이 경우 A 교차로를 먼저 살펴보는 전략을 세울 수 있습니다. 하지만 이 숫자는 실제 도착 시간을 그대로 뜻하지 않습니다. 직선거리 2km인 길이 막혀 있고, 직선거리 5km인 길이 고속도로라면 결과는 달라질 수 있습니다.

즉 휴리스틱 함수는 정답 함수가 아닙니다. 후보를 살펴볼 순서를 정하는 추정 함수에 가깝습니다.

충분히 좋은 해(good-enough solution)가 필요한 이유

작은 문제에서는 최적해(optimal solution)를 찾는 것이 자연스럽습니다. 하지만 후보가 너무 많거나 시간이 제한되어 있으면, 현실적인 시스템은 충분히 좋은 해(good-enough solution)를 찾아야 할 수 있습니다.

예를 들어 배달 경로를 정한다고 해 봅니다.

목표 설명
최적해(optimal solution) 가능한 모든 경로 중 가장 짧거나 비용이 낮은 경로
충분히 좋은 해(good-enough solution) 제한 시간 안에 서비스 품질을 만족하는 경로

최적해가 항상 필요하지 않다는 뜻은 아닙니다. 안전, 의료, 금융, 법률처럼 실패 비용이 큰 영역에서는 더 엄격한 검증이 필요합니다. 다만 많은 운영 문제에서는 “완벽한 해를 너무 늦게 찾는 것”보다 “검증 가능한 좋은 해를 제때 쓰는 것”이 더 중요할 수 있습니다.

휴리스틱은 이 지점에서 의미를 갖습니다.

완벽한 답을 보장하지는 않지만, 제한된 시간과 자원 안에서 쓸 만한 후보를 찾게 한다.

익숙한 작업에도 휴리스틱이 보인다

휴리스틱은 길찾기나 알고리즘 설계에만 있는 것이 아닙니다. 익숙한 정리 작업에서도 비슷한 기준이 쓰입니다. 이 예시는 알고리즘 설명이 아니라, 휴리스틱 감각을 잡기 위한 비유입니다.

작성 상황 사용할 수 있는 휴리스틱 줄이는 것
섹션 주제가 흔들림 한 섹션에는 하나의 중심 질문만 둠 범위 확장, 독자 혼란
설명이 과감해짐 외부 근거가 없는 단정은 보류 오류 가능성
용어가 오해될 수 있음 학술 용어는 한영 병기 의미 혼동
내용이 다른 장을 침범함 다음 섹션이나 뒤 장으로 넘김 도메인 오염
예시가 너무 많아짐 핵심 개념을 설명하는 예시만 남김 분량 증가

이런 기준은 정답을 보장하지 않습니다. 하지만 초안을 빠르게 정리하고, 검토할 지점을 선명하게 만드는 데 도움이 됩니다.

여기서도 중요한 태도는 같습니다.

휴리스틱은 검증을 대신하지 않는다. 검증할 초점을 줄여 준다.

휴리스틱의 위험

휴리스틱은 유용하지만 위험도 있습니다. 탐색을 줄인다는 말은 일부 후보를 덜 보거나 보지 않는다는 뜻이기 때문입니다.

위험 설명 대응
최적해 누락 더 좋은 후보를 일찍 버릴 수 있음 표본 후보를 다시 확인
편향(bias) 과거 경험이 특정 방향으로 판단을 기울일 수 있음 다른 기준과 비교
과신(overconfidence) 빠른 판단을 정답처럼 믿을 수 있음 실패 사례를 기록
문맥 불일치 한 문제에서 통하던 기준이 다른 문제에서 실패할 수 있음 적용 조건을 명시
근거 누락 그럴듯한 설명이 사실처럼 보일 수 있음 출처와 검증 절차를 분리

휴리스틱은 “생각을 빠르게 만드는 장치”입니다. 하지만 빠른 생각은 틀릴 수도 있습니다. 그래서 휴리스틱을 쓸수록 더 분명한 검증 기준이 필요합니다.

휴리스틱과 규칙, 확률, 학습은 다르다

휴리스틱은 다른 개념과 쉽게 섞입니다. 여기서는 다음 기준으로 구분합니다.

구분 중심 역할 휴리스틱과의 차이
규칙(rule) 조건에 따라 행동을 명시 휴리스틱은 정답 조건보다 우선순위나 방향을 주는 경우가 많음
확률 모델(probabilistic model) 불확실성을 숫자와 분포로 표현 휴리스틱은 확률처럼 보일 수 있지만 반드시 보정된 확률은 아님
최적화(optimization) 목적 함수를 기준으로 더 좋은 해를 찾음 휴리스틱은 최적화를 돕는 기준일 수 있지만 최적화 자체는 아님
학습(learning) 데이터에서 판단 기준이나 표현을 조정 휴리스틱은 사람이 만들 수도 있고 경험에서 배울 수도 있음
모델(model) 입력을 출력으로 바꾸는 구조 휴리스틱은 모델의 일부 기준이 될 수 있지만 모델 전체와 같지 않음

이 구분은 7.3으로 이어집니다. 특히 휴리스틱과 확률 모델(probabilistic model)은 모두 불확실한 상황에서 쓰일 수 있지만 같은 말이 아닙니다.

체크리스트

  • 휴리스틱(heuristic)을 후보를 줄이고 우선순위를 정하는 경험적 기준으로 설명할 수 있다.
  • 휴리스틱이 후보 수, 시간, 메모리, 비교 부담을 줄인다는 점을 설명할 수 있다.
  • 휴리스틱 함수(heuristic function)를 후보에 추정값을 붙이는 기준으로 설명할 수 있다.
  • 충분히 좋은 해(good-enough solution)와 최적해(optimal solution)를 구분할 수 있다.
  • 휴리스틱은 정답, 확률 모델, 학습 모델과 같은 말이 아님을 설명할 수 있다.
  • 휴리스틱을 사용할수록 검증 기준이 필요하다는 점을 설명할 수 있다.
  • 휴리스틱이 무엇을 줄이는지와 무엇을 보장하지 않는지 함께 설명할 수 있다.
  • 휴리스틱 함수, 충분히 좋은 해, 검증 기준이 어디서 연결되는지 설명할 수 있다.

출처와 참고 자료