Automatic Evaluation of Reductions between NP-Complete Problems
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.
KeywordsSAT application Reductions NP-completeness Self- learning
Unable to display preview. Download preview PDF.
- 1.Khan, S.: Khan Academy (2006), http://www.khanacademy.org
- 2.Ng, A., Koller, D.: Coursera (2012), http://www.coursera.org
- 3.Thrun, S., Stavens, D., Sokolsky, M.: Udacity (2012), http://www.udacity.com
- 4.Agarwal, A.: edX (2012), http://www.edx.org
- 5.García, C., Revilla, M.A.: UVa online judge (1997), http://uva.onlinejudge.org
- 6.Hughes, J.: TopCoder (2000), http://www.topcoder.com
- 7.Mirzayanov, M.: Codeforces (2010), http://www.codeforces.com
- 8.Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, 3rd edn. Addison-Wesley (2006)Google Scholar
- 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
- 11.Sörensson, N., Eén, N.: MiniSat 2.1 and MiniSat++ 1.0. Tech. rep., SAT Race 2008 Editions (2008)Google Scholar