The overall goal of POCOCOP is the systematic understanding of polynomial-time computation: ways to solve computational problems so that the number of steps required in the worst case before obtaining a solution grows only polynomially with the size of instances of the problem (avoiding, in particular, exponential explosion of the time needed). The main motivation for this goal is that the class of polynomial-time computable problems is widely considered the most important and robust class for the study of efficient computation, and computation is ubiquitous in the world.
Our main focus lies on Constraint Satisfaction Problems, that is, computational problems where values have to be assigned to given variables subject to constraints: for example, solving systems of equations or sudokus. For such problems, we strive for the ideal trinity: a uniform notion of reduction allowing us to compare their complexity; a uniform description of those problems that can be solved in polynomial time (and hence, also of those problems for which this is not the case); and a uniform polynomial-time algorithm solving them.
A significant unification has previously been achieved for “basic” Constraint Satisfaction Problems that capture exact solvability of problems that allow only finite sets of values for the variables. POCOCOP concentrates on extensions of these problems in three dimensions: from finite sets of values towards infinite ones; from finding exact solutions to approximating solutions; and from finding just any solution to finding an optimal one.
Our approach towards achieving this goal is the opening of three “blackboxes” containing Zhuk’s algorithm, Linear Programming, and the PCP theorem. Each of these boxes contains a powerful technology (an algorithm in the former two cases, and a hardness tool in the latter), which we take from the box, improve, and apply outside its traditional scope.