--- id: COMP-THEORY-001 category: Dev confidence_score: 1.0 tags: [computer-science, math, complexity-theory, p-vs-np, [[Logic|Logic]]] last_reinforced: 2026-04-26 --- # [[Complexity Theory|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|Algorithm-Complexity-Big-O]], [[Combinatorial-Optimization|Combinatorial-Optimization]], Turing-Machine-Foundations, Cryptography - **Raw Source:** 10_Wiki/Topics/AI/Complexity-Theory.md