--- id: CS-GREEDY-001 category: Unified confidence_score: 1.0 tags: [computer-science, algorithms, greedy-algorithm, [[Optimization|Optimization]], [[Search|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|Efficiency]]:** 동적 계획법(DP)보다 연산 속도가 압도적으로 빠름. - **적용 사례:** Dijkstra의 최단 경로 알고리즘, Prim/Kruskal의 최소 신장 트리(MST), 허프만 코딩(Huffman Coding), 거스름돈 문제. - **한계:** 모든 문제에서 전역 최적해(Global Optimum)를 보장하지는 않으므로 사용 전 수학적 검증이 필요함. ## ⚠️ 모순 및 업데이트 (Contradictions & RL Update) - **과거 데이터와의 충돌:** 완벽한 정답(Optimal [[Solution|Solution]])만을 추구하던 경직된 사고에서, 실시간성이나 연산 자원이 중요한 환경에서는 '충분히 좋은 해(Heuristic)'를 빠르게 찾는 탐욕적 방식이 더 현실적일 수 있음을 인정. - **정책 변화:** Antigravity 프로젝트의 실시간 지식 임베딩 클러스터링 알고리즘은 연산 부하를 줄이기 위해 일부 단계에서 탐욕적 접근 방식을 채택하여 빠른 반응성을 유지함. ## 🔗 지식 연결 (Graph) - [[Global-vs-Local-Optima|Global-vs-Local-Optima]], Search-Algorithms, [[Heuristic-Search|Heuristic-Search]], [[Dynamic-Programming|Dynamic-Programming]]-Foundations - **Raw Source:** 10_Wiki/Topics/AI/Greedy-Algorithms.md