← Back to CoursesComputer Science: PhD Level

Neuroanatomy Explorer

Drag to rotate · scroll to zoom · click regions to explore

View
Loading 3D model…

Click a region
to explore it

Memory Deck

Flip each card and rate whether you knew it. Your score is saved.

Term
Definition

Deck complete — score saved.

Match the Pairs

Match each term to its definition. Finish the board to earn your score.

All matched — score saved.

Concept Constellation

Every key idea in this course, mapped as an explorable 3D constellation. Drag to rotate, scroll to zoom, click a node.

Click a node to read its definition.

Advanced Algorithms, Complexity, and Reductions

Manual: General · Subject: Computer Science

Build a research-level foundation in algorithm design, NP-completeness, approximation, and lower-bound reasoning.

Why Complexity Theory Matters

Research Perspective

Computational complexity studies what can be solved efficiently, what likely cannot, and what trade-offs arise when exact solutions are infeasible. At the PhD level, the focus shifts from memorizing classes to proving relationships, designing reductions, and understanding barriers such as relativization, natural proofs, and algebrization.

Core Classes

PP
Decision problems solvable in polynomial time on a deterministic Turing machine.
NPNP
Decision problems whose solutions can be verified in polynomial time.
coNPcoNP
Complements of problems in NPNP.
PSPACEPSPACE
Problems solvable using polynomial space.
BPPBPP
Problems solvable in randomized polynomial time with bounded error.
🔑

Central Thesis

A major theme in complexity theory is that algorithm design and hardness theory are inseparable: a good reduction is both a proof tool and a map of computational structure.

Canonical Reduction Workflow

  1. 1

    Step 1: Identify the target problem and its decision version.

  2. 2

    Step 2: Choose a source problem with known hardness.

  3. 3

    Step 3: Construct a polynomial-time mapping that preserves yes/no answers.

  4. 4

    Step 4: Prove correctness in both directions.

  5. 5

    Step 5: Argue polynomial-time size and time bounds.

Exact vs Approximate Computation

Exact Algorithms

  • Return optimal answers
  • Often exponential for NP-hard problems
  • Useful when structure enables pruning or dynamic programming

Approximation Algorithms

  • Return provably near-optimal answers
  • Polynomial-time for many hard problems
  • Usually expressed via approximation ratios or guarantees

Which statement best characterizes a polynomial-time many-one reduction from problem AA to problem BB?

What does it mean to prove that a problem is NP-complete?

Approximation and Inapproximability

For many combinatorial problems, exact optimization is NP-hard, but approximation algorithms provide structured compromise. Research questions ask which approximation ratios are achievable efficiently and which are impossible unless widely believed complexity assumptions fail, such as P<br>eqNPP <br>eq NP or stronger hypotheses like the Unique Games Conjecture.

Why are lower bounds in complexity theory notoriously difficult to prove for general models?