Computational complexity theory - Wikipedia

This resource provides a mathematical formalization of what makes computational problems difficult, focusing on the resources (like time and storage) required to solve them. It distinguishes itself from algorithm analysis by examining the inherent difficulty of problems rather than specific algorithms, and from computability theory by considering resource limitations. The content delves into defining complexity classes and hierarchy theorems.

概览

收录于

2026年3月17日

学科与领域

computer-science-fundamentals · theory-of-computation

年级范围

九年级(高一)–十二年级(高四)

页面类型

Article

简介

Computational Complexity Theory Overview

  • Core Definition: A branch of theoretical computer science that classifies computational problems based on the resources (time, storage, communication, etc.) required to solve them.
  • Key Objective: To determine the practical limits of what computers can and cannot do by analyzing all possible algorithms for a given problem, rather than just one specific algorithm.
  • Problem vs. Instance:
    • Problem: An abstract question (e.g., primality testing).
    • Instance: A specific input for that problem (e.g., the number 15). Complexity theory focuses on the problem, not individual instances.
  • Types of Problems:
    • Decision Problems: Problems with a "yes" or "no" output (e.g., "Is this graph connected?"). These are the central objects of study and can be viewed as formal languages.
    • Function Problems: Problems requiring a more complex output (e.g., integer factorization or the traveling salesman problem). These can be recast as decision problems.
  • Measuring Complexity:
    • Complexity is expressed as a function of the input size ($n$), typically measured in bits.
    • Worst-case time complexity: The maximum time required for any input of size $n$.
    • Polynomial time: Algorithms where the time taken is a polynomial function of $n$.
    • Cobham's Thesis: Proposes that problems solvable in polynomial time are "feasible."
  • Mathematical Models:
    • Turing Machine: The standard theoretical model used to represent any computing device.
    • Church–Turing Thesis: The belief that any algorithmically solvable problem can be solved by a Turing machine.
    • Machine Variations: Includes deterministic, probabilistic, non-deterministic, and quantum Turing machines, which help define various complexity classes.
  • Related Fields:
    • Analysis of Algorithms: Focuses on the resource usage of a specific algorithm.
    • Computability Theory: Asks what can be solved in principle, without resource restrictions.
  • Notable Problem: The P versus NP problem, one of the seven Millennium Prize Problems, is a central topic in the field.

用户评价

暂无已发布的评价,欢迎率先分享您的使用体验。