np-completeness

Audit NP-hardness proofs and polynomial-time reductions for decision problems.

7|Updated Apr 24, 2026
One-click install
npx skills add https://github.com/Arcadi4/nerdy --skill np-completeness
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: np-completeness
Source: https://github.com/Arcadi4/nerdy/tree/main/clrs/np-completeness
Command: npx skills add https://github.com/Arcadi4/nerdy --skill np-completeness

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps researchers and students formally verify NP-hardness and NP-completeness by guiding the creation of polynomial-time reductions, defining decision languages, and validating certificate-based NP-membership.

Core Features & Use Cases

  • Define a problem's decision language and input encoding.
  • Propose reductions from canonical NP-complete problems (SAT, CIRCUIT-SAT, CLIQUE, VERTEX-COVER, HAM-CYCLE, TSP, SUBSET-SUM) and prove forward and reverse directions.
  • Provide a structured framework for completeness proofs, including encoding size arguments and reduction composition.

Quick Start

Outline a complete NP-completeness analysis for a target problem by selecting a known NP-complete source, constructing a polynomial-time reduction, and proving membership and hardness.

Frequently Asked Questions about np-completeness

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I construct a polynomial-time reduction to prove NP-completeness for a decision problem?

To prove NP-completeness, construct a polynomial-time reduction from a known NP-complete problem like SAT or CLIQUE to your target decision problem, verifying both forward and reverse directions along with polynomial construction bounds.

What is the correct way to define a decision language for an NP-hardness proof?

Defining a decision language for an NP-hardness proof requires specifying the problem's input encoding and certificate verification process to establish NP-membership before proving NP-hardness through polynomial-time reductions.

Can I verify reductions from classic template problems like VERTEX-COVER and SUBSET-SUM?

Yes, you can verify reductions from classic template problems including VERTEX-COVER, SUBSET-SUM, CIRCUIT-SAT, and HAM-CYCLE by checking encoding size arguments, reduction composition, and certificate-based NP-membership.

How do I prove a problem is in P, NP, NP-hard, or NP-complete?

Classify a problem as in P, NP, NP-hard, or NP-complete by verifying certificate-based NP-membership and constructing polynomial-time reductions from canonical NP-complete problems to establish NP-hardness within theoretical computer science contexts.

What are the limitations when auditing NP-hardness proofs for custom decision problems?

Limitations include the necessity to strictly enforce definitions of decision languages, verify encoding size, ensure both forward and reverse reduction directions, and maintain polynomial construction bounds for the target problem.