Automatic Evaluation of Reductions between NP-Complete Problems

  • Carles Creus
  • Pau Fernández
  • Guillem Godoy
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8561)


We implement an online judge for evaluating correctness of reductions between NP-complete problems. The site has a list of exercises asking for a reduction between two given problems. Internally, the reduction is evaluated by means of a set of tests. Each test consists of an input of the first problem and gives rise to an input of the second problem through the reduction. The correctness of the reduction, that is, the preservation of the answer between both problems, is checked by applying additional reductions to SAT and using a state-of-the-art SAT solver. In order to represent the reductions, we have defined a new programming language called REDNP. On one side, REDNP has specific features for describing typical concepts that frequently appear in reductions, like graphs and clauses. On the other side, we impose severe limitations to REDNP in order to avoid malicious submissions, like the ones with an embedded SAT solver.


SAT application Reductions NP-completeness Self- learning 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Khan, S.: Khan Academy (2006),
  2. 2.
    Ng, A., Koller, D.: Coursera (2012),
  3. 3.
    Thrun, S., Stavens, D., Sokolsky, M.: Udacity (2012),
  4. 4.
    Agarwal, A.: edX (2012),
  5. 5.
    García, C., Revilla, M.A.: UVa online judge (1997),
  6. 6.
    Hughes, J.: TopCoder (2000),
  7. 7.
    Mirzayanov, M.: Codeforces (2010),
  8. 8.
    Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, 3rd edn. Addison-Wesley (2006)Google Scholar
  9. 9.
    Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York (1979)Google Scholar
  10. 10.
    Skyum, S., Valiant, L.G.: A complexity theory based on boolean algebra. Journal of the ACM 32(2), 484–502 (1985)CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    Sörensson, N., Eén, N.: MiniSat 2.1 and MiniSat++ 1.0. Tech. rep., SAT Race 2008 Editions (2008)Google Scholar
  12. 12.
    Biere, A.: PicoSAT essentials. Journal on Satisfiability, Boolean Modeling and Computation 4(2-4), 75–97 (2008)zbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Carles Creus
    • 1
  • Pau Fernández
    • 1
  • Guillem Godoy
    • 1
  1. 1.Department of SoftwareUniversitat Politècnica de CatalunyaSpain

Personalised recommendations