Skip to main content
QUICK REVIEW

[Paper Review] Refutation of Aslam's Proof that NP = P

Frank J. Ferraro, Garrett Hall|ArXiv.org|Apr 24, 2009
Advanced Mathematical Theories3 citations
TL;DR

This paper refutes Aslam's claimed proof that NP = P by demonstrating a critical flaw in his algorithm for counting perfect matchings in bipartite graphs. The authors show that Aslam's method incorrectly combines surplus edges during path enumeration, leading to overcounting in a concrete counter-example with exactly three valid perfect matchings, yet the algorithm returns five, invalidating his claim that #P ⊆ FP and thus NP = P.

ABSTRACT

Aslam presents an algorithm he claims will count the number of perfect matchings in any incomplete bipartite graph with an algorithm in the function-computing version of NC, which is itself a subset of FP. Counting perfect matchings is known to be #P-complete; therefore if Aslam's algorithm is correct, then NP=P. However, we show that Aslam's algorithm does not correctly count the number of perfect matchings and offer an incomplete bipartite graph as a concrete counter-example.

Motivation & Objective

  • To challenge Aslam's claim that NP = P by rigorously analyzing his algorithm for counting perfect matchings in bipartite graphs.
  • To identify and demonstrate a specific flaw in Aslam's algorithm that leads to incorrect enumeration of perfect matchings.
  • To construct a concrete counter-example with a known number of valid perfect matchings to disprove Aslam's algorithmic correctness.
  • To show that the algorithm's method of combining surplus edges during path multiplication results in overcounting, invalidating the claim that #P ⊆ FP.
  • To establish that Aslam's proof fails because his algorithm does not correctly enumerate perfect matchings in incomplete bipartite graphs.

Proposed method

  • The authors analyze Aslam's algorithm based on version 9 of his paper, focusing on the use of generating graphs Γ(n) and complete valid multiplication paths (CVMPs) to enumerate perfect matchings.
  • They define perfect matchings as permutations derived from sequences of transpositions, and represent them via edge sets derived from node pairs in Γ(n).
  • The method involves constructing a specific incomplete bipartite graph BG′ by removing edge {76} from the union of all edge sets of CVMPs, ensuring only three valid perfect matchings remain.
  • The authors simulate the algorithm’s execution on a subgraph γ of Γ(9), tracking VMPSet creation, addition, and joining operations across iterations.
  • They identify that the algorithm incorrectly combines surplus edges (SE) from VMPSet(c₄,c₆), which have the same SE as the edge requirements (ER) of VMPSet(c₁,c₃), leading to overcounting.
  • The key flaw is that the algorithm multiplies VMPSet(c₄,c₆) and VMPSet(c₁,c₃) without accounting for conflicting edge requirements, resulting in spurious enumeration of two invalid matchings.

Experimental results

Research questions

  • RQ1Does Aslam's algorithm correctly enumerate all perfect matchings in an incomplete bipartite graph using CVMPs in the generating graph Γ(n)?
  • RQ2Can a counter-example be constructed where the algorithm returns more perfect matchings than actually exist in a given incomplete bipartite graph?
  • RQ3Is the algorithm's method of combining VMPSet objects via addition and multiplication valid when surplus edges from one set match the edge requirements of another?
  • RQ4Does the overcounting arise from improper handling of edge requirements (ER) and surplus edges (SE) during path multiplication?
  • RQ5If the algorithm overcounts in a case with exactly three valid perfect matchings, does this invalidate Aslam's claim that #P ⊆ FP and thus NP = P?

Key findings

  • The algorithm incorrectly returns five perfect matchings for a graph with only three valid perfect matchings, demonstrating a clear overcounting error.
  • The overcounting arises because the algorithm combines VMPSet(c₄,c₆) and VMPSet(c₁,c₃), where the SE of the former matches the ER of the latter, leading to spurious enumeration.
  • The subgraph γ contains exactly five CVMPs, but only three correspond to valid perfect matchings in BG′, as two include the missing edge {76}.
  • The algorithm fails to correctly account for edge requirements (ER) when joining VMPSet objects, violating the condition that only CVMPs with ER = ∅ should be counted.
  • The authors confirm that π(pₐₐ) = (1,9,5,7,8,6,2,4,3) and E(pₐₐ) = {19,24,31,43,57,62,76,85,98}, but {76} is not in BG′, so pₐₐ is invalid and should not be counted.
  • The flaw is systemic: the algorithm’s multiplication step does not preserve the integrity of edge requirements, invalidating its claim to count perfect matchings in NC and thus to prove NP = P.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.