---
id: COMP-THEORY-001
category: "[[10_Wiki/💡 Topics/AI]]"
confidence_score: 1.0
tags: [computer-science, math, complexity-theory, p-vs-np, logic]
last_reinforced: 2026-04-26
---

# [[Complexity Theory (복잡성 이론)]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> "문제의 본질적 난이도를 측정하고, 계산 가능성의 경계를 설정하라" — 문제를 해결하는 데 필요한 자원(시간, 공간)의 양에 따라 문제들을 분류하고, 현실적으로 해결 가능한 문제와 불가능한 문제를 구분하는 전산학의 핵심 이론.

## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** 알고리즘의 구체적인 성능을 넘어, 문제 자체가 가진 복잡도를 수치화하여 문제 해결의 전략적 가이드라인을 제시하는 분류 패턴.
- **핵심 클래스:**
    - **P (Polynomial Time):** 효율적으로 해결 가능한 문제 (예: 정렬, 검색).
    - **NP (Nondeterministic Polynomial Time):** 답을 맞히기는 어렵지만, 주어진 답이 맞는지 확인하기는 쉬운 문제.
    - **NP-complete:** NP 문제 중 가장 어려운 문제들. 하나만 해결하면 모든 NP 문제를 해결할 수 있음 (예: SAT 문제).
    - **P vs NP:** 현대 전산학 최대의 난제. "확인이 쉬운 문제는 해결도 쉬운가?"에 대한 질문.
- **의의:** 암호학(해독하기 힘든 문제 설계)과 대규모 데이터 처리 알고리즘 설계의 이론적 기반.

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 초기에는 '정답'을 찾는 알고리즘에 집중했으나, 복잡성 이론의 발달로 인해 완벽한 정답 대신 '근사해'를 찾는 휴리스틱의 정당성이 확보됨.
- **정책 변화:** Antigravity 프로젝트는 에이전트의 작업 계획 수립 시, 해당 태스크가 NP-hard 수준의 복잡도를 가지는지 판단하여 전수 조사 대신 탐색 위주의 전략을 채택함.

## 🔗 지식 연결 (Graph)
- [[Algorithm-Complexity-Big-O]], [[Combinatorial-Optimization]], [[Turing-Machine-Foundations]], [[Cryptography]]
- **Raw Source:** [[10_Wiki/Topics/AI/Complexity-Theory.md]]
