2.2 KiB
2.2 KiB
id: CS-GREEDY-001 category: "10_Wiki/💡 Topics/AI" confidence_score: 1.0 tags: [computer-science, algorithms, greedy-algorithm, Optimization, Search-strategies] last_reinforced: 2026-04-26
Greedy Algorithms (탐욕 알고리즘)
📌 한 줄 통찰 (The Karpathy Summary)
"매 순간 눈앞의 가장 큰 이득만을 취하라. 때로는 단순한 탐욕이 가장 효율적인 정답으로 인도한다" — 전역적인 최적해를 찾기 위해 복잡하게 고민하는 대신, 각 단계에서 국소적으로 가장 좋은 선택(Local Optimum)을 반복하여 최종 해를 도출하는 설계 기법.
📖 구조화된 지식 (Synthesized Content)
- 추출된 패턴: "Greedy Choice Property"와 "Optimal Substructure"가 성립하는 문제에서, 과거의 선택을 뒤돌아보지 않고 현재의 최선만을 선택하여 연산 효율을 극대화하는 패턴.
- 핵심 특징:
- Local Optimum: 각 단계에서의 최선의 선택.
- No Backtracking: 한 번 내린 결정은 번복하지 않음.
- Efficiency: 동적 계획법(DP)보다 연산 속도가 압도적으로 빠름.
- 적용 사례: Dijkstra의 최단 경로 알고리즘, Prim/Kruskal의 최소 신장 트리(MST), 허프만 코딩(Huffman Coding), 거스름돈 문제.
- 한계: 모든 문제에서 전역 최적해(Global Optimum)를 보장하지는 않으므로 사용 전 수학적 검증이 필요함.
⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- 과거 데이터와의 충돌: 완벽한 정답(Optimal Solution)만을 추구하던 경직된 사고에서, 실시간성이나 연산 자원이 중요한 환경에서는 '충분히 좋은 해(Heuristic)'를 빠르게 찾는 탐욕적 방식이 더 현실적일 수 있음을 인정.
- 정책 변화: Antigravity 프로젝트의 실시간 지식 임베딩 클러스터링 알고리즘은 연산 부하를 줄이기 위해 일부 단계에서 탐욕적 접근 방식을 채택하여 빠른 반응성을 유지함.
🔗 지식 연결 (Graph)
- Global-vs-Local-Optima, Search-Algorithms, Heuristic-Search, Dynamic-Programming-Foundations
- Raw Source: 10_Wiki/Topics/AI/Greedy-Algorithms.md