Unique End of Potential Line
John Fearnley, Spencer Gordon, Ruta Mehta, Rahul Savani
Introduction
The complexity class contains search problems that are guaranteed to have a solution, and whose solutions can be verified in polynomial time . While it is a semantically defined complexity class and thus unlikely to contain complete problems, a number of syntactically defined subclasses of have proven very successful at capturing the complexity of total search problems. In this paper, we focus on two in particular, and . The class was introduced in to capture the difficulty of problems that are guaranteed total by a parity argument. It has attracted intense attention in the past decade, culminating in a series of papers showing that the problem of computing a Nash-equilibrium in two-player games is -complete , and more recently a conditional lower bound that rules out a PTAS for the problem . No polynomial-time algorithms for -complete problems are known, and recent work suggests that no such algorithms are likely to exist . is the class of problems that can be solved by local search algorithms (in perhaps exponentially-many steps). It has also attracted much interest since it was introduced in , and looks similarly unlikely to have polynomial-time algorithms. Examples of problems that are complete for include the problem of computing a pure Nash equilibrium in a congestion game , a locally optimal max cut , or a stable outcome in a hedonic game .
Continuous Local Search.
If a problem lies in both and then it is unlikely to be complete for either class, since this would imply an extremely surprising containment of one class in the other. In their 2011 paper , Daskalakis and Papadimitriou observed that there are several prominent total function problems in for which researchers have not been able to design polynomial-time algorithms. Motivated by this they introduced the class , a syntactically defined subclass of . is intended to capture the class of optimization problems over a continuous domain in which a continuous potential function is being minimized and the optimization algorithm has access to a polynomial-time continuous improvement function. They showed that many classical problems of unknown complexity are in , including the problem of solving a simple stochastic game, the more general problems of solving a Linear Complementarity Problem with a P-matrix, finding an approximate fixpoint to a contraction map, finding an approximate stationary point of a multivariate polynomial, and finding a mixed Nash equilibrium of a congestion game.
CLS problems with unique solutions.
In this paper we study an interesting subset of problems that lie within , and have unique solutions.
The P-matrix linear complementarity problem (P-LCP) is a variant of the linear complementarity problem in which the input matrix is a P-matrix . An interesting property of this problem is that, if the input matrix actually is a P-matrix, then the problem is guaranteed to have a unique solution . Designing a polynomial-time algorithm for P-LCP has been open for decades, at least since the 1978 paper of Murty that provided exponential-time examples for Lemke’s algorithm for P-LCPs.
A unique sink orientation (USO) is an orientation of the edges of an -dimensional hypercube such that every face of the cube has a unique sink. Since the entire cube is a face of itself, this means that there is a unique vertex of the cube that is a sink, meaning that all edges are oriented inwards. The USO problem is to find this unique sink.
All of these problems are most naturally stated as promise problems. This is because we have no way of verifying up front whether a function is contracting, whether a matrix is a P-matrix, or whether an orientation is a USO. Hence, it makes sense, for example, to study the contraction problem where it is promised that the function is contracting, and likewise for the other two.
So Contraction can be formulated as the non-promise problem of either finding a solution, or finding a violation. This problem is in because in the case where there is not a unique solution, there must exist a violation of the promise. The P-LCP and USO problems also have violations that can be witnessed by short certificates, and so they can be turned into non-promise problems contained in the same way, and these problems also lie in .
For Contraction and P-LCP we actually have the stronger result that both problems are in . Prior to this work USO was not known to lie in any non-trivial subclass of , and placing USO into a non-trivial subclass of was identified as an interesting open problem by Kalai [51, Problem 6].
We remark that not every problem in CLS has the uniqueness properties that we identify above. For example, the KKT problem lies in , but has no apparent notion of having a unique solution. The problems that we identify here seem to share the special property that there is a natural promise version of the problem, and that promise problem always has a unique solution.
1 Our contribution
In this paper, we define a complexity class that naturally captures the properties exhibited by problems like Contraction, P-LCP, and USO. In fact, we define two new sub-classes of .
The complexity class contains every problem that can be reduced in polynomial time to the problem EndOfPotentialLine, which we define in this paper (Definition 9). The EndOfPotentialLine problem unifies in an extremely natural way the circuit-based views of and of . The canonical -complete problem is EndOfLine, a problem that provides us with an exponentially large graph consisting of lines and cycles, and asks us to find the end of one of the lines. The canonical -complete problem provides us with an exponentially large DAG, whose acyclicity is guaranteed by the existence of a potential function that increases along each edge. The problem EndOfPotentialLine is an instance of EndOfLine that also has a potential function that increases along each edge.
So the class captures problems that admit a single combinatorial proof of their joint membership in the classes of fixpoint problems and of local search problems, and is a combinatorially-defined alternative to the class . We are able to show that (Corollary 11), by providing a polynomial-time reduction from EndOfPotentialLine to the EndOfMeteredLine problem defined by Hubáček and Yogev , which they have shown to lie in .
We remark that it is an interesting open problem to determine whether . The inspiration behind both classes was to capture problems in . The class does this by affixing a potential function to the -complete Brouwer fixpoint problem, while does this affixing a potential function to the -complete problem EndOfLine. The class is not the main focus of this paper, however.
Unique end of potential line.
An EndOfPotentialLine instance consists of an exponentially large graph that contains only lines (the cycles that can appear in EndOfLine instances are ruled out by the potential function.) The problem explicitly gives us the start of one of these lines. A solution to the problem is a vertex that is at the end of any line, other than the given start vertex. We could find a solution by following the line from the start vertex until we find the other end, although that may take exponential time. There may be many other lines in the graph though, and the starts and ends of these lines are also solutions.
We define the promise-problem PromiseUniqueEOPL, in which it is promised that there is a unique line in the graph. This line must be the one that begins at the given starting vertex, and so the only solution to the problem is the other end of that line. Thus, if the promise is satisfied, the problem has a unique solution. We can define the promise-class which contains all promise-problems that can be reduced in polynomial-time to PromiseUniqueEOPL.
We are not just studying promise problems in this paper, however. We can turn PromiseUniqueEOPL into a non-promise problem by defining appropriate violations. One might imagine that a suitable violation would be a vertex that is the start of a second line. Indeed, if we are given the promise that there is no start to a second line, then we do obtain the problem PromiseUniqueEOPL. However, with just this violation, we obtain a problem that is identical to EndOfPotentialLine, which is not what we are intending to capture.
Instead we add a violation that captures any pair of vertices and that are provably on different lines, even if and are in the middle of their respective lines. We do this by using the potential function: if and have the same potential, then they must be on different lines, and likewise if the potential of lies between the potential of and the potential of the successor of . We formalise this as the problem UniqueEOPL (Definition 12), and we define the complexity class to contain all (non-promise) problems that can be reduced in polynomial-time to UniqueEOPL.
We have that by definition, since UniqueEOPL simply adds an extra type of violation to EndOfPotentialLine. We remark that this new violation makes the problem substantially different from EndOfPotentialLine. In EndOfPotentialLine only the starts and ends of lines are solutions, while in UniqueEOPL there are many more solutions whenever there is more than one line in the instance. As such, we view as capturing a distinct subclass of problems in , and we view it as the natural class for promise-problems in that have unique solutions.
UEOPL containment results.
We show that USO, P-LCP, and a variant of the Contraction problem all lie in . We define the concept of a promise-preserving reduction, which is a polynomial-time reduction between two problems A and B, with the property that if A is promised to have a unique solution, then the instance of B that is produced by the reduction will also have a unique solution. All of the reductions that we produce in this paper are promise-preserving, which means that whenever we show that a problem is in , we also get that the corresponding promise problem lies in .
USO is in under promise-preserving reductions.
For the USO problem, our containment result substantially advances our knowledge about the problem. Prior to this work, the problem was only known to lie in , and Kalai [51, Problem 6] had posed the challenge to place it in some non-trivial subclass of . Our result places USO in , , , (and hence and ), and , and so we answer Kalai’s challenge by placing the problem in all of the standard subclasses of .
This result is in some sense surprising. Although every face of a USO has a unique sink, the orientation itself may contain cycles, and so there is no obvious way to define a potential function for the problem. Moreover, none of the well-known algorithms for solving USOs have the line-following nature needed to produce an EndOfLine instance. Nevertheless, our result shows that one can produce an EndOfLine instance that has potential function for the USO problem.
There are two different variants of the P-LCP problem, both of which lie in under promise-preserving reductions.
We actually provide two different promise-preserving reductions from P-LCP to UniqueEOPL. The issue here is that there are many possible types of violation that one can define for P-LCP. So far, the standard formulation of P-LCP either asks for a solution, or a non-positive principle minor of the input matrix. A matrix is a P-matrix if and only if all of its principle minors are positive, and so this is sufficient to define a total problem.
The reduction from P-LCP to EndOfLine can map the start and end of each line back to either a solution or a non-positive principle minor. Our problem is that the extra violations in the UniqueEOPL instance, corresponding to a proof that there are multiple lines, do not easily map back to non-positive principle minors. They do however map back to other short certificates that the input matrix is not a P-matrix. For example, a matrix is a P-matrix if and only if it does not reverse the sign of any non-zero vector . So we can also formulate P-LCP as a total problem that asks for a solution, or a non-zero vector whose sign is reversed.
We study the following variants of P-LCP. The first variant asks us to either find a solution, or find a non-positive principle minor, or find a non-zero vector whose sign is reversed. The second variant asks us to either find a solution, or a non-positive principle minor, or a third type of violation whose definition is inspired by a violation of the USO property. In all cases, we either solve the problem, or obtain a short certificate that the input was not a P-matrix, although the format of these certificates can vary.
It is not clear whether these variants are equivalent under polynomial-time reductions, as one would need to be able to map one type of violation to the other efficiently. We remark that if one is only interested in the promise problem, then the choice of violations is irrelevant. Both of our reductions show that promise P-LCP lies in .
Prior work has avoided this issue by instead asking for an approximate fixpoint, and the problem of finding an approximate fixpoint of a contraction map specified by an arithmetic circuit lies in . However, if we look for approximate fixpoints, then we destroy the uniqueness property that we are interested in, because there are infinitely many approximate fixpoint solutions surrounding any exact fixpoint.
So, we study the problem where the function is represented by a arithmetic circuit , which is a circuit in which the multiplication of two variables is disallowed. This ensures that, when the function actually is contracting, there is a unique rational fixpoint that we can produce. We note that this is still an interesting class of contraction maps, since it is powerful enough to represent simple-stochastic games .
We place this problem in via a promise-preserving reduction. Our reduction can produce multiple types of violation. In addition to the standard violation of a pair of points at which is not contracting, our reduction sometimes produces a different type of violation (cf. Definition 32), which while not giving an explicit violation of contraction, still gives a short certificate that is not contracting.
The following problems are in
Finally, we observe that our results prove that several other problems lie in . The simple-stochastic game (SSG) problem is known to reduce to Contraction and to P-LCP , and thus our two results give two separate proofs that the SSG problem lies in . It is known that discounted games can be reduced to SSGs , mean-payoff games can be reduced to discounted games , and parity games can be reduced to mean-payoff games . So all of these problems lie in too. Finally, Gärtner et al. noted that the ARRIVAL problem lies in , and in fact their EndOfPotentialLine instance always contains exactly one line, and so the problem also lies in .
We remark that none of these are promise-problems. Each of them can be formulated so that they unconditionally have a unique solution. Hence, these problems seem to be easier than the problems captured by , since problems that are complete for only have a unique solution conditioned on the promise that there are no violations.
A UEOPL-complete problem.
In addition to our containment results, we also give a -completeness result. Specifically, we show that One-Permutation Discrete Contraction (OPDC) is complete for .
OPDC is a problem that is inspired by both Contraction and USO. Intuitively, it is a discrete version of Contraction. The inputs to the problem are (a concise representation of) a discrete grid of points covering the space , and a set of direction functions , where each function has the form . To discretize a map we simply define so that
whenever ,
whenever , and
whenever .
So the direction function for dimension simply points in the direction that moves in dimension . To solve the problem, we seek a point such that for all , which corresponds to a fixpoint of .
We remark that, although the problem was formulated as a discretization of Contraction, it is also closely related to the USO problem. Specifically, if we take the set of points to be the hypercube, then the direction functions actually specify an orientation of the cube. Moreover, the condition that every slice should have have unique fixpoint exactly corresponds to the USO property that every face should have a unique sink. However, since we only insist on this property for -slices, OPDC can be viewed as a variant of USO in which only some of the faces have unique sinks.
OPDC lies in under promise-preserving reductions.
OPDC actually plays a central role in the paper. We reduce Piecewise-Linear Contraction, USO, and P-LCP to it, and we then reduce OPDC to UniqueEOPL, as shown in Figure 1. The reduction from OPDC to UniqueEOPL is by far the most difficult step.
In the case where the promise is satisfied, meaning that the OPDC instance has a unique fixpoint, the reduction defines a single line that starts at the point with for all , and ends at the unique fixpoint. This line walks around the grid, following the direction functions given by in a specific manner that ensures that it will find the fixpoint, while also decreasing a potential function at each step. We need to very carefully define the vertices of this line, to ensure that the line is unique, and for this we crucially rely on the fact that every -slice also has a unique fixpoint.
This does not get us all the way to UniqueEOPL though, because the line we describe above lacks a predecessor circuit. In UniqueEOPL, each vertex has a predecessor, a successor and a potential, but the line we construct only gives successors and potentials to each vertex. To resolve this, we apply the pebbling game reversibility argument introduced by Bitansky et al , and later improved by Hubáček and Yogev . Using this technique allows us to produce a predecessor circuit, as long as there is exactly one line in the instance.
Our reduction also handles violations in the OPDC instance. The key challenge here is that the pebbling game argument assumes that there is exactly one line, and so far it has only been applied to promise-problems. We show that the argument can be extended to work with non-promise problems that may have multiple lines. This can cause the argument to break, specifically when multiple lines are detected, but we are able to show that these can be mapped back to violations in the OPDC instance.
OPDC is -complete under promise-preserving reductions, even when the set of points is a hypercube.
We show that OPDC is -hard by giving a polynomial-time promise-preserving reduction from UniqueEOPL to OPDC. This means that OPDC is -complete, and the variant of OPDC in which it is promised that there are no violations is -complete.
Our reduction produces an OPDC instances where the set of points is the boolean hypercube . In the case where the UniqueEOPL instance has no violations, meaning that it contains a single line, the reduction embeds this line into the hypercube. To do this, it splits the line in half. The second half is embedded into a particular sub-cube, while the first half is embedded into all other sub-cube. This process is recursive, so each half of the line is again split in half, and further embedded into sub-cubes. The reduction ensures that the only fixpoint of the instance corresponds to the end of the line. If the UniqueEOPL instance does have violations, then this embedding may fail. However, in any instance where the embedding fails, we are able to produce a violation for the original UniqueEOPL instance.
We remark that this hardness reduction makes significant progress towards showing a hardness result for Contraction and USO. As we have mentioned, OPDC is a discrete variant of Contraction, and when the set of points is a hypercube, the problem is also very similar to USO. The key difference is that OPDC insists that only -slices should have a unique fixpoint, whereas Contraction and USO insist that all slices should have unique fixpoints. To show a hardness result for either of those two problems, one would need to produce an OPDC instance with that property.
New algorithms.
We also show that these results can be extended to the case where the contraction map is given by a general arithmetic circuit. In this case, we provide polynomial-time algorithm that either finds an approximate fixpoint, or produces a short certificate that the function is not contracting.
Finally, as noted in , one of our reductions from P-LCP to EndOfPotentialLine allows a technique of Aldous to be applied, which in turn gives the fastest known randomized algorithm for P-LCP.
2 Related work
Recent work by Hubáček and Yogev proved lower bounds for . They introduced a problem known as EndOfMeteredLine which they showed was in , and for which they proved a query complexity lower bound of and hardness under the assumption that there were one-way permutations and indistinguishability obfuscators for problems in . Another recent result showed that the search version of the Colorful Carathéodory Theorem is in , and left open whether the problem is also in .
P-LCP.
Papadimitriou showed that P-LCP, the problem of solving the LCP or returning a violation of the P-matrix property, is in using Lemke’s algorithm. The relationship between Lemke’s algorithm and has been studied by Adler and Verma . Later, Daskalakis and Papadimitrou showed that P-LCP is in , using the potential reduction method in . Many algorithms for P-LCP have been studied, e.g., . However, no polynomial-time algorithms are known for P-LCP, or for the promise version where one can assume that the input matrix is a P-matrix.
The best known algorithms for P-LCP are based on a reduction to Unique Sink Orientations (USOs) of cubes . For an P-matrix LCP of size , the USO algorithms of apply, and give a deterministic algorithm that runs in time and a randomized algorithm with expected running time . The application of Aldous’ algorithm to the UniqueEOPL instance that we produce from a P-matrix LCP takes expected time in the worst case.
Unique Sink Orientations.
In this paper we study USOs of cubes, a problem that was first studied by Stickney and Watson in the context of P-matrix LCPs. A USO arising from a P-matrix may be cyclic. Motivating by Linear Programming, acylic, AUSOs have also been studied, both for cubes and general polytopes . Recently Gärtner and Thomas studied the computational complexity of recognizing USOs and AUSOs . They found that the problem is -complete for USOs and -complete for AUSOs. A series of papers provide upper and lower bounds for specific algorithms for solving (A)USOs, including . An AUSOs on a -dimensional cube can be solved in subexponential time, by the RANDOM-FACET algorithm, which is essentially tight for this algorithm . An almost quadratic lower bound on the number of vertex evaluations needed to solve a general USO is known ; unlike for AUSOs, the best running times known for general USOs, as for P-matrix LCPs, are exponential. To be best of our knowledge, we are first to study the general problem of solving a USO from a complexity-theoretic point of view.
Contraction.
Infinite games.
3 Future directions
A clear direction for future work is to show that further problems are -complete. We have several conjectures.
We think that, among our three motivating problems, USO is the most likely to be -complete. Our hardness proof for OPDC already goes some way towards proving this, since we showed that OPDC was hard even when the set of points is a hypercube. The key difference between OPDC on a hypercube and USO is that OPDC only requires that the faces corresponding to -slices should have unique sinks, while USO requires that all faces should have unique sinks.
Our OPDC hardness result also goes some way towards showing that Piecewise-Linear Contraction is hard, however there are more barriers to overcome here. In addition to the -slice vs. all slice issue, we would also need to convert the discrete OPDC problem to the continuous contraction problem. Converting discrete problems to continuous fixpoint problems has been well-studied in the context of -hardness reductions , but here the additional challenge is to carry out such a reduction while maintaining the contraction property.
Aside from hardness, we also think that the relationship between Contraction and USO should be explored further. Our formulation of the OPDC problem exposes significant similarities between the two problems, which until this point have not been recognised. Can we reduce USO to Contraction in polynomial time?
Of all of our conjectures, this will be the most difficult to prove. Since P-LCP reduces to USO, the hardness of USO should be resolved before we attempt to show that P-LCP is hard. One possible avenue towards showing the hardness of P-LCP might be to reduce from Piecewise-Linear Contraction. Our containment proof for Piecewise-Linear Contraction makes explicit use of the fact that the problem can be formulated as an LCP, although in that case the resulting matrix is not a P-matrix. Can we modify the reduction to produce a P-matrix?
.
The question of vs is unresolved, and we actually think it could go either way. One could show that by placing either of the two known -complete Contraction variants into . If the two classes are actually distinct, then it is interesting to ask which of the problems in are also in .
On the other hand, we believe that is a strict subset of . The evidence for this is that the extra violation in UniqueEOPL that does not appear in EndOfPotentialLine changes the problem significantly. This new violation will introduce many new solutions whenever there are multiple lines in the instance, and so it is unlikely, in our view, that one could reduce EndOfPotentialLine to UniqueEOPL. Of course, there is no hope to unconditionally prove that , but we can ask for further evidence to support the idea. For example, can oracle separations shed any light on the issue?
Finally, we remark that is the closest complexity class to , among all the standard sub-classes of . However, we still think that further subdivisions of will be needed. Specifically, we do not believe that simple stochastic games, or any of the problems that can be reduced to them, are -complete, since all of these problems have unique solutions unconditionally. Further research will be needed to classify these problems.
Unique End of Potential Line
In this section we define two new complexity classes called and . These two classes are defined by merging the definitions of and , so we will begin by recapping those classes.
The complexity class contains every problem that can be reduced to EndOfLine .
Given Boolean circuits such that , find one of the following:
A point such that .
A point such that and .
Intuitively, the problem defines an exponentially large graph where all vertices vhave in-degree and out-degree at most one. Each bit-string in defines a vertex, while the functions and define successor and predecessor functions for each vertex. A directed edge exists from vertex and if and only if and . Any vertex for which has no outgoing edge, while every vertex with has no incoming edge.
The condition that specifies that the vertex has no incoming edge, and so it is the start of a line. To solve the problem, we must find either a solution of type (E1), which is a vertex that is the end of a line, or a solution of type (E2), which is a vertex other than that is the start of a line. Since we know that the graph has at least one source, there must at least exist a solution of type (E1), and so the problem is in .
The complexity class contains every problem that can be reduced to the SinkOfDag While this is not the standard definition of PLS, it has been observed that the standard -complete problem can easily be recast as a SinkOfDag instance .
Given a Boolean circuit such that , and a circuit find:
A vertex such that and either or .
Once again, the problem specifies an exponentially large graph on the vertex set , but this time the only guarantee is that each vertex has out-degree one. The circuit gives a successor function. In this problem, some bit-strings do not correspond to vertices in the graph. Specifically, if we have for some bit-string , then does not encode a vertex.
The second circuit gives a potential to each vertex from the set . An edge exists in the graph if and only if the potential increases along that edge. Specifically, there is an edge from to if and only if and . This restriction means that the graph must be a DAG.
To solve the problem, we must find a sink of the DAG, ie., a vertex that has no outgoing edge. Since we require that , we know that the DAG has at least one vertex, and therefore it must also have at least one sink. This places the problem in TFNP.
We define a new problem called EndOfPotentialLine, which merges the two definitions of EndOfLine and SinkOfDag into a single problem.
Given Boolean circuits such that and a Boolean circuit such that find one of the following:
A point such that or .
A point such that , , and .
This problem defines an exponentially large graph where each vertex has in-degree and out-degree at most one (as in EndOfLine) that is also a DAG (as in SinkOfDag). An edge exists from to if and only if , , and . As in SinkOfDag, only some bit-string encode vertices, and we adopt the same idea that if for some bit-string , then does not encode a vertex.
So we have a single instance that is simultaneously an instance of EndOfLine and an instance of SinkOfDag. To solve the problem, it suffices to solve either of these problems. Solutions of type (R1) consist of vertices that are either the end of a line, or the start of a line (excluding the case where ). Solutions of type (R2) consist of any point where the potential does not strictly increase on the edge between and .
The complexity class 𝖤𝖮𝖯𝖫𝖤𝖮𝖯𝖫\mathsf{EOPL}.
We define the complexity class to consist of all problems that can be reduced in polynomial time to EndOfPotentialLine. By definition the problem lies in , since one can simply ignore solutions of type (R2) to obtain an EndOfLine instance, and ignore solutions of type (R1) to obtain a SinkOfDag instance.
In fact we are able to show the stronger result that . To do this, we reduce EndOfPotentialLine to the problem EndOfMeteredLine, which was defined by Hubáček and Yogev, who also showed that the problem lies in . The main difference between the two problems is that EndOfMeteredLine requires that the potential increases by exactly one along each edge. The reduction from EndOfMeteredLine to EndOfPotentialLine is straightforward. The other direction is more involved, and requires us to insert new vertices into the instance. Specifically, if there is an edge between a vertex and a vertex , but , then we need to insert a new chain of vertices of length between and , so that we can ensure that the potential always increases by exactly one along each edge. The full details are given in Appendix A, where the following theorem is proved.
EndOfMeteredLine and EndOfPotentialLine are polynomial-time equivalent.
As we have mentioned, Hubáček and Yogev have shown that EndOfMeteredLine lies in , so we get the following corollary.
Problems with unique solutions.
The problems that we study in this paper all share a specific set of properties that cause them to produce an interesting subclass of EndOfPotentialLine instances. Each of the problems that we study have a promise, and if the promise is satisfied the problem has a unique solution.
For example, in the Contraction problem, we are given a function that is promised to be contracting, meaning that for some positive constant and some distance metric . We cannot efficiently check whether is actually contracting, but if it is, then Banach’s fixpoint theorem states that has a unique fixpoint . If is not contracting, then there will exist violations that can be witnessed by short certificates. For Contraction, a violation is any pair of points such that .
We can use violations to formulate the problem as a non-promise problem that lies in TFNP. Specifically, if we ask for either a fixpoint or a violation of contraction, then the contraction problem is total, because if there is no fixpoint, then the contrapositive of Banach’s theorem implies that there must exist a violation of contraction.
Unique End of Potential Line.
When we place this type of problem in , we obtain an instance with extra properties. Specifically, if the original problem has no violations, meaning that the promise is satisfied, then the EndOfPotentialLine instance will contain a single line that starts at , and ends at the unique solution of the original problem. This means that, if we ever find two distinct lines in our EndOfPotentialLine instance, then we immediately know that original instance fails to satisfy the promise.
We define the following problem, which is intended to capture these properties.
Given Boolean circuits such that and a Boolean circuit such that find one of the following:
A point such that .
A point such that , , and .
A point such that .
Two points , such that , , , and either or .
We split the solutions into two types: proper solutions and violations. Solutions of type (U1) encode the end of any line, which are the proper solutions to the problem. There are three types of violation solution. Violations of type (UV1) are vertices at which the potential fails to strictly increase. Violations of type (UV2) ask for the start of any line, other than the vertex . Clearly, if there are two sources in the graph, then there are two lines.
Violations of type (UV3) give another witness that the instance contains more than one line. This is encoded by a pair of vertices and , with either , or with the property that the potential of lies between the potential of and . Since we require the potential to strictly increase along every edge of a line, this means that cannot lie on the same line as , since all vertices before in the line have potential strictly less than , while all vertices after have potential strictly greater than .
We remark that (UV2) by itself already captures the property “there is a unique line”, since if a second line cannot start, then it cannot exist. So why do we insist on the extra type of violation given by (UV3)? Violations of type (UV3) allow us to solve the problem immediately if we ever detect the existence of multiple lines. Note that this is not the case if we only have solutions of type (UV2), since we may find two vertices on two different lines, but both of them may be exponentially many steps away from the start of their respective lines.
By adding (UV3) solutions, we make the problem easier than EndOfPotentialLine (note that without UV3, the problem is actually the same as EndOfPotentialLine). This means that problems that can be reduced to UniqueEOPL have the very special property that, if at any point you detect the existence of multiple lines, either through the start of a second line, or through a violation in (UV3), then you immediately get a violation in the original problem without any extra effort. All of the problems that we study in this paper share this property.
The complexity class 𝖴𝗇𝗂𝗊𝗎𝖾𝖤𝖮𝖯𝖫𝖴𝗇𝗂𝗊𝗎𝖾𝖤𝖮𝖯𝖫\mathsf{UniqueEOPL}.
We define the complexity class to be the class of problems that can be reduced in polynomial time to UniqueEOPL. We note that is trivial, since the problem remains total even if we disallow solutions of type UV3.
For each of our problems, it is also interesting to consider the complexity of the promise variant, in which it is guaranteed via a promise that no violations exist. We define PromiseUniqueEOPL to be the promise version of UniqueEOPL in which is the only start of a line (and hence there are no solutions that are type (UV2) or (UV3)). We define the complexity class to be the class of promise problems that can be reduced in polynomial time to PromiseUniqueEOPL.
Promise-preserving reductions.
The problem UniqueEOPL has the interesting property that, if it is promised that there are no violation solutions, then there must be a unique solution. All of the problems that we study in this paper share this property, and indeed when when we reduce them to UniqueEOPL, the resulting instance will have a unique line whenever the original problem has no violation solutions.
We formalise this by defining the concept of a promise-preserving reduction. This is a reduction between two problems A and B, both of which have proper solutions and violation solutions. The reduction is promise-preserving if, when it is promised that A has no violations, then the resulting instance of B also has no violations. Hence, if we reduce a problem to UniqueEOPL via a chain of promise-preserving reductions, and we know that there are no violations in the original problem, then there is a unique line ending at the unique proper solution in the UniqueEOPL instance.
Note that this is more restrictive than a general reduction. We could in principle produce a reduction that took an instance of A, where it is promised that there are no violations, and produce an instance of B that sometimes contains violations. By using promise-preserving reductions, we are showing that our problems have the natural properties that one would expect for a problem in . Specifically, that the promise version has a unique solution, and that this can be found by following the unique line in the UniqueEOPL instance.
One added bonus is that, if we show that a problem is in via a chain of promise-preserving reductions, then we automatically get that the promise version of that problem, where it is promised that there are no violations, lies in . Moreover, if we show that a problem is -complete via a promise-preserving reduction, then this also implies that the promise version of that problem is -complete.
One-Permutation Discrete Contraction
The One-Permutation Discrete Contraction (OPDC) problem will play a crucial role in our results. We will show that the problem lies in , and we will then reduce both PL-Contraction and Grid-USO to OPDC, thereby showing that those problems also lie in . We will also show that UniqueEOPL can be reduced to OPDC, making this problem the first example of a non-trivial -complete problem.
The OPDC can be seen as a discrete variant of the continuous contraction problem. Recall that a contraction map is a function that is contracting under a metric , i.e., for all and some constant satisfying .
We will discretize the space by overlaying a grid of points on the cube. Let denote the set . Given a tuple of grid widths , we define the set
We will refer to simply as when the grid widths are clear from the context. Note that each point is a tuple , where is an integer between and , and this point maps onto the point .
Instead of a single function , in the discrete version of the problem we will use a family of direction functions over the grid . For each dimension , we have function . Intuitively, the natural reduction from a contraction map to a family of direction functions would, for each point and each dimension set:
whenever ,
whenever , and
whenever .
In other words, the function simply outputs whether moves up, down, or not at all in dimension . So a point with for all would correspond to the fixpoint of . Note, however, that the grid may not actually contain the fixpoint of , and so there may be no point satisfying for all .
A two-dimensional example.
To illustrate this definition, consider the two-dimensional instance given in Figure 3, which we will use as a running example. It shows two direction functions: the figure on the left shows a direction function for the up-down dimension, which we will call dimension and illustrate using the color blue. The figure on the right shows a direction function for the left-right dimension, which we will call dimension and illustrate using the color red. Each square in the figures represents a point in the discretized space, and the value of the direction function is shown inside the box. Note that there is exactly one point where , which is the fixpoint that we seek.
Slices.
We will frequently refer to subsets of in which some of the dimensions have been fixed. A slice will be represented as a tuple , where each is either
a number in $is_{i}$, or
the special symbol , which indicates that dimension is free to vary.
We define to be the set of all possible slices in dimension . Given a slice , we define to be the set of points in that slice, ie., contains every point such that whenever . We’ll say that a slice is a sub-slice of a slice if for all .
An -slice is a slice for which for all , and for all . In other words, all dimensions up to and including dimension are allowed to vary, while all other dimensions are fixed.
In our two-dimensional example, there are three types of -slices. There is one -slice: the slice that contains every point. For each , there is a -slice , which restricts the left/right dimension to the value . For each pair there is a -slice , which contains only the exact point corresponding to and .
Discrete contraction maps.
We can now define a one-permutation discrete contraction map. We say that a point in some slice is a fixpoint of if for all dimensions where . The following definition captures the promise version of the problem, and we will later give a non-promise version by formulating appropriate violations.
Let be a grid of points over and let be a family of direction functions over . We say that and form a one-permutation discrete contraction map if, for every -slice , the following conditions hold.
Let be a sub-slice of where some coordinate for which has been fixed to a value, and all other coordinates are unchanged. If is the unique fixpoint of , and is the unique fixpoint of , then
if , then , and
if , then .
The first condition specifies that each -slice must have a unique fixed point. Since the slice is an -slice, this implies that the full problem also has a unique fixpoint.
The second condition is a more technical condition. It tells us that if we have found the unique fixpoint of the -slice , and if this point is not the unique fixpoint of the -slice , then the direction function tells us which way to walk to find the unique fixpoint of . This is a crucial property that we will use in our reduction from OPDC to UniqueEOPL, and in our algorithms for contraction maps.
In our two-dimensional example, the first condition requires that every slice has a unique fixpoint, and this corresponds to saying that for every fixed slice of the left/right dimension, there is a unique blue point that is zero. The second condition requires that, if we are at some blue zero, then the red direction function at that point tells us the direction of the overall fixpoint. It can be seen that our example satisfies both of these requirements.
Note that both properties only consider -slices. In the continuous contraction map problem with an norm distance metric, every slice has a unique fixpoint, and so one may expect a discrete version of contraction to share this property. The problem is that the second property is very difficult to prove. Indeed, when we reduce PL-Contraction to OPDC in Section 4.2, we must carefully choose the grid size to ensure that both the first and second properties hold. In fact, our choice of grid size for dimension will depend on the grid size of dimension , which is why our definition only considers -slices.
The name One-Permutation Discrete Contraction was chosen to emphasize this fact. The -slices correspond to restricting dimensions in order, starting with dimension . Since the order of the dimensions is arbitrary, we could have chosen any permutation of the dimensions, but we must choose one of these permutations to define the problem.
The OPDC problem.
The OPDC problem is as follows: given a discrete contraction map , find the unique point such that for all . Note that we cannot efficiently verify whether is actually a one-permutation discrete contraction map.
So, the OPDC problem is a promise problem, and we will formulate a total variant of it that uses a set of violations to cover the cases where fails to be a discrete contraction map.
Given a tuple and circuits , where each circuit , find one of the following
A point such that for all .
An -slice and two points with such that for all .
An -slice and two points such that
for all ,
and .
An -slice and a point such that
for all , and either
and , or
and .
Solution type (O1) encodes a fixpoint, which is the proper solution of the discrete contraction map, while solution types (OV1) through (OV3) encode violations of the discrete contraction map property.
Solution type (OV1) witnesses a violation of the first property of a discrete contraction map, namely that each -slice should have a unique fixpoint. A solution of type (OV1) gives two different points and in the same -slice that are both fixpoints of that slice.
Solutions of type (OV2) witness violations of the first and second properties of a discrete contraction map. In these solutions we have two points and that are both fixpoints of their respective -slices and are directly adjacent in an -slice . If there is a fixpoint of the slice , then this witnesses a violation of the second property of a discrete contraction map, which states that and should both point towards , and clearly one of them does not. On the other hand, if slice has no fixpoint, then and also witness this fact, since the fixpoint should be in-between and , which is not possible.
Solutions of type (OV3) consist of a point that is a fixpoint of its -slice but points outside the boundary of the grid. These are clear violations of the second property, since should point towards the fixpoint of the -slice containing , but that fixpoint cannot be outside the grid.
It is perhaps not immediately obvious that OPDC is a total problem. Ultimately we will prove this fact in the next section by providing a promise-preserving reducing from OPDC to UniqueEOPL. This will give us a proof of totality, and will also prove that, if the discrete contraction map has no violations, then it does indeed have a unique solution.
1 One-Permutation Discrete Contraction is in 𝖴𝗇𝗂𝗊𝗎𝖾𝖤𝖮𝖯𝖫𝖴𝗇𝗂𝗊𝗎𝖾𝖤𝖮𝖯𝖫\mathsf{UniqueEOPL}
In this section, we will show that One-Permutation Discrete Contraction lies in under promise-preserving reductions.
Our reduction will make use of an intermediate problem that we call unique forward EOPL, which is a version of UniqueEOPL in which we only have a successor circuit , meaning that no predecessor circuit is given.
Given a Boolean circuits such that and a Boolean circuit such that find one of the following:
A point such that and either or .
Two points , such that , , , and either or .
Without the predecessor circuit, this problem bears more resemblance to SinkOfDag than to EndOfPotentialLine. As in SinkOfDag, a bit-string encodes a vertex if and only if , and an edge exists between vertices and if and only if and . The proper solution type (UF1) asks us to find a vertex that is a sink of the DAG, just as before.
The difference lies in the violation solution type (UFV1), which is the same as violation type (UV3) of UniqueEOPL. It asks for two vertices and that either have the same potential, or for which the potential of lies strictly between the potential of and the potential of . Note that this restriction severely constrains a SinkOfDag instance: if there are no violation solutions, then the DAG must consist of a single line that starts at , and ends at the unique solution of type (UF1). So in this sense, the problem really does capture instances of UniqueEOPL that lack a predecessor circuit.
The UniqueForwardEOPL problem will play a crucial role in our reduction. We will reduce OPDC to it, and we will then reduce it to UniqueEOPL.
An illustration of the reduction.
Before we discuss the formal definition of the construction, we first give some intuition by describing the reduction for the two-dimensional example shown in Figure 3.
The reduction uses the notion of a surface. On the left side in Figure 4, we have overlaid the surfaces of the two direction functions from Figure 3. The surface of a direction function is exactly the set of points such that . The fixpoint that we seek has for all dimensions , and so it lies at the intersection of these surfaces.
To reach the overall fixpoint, we walk along a path starting from the bottom-left corner, which is shown on the right-hand side of Figure 4. The path begins by walking upwards until it finds the blue surface. Once it has found the blue surface, it then there are two possibilities: either we have found the overall fixpoint, in which case the line ends, or we have not found the overall fixpoint, and the red direction function tells us that the direction of the overall fixpoint is to the right.
If we have not found the overall fixpoint, then we move one step to the right, go back to the bottom of the diagram, and start walking upwards again. We keep repeating this until we find the overall fixpoint. This procedure gives us the line shown on the right-hand side of Figure 4.
The potential.
How do we define a potential for this line? Observe that the dimension-two coordinates of the points on the line are weakly monotone, meaning that the line never moves to the left. Furthermore, for any dimension-two slice (meaning any slice in which the left/right coordinate is fixed), the dimension-one coordinate is monotonically increasing. So, if denotes any point on the line, if denotes the maximum coordinate in either dimension, then the function
is a function that monotonically increases along the line, which we can use as a potential function.
Uniqueness.
To provide a promise-preserving reduction to UFEOPL, we must argue that the line is unique whenever the OPDC instance has no violations. Here we must carefully define what exactly a vertex on the line actually is, to ensure that no other line can exist. Specifically, we must be careful that only points that are to the left of the fixpoint are actually on the line, and that no “false” line exists to the right of the fixpoint.
Here we rely on the following fact: if the line visits a point with coordinate in dimension , then it must have visited the point on the blue surface in the slice defined by . Moreover, for that point we must have , which means that it is to the left of the overall fixpoint.
Using this fact, each vertex on our line will be a pair , where is the current point that we are visiting, and is either
the symbol , indicating that we are still in the first column of points, and we have never visited a point on the blue surface, or
a point that is on the blue surface, that satisfies and .
Hence the point is always the last point that we visited on the blue surface, which provides a witness that we have not yet walked past the overall fixpoint.
When we finish walking up a column of points, and find the point on the blue surface, we overwrite with the new point that we have found. This step is the reason why only a successor circuit can be given for the line, since the value that is overwritten cannot easily be computed by a predecessor circuit.
Violations.
Our two-dimensional OPDC example does not contain any violations, but our reduction can still handle all possible violations in the OPDC instance. At a high level, there are two possible ways in which the reduction can go wrong if there are violations.
It is possible, that as we walk upwards in some column, we do not find a fixpoint, and our line will get stuck. This creates an end of line solution of type (UF1), which must be mapped back to an OPDC violation. In our two-dimensional example, this case corresponds to a column of points in which there is no point on the blue surface. However, if there is no point on the blue surface, then we will either
find two adjacent points and in that column with and , which is a solution of type (OV2), or
find a point at the top of the column with , or a point at the bottom of the column with . Both of these are solutions of type (OV3).
There is also the similar case where we walk all the way to the right without finding an overall fixpoint, in which case we will find a point on the right-hand boundary that satisfies and , which is a solution of type (OV3).
The other possibility is that there may be more than one point on the blue surface in some of the columns. This will inevitably lead to multiple lines, since if and are both points on the blue surface in some column, and is some point in the column to the right of and , then and will both be valid vertices on two different lines.
These can show up as violations of type (UFV1), which we map back to solutions of type (OV1). Specifically, the points and , which are given as part of the two vertices, are both fixpoints of the same slice, which is exactly what (OV1) asks for.
We can argue that our reduction is promise-preserving. This is because violation solutions in the UFEOPL instance are never mapped back to proper solutions of the OPDC instance. This means that, if we promise that the OPDC instance has no violations, then the resulting UFEOPL instance must also contain no violations.
The full reduction.
Our reduction from OPDC to UniqueForwardEOPL generalizes the approach given above to dimensions. We say that a point is on the -surface if for all . In our two-dimensional example we followed a line of points on the one-surface, in order to find a point on the two-surface. In between any two points on the one-surface, we followed a line of points on the zero-surface (every point is trivially on the zero-surface).
Our line will visit a sequence of points on the -surface in order to find the point on the -surface, which is the fixpoint. Between any two points on the -surface the line visits a sequence of points on the -surface, between any two points on the -surface the line visits a sequence of points on the -surface, and so on.
The line will follow the same pattern that we laid out in two dimensions. Every time we find a point on the -surface, we remember it, increment our position in dimension by , and reset our coordinates back to for all dimensions . Hence, a vertex will be a tuple , where each is either
the symbol , indicating that we have not yet encountered a point on the -surface, or
the most recent point on the -surface that we have visited.
This is a generalization of the witnessing scheme that we saw in two-dimensions.
The potential is likewise generalized so that the potential of a point is proportional to , where again is some constant that is larger than the grid size. This means that progress in dimension dominates progress in dimension whenever , which allows the potential to monotonically increase along the line.
We are also able to deal with all possible violations, using the ideas that we have described in two-dimensional case. Full details of this construction are given in Appendix B.1, where the following lemma is proved.
There is a polynomial-time promise-preserving reduction from OPDC to UniqueForwardEOPL.
From UniqueForwardEOPL to UniqueForwardEOPL+1.
The next step of the reduction is to slightly modify the UniqueForwardEOPL instance, so that the potential increases by exactly one in each step. Specifically we define the following problem
Given a Boolean circuits such that and a Boolean circuit such that find one of the following:
A point such that and either or .
Two points , such that , , , and .
There are two differences between this problem and UniqueForwardEOPL. Firstly, an edge exists between and if and only if , and , and this is reflected in the modified definition of solution type (UFP1). Secondly, solution type (UFPV1) has been modified to only cover the case where we have two vertices and that have the same potential. The case where is not covered, since in this setting this would imply , which already gives us a solution of type (UFP1).
It is not difficult to reduce UniqueForwardEOPL to UniqueForwardEOPL+1, using the same techniques that we used in the reduction from EndOfPotentialLine to EndOfMeteredLine in Theorem 10. This gives us the following lemma, which is proved in Appendix B.2.
There is a polynomial-time promise-preserving reduction from UniqueForwardEOPL to UniqueForwardEOPL+1.
UniqueForwardEOPL+1 to UniqueEOPL.
The final step of the proof is to reduce UniqueForwardEOPL to UniqueEOPL. For this, we are able to build upon existing work. The following problem was introduced by Bitansky et al .
The input to the problem consists of a starting vertex , a target integer , and two boolean circuits , . It is promised that, for every vertex , and every integer , we have if and only if . The goal is to find the vertex such that .
SinkOfVerifiableLine is intuitively very similar to UniqueForwardEOPL. In this problem, a single line is encoded, where as usual the vertices are encoded as bit-strings, and the circuit gives the successor of each vertex. The difference in this problem is that the circuit gives a way of verifying how far along the line a given vertex is. Specifically, if and only if is the th vertex on the line. Note that this is inherently a promise problem, since if for some , we have no way of knowing whether is actually steps along the line, without walking all of those steps ourselves.
It was shown by Hubáček and Yogev that SinkOfVerifiableLine can be reduced in polynomial time to EndOfMeteredLine, and hence also to EndOfPotentialLine (via Theorem 10). Moreover, the resulting EndOfPotentialLine instance has a unique line, so this reduction also reduces SinkOfVerifiableLine to UniqueEOPL. It is easy to reduce the promise version of UniqueForwardEOPL+1 to SinkOfVerifiableLine, since we can implement the circuit so that if and only if .
However, the existing work only deals with the promise problem. Our contribution is to deal with violations. We show that, if one creates a SinkOfVerifiableLine instance from a UniqueForwardEOPL+1 instance, in the way described above, and applies the reduction of Hubáček and Yogev to produce a UniqueEOPL instance, then any violation can be mapped back to a solution in the original UniqueForwardEOPL+1 instance. Hence, we show the following lemma, whose full proof appears in Appendix B.3.
There is a polynomial-time promise-preserving reduction from UniqueForwardEOPL to .
This completes the chain of promise-preserving reductions from OPDC to UniqueEOPL. Hence, we have shown the following theorem.
OPDC is in under polynomial-time promise-preserving reductions.
2 One-Permutation Discrete Contraction is 𝖴𝗇𝗂𝗊𝗎𝖾𝖤𝖮𝖯𝖫𝖴𝗇𝗂𝗊𝗎𝖾𝖤𝖮𝖯𝖫\mathsf{UniqueEOPL}-hard
In this section we will show that One-Permutation Discrete Contraction is -complete, by giving a hardness result. Specifically, we give a reduction from UniqueEOPL to OPDC.
The first step of the reduction is to slightly alter the UniqueEOPL instance. Specifically, we would like to ensure the following two properties.
Every edge increases the potential by exactly one. That is, for every vertex .
The line has length exactly for some integer . More specifically, we ensure that if is the end of any line then we have . The start of the line given in the problem has potential , this ensures that the length of that line is exactly , although other lines may be shorter.
We have already developed a technique for ensuring the first property in the reduction from EOPL to EOML in Theorem 10, which can be reused here. Specifically, we introduce a chain of dummy vertices between any pair of vertices and with and . The second property can be ensured by choosing so that is larger than the longest possible line in the instance. Then, at every vertex that is the end of a line, we introduce a chain of dummy vertices
where . The vertex will be the new end of the line, and note that as required. The full details of this are given in Appendix C.1, where the following lemma is shown.
Given a UniqueEOPL instance , there is a polynomial-time promise-preserving reduction that produces a UniqueEOPL instance , where
For every and with and we have , and
There exists an integer such that, is a solution of type (U1) if and only if we have .
For the remainder of this section, we will assume that we have a UniqueEOPL instance that satisfies that two extra conditions given by Lemma 22. We will use to denote the bit-length of a vertex in .
The set of points.
We create an OPDC instance over a boolean hypercube with dimensions, so our set of points is . We will interpret each point as a tuple , where each is a bit-string of length , meaning that each can represent a vertex in .
To understand the reduction, it helps to consider the case where there is a unique line in . We know that this line has length exactly . The reduction repeatedly splits this line into two equal parts.
Let denote the first half of , which contains all vertices with potential .
Let denote the second half of , which contains all vertices with potential .
Observe that and both contain exactly vertices.
The idea is to embed and into different sub-cubes of the point space. The line that we embed will be determined by the last element of the tuple. Let be the vertex satisfying , meaning is the first element of .
We embed into the sub-cube .
We embed a copy of into each sub-cube with .
Note that this means that we embed a single copy of , but many copies of . Specifically, there are possibilities for the final element of the tuple. One of these corresponds to the sub-cube containing , while of them contain a copy of .
The construction is recursive. So we split into two lines and , each containing half of the vertices of . If is the vertex satisfying , which is the first vertex of , then we embed a copy of into the sub-cube , where is the same vertex that we used above, and we embed a copy of into each sub-cube , where . Likewise is split into two, and embedded into the sub-cubes of whenever .
Given a vertex , we can view the bit-string as choosing either or , based on whether . Once that decision has been made, we can then view as choosing one half of the remaining line. Since the original line has length , and we repeat this process times, this means that at the end of the process we will be left with a line containing a single vertex. So in this way, a point is a representation of some vertex in , specifically the vertex that is left after we repeatedly split the line according to the choices made by through .
We can compute the vertex represented by any tuple in polynomial time. Moreover, given a slice that fixes elements through of the tuple, we can produce, in polynomial time, a UniqueEOPL instance corresponding to the line that is embedded in that slice. This is formalised in the following lemma, whose proof is given in Appendix C.2.
There are polynomial-time algorithms for computing the following two functions.
The function which takes a point in and returns the corresponding vertex of .
The function , which takes bit-strings through , representing the slice, , and the instance , and returns a new UniqueEOPL instance which represents the instance that is to be embedded into this slice.
Although we have described this construction in terms of a single line, the two polynomial time algorithms given by Lemma 23 are capable of working with instances that contain multiple lines. In the case where there are multiple lines, there may be two or more bit-strings and with . In that case, we will embed second-half instances into and . This is not a problem for the functions and , although this may lead to violations in the resulting OPDC instance that we will need to deal with.
The direction functions.
The direction functions will carry out the embedding of the lines. Since our space is , we will need to define direction functions through .
The direction functions through correspond to the bits used to define in a point . These direction functions are used to implement the transition between the first and second half of the line. For each point we define these functions using the following algorithm.
In the case where , meaning that is a vertex in the first half of the line, then there are two possibilities.
If , meaning that is the last vertex on the first half of the line, then we orient the direction function of dimensions through towards the bit-string given by . This captures the idea that once we reach the end of the first half of the line, we should then move to the second half, and we do this by moving towards the sub-cube . So for each in the range we define
If the rule above does not apply, then we orient everything towards . Specifically, we set
This is an arbitrary choice: our reduction would work with any valid direction rules in this case.
If , then we are in the second half of the line. In this case we set for all dimensions in the range . This captures the idea that, once we have entered the second half of the line, we should never leave it again.
We use the same idea recursively to define direction functions for all dimensions . This gives us a family of polynomial-time computable direction functions . The full details can be found in Appendix C.3.
The proof.
We have now defined and , so we have an OPDC instance. We must now argue that the reduction is correct. The intuitive idea is as follows. If we are at some point , and is a vertex that is not the end of a line, then there is some direction function such that . We can see this directly for the case where , since the direction functions on dimensions through will be oriented towards , and so will not be a solution.
As we show in the proof, the same property holds for all other vertices in the middle of the line. The end of the line will be a solution, because it will be encoded by the point , where each is the first vertex on the second half of the line embedded in the sub-cube. Our direction functions ensure that for all for this point.
Our reduction must also deal with violations. Violations of type (OV3) are impossible by construction. In violations of type (OV1) and (OV2) we have two points and that are in the same -slice. Here we specifically use the fact that violations can only occur within -slices. Note that an -slice will fix the last bits of the tuple , which means that there will be an index such that all with are fixed. This allows us to associate the slice with the line , and we know that both and encode vertices of . In both cases, we are able to recover two vertices in that have the same potential, and these vertices also have the same potential in . So we get a solution of type (UV3). The details are rather involved, and we defer the proof to Appendix C.4, where the following lemma is proved.
There is a polynomial-time promise-preserving reduction from UniqueEOPL to OPDC.
Thus, we have shown the following theorem.
OPDC is -complete under promise-preserving reductions, even when the set of points is a hypercube.
Since we have shown bidirectional promise-preserving reductions between OPDC and UniqueEOPL, we also get that the promise version of OPDC is complete for .
UniqueEOPL containment results
Let be an -dimensional hypercube. An orientation of gives a direction to each edge of . We formalise this as a function , that assigns a bit-string to each vertex of , with the interpretation that the -th bit of the string gives an orientation of the edge in dimension . More precisely, for each vertex and each dimension , let be the vertex that is adjacent to in dimension .
If then the edge between and is oriented towards .
If then the edge between and is oriented towards .
Note that this definition does not insist that and agree on the orientation of the edge between them, meaning that and may orient the edge in opposite directions. However, this will be a violation in our set up, and a proper orientation should be thought of as always assigning a consistent direction to each edge.
A face is a subset of in which some coordinates have been fixed. This can be defined using the same notation that we used for slices in OPDC. So a face , where each is either , , or , and the sub-cube defined by contains every vertex such that whenever .
A vertex is a sink if all of the edges of are directed towards , meaning that for all . Given a face , a vertex is a sink of if it is the sink of the sub-cube defined by , meaning that whenever .
A unique sink orientation (USO) is an orientation in which every face has a unique sink. Since is a face, this also implies that the whole cube has a unique sink, and the USO problem is to find the unique sink.
Placing the problem in 𝖳𝖥𝖭𝖯𝖳𝖥𝖭𝖯\mathsf{TFNP}.
The USO property is quite restrictive, and there are many orientations that are not USOs. Indeed, the overall cube may not have a sink at all, or it may have multiple sinks, and this may also be the case for the other faces of the cube. Fortunately, Szabó and Welzl have pointed out that if an orientation is not a USO, then there is a succinct witness of this fact .
Let be two distinct vertices. We have that is a USO if and only if there exists some dimension such that and . Put another way, this means that if we restrict the orientation only to the sub-cube defined by any two vertices and , then the orientations of and must be different on that sub-cube. If one uses to denote the XOR operation on binary strings, and to denote the bit-wise and-operation, then this condition can be written concisely as
Note that this condition also ensures that the orientation is consistent, since if and differ in only a single dimension, then the conditions states that they must agree on the orientation of the edge between them.
We use this condition to formulate the USO problem as a problem in .
Given an orientation function find one of the following.
A point such that for all .
A point such that .
Two points such that and .
Note that this formulation of the problem allows the orientation function to decline to give an orientation for some vertices, and this is indicated by setting . Any such vertex is a violation of type (USV1). While this adds nothing interesting to the USO problem, we will use this in Section 4.3 when we reduce P-LCP to USO, since in some cases the reduction may not be able to produce an orientation at a particular vertex.
Assuming that there are no violations of type (USV1), it is easy to see that the problem is total. This is because every USO has a sink, giving a solution of type (US1), while every orientation that is not a USO has a violation of type (USV2).
Placing the problem in 𝖴𝗇𝗂𝗊𝗎𝖾𝖤𝖮𝖯𝖫𝖴𝗇𝗂𝗊𝗎𝖾𝖤𝖮𝖯𝖫\mathsf{UniqueEOPL}.
We show that the problem lies in by providing a promise-preserving reduction from Unique-Sink-Orientation to OPDC. The reduction is actually not too difficult, because when the point set for the OPDC instance is a hypercube, the OPDC problem can be viewed as a less restrictive variant of USO. Specifically, USO demands that every face has a unique sink, while OPDC only requires that the -slices should have unique sinks.
The reduction creates an OPDC instances on the same set of points, meaning that . The direction functions simply follow the orientation given by . Specifically, for each and each dimension we define
If , then we instead set for all .
To prove that this is correct, we show that every solution of the OPDC instance can be mapped back to a solution of the USO instance. Any fixpoint of the OPDC instance satisfies for all , which can only occur if is a sink, or if . The violation solutions of OPDC can be used to generate a pair of vertices that constitute a (USV2) violation. We defer the details to Appendix D, where the following lemma is proved.
There is a polynomial-time promise-preserving reduction from Unique-Sink-Orientation to OPDC.
Thus we have shown the following theorem.
Unique-Sink-Orientation is in under promise-preserving reductions.
This proves the following new facts about the complexity of finding the sink of a USO.
Unique-Sink-Orientation is in , , and .
2 Piecewise Linear Contraction Maps
In this section, we show that finding a fixpoint of a piecewise linear contraction map lies in . Specifically, we study contraction maps where the function is given as a circuit, which is an arithmetic circuit comprised of , and (multiplication by a constant) gates . Hence, a circuit defines a piecewise linear function.
Not every function is contracting, and the most obvious way to prove that is not contracting is to give a pair of points and that satisfy , which directly witness the fact that is not contracting.
However, when we discretize Contraction in order to to reduce it to OPDC, there are certain situations in which we have a convincing proof that is not contracting, but no apparent way to actually produce a violation of contraction. In fact, the discretization itself is non-trivial, so we will explain that first, and then define the type of violations that we will use.
The reduction.
The most complex step of the reduction is to produce an appropriate set of points for the OPDC instance. This means we need to choose integers , , through in order to define the point set , where we recall that this defines a grid of integers, where each dimension can take values between and . We will describe the method for picking through after we have specified the rest of the reduction.
The direction functions will simply follow the directions given by . Specifically, for every point , let be the corresponding point in , meaning that for all . For and every dimension we define the direction function so that
if then ,
if then , and
if then .
In other words, the function simply checks whether moves up, down, or not at all in dimension . This completes the specification of the family of direction functions .
We must carefully choose through to ensure that the fixpoint of is contained within the grid. In fact, we need a stronger property: for every -slice of the grid, if has a fixpoint in that -slice, then it should also appear in the grid. Recall that is a fixpoint of some slice if for every for which . We can extend this definition to the continuous function as follows: a point is a fixpoint of if for all for which , where we now interpret as specifying that whenever . We are able to show the following lemma, whose proof appears in Appendix F.1.
There exists integers such that for every -slice we have that if is a fixpoint of according to , then there exists a point such that
for all where .
Moreover, the number of bits needed to write down each is polynomial in the number of bits needed to write down .
This lemma states that we can pick the grid size to be fine enough so that all fixpoints of in all -slices are contained within the grid. The proof of this is actually quite involved, and relies crucially on the fact that we have access to a representation of . From this, we can compute upper bounds on the bit-length of any point that is a fixpoint of . We also rely on the fact that we only need to consider -slices, because our proof fixes the grid-widths one dimension at a time, starting with dimension and working backwards.
The extra violation.
The specification of our reduction is now complete, but we have still not fully defined the original problem, because we need to add an extra violation. The issue arises with solutions of type (OV2), where we have an -slice and two points in such that
for all ,
and .
This means that and are both fixpoints of their respective slices -slices, and are directly adjacent to each other in dimension . We are able to show, in this situation, that if is contracting, then has a fixpoint for the slice , and it must lie between and . The following lemma is shown in Appendix F.2.
If is contracting, and we have two points and that are a violation of type (OV2), then there exists a point in the slice that satisfies all of the following.
for all , meaning that is a fixpoint of the slice , and
, meaning that lies between and in dimension .
So if we have an (OV2) violation, and if is contracting, then Lemma 31 implies that there is a fixpoint of the slice that lies strictly between and in dimension . However, Lemma 30 says that all fixpoints of lie in the grid, and since and are directly adjacent adjacent in the grid in dimension , there is no room for , so it cannot exist. The only way that this contradiction can be resolved is if not actually contracting.
Hence, (OV2) violations give us a concise witness that is not contracting. But the points and themselves may satisfy the contraction property. While we know that there must be a violation of contraction somewhere, we are not necessarily able to compute such a violation in polynomial time. To resolve this, we add the analogue of an (OV2) violation to the contraction problem.
Two points such that .
A point such that .
An -slice and two points in such that
for all ,
, where is the integer given by Lemma 30 for the circuit that computes , and
Violations of type (CMV3) are the direct translation of (OV2) violations to contraction. Note that if actually is contracting, and has a fixpoint in , then no violations can exist. For (CMV3) violations, this fact is a consequence of Lemmas 30 and 31.
Correctness of the reduction.
There is a polynomial-time promise-preserving reduction from PL-Contraction to OPDC.
PL-Contraction is in under promise-preserving reductions.
3 The P-Matrix Linear Complementarity Problem
In this section, we reduce P-LCP to Unique-Sink-Orientation and, separately, P-LCP to UniqueEOPL. Given that we show that Unique-Sink-Orientation reduces to UniqueEOPL (via OPDC) and is thus in , our direct reduction from P-LCP to UniqueEOPL is not needed to show that P-LCP is contained in . However, by reducing directly we can produce a UniqueEOPL instance with size linear in the size of our P-LCP instance, which is needed to obtain the algorithmic result in Section 5.2.
The direct reduction to UniqueEOPL relies heavily on the application of Lemke’s algorithm to P-matrix LCPs, and our reduction to Unique-Sink-Orientation relies on the computation of principal pivot transformations of LCPs. Next we introduce the required concepts. Let denote the set .
The problem of checking if a matrix is a P-matrix is -complete , so we cannot expect to be able to verify that an LCP instance (M,\mbox{\boldmathq}) is actually defined by a P-matrix . Instead, we use succinct witnesses that is not a P-matrix as a violation solution, which allows us to define total variants of the P-LCP problem that lie in , as first done by Megiddo . This approach has previously used to place the P-matrix problem in and .
First, we introduce some further required notation. Restating (1), the LCP problem (M,\mbox{\boldmathq}) seeks a pair of non-negative vectors such that:
If \mbox{\boldmathq}\geq 0, then ({\mathbf{y}},{\mathbf{w}})=(0,\mbox{\boldmathq}) is a trivial solution. We identify a solution with the set of components of that are positive: let denote such a set of “basic variables”. Going the other way, to check if there is a solution that corresponds to a particular , we try to perform a principal pivot transformation, re-writing the LCP by writing certain variables as , and checking if in this re-written LCP there exists the trivial solution ({\mathbf{y}}^{\prime},{\mathbf{w}}^{\prime})=(0,\mbox{\boldmathq}^{\prime}). To that end, we construct an matrix , where the th column of is defined as follows. Let denote the th unit column vector in dimension , and let denote the th column of the matrix .
Then corresponds to an LCP solution if is non-singular and, the “new ” i.e., (A_{\alpha}^{-1}\mbox{\boldmathq}), is non-negative. For a given , we define if ; note that this will not happen if is really a P-matrix, but our general treatment here is made to deal with the non-promise problem, in which case a zero determinant will correspond to a violationWe could also define if , since then we also get a P-matrix violation, however we choose to still perform a principal pivot transformation in this case since, ceteris paribus, it seems reasonable to prefer an LCP solution to a P-matrix violation when we reduce P-LCP to USO.. If , we define as a bit-string in as follows:
With this notation, a subset corresponds to a solution of the LCP if . We will use both to define a succinct violation of the P-matrix property, and in our promise-preserving reduction from P-LCP to Unique-Sink-Orientation.
Next, we introduce three types of succinct violations that prove that a matrix is not a P-matrix. Let for denote the characteristic vector of , i.e., if and 0 otherwise. As in the section on USOs, when we write and , here we mean the bit-wise XOR and bit-wise and-operations on bit-strings.
For a given LCP (M,\mbox{\boldmathq}) in dimension , each of the following provides a polynomial-size witness that is not a P-matrix:
A set such that the corresponding principal minor is non-positive, i.e., .
A vector whose sign is reversed by , that is, for all we have .
Two distinct sets , with .
The violation PV1 corresponds to the standard definition of a P-matrix as having all positive principal minors. Megiddo used this violation to place to place the P-LCP problem in . The same violation was then used by Papadimitriou to put P-LCP in , because Lemke’s algorithm is a -type complementary pivoting algorithm, which inspired , and it will return a non-positive principal minor if it fails to find an LCP solution.
The characterization of P-matrices as those that do not reverse the sign of any non-zero vector, as used for violation PV2, was first discovered by Gale and Nikaido . The final violation, PV3, follows from the work of Stickney and Watson , who showed that P-matrix LCPs give rise to USOs, and from the work of Tzabo and Welzl [74, Lemma 2.3], who showed that this condition characterizes that “outmap” of USOs, as discussed in Section 4.1, hence the name of the function being “out”.
Several other characterizations of P-matrices are known, some of which would provide alternative succinct violations . We have given the violations PV1–PV3 above, since we use the three for our promise preserving reductions from P-LCP to UniqueEOPL and to Unique-Sink-Orientation. In particular, for our reduction from P-LCP to Unique-Sink-Orientation we need violations of types PV1 and PV3, and for our reduction from P-LCP directly to UniqueEOPL we need violations of types PV1 and PV2. It is not immediately apparent how to convert violations of one type to another in polynomial time, and it is conceivable that allowing different sets of violations changes the complexity of the problem. We leave it as further work to further explore this.
Given an LCP (M,\mbox{\boldmathq}), find either:
In the promise version, we are promised that is a P-matrix and seek a solution of type (Q1).
We are now ready to present our reduction to USO. The reduction is simple, and we present it in full detail here. For the LCP instance \mbox{{\mathcal{I}}}=(M,\mbox{\boldmathq}) in dimension , we produce an instance of Unique-Sink-Orientation also in dimension .
We first need to deal with the possibility that is degenerate. A P-matrix LCP has a degenerate if A_{\alpha}^{-1}\cdot\mbox{\boldmathq} has a zero entry for some . To ensure that this does not present a problem for our reduction, we use a standard technique known as lexicographic perturbation [14, Section 4.2]: In the reduction that follows we assume that we are using such a degeneracy resolution scheme.
The reduction associates each vertex of the resulting USO with a set a of basic variables for the LCP, and then uses as the outmap at . In detail, for a vertex of , we define , and set . It immediately follows that:
A solution of type (US1) in is a solution of type (Q1) in .
A solution of type (USV1) in is a solution of type (PV1) in .
A solution of type (USV2) in is a solution of type (PV3) in .
If is actually a P-matrix then will have exactly one solution of type (US1), and no violation solutions . Thus our reduction is promise preserving, and we obtain the following.
There is a polynomial-time promise-preserving reduction from P-LCP with violations of type (PV1) and (PV3) to Unique-Sink-Orientation.
Overview of reductions from P-LCP to EndOfPotentialLine and UniqueEOPL. Comparing UniqueEOPL and EndOfPotentialLine we see that: (U1) and (UV2) correspond to (R1), and (UV1) corresponds to (R2), so the only difference is that UniqueEOPL has the extra violation solution (UV3). Thus there is some extra work to do for our reduction to UniqueEOPL, to map (UV3) solutions back to a P-LCP solution.
Our reduction from P-LCP to the two problems produces the same instance. The reduction in both cases is based on Lemke’s algorithm, which we describe in detail in Appendix G.1. For EndOfPotentialLine, we only need to use (PV1) violations. For UniqueEOPL, we only need to use (PV2) violations. Next we give a high-level description of the reduction, where for simplicity we just refer to a resulting EndOfPotentialLine instance. Full details of both reductions appear in Appendix G.
Lemke’s algorithm introduces to the LCP an extra variable and an extra positive vector , called a covering vector. It follows a path along edges of the new LCP polyhedron based on a complementary pivot rule that maintains an almost-complementary solution. In Figure 5, we give an example with \mbox{\boldmathc}=(2,1)^{\top}; in our reduction we take to be the all ones vector . Geometrically, solving an LCP is equivalent to finding a complementary cone, corresponding to a subset of columns of and the complementary unit vectors, that contains -\mbox{\boldmathq}. This is depicted on the left in Figure 5, which also shows Lemke’s algorithm as inverting a piecewise linear map along the line from -\mbox{\boldmathc} to -\mbox{\boldmathq}. The algorithm pivots between the brown vertices at the intersections of complementary cones and terminates at -\mbox{\boldmathq}. The extra variable can be normalized and then describes how far along the line from to -\mbox{\boldmathq} we are. P-matrix LCPs are exactly those where the complementary cones cover the whole space with no overlap, and then decreases monotonically as Lemke’s algorithm proceeds.
Each vertex along the Lemke path corresponds to a subset of of basic variables, and a possibly a unique duplicate label. A label is said to be duplicate if as well as . The vertices without a duplicate label has and correspond to a solution of the LCP. To encode these subsets and the duplicate label, we consider bit strings of length that represent vertices in the EndOfPotentialLine instance. The first bits encode the subset, and bits bits encode the duplicate label, where bit is one if is the duplicate label. Thus, “valid” vertices in EndOfPotentialLine instance can have at most one bit set to one among bits through . We ensure that “invalid” bit configurations form self-loops in the EndOfPotentialLine instance, and hence do not give rise to any solutions.
We use the following key properties of Lemke’s algorithm as applied to a P-matrix:
If Lemke’s algorithm does not terminate with a LCP solution (Q1), it provides a (Q2) solution.
For a P-matrix , the extra variable strictly decreases in each step of the algorithm.
Given a subset of and duplicate label , we can efficiently decide if it corresponds to a vertex on a Lemke path.
By a result of Todd [76, Section 5], the Lemke path can be efficiently locally oriented.
Recall that LCP (1) has a trivial solution, namely , if \mbox{\boldmathq}\geq 0. Therefore, wlog assume that . The starting vertex of the Lemke path is the vertex \mbox{\boldmathx}^{0}=({\mathbf{y}}^{0},{\mathbf{w}}^{0},z^{0}) with , , and {\mathbf{w}}=\mbox{\boldmathq}+z^{0}\mbox{\boldmath1}. So is a start of line in the EndOfPotentialLine instance, we point the successor of to the bit configuration corresponding to \mbox{\boldmathx}^{0}. We then follow the line of bit configurations corresponding to the vertices traversed by Lemke’s algorithm, updating in each step. We use as the potential function – to ensure increasing potential along the line, and to ensure that only has zero potential. If we start with a P-LCP instance where is actually a P-matrix then this reduction will produce a single line from \mbox{\boldmathx}^{0} to the solution of the P-LCP, and will monotonically decrease along this line. The main difficulty of the reduction is dealing with the case where is not a P-matrix. This may cause Lemke’s algorithm to terminate without an LCP solution. Another issue is that, even when Lemke’s algorithm does find a solution, may not decrease monotonically along the line.
In the former case, the first property above gives us a (Q2) solution for the P-LCP problem. In the latter case, we define any point on the line where increases to be a self-loop, breaking the line at these points. Figure 5 shows an example, where the two vertices at which increases are turned into self loops, thereby introducing two new solutions before and after the break. Both of these solutions give us a (Q2) solution for the P-LCP instance. The full details of the reduction are involved and appear in Appendix G. It is worth noting that, in the case where the input is actually a P-matrix, the resulting EndOfPotentialLine instance has a unique line, so our reduction in promise preserving. Moreover, our EndOfPotentialLine instance is a valid UniqueEOPL instance, and we can map back all violations so as to obtain the following.
There are a polynomial-time promise-preserving reduction from P-LCP with violations of type (PV1) to EndOfPotentialLine, and from P-LCP with violations of type (PV2) to UniqueEOPL, and thereby also to EndOfPotentialLine. Both reductions only incur a linear blowup in the size of the instance.
Algorithms
The properties that we observed in our reduction from PL-Contraction to EndOfPotentialLine can also be used to give polynomial time algorithms for the case where the number of dimensions is constant. In our two-dimensional example, we relied on the fact that each dimension-two slice has a unique point on the blue surface, and that the direction function at this point tells us the direction of the overall fixpoint.
This suggests that a nested binary search approach can be used to find the fixpoint. The outer binary search will work on dimension-two coordinates, and the inner binary search will work on dimension-one coordinates. For each fixed dimension-two coordinate , we can apply the inner binary search to find the unique point that is on the blue surface. Once we have done so, tells us how to update the outer binary search to find a new candidate coordinate .
This can be generalized to -dimensional instances, by running nested instances of binary search. Moreover, our algorithm can detect violations in the course of performing the binary search and is able to produce witnesses to the given function not being a contraction map. Thus, our algorithm solves the non-promise problem PL-Contraction, giving the following theorem, whose proof appears in Appendix H.3.
An algorithm for Contraction.
We are also able to generalize this to the more general Contraction problem, where the input is given as an arbitrary (non-linear) arithmetic circuit. Here the key issue is that the fixpoint may not be rational, and so we must find a suitably accurate approximate fixpoint. Our nested binary search approach can be adapted to do this.
Again, the algorithm is able to detect violations of contraction during the course of the binary search, and thus solves the more general problem of either finding a fixpoint when the circuit defines a contraction map, or returning a pair of points that are not contracting. The details of this are deferred to Appendix H.4, where the following theorem is shown.
For a contraction map under for , there is an algorithm to compute a point such that or return a pair of points such that in time .
Actually, our algorithm treats the function as a black-box, and so it can be applied to any contraction map, with Theorem 41 giving the number of queries that need to be made.
2 Aldous’ algorithm for PLCP
Aldous analysed a simple randomized algorithm for solving local search problems. The algorithm randomly samples a large number of candidate solutions and then performs a local search from the best sampled solution. Aldous’ algorithm can solve any problem in and thus any problem in . In it was noted that, because our reduction from our reduction from P-LCP to UniqueEOPL only incurs a linear blowup, that is, from an LCP in dimension we produce an UniqueEOPL instance with vertices, when we apply Aldous’ algorithm to the resulting instance, the expected time is in the worst case, which gives the fastest known running time for a randomized algorithm for P-LCP. Thus, we get the following corollary of Theorem 39.
There is a randomized algorithm for P-LCP that runs in expected time .
References
Appendix A Proofs for Section 2: Equivalence of EOPL and EOML
First we recall the definition of EndOfMeteredLine, which was first defined in . It is close in spirit to the problem EndOfLine that is used to define .
Given circuits , and such that and , find a string \mbox{\boldmathx}\in\{0,1\}^{n} satisfying one of the following
either S(P(\mbox{\boldmathx}))\neq\mbox{\boldmathx}\neq 0^{n} or P(S(\mbox{\boldmathx}))\neq\mbox{\boldmathx},
\mbox{\boldmathx}\neq 0^{n},V(\mbox{\boldmathx})=1,
either V(\mbox{\boldmathx})>0 and V(S(\mbox{\boldmathx}))-V(\mbox{\boldmathx})\neq 1, or V(\mbox{\boldmathx})>1 and V(\mbox{\boldmathx})-V(P(\mbox{\boldmathx}))\neq 1.
EndOfMeteredLine is actually quite similar to EndOfPotentialLine. The main difference is that in EndOfMeteredLine, each edge must increase the potential by exactly 1, which is enforced by solution type T3.
Given an instance of EndOfMeteredLine defined by circuits and on vertex set we are going to create an instance \mbox{{\mathcal{I}}}^{\prime} of EndOfPotentialLine with circuits , and on vertex set , i.e., we introduce one extra bit. This extra bit is essentially to take care of the difference in the value of potential at the starting point in EndOfMeteredLine and EndOfPotentialLine, namely and respectively.
Let , then we create a potential function . The idea is to make the starting point with potential zero as required, and to make all other vertices with first bit be dummy vertices with self loops. The real graph will be embedded in vertices with first bit , i.e., of type (1,\mbox{\boldmathu}). Here by (b,\mbox{\boldmathu})\in\{0,1\}^{k}, where and \mbox{\boldmathu}\in\{0,1\}^{n}, we mean a length bit string with first bit set to and for each bit set to bit .
Procedure V^{\prime}(b,\mbox{\boldmathu}): If then Return , otherwise Return V(\mbox{\boldmathu}).
Procedure S^{\prime}(b,\mbox{\boldmathu}):
If (b,\mbox{\boldmathu})=0^{k} then Return
If and \mbox{\boldmathu}\neq 0^{n} then Return (b,\mbox{\boldmathu}) (creating self loop for dummy vertices)
If and V(\mbox{\boldmathu})=0 then Return (b,\mbox{\boldmathu}) (vertices with zero potentials have self loops)
If and V(\mbox{\boldmathu})>0 then Return (b,S(\mbox{\boldmathu})) (the rest follows )
Procedure P^{\prime}(b,\mbox{\boldmathu}):
If (b,\mbox{\boldmathu})=0^{k} then Return (b,\mbox{\boldmathu}) (initial vertex points to itself in ).
If and \mbox{\boldmathu}\neq 0^{n} then Return (b,\mbox{\boldmathu}) (creating self loop for dummy vertices)
If and \mbox{\boldmathu}=0^{n} then Return (to make edge consistent)
If and V(\mbox{\boldmathu})=0 then Return (b,\mbox{\boldmathu}) (vertices with zero potentials have self loops)
If and V(\mbox{\boldmathu})>0 and \mbox{\boldmathu}\neq 0^{n} then Return (b,P(\mbox{\boldmathu})) (the rest follows )
Valid solutions of EndOfMeteredLine of type T2 and T3 requires the potential to be strictly greater than zero, while solutions of EndOfPotentialLine may have zero potential. However, a solution of EndOfPotentialLine can not be a self loop, so we’ve added self-loops around vertices with zero potential in the EndOfPotentialLine instance. By construction, the next lemma follows:
, , are well defined and polynomial in the sizes of , , respectively.
Our main theorem in this section is a consequence of the following three lemmas.
For any \mbox{\boldmathx}=(b,\mbox{\boldmathu})\in\{0,1\}^{k}, P^{\prime}(\mbox{\boldmathx})=S^{\prime}(\mbox{\boldmathx})=\mbox{\boldmathx} (self loop) iff \mbox{\boldmathx}\neq 0^{k}, and or V(\mbox{\boldmathu})=0.
This follows by the construction of , the second condition in and , and third and fourth conditions in and respectively. ∎
Let \mbox{\boldmathx}=(b,\mbox{\boldmathu})\in\{0,1\}^{k} be such that S^{\prime}(P^{\prime}(\mbox{\boldmathx}))\neq\mbox{\boldmathx}\neq 0^{k} or P^{\prime}(S^{\prime}(\mbox{\boldmathx}))\neq\mbox{\boldmathx} (an (R1) type solution of EndOfPotentialLine instance \mbox{{\mathcal{I}}}^{\prime}), then is a solution of EndOfMeteredLine instance .
The proof requires a careful case analysis. By the first conditions in the descriptions of and , we have \mbox{\boldmathx}\neq 0^{k}. Further, since is not a self loop, Lemma 45 implies and V^{\prime}(1,\mbox{\boldmathu})=V(\mbox{\boldmathu})>0.
Case I. If S^{\prime}(P^{\prime}(\mbox{\boldmathx}))\neq\mbox{\boldmathx}\neq 0^{k} then we will show that either is a genuine start of a line other than giving a T1 type solution of EndOfMeteredLine instance , or there is some issue with the potential at giving either a T2 or T3 type solution of . Since , \mbox{\boldmathu}\neq 0^{n}. Thus if S(P(\mbox{\boldmathu}))\neq\mbox{\boldmathu} then we get a T1 type solution of and proof follows. If V(\mbox{\boldmathu})=1 then we get a T2 solution of and proof follows.
Otherwise, we have S(P(\mbox{\boldmathu}))=\mbox{\boldmathu} and V(\mbox{\boldmathu})>1. Now since also (1,\mbox{\boldmathu}) is not a self loop (Lemma 45). Then it must be the case that P^{\prime}(1,\mbox{\boldmathu})=(1,P(\mbox{\boldmathu})). However, S^{\prime}(1,P(\mbox{\boldmathu}))\neq(1,\mbox{\boldmathu}) even though S(P(\mbox{\boldmathu}))=\mbox{\boldmathu}. This happens only when P(\mbox{\boldmathu}) is a self loop because of V(P(\mbox{\boldmathu}))=0 (third condition of ). Therefore, we have V(\mbox{\boldmathu})-V(P(\mbox{\boldmathu}))>1 implying that is a T3 type solution of .
Case II. Similarly, if P^{\prime}(S^{\prime}(\mbox{\boldmathx}))\neq\mbox{\boldmathx}, then either is a genuine end of a line of , or there is some issue with the potential at . If P(S(\mbox{\boldmathu}))\neq\mbox{\boldmathu} then we get T1 solution of . Otherwise, P(S(\mbox{\boldmathu}))=\mbox{\boldmathu} and V(\mbox{\boldmathu})>0. Now as (b,\mbox{\boldmathu}) is not a self loop and V(\mbox{\boldmathu})>0, it must be the case that S^{\prime}(b,\mbox{\boldmathu})=(1,S(\mbox{\boldmathu})). However, P^{\prime}(1,S(\mbox{\boldmathu}))\neq(b,\mbox{\boldmathu}) even though P(S(\mbox{\boldmathu}))=\mbox{\boldmathu}. This happens only when S(\mbox{\boldmathu}) is a self loop because of V(S(\mbox{\boldmathu}))=0. Therefore, we get V(S(\mbox{\boldmathu}))-V(\mbox{\boldmathu})<0, i.e., is a type T3 solution of . ∎
Let \mbox{\boldmathx}=(b,\mbox{\boldmathu})\in\{0,1\}^{k} be an (R2) type solution of the constructed EndOfPotentialLine instance \mbox{{\mathcal{I}}}^{\prime}, then is a type T3 solution of EndOfMeteredLine instance .
Clearly, \mbox{\boldmathx}\neq 0^{k}. Let {\mathbf{y}}=(b^{\prime},\mbox{\boldmathu}^{\prime})=S^{\prime}(\mbox{\boldmathx})\neq\mbox{\boldmathx}, and observe that P({\mathbf{y}})=\mbox{\boldmathx}. This also implies that is not a self loop, and hence and V(\mbox{\boldmathu})>0 (Lemma 45). Further, {\mathbf{y}}=S^{\prime}(1,\mbox{\boldmathu})=(1,S(\mbox{\boldmathu})), hence \mbox{\boldmathu}^{\prime}=S(\mbox{\boldmathu}). Also, V^{\prime}(\mbox{\boldmathx})=V^{\prime}(1,\mbox{\boldmathu})=V(\mbox{\boldmathu}) and V^{\prime}({\mathbf{y}})=V^{\prime}(1,\mbox{\boldmathu}^{\prime})=V(\mbox{\boldmathu}^{\prime}).
Since V^{\prime}({\mathbf{y}})-V^{\prime}(\mbox{\boldmathx})\leq 0 we get V(\mbox{\boldmathu}^{\prime})-V(\mbox{\boldmathu})\leq 0\Rightarrow V(S(\mbox{\boldmathu}))-V(\mbox{\boldmathu})\leq 0\Rightarrow V(S(\mbox{\boldmathu}))-V(\mbox{\boldmathu})\neq 1. Given that V(\mbox{\boldmathu})>0, gives a type T3 solution of EndOfMeteredLine. ∎
An instance of EndOfMeteredLine can be reduced to an instance of EndOfPotentialLine in linear time such that a solution of the former can be constructed in a linear time from the solution of the latter.
A.2 EndOfPotentialLine to EndOfMeteredLine
In this section we give a linear time reduction from an instance of EndOfPotentialLine to an instance \mbox{{\mathcal{I}}}^{\prime} of EndOfMeteredLine. Let the given EndOfPotentialLine instance be defined on vertex set and with procedures and , where .
Valid Edge. We call an edge \mbox{\boldmathu}\rightarrow\mbox{\boldmathv} valid if \mbox{\boldmathv}=S(\mbox{\boldmathu}) and \mbox{\boldmathu}=P(\mbox{\boldmathv}).
We construct an EndOfMeteredLine instance \mbox{{\mathcal{I}}}^{\prime} on vertices where . Let and denotes the procedures for \mbox{{\mathcal{I}}}^{\prime} instance. The idea is to capture value V(\mbox{\boldmathx}) of the potential in the least significant bits of vertex description itself, so that it can be gradually increased or decreased on valid edges. For vertices with irrelevant values of these least significant bits we will create self loops. Invalid edges will also become self loops, e.g., if {\mathbf{y}}=S(\mbox{\boldmathx}) but P({\mathbf{y}})\neq\mbox{\boldmathx} then set S^{\prime}(\mbox{\boldmathx},.)=(\mbox{\boldmathx},.). We will see how these can not introduce new solutions.
In order to ensure , the case needs to be discarded. For this, we first do some initial checks to see if the given instance is not trivial. If the input EndOfPotentialLine instance is trivial, in the sense that either or is a solution, then we can just return it.
If or are not solutions of EndOfPotentialLine instance then are valid edges, and .
Since both and are not solutions, we have , , and for \mbox{\boldmathu}=S(0^{n}), S(P(\mbox{\boldmathu}))=\mbox{\boldmathu} and P(S(\mbox{\boldmathu}))=\mbox{\boldmathu}. In other words, are valid edges, and since , we have . ∎
Let us assume now on that and are not solutions of , and then by Lemma 49, we have are valid edges, and . We can avoid the need to check whether is one all together, by making point directly to and make a dummy vertex.
We first construct and , and then construct which will give value zero to all self loops, and use the least significant bits to give a value to all other vertices. Before describing and formally, we first describe the underlying principles. Recall that in vertex set is and possible potential values are , while in \mbox{{\mathcal{I}}}^{\prime} vertex set is where . We will denote a vertex of \mbox{{\mathcal{I}}}^{\prime} by a tuple (\mbox{\boldmathu},\pi), where \mbox{\boldmathu}\in\{0,1\}^{n} and . Here when we say that we introduce an edge \mbox{\boldmathx}\rightarrow{\mathbf{y}} we mean that we introduce a valid edge from to , i.e., {\mathbf{y}}=S^{\prime}(\mbox{\boldmathx}) and \mbox{\boldmathx}=P({\mathbf{y}}).
Vertices of the form for any and the vertex are dummies and hence have self loops.
If then we introduce an edge , otherwise
for , we introduce the edges .
If \mbox{\boldmathu}\rightarrow\mbox{\boldmathu}^{\prime} valid edge in then let p=V(\mbox{\boldmathu}) and p^{\prime}=V(\mbox{\boldmathu}^{\prime})
If then we introduce the edge (\mbox{\boldmathu},p)\rightarrow(\mbox{\boldmathu}^{\prime},p^{\prime}).
If then we introduce the edges (\mbox{\boldmathu},p)\rightarrow(\mbox{\boldmathu},p+1)\rightarrow\dots\rightarrow(\mbox{\boldmathu},p^{\prime}-1)\rightarrow(\mbox{\boldmathu}^{\prime},p^{\prime}).
If then we introduce the edges (\mbox{\boldmathu},p)\rightarrow(\mbox{\boldmathu},p-1)\rightarrow\dots\rightarrow(\mbox{\boldmathu},p^{\prime}+1)\rightarrow(\mbox{\boldmathu}^{\prime},p^{\prime}).
If \mbox{\boldmathu}\neq 0^{n} is the start of a path, i.e., S(P(\mbox{\boldmathu}))\neq\mbox{\boldmathu}, then make (\mbox{\boldmathu},V(\mbox{\boldmathu})) start of a path by ensuring P^{\prime}(\mbox{\boldmathu},V(\mbox{\boldmathu}))=(\mbox{\boldmathu},V(\mbox{\boldmathu})).
If is the end of a path, i.e., P(S(\mbox{\boldmathu}))\neq\mbox{\boldmathu}, then make (\mbox{\boldmathu},V(\mbox{\boldmathu})) end of a path by ensuring S^{\prime}(\mbox{\boldmathu},V(\mbox{\boldmathu}))=(\mbox{\boldmathu},V(\mbox{\boldmathu})).
Last two bullets above remove singleton solutions from the system by making them self loops. However, this can not kill all the solutions since there is a path starting at , which has to end somewhere. Further, note that this entire process ensures that no new start or end of a paths are introduced.
Procedure S^{\prime}(\mbox{\boldmathu},\pi).
If (\mbox{\boldmathu}=0^{n} and ) or \mbox{\boldmathu}=S(0^{n}) then Return (\mbox{\boldmathu},\pi).
If (\mbox{\boldmathu},\pi)=0^{k}, then let \mbox{\boldmathu}^{\prime}=S(S(0^{n})) and p^{\prime}=V(\mbox{\boldmathu}^{\prime}).
If then Return (\mbox{\boldmathu}^{\prime},2) else Return .
If then Return .
If then Return .
If then Return (\mbox{\boldmathu},\pi).
Let \mbox{\boldmathu}^{\prime}=S(\mbox{\boldmathu}), p^{\prime}=V(\mbox{\boldmathu}^{\prime}), and p=V(\mbox{\boldmathu}).
If P(\mbox{\boldmathu}^{\prime})\neq\mbox{\boldmathu} or \mbox{\boldmathu}^{\prime}=\mbox{\boldmathu} then Return (\mbox{\boldmathu},\pi)
If or ( and ) or and ) then Return (\mbox{\boldmathu}^{\prime},p^{\prime}).
If or or or then Return (\mbox{\boldmathu},\pi)
If , then if then Return (\mbox{\boldmathu},\pi+1). If then Return (\mbox{\boldmathu}^{\prime},p^{\prime}).
If , then if then Return (\mbox{\boldmathu},\pi-1). If then Return (\mbox{\boldmathu}^{\prime},p^{\prime}).
Procedure P^{\prime}(\mbox{\boldmathu},\pi).
If (\mbox{\boldmathu}=0^{n} and ) or \mbox{\boldmathu}=S(0^{n}) then Return (\mbox{\boldmathu},\pi).
If and then Return .
If and then Return .
If \mbox{\boldmathu}=S(S(0^{n})) and then
If then Return , else Return .
Let \mbox{\boldmathu}^{\prime}=P(\mbox{\boldmathu}), p^{\prime}=V(\mbox{\boldmathu}^{\prime}), and p=V(\mbox{\boldmathu}).
If S(\mbox{\boldmathu}^{\prime})\neq\mbox{\boldmathu} or \mbox{\boldmathu}^{\prime}=\mbox{\boldmathu} then Return (\mbox{\boldmathu},\pi)
If then Return (\mbox{\boldmathu}^{\prime},p^{\prime})
If then Return (\mbox{\boldmathu}^{\prime},p-1) else Return (\mbox{\boldmathu}^{\prime},p+1)
Else % when \pi\neq V(\mbox{\boldmathu})
Let \mbox{\boldmathu}^{\prime}=S(\mbox{\boldmathu}), p^{\prime}=V(\mbox{\boldmathu}^{\prime}), and p=V(\mbox{\boldmathu})
If P(\mbox{\boldmathu}^{\prime})\neq\mbox{\boldmathu} or \mbox{\boldmathu}^{\prime}=\mbox{\boldmathu} then Return (\mbox{\boldmathu},\pi)
If or or or or then Return (\mbox{\boldmathu},\pi)
If , then If then Return (\mbox{\boldmathu},\pi-1).
If , then if then Return (\mbox{\boldmathu},\pi+1).
As mentioned before, the intuition for the potential function procedure is to return zero for self loops, return for , and return the number specified by the lowest bits for the rest.
Procedure V^{\prime}(\mbox{\boldmathu},\pi). Let \mbox{\boldmathx}=(\mbox{\boldmathu},\pi) for notational convenience.
If \mbox{\boldmathx}=0^{k}, then Return .
If S^{\prime}(\mbox{\boldmathx})=\mbox{\boldmathx} and P^{\prime}(\mbox{\boldmathx})=\mbox{\boldmathx} then Return .
If S^{\prime}(\mbox{\boldmathx})\neq\mbox{\boldmathx} or P^{\prime}(\mbox{\boldmathx})\neq\mbox{\boldmathx} then Return .
The fact that procedures , and give a valid EndOfMeteredLine instance follows from construction.
Procedures , and gives a valid EndOfMeteredLine instance on vertex set , where and .
The next three lemmas shows how to construct a solution of EndOfPotentialLine instance from a type T1, T2, or T3 solution of constructed EndOfMeteredLine instance \mbox{{\mathcal{I}}}^{\prime}. The basic idea for next lemma, which handles type T1 solutions, is that we never create spurious end or start of a path.
Let \mbox{\boldmathx}=(\mbox{\boldmathu},\pi) be a type T1 solution of constructed EndOfMeteredLine instance \mbox{{\mathcal{I}}}^{\prime}. Then is a type (R1) solution of the given EndOfPotentialLine instance .
Let . In \mbox{{\mathcal{I}}}^{\prime}, clearly for any is not a start or end of a path, and is not an end of a path. Therefore, \mbox{\boldmathu}\neq 0^{n}. Since are self loops, \mbox{\boldmathu}\neq S(0^{n}).
If to the contrary, S(P(\mbox{\boldmathu}))=\mbox{\boldmathu} and P(S(\mbox{\boldmathu}))=\mbox{\boldmathu}. If S(\mbox{\boldmathu})=\mbox{\boldmathu}=P(\mbox{\boldmathu}) then (\mbox{\boldmathu},\pi),\ \forall\pi\in\{0,\dots,\Delta\} are self loops, a contradiction. inline,color=blue!30, caption=]Spencer: I don’t understand this line. Basically, the point found can’t have corresponded to a self-loop because it would then have been a self-loop too.
For the remaining cases, let P^{\prime}(S^{\prime}(\mbox{\boldmathx}))\neq\mbox{\boldmathx}, and let \mbox{\boldmathu}^{\prime}=S(\mbox{\boldmathu}). inline,color=blue!30, caption=]Spencer: There must have been a edge in the original if there is a successor edge in the new instance . There is a valid edge from to \mbox{\boldmathu}^{\prime} in . Then we will create valid edges from (\mbox{\boldmathu},V(\mbox{\boldmathu})) to (S(\mbox{\boldmathu}),V(S(\mbox{\boldmathu})) with appropriately changing second coordinates. The rest of (\mbox{\boldmathu},.) are self loops, a contradiction.
Similar argument follows for the case when S^{\prime}(P^{\prime}(\mbox{\boldmathx}))\neq\mbox{\boldmathx}. ∎
The basic idea behind the next lemma is that a T2 type solution in \mbox{{\mathcal{I}}}^{\prime} has potential . Therefore, it is surely not a self loop. Then it is either an end of a path or near an end of a path, or else near a potential violation.
Let \mbox{\boldmathx}=(\mbox{\boldmathu},\pi) be a type T2 solution of \mbox{{\mathcal{I}}}^{\prime}. Either \mbox{\boldmathu}\neq 0^{n} is start of a path in (type (R1) solution), or P(\mbox{\boldmathu}) is an (R1) or (R2) type solution in , or P(P(\mbox{\boldmathu})) is an (R2) type solution in .
Clearly \mbox{\boldmathu}\neq 0^{n}, and is not a self loop, i.e., it is not a dummy vertex with irrelevant value of . Further, . If is a start or end of a path in then done.
Otherwise, if V(P(\mbox{\boldmathu}))>\pi then we have V(\mbox{\boldmathu})\leq\pi and hence V(\mbox{\boldmathu})-V(P(\mbox{\boldmathu}))\leq 0 giving P(\mbox{\boldmathu}) as an (R2) type solution of . If V(P(\mbox{\boldmathu}))<\pi=1 then V(P(\mbox{\boldmathu}))=0. Since potential can not go below zero, either P(\mbox{\boldmathu}) is an end of a path, or for \mbox{\boldmathu}^{\prime\prime}=P(P(\mbox{\boldmathu})) and \mbox{\boldmathu}^{\prime}=P(\mbox{\boldmathu}) we have \mbox{\boldmathu}^{\prime}=S(\mbox{\boldmathu}^{\prime\prime}) and V(\mbox{\boldmathu}^{\prime})-V(\mbox{\boldmathu}^{\prime\prime})\leq 0, giving \mbox{\boldmathu}^{\prime\prime} as a type (R2) solution of . ∎
At a type T3 solution of \mbox{{\mathcal{I}}}^{\prime} potential is strictly positive, hence these solutions are not self loops. If they correspond to potential violation in then we get a type (R2) solution. But this may not be the case, if we made or self pointing due to end or start of a path respectively. In that case, we get a type (R1) solution. The next lemma formalizes this intuition.
Let \mbox{\boldmathx}=(\mbox{\boldmathu},\pi) be a type T3 solution of \mbox{{\mathcal{I}}}^{\prime}. If is a start or end of a path in \mbox{{\mathcal{I}}}^{\prime} then gives a type (R1) solution in . Otherwise gives a type (R2) solution of .
Since V^{\prime}(\mbox{\boldmathx})>0, it is not a self loop and hence is not dummy, and \mbox{\boldmathu}\neq 0^{n}. If is start or end of a path then is a type (R1) solution of . Otherwise, there are valid incoming and outgoing edges at , therefore so at .
If V((S(\mbox{\boldmathx}))-V(\mbox{\boldmathx})\neq 1, then since potential either remains the same or increases or decreases exactly by one on edges of \mbox{{\mathcal{I}}}^{\prime}, it must be the case that V(S(\mbox{\boldmathx}))-V(\mbox{\boldmathx})\leq 0. This is possible only when V(S(\mbox{\boldmathu}))\leq V(\mbox{\boldmathu}). Since is not an end of a path we do have S(\mbox{\boldmathu})\neq\mbox{\boldmathu} and P(S(\mbox{\boldmathu}))=\mbox{\boldmathu}. Thus, is a type T2 solution of .
If V((\mbox{\boldmathx})-V(P(\mbox{\boldmathx}))\neq 1, then by the same argument we get that for (\mbox{\boldmathu}^{\prime\prime},\pi^{\prime\prime})=P(\mbox{\boldmathu}), \mbox{\boldmathu}^{\prime\prime} is a type (R2) solution of . ∎
Our main theorem follows using Lemmas 50, 51, 52, and 53.
An instance of EndOfPotentialLine can be reduced to an instance of EndOfMeteredLine in polynomial time such that a solution of the former can be constructed in a linear time from the solution of the latter.
Appendix B Proofs for Section 3.1: OPDC to UEOPL
Throughout this proof, we will fix to be the direction functions, and to be the set of points used in the OPDC instance. We will produce a UniqueForwardEOPL instance .
A vertex of the line is a tuple , where each is either a point or a special symbol, , that is used to indicate an unused element. We use to denote the set of possible vertices. Only some of the tuples are valid encodings for a vertex. To be valid, a vertex must obey the following rules:
If , then for all . This means that if is a point, then it must be a point on the -surface.
If , then we must have .
If and and , then we must have .
If and and , then we must have .
We define the function that determines whether a given is a valid encoding of a vertex, by following the rules laid out above. This can clearly be computed in polynomial time.
The initial vertex, which will be mapped to the bit-string , will be , where is the all zeros point in .
Given a vertex encoding , the circuit carries out the following operations. If is false, then , indicating that is indeed not a vertex. Otherwise, we use the following set of rules to determine the successor of . Let be the smallest index such that .
If then our vertex has the form , and is on the -surface, meaning that it is a solution to the discrete contraction map. So we set to ensure that this is a solution.
If , then we define where
This operation overwrites the point in position with , and sets position to . All other components of are unchanged.
If and then let be the point such that
If is a point in , then we define .
Otherwise, we must have that , meaning that is the last point of the grid. This means that we have a solution of type (OV3), since the fact that implies that . So we set .
If and then let be the point such that for all , and .
If is in the point set , then we define .
If is not in , then we again have a solution of type (OV3), since , and from the fact that . So we set .
The potential function.
The lexicographic potential of is the following:
which can be easily computed in polynomial time. This completes the definition of the UniqueForwardEOPL problem .
Every solution of the UniqueForwardEOPL instance can be used to find a solution of the OPDC instance given by and . Furthermore, solutions of type (O1) are only ever mapped onto solutions of type (UF1).
We begin by considering solutions of type (UF1). Let and let , and suppose that is a (UF1) solution. This means that and either or . We first suppose that , and note that in this case we must have while . We have the following cases based on the rule used to determine .
If is determined by the first rule in the definition of , then this means that . Since , this means that for all , which means that is a solution of type (O1).
If is determined by the second rule in the definition of , then there are two cases. Let be the smallest index such that .
If then we have a solution of type (OV2) or (OV3).
If then and are solution of type (OV2). Specifically, this holds because while , and holds because . Moreover, , for all , where in particular the fact that is given by the fact that we are in the second case of the definition of .
If then this means that . Since this gives us a solution of type (OV3).
If , then we argue that this case is impossible. Specifically, we will show that , meaning that . To do this, we will prove that the four conditions of hold for . Note that differs from only in positions and , and that position of is . So we only need to consider the conditions imposed by when the point is placed in position .
The first condition of is that should be on the -surface, which is true because the second rule of explicitly checks that , while the fact that guarantees that for all .
The second condition requires that , which is true by assumption.
Every constraint imposed by the third and fourth conditions also holds for in , and so the fact that implies that these conditions hold for .
If is determined by the third rule defining , then we have two cases. Since the third rule was used, we know that , with the definition of being given in the third rule.
If is not in , then we have a solution of type (OV3), as described in the algorithm for .
If and , then we have a solution of type (OV3), since by definition.
If and and , then we argue that the case is impossible, and we prove this by showing that . Note that differs from only in the position occupied by , and so this is the only point for which we need to prove the conditions, since all the other points satisfy the conditions by the fact that .
The first requirement of holds trivially, since the only new requirement is that is on the -surface, and every point is on the -surface by definition.
The second requirement is that , which is true by assumption.
The third and fourth conditions place constraints on certain coordinates of . For coordinates , the third condition requires that , which is true by definition, while the fourth condition is inapplicable. For coordinates , the constraints imposed by the third and fourth conditions hold because in these coordinates, and also satisfies these constraints.
If is determined by the fourth rule, then we have two cases. Let be the value of produced by the fourth rule, where the definition of is given in that rule.
If is not in , then we have a solution of type (OV3), as described in the algorithm for .
If and then we have a solution of type (OV2). Specifically, the points and provide the violation since , while and . The fact that both and belong to the same -slice is guaranteed by the definition of .
If and then we again argue that , making this case impossible. The reasoning is the same as the reasoning used in case 3b.
We now proceed to the case where we have a solution of type (UF1) and the vertex satisfies . In this case, we must have . We argue that this is impossible, and again we will do a case analysis based on the rule used to determine the output of the circuit .
If is determined by the first rule then we have , which is not possible in this case.
If is determined by the second rule, then we can prove that . This is because differs from only in positions and , and because by the fourth rule of . Hence
where we are using the fact that . Thus, .
If is determined by the third rule, then note that we must have . We again argue that . Specifically, observe that .
If is determined by the fourth rule, then note that we must have , and we also have . Specifically
Finally, we move to the case where we have a solution of type (UFV1). In this case we have two vertices and for which , and for which . We will once again perform a case analysis over the possible cases of .
cannot be determined by the first case in the definition of , because that case only applies when .
If is determined by the second case in the definition of , then we observe that we have and , ie., the th element of is replaced by , and the th element is replaced by . Note also that elements through of agree with the corresponding elements of .
Since we have this means that . Hence, must have the form , meaning that it agrees with and on elements through . Furthermore, we must have .
Let be the largest index satisfying and . Note that such a must exist, since otherwise we would have , which would contradict the fact that in any solution of type UFV1. We claim that and form a solution of type (OV1).
Let be the -slice that satisfies for all and for all . The point lies in the slice by definition. We claim that also lies in this slice, which follows from the fact that for all , combined with the third and fourth properties of and . Note also that , and hence .
Finally, the first property of and imply that and for all . So and are two distinct fixpoint of the -slice , meaning that we have a solution of type (OV1).
We claim that cannot be determined by the third rule in the definition of . In this case we have , since the case is only applicable when . Observe that , and that there is no possible tuple that satisfies . This means that we must have , but this is only possible if , due to the constraints placed by the third and fourth properties of . Hence this case is not possible, since is specifically ruled out in a solution of type UVF1.
For similar reasons, we claim that cannot be determined by the fourth rule. In this case we have , and , which again means that there cannot be a tuple satisfying . Hence we would have and as in the previous case, which is impossible.
To complete the proof, we note that solutions of type (O1) are only ever mapped onto solutions of type (UF1). ∎
This proves that our reduction from OPDC to UniqueForwardEOPL is correct. The fact that the reduction is promise-preserving follows from the fact that all solutions of type (O1) are mapped onto solutions of type (UF1). Hence, if we promise that there are no violations in the OPDC instance, then the resulting UFEOPL instance can only have solutions of type (UF1). This completes the proof of Lemma 16.
B.2 Proof of Lemma 18
We provide a polynomial-time promise-preserving reduction from UniqueForwardEOPL to UniqueForwardEOPL+1. This reduction uses essentially the same idea as the reduction from EndOfPotentialLine to EndOfMeteredLine given in Theorem 10.
Let be an instance of UniqueForwardEOPL, and let be the bit-length of the strings used to represent vertices in . If is a vertex in such that , then we introduce new vertices between and , each of which increases in potential by 1.
Formally, our UniqueForwardEOPL+1 instance will be denoted as . Each vertex in this instance will be a pair , where is a vertex from , and is an integer between and . The circuit is defined in the following way. For each vertex we use the following algorithm.
If , then , meaning that if is not a vertex in , then is not a vertex in for all .
If and , then .
If and , then .
If and , then .
The last three conditions add a new sequence of vertices between any edge where . Specifically, this sequence is
Any pair that is not used in such a sequence has , meaning that it is not a vertex.
The potential function is defined as follows. For each vertex , we use the following algorithm.
If , then the potential of is irrelevant.
Otherwise, we set .
This completes the specification of the reduction.
Clearly the reduction can be carried out in polynomial time. We now prove that this is a promise-preserving reduction.
Every solution of can be mapped to a solution of . Furthermore, solutions of type (UF1) of are only ever mapped onto solutions of type (UFP1) in .
We start by considering solutions of type (UFP1). Let be a vertex, and let be the vertex with . In a solution of type (UFP1) we have that and either or . Hence, there are two cases to consider.
If then we must have that and , since if is a vertex, then will always either give or , and it suffices to note that if then .
So, we have , and . This can only occur in the case where either , or . Both of these cases yield a solution of type (UF1) for .
We claim that the case is not possible. Since we have already dealt with the case where , we can assume that is a vertex. Note that cannot be determined by cases 1 or 4 of the algorithm, since in those cases would not be a vertex. If is determined by case 2 of the algorithm, then we have that by definition. If is determined by case 3 of the algorithm, then we have
Hence, this case is impossible by construction.
Thus, we have dealt with all possible solutions of type (UFP1).
We now consider a violation of type (UFPV1). In this case we have two vertices and such that , , , and . We claim that this gives us a solution of type (UFV1). If then , and so we have a solution of type (UFV1) in . Assume, without loss of generality, that . We have
which implies that . Furthermore, we have that
where the first inequality arises from the fact that is a valid vertex in . Hence, we have shown that , which is exactly a solution of type (UFV1) in . ∎
The lemma implies that our reduction is correct. The fact that it is promise-preserving follows from the fact that solutions of type (UF1) are only ever mapped onto solutions of type (UFP1). Hence, if it is promised that only has (UF1) solutions, then must only have (UFP1) solutions. This completes the proof of Lemma 18.
B.3 Proof of Lemma 20
The reduction of Hubáček and Yogev relies on the pebbling game technique that was first applied by Bitansky et al . Let be an SinkOfVerifiableLine instance. The pebbling game is played by placing pebbles on the vertices of this instance according to the following rules.
A pebble may be placed or removed from the starting vertex at any time.
A pebble may be placed or removed on a vertex if and only if there is a pebble on a vertex with .
Given pebbles, how far can we move along the line by following these rules? The answer is that we can place a pebble on vertex by applying the following optimal strategy. The strategy is recursive. In the base case, we can place a pebble on vertex by placing our single pebble on the successor of . In the recursive step, where we have pebbles, we use the following approach:
Follow the optimal strategy for pebbles, in order to place a pebble on vertex .
Place pebble on the vertex .
Follow the optimal strategy for pebbles backwards in order to reclaim the first pebbles.
Follow the optimal strategy for pebbles forwards, but starting from the vertex . This ends by placing a pebble on vertex .
Step 3 above relies on the fact that the pebbling game is reversible, meaning that we can execute any sequence of moves backwards as well as forwards. At the beginning of Step 4, we have a single pebble on vertex , and we follow the optimal strategy again, but using as the starting point.
To reduce UniqueForwardEOPL to UniqueEOPL, we play the optimal strategy for the pebbling game. Note that, since that since every step of the pebbling game is reversible, this gives us a predecessor circuit. We will closely follow the reduction given by Bitansky et al from SinkOfVerifiableLine to EndOfLine. Specifically, we will reduce an instance of UniqueForwardEOPL to an instance of UniqueEOPL.
A vertex in will be a tuple of pairs describing the state of the pebbling game. Each is a bit-string, while each is either
the special symbol , implying that pebble is not used and that the bit-string should be disregarded, or
an integer such that , meaning that pebble is placed on the vertex .
Bitansky et al have produced circuits and that implement the optimal strategy of the pebbling game for pebbles encoded in this way. The only slight difference is that they reduce from SinkOfVerifiableLine, but we can apply their construction by creating the circuit so that if and only if . We refer the reader to their work for the full definition of these two circuits.
Hubáček and Yogev built upon this reduction by showing that it is possible to give a potential function for the resulting instance. Specifically, their potential encodes how much progress we have made along the optimal strategy, which it turns out, can be computed purely from the current configuration of the pebbles. Their construction also guarantees that the potential at each vertex always increases by , meaning that we have whenever and are both vertices. We refer the reader to their work for the full definition of the circuit .
Violations.
So far, we have a reduction from the promise version of UniqueForwardEOPL to UniqueEOPL, which entirely utilizes prior work. Specifically, every solution of type (U1) in will map back to a solution of type (UFP1) in .
Our contribution is to handle the violations, thereby giving a promise-preserving reduction from the non-promise version of UniqueForwardEOPL to the non-promise version of UniqueEOPL.
Every violation in can be mapped back to a violation of .
There are three types of violation in .
Violations of type (UV1), which are edges where the potential decreases, are not possible, since the reduction of Hubáček and Yogev ensures that whenever and are both vertices.
In violations of type (UV2) we have a vertex that is the start of a second line. This means that, for some reason, we are not able to execute the optimal strategy backwards from this vertex. There are two possibilities
The optimal strategy needs to place a pebble on the successor of some vertex , but it cannot because is the end of a line. This means that either or that , and in either case we have a solution of type (UFP1) for .
The optimal strategy needs to remove the pebble , but it cannot, because it does not have a pebble on a vertex with . By construction, there will be some pebble with , but in this case we have . This means that we have two lines, and specifically we have that and are two vertices with the same potential, since and . This gives us a solution of type (UFPV1).
In violations of type (UV3) we have two distinct vertices and with . Since the reduction ensures that this means that and have the same potential. The reduction of Hubáček and Yogev ensures that, if two vertices have the same potential, then they refer to the same step of the optimal strategy, meaning that for all . This means that any pair of vertices and with is a pair of vertices with , and so a solution of type (UFPV1). To see that such a pair must exist, it suffices to note that the only vertex with for all is the start of the line, and there cannot be two distinct vertices with this property.
The lemma above proves that the reduction is correct, but it does not directly prove that it is promise-preserving. Specifically, in case 2a of the proof we show that some violations of (UV2) are mapped back to solutions of type (UFP1). This, however, is not a problem, because we can argue that case 2a of the proof can only occur if there is more than one line in .
Specifically, if we are at some vertex and needs to place a pebble on , then cannot be the furthest point in the pebble configuration, meaning that there is some with and . This can be verified by inspecting the recursive definition of the optimal strategy. But note that if is the end of a line, and is a vertex with , then must contain more than one line.
This allows us to argue that the reduction is promise-preserving, since if is promised to have no violations, then it must contain exactly one line, and if contains exactly one line, then all proper solutions of are mapped onto proper solutions of . Thus will contain no violations. This completes the proof of Lemma 20.
Appendix C Proofs for Section 3.2: UniqueEOPL to OPDC
This construction is very similar to the one used in the proof of Lemma 18 given in Appendix B.2, although here we must deal with the predecessor circuit, and ensure that the end of each line has the correct potential. Let be an instance of UniqueEOPL, and let be the bit-length of the vertices used in .
We will create an instance in the following way. Each vertex in will be a pair , where is a vertex in , and is an integer satisfying , where . Hence, a vertex in can be represented by a bit-string of length .
The circuit is defined as follows. Given a vertex , we execute the following algorithm.
If , then , meaning that if is not a vertex in , then is not a vertex in for all .
If and , then , meaning that is not a vertex in the instance.
If and , then , which makes an end of line solution.
If and , then .
If and , then .
If and , then .
If and , then , meaning that is not a vertex.
The last three conditions add a new sequence of vertices between any edge where . Specifically, this sequence is
Conditions 2 through 4 introduce a new line starting at , whenever is the end of a line in the original instance. This line has the form
where is the new end of line. Observe that this line is always non-empty, since .
The predecessor circuit walks the line backwards, which is easy to construct, since we can either follow the predecessor circuit of , or we can walk backwards along any of the lines that we have introduced. Specifically, given a vertex , we use the following algorithm to implement .
If , then the value returned by is irrelevant, since is not a vertex.
If and , then again the value of is irrelevant, since not a vertex.
If and , then , meaning that if we are on the new line at a solution, then we walk the line backwards.
If and , then , meaning that if we are at , then we move to the end of the line between and .
If and , then .
If and , then the value returned by is irrelevant, since is not a vertex.
If and cases 5 and 6 do not apply, then .
Cases 2 through 4 deal with the new line introduced at the end of each line. while cases 5 through 7 deal with the new lines introduced between the vertices and .
The potential function is defined so that .
The two properties that we need to satisfy hold by construction for . Every edge is constructed so that , whenever is a vertex, and the new lines starting at vertices , where is the end of a line in , ensure that if and only if is the end of a line in . The following lemma shows that the reduction is correct.
Every solution of can be mapped back to a solution of .
We enumerate the types of solutions in UniqueEOPL.
A solution of type (U1) in is a vertex such that . By construction this can only occur if , so this gives us a solution of type (U1) for .
A solution of type (UV1) gives us a vertex where and . By construction, this can only occur if , so we have a solution of type (UV1) for .
A solution of type (UV2) gives us a vertex where . By construction, this can only happen if and . This gives us a solution of type (UV2) for .
A solution of type (UV3) gives us a pair of vertices and such that , and either , or . Note that the latter case is impossible here, since by construction we have whenever is a vertex, so we must have .
If , then , and so and form a solution of type (UV3) for . Otherwise, we will suppose, without loss of generality, that , which means that . Moreover, we have . Hence we have shown that , and so we have that and form a solution of type (UV3) for .
The lemma above implies that the reduction is correct. To see that it is promise-preserving, it suffices to note that proper solutions of are only ever mapped onto proper solutions of . Therefore, if it is promised that has no violations, then will also have no violations. This completes the proof of Lemma 22.
C.2 Proof of Lemma 23
The proof requires us to define two polynomial-time algorithms.
We begin by defining the function. We will use two sub-functions that split an instance in two based on a particular vertex. Let be a UniqueEOPL instance, and be some vertex of .
We define the function to return an UniqueEOPL instance by removing every vertex with potential greater than or equal to . Specifically, the and circuits will check whether for each vertex , and if so, then they will set , which ensures that is not on the line. For any vertex with , we set , and . Note that , , and can all be produced in polynomial time if we are given .
We define the function to return a UniqueEOPL instance by removing every vertex with potential strictly less than . For the circuits and , this is done in the same way as the previous case, but this time the circuits will check whether . The function is defined so that , thereby ensuring that the potentials are in the range . Finally, the string is remapped to represent the vertex , which is the start of the second half of the line. In this case, we are able to compute , , and in polynomial time if we are given and the bit-string .
We remark that, although we view these functions as intuitively splitting a line, the definitions still work if happens to contain multiple lines. Each line in the instance will be split based on the potential of .
The subline function.
The subline function is defined recursively, based on the number of bit-strings that are given to the function. In the base case we are given a line and zero bit-strings, in which case .
For the recursive step, assume that we are given bit-strings through . Let .
If then we set .
If then we set .
Note that since and can be computed out in polynomial time, this means that can also be computed in polynomial time.
An important property of the reduction is that the output of is a UniqueEOPL instance in which the longest possible line has length . This can be proved by induction. For the base case note that allows potentials between and . Each step of the recursion cuts this in half, meaning that allows potentials between and . Since each edge in a line must always strictly increase the potential, this means that the longest possible line in has length . This holds even if the instance has multiple lines.
The decode function.
Given a point , let . As we have argued above, we know that is an instance in which the longest possible line has length . Hence, the starting vertex of , which is by definition , is the end of a line. So we set . Since can be computed in polynomial time, this means that can also be computed in polynomial time. This completes the proof of Lemma 23.
C.3 The formal definition of the direction functions.
We will extend the approach given in the main body to all dimensions. Let be a point. For the dimensions in the range we use the following procedure to determine . Let .
In the case where , meaning that is a vertex in the first half of , then there are two possibilities.
If , meaning that is the last vertex on the first half , then we orient the direction function towards the bit-string given by . So we set
If the rule above does not apply, then we orient everything towards by setting
If , then we are in the second half of the line. In this case we set .
Observe that this definition simply extends the idea presented in the main body to all dimensions, using exactly the same idea.
C.4 Proof of Lemma 24
To prove this lemma, we must map every solution of the OPDC instance given by and to a solution of the UniqueEOPL instance . We do this by enumerating the solution types for OPDC.
In solutions of type (O1) we have a point such that for all . Since the dimensions corresponding to are all zero, we know that is in the second half of the line, and since the dimensions corresponding to are all zero, we know that is in the last quarter of the line. Applying this reasoning for all dimensions allows us to conclude that . Lemma 22 implies that this can be true if and only if is the end of a line, which is a solution of type (U1).
In solutions of type (OV1) we have two fixed points of a single -slice. More specifically, we have an -slice and two points and in the slice with such that for all . Let be the bit-string that uses dimension , and let . Since and both lie in , we know that for all . Observe that, since for all , we can use the same reasoning as we did in case 1 to argue that through encode a vertex that is at the end of the sub-line embedded into , and through encode a vertex that is at the end of the sub-line embedded into . There are multiple cases to consider.
If , then we have that . Since , there must be some pair of vertices and such that , and note that since and both at the end of their respective sub-lines, we have , which also implies that , which is a solution of type UV3.
If , and for all in the range , then is the second half of , while is the first half. Since represents a vertex at the end of the corresponding line, we have that is the first vertex on the next half of the , meaning that . Moreover since is on the second-half of the line, we have that , so we have . This is a solution of type (UV3) so long as .
To prove that this is the case, recall that the direction functions for in the dimensions corresponding to always point towards . Since , and since and lie in the same slice , we know that they disagree on some dimension . But we also have that for all , which can only occur if disagrees with in some dimension. Hence we have shown that .
If , and , for all in the range , then this is entirely symmetric to the previous case.
In the last case, we have , an index in the range with , and an index in the range with . Thus , meaning that both points lie at the end of the first half of . Thus the direction functions at point towards , while the direction functions at point towards . Moreover we have , so to obtain a solution of type (UV3), we need to prove that .
This follows from the fact that , and and ’s membership in the slice . This means that they disagree on some dimension , but since for all , we must have .
For solutions of type (OV2), we have two points and that lie in an -slice with the following properties.
for all ,
and .
As with case 2, let be the bit-string that uses dimension , and let . Since and , we must have that and are both points on the first half of . Furthermore, and must both be at the end of the first half, since for all . Hence, , which also implies that . So to obtain a solution of type (UV3), we just need to prove that .
To prove this, we observe that the direction function in dimension should be oriented towards for the point , and for the point . However, since and both point away from their points, and since , this must mean that , which also implies that .
We claim that solutions of type (OV3) are impossible. A solution of type (OV3) requires that we have a point with either and , or and . Our construction never sets when , and it never sets when . So solutions of type (OV3) cannot occur.
To see that the reduction is promise preserving, it suffices to note that we only ever map solutions of type (U1) onto solutions of type (O1). Thus, if the original instance has only solutions of type (U1), then the resulting OPDC instance will have solutions of type (O1).
Appendix D Proofs for Section 4.1: USO to OPDC
Every solution of the OPDC instance can be mapped back to a solution of the USO instance. We prove this by enumerating all possible types of solution.
In solutions of type (O1) we are given a point such that for all . If , then this means that is a sink, and so it is solution of type (US1). If , then this means that is a solution of type (USV1).
In solutions of type (OV1), we have an -slice and two points with such that for all . If or , then we have a solution of type (USV1). Otherwise, this means that and are both sinks of the face corresponding to , and specifically this means that they have the same out-map on this face. So this gives us a solution of type (USV2).
In solutions of type (OV2) we have an -slice and two points such that
for all ,
and .
Note that in this case we must have and . If we restrict the cube to the face defined by , note that for all dimensions , and . Hence and have the same out-map on the face defined by , which gives us a solution of type (USV2).
Solutions of type (OV3) are impossible for the instance produced by our reduction. In these solutions we have a point with and , or a point with and . Since our reduction never does this, solutions of type (OV3) cannot occur.
To see that the reduction is promise-preserving, it suffices to note that solutions of type (US1) are only ever mapped onto solutions of type (O1). Thus, if the USO instance has no violations, then the resulting OPDC instance also has no violations. This completes the proof of Lemma 27.
Appendix E Prerequisites for Appendix F and H
Our algorithms will make heavy use of the concept of a slice restriction of a contraction map, which we describe here. We define the set of fixed coordinates of a slice , and the set of free coordinates, . Thus, an -slice is a slice for which . We’ll say that a slice is a -dimensional slice if .
We can define the slice restriction of a function with respect to a slice , denoted , to be the function obtained by fixing the coordinates according to , and keeping the coordinates of as arguments. To simplify usage of we’ll formally treat as a function with arguments, where the coordinates in are ignored. Thus, we define by
We can also define slice restrictions for vectors in the natural way:
We’ll also introduce some notation to remove clutter. We’ll define
and use this notation when the function is clear from the context. Note that we’ll only use when considering the free coordinates of a slice restriction, so that doesn’t depend on whether the most recent context has us considering or .
Slice restrictions will prove immensely useful through the following observations:
Let be a contraction map with respect to with Lipschitz constant . Then for any slice , is also a contraction map with respect to with Lipschitz constant .
Since slice restrictions of contraction maps are themselves contraction maps in the sense defined above, they have unique fixpoints, up to the coordinates of the argument which are fixed by the slice and thus ignored. We’ll nevertheless refer to the unique fixpoint of a slice restriction of a contraction map, which is the unique point such that
We’ll prove this by contradiction. Without loss of generality, assume towards a contradiction that and that . Then we have
which contradicts the fact that is a contraction map. The lemma follows. ∎
E.2 Approximate Fixpoint Lemmas
In this section we state and prove the key lemmas that will be used both in our reduction of Contraction to EndOfPotentialLine and our algorithms for finding approximate fixpoints. The lemmas reflect the intuition that sufficiently good approximate fixpoints on -dimensional slices can be used to obtain slightly worse approximate fixpoints for -dimensional slices for a notion of approximation to be formalized shortly. By choosing our approximation guarantees at each level appropriately we can ensure that we end up with a approximate fixpoint for the original function.
For , we choose .
For , we choose .
The key property satisfied by the choices of is captured in the following:
There are two cases to consider. For ,
The interesting case is where . Here we observe that
We now prove lemmas showing that these choices of ensure that -dimensional fixpoints can be used to find -dimensional fixpoints.
By definition, satisfies for all . Assume that . Without loss of generality, let . Assume towards a contradiction that . Then
In order for our algorithms and reductions to produce approximate fixpoints we’ll need to ensure that we can find an approximate fixpoint somewhere in our discretization of the unit hypercube. We’ll first establish that if we don’t have an approximate fixpoint, we have witnesses to our function not being a contraction map.
Under the assumptions of the lemma, we have
Here, line 16 mirrors line 10 from Lemma 62 (which holds for , which is the case here). Line 17 follows from Lemma 61 when (since in that case) and from the observation that for .
Appendix F Proofs for Section 4.2: PL-Contraction to OPDC
The goal of this proof is to find a tuple such that the lemma holds. We utilize a lemma from which asserts that every circuit can be transformed in polynomial time into an LCP with bounded bit-length, such that solutions to the LCP capture exactly the fixpoints of the circuit.
For any circuit with gates and constants , we’ll define the size of by
Let be a circuit. We can produce in polynomial time an LCP defined by an matrix and -dimensional vector \mbox{\boldmathq}_{C} for some with such that there is a bijection between solutions of the LCP (M_{C},\mbox{\boldmathq}_{C}) and fixpoints of . Moreover, to obtain a fixpoint of from a solution to the LCP (M_{C},\mbox{\boldmathq}_{C}), we can just set . Furthermore, and b(\mbox{\boldmathq}_{C}) are both at most .
Crucially the construction interacts nicely with fixing inputs; if denotes a circuit where one of the inputs of is fixed to be some number , we can bound the bit-length of and \mbox{\boldmathq}_{C^{\prime}} in terms of the bit-lengths of , \mbox{\boldmathq}_{C}, and .
b(\mbox{\boldmathq}_{C^{\prime}})\leq\max\left\{b(\mbox{\boldmathq}_{C}),b(M_{C})+b(x)\right\}+1.
In other words, the bit-length of does not depend on , and is in fact at most the bit-length of , and the bit-length of \mbox{\boldmathq}_{C^{\prime}} is bounded by the worse of the bit-lengths of \mbox{\boldmathq}_{C} or the sum of the bit-lengths of and plus an additional bit.
Bounding the bit-length of a solution of an LCP.
We now prove two technical lemmas about the bit-length of any solution to an LCP. We begin with the following lemma regarding the bit-length of a matrix inverse.
We have . Each entry of is a cofactor of , each of which is a (possibly negated) determinant of an submatrix of . It is a well-known corollary of Hadamard’s inequality that . The same bound obtains for each submatrix. We can write entry as where and are both integers. We have . The lemma follows immediately. ∎
We now use this to prove the following bound on the bit-length of a solution of an LCP.
We first note that if an LCP has a solution, then it has a vertex solution. Let be such a vertex solution of the LCP and, as in Section 4.3, let , and let be defined according to (3). We have that is guaranteed to be invertible, and we have that A\mbox{\boldmathx}=\mbox{\boldmathq}, with {\mathbf{y}}_{i}=\mbox{\boldmathx}_{i} for and for , so we have b({\mathbf{y}})\leq b(\mbox{\boldmathx}). Also note that we have , since the entries in columns that take the value of have constant bit-length.
Fixing the grid size.
We shall fix the grid size iteratively, starting with , and working downwards. At each step, we will have a space that is partially continuous and partially discrete. Specifically, after the iteration in which we fix , the dimensions will allow any number in $j\geq ik_{j}I_{k}k$, then we will denote this as
Moreover, after fixing , we will have that the property required by Lemma 30 holds for all -slices with . Specifically, that if is a fixpoint of according to , then there exists a that is a fixpoint of according to .
Note that .
To prove that these bounds suffice, we’ll use induction on , starting from . First, we observe that by Lemma 70, we have b({\mathbf{y}})\leq(5n+2)\log n+(4n+1)b(M)+b(\mbox{\boldmathq})=\kappa_{d}-1\leq\kappa_{d} for any solution to the LCP (M,\mbox{\boldmathq}). Moreover each fixpoint of corresponds to a solution to the LCP by Lemma 66, so we have which implies the weaker claim that all fixpoints can be found by choosing for all , since for all .
Now we’ll handle the inductive case. For , let M^{(i)},\mbox{\boldmathq}^{(i)} be the pair defining the LCP after through are fixed to values with bit-lengths bounded by , respectively. This pair will of course depend on the values , but since the bit-length of and \mbox{\boldmathq}^{(i)} depend only on the bit-lengths of the fixed values, we can ignore the values of as long as we have bounds on their bit-lengths and as long as we restrict our attention to the bit-lengths of and \mbox{\boldmathq}^{(i)} and not the values themselves.
Using Lemma 70 we know that the solution to the LCP has b(x_{i})\leq(5n+2)\log n+(4n+1)b(M^{(i)})+b(\mbox{\boldmathq}^{(i)}). Moreover, we obtained by repeatedly fixing inputs to , so the repeated application of Observation 67 implies that . Moreover, Observation 68 gives us
By a simple argument, we can also show that \kappa_{i+1}\geq b(\mbox{\boldmathq}^{(i+1)}) so that the above bound can be simplified to
at which point we can use our observation and the bound to obtain
Now we use the bound from Lemma 70 again to obtain
and we now use the definition of to conclude
We conclude that all solutions to the LCP (M^{(i)},\mbox{\boldmathq}^{(i)}) have free coordinates with bit-length at most , and similarly for the fixpoints of . Thus, every fixpoint of with respect to the free variables can be found by choosing to have bit-lengths at most , respectively, when the bit-lengths of are chosen to have bit-lengths at most .
To conclude the proof of Lemma 30, we need to choose so that every -slice with fixed coordinates in has a fixpoint also on when we map points to by
We set . Now a point corresponds to a point with for all and any -slice where the fixed coordinates satisfy the bit-length bounds will have fixpoints for the remaining variables with all coordinates satisfying the bit-length bounds.
Finally, we observe that for each , , so each of the can be represented using polynomially many bits in the size of the circuit .
F.2 Proof of Lemma 31
The proof of this lemma will make use of Lemmas 59 and 60, which are proved in Appendix E.1.
for all ,
and .
To translate and from the grid to the space, we must divide each component by the grid length in that dimension. Specifically, we define the point so that for all , and the point such that for all .
By definition we have that for all , and we also have for all from the fact that is a fixpoint of its -slice. So we can apply Lemma 60 to and , and from this we get that . Since , we have that , and hence . Therefore, we can conclude that , which implies that .
By the same reasoning we can apply Lemma 60 to and , and this gives us that . This time we have , which implies that , and hence . So we can conclude that , meaning that .
Hence we have shown that , and so the point satisfies the conditions of the lemma. This completes the proof of Lemma 31.
F.3 Proof of Lemma 33
We must map every possible solution of the OPDC instance back to a solution of the PL-Contraction instance. We will enumerate all solution types for OPDC.
In solutions of type (O1), we have a point such that for all . This means that the point , where for all , satisfies . Hence is a solution of type (CM1).
In solutions of type (OV1) we have -slice and two points with such that for all . Let and be the two corresponding points in , meaning that for all , and for all .
Violations of type (OV2) map directly to violations of type (CMV3), as discussed in the main body.
Violations of type (OV3) give us a point such that and , or and . In both cases this means that , and so we have a violation of type (CMV2).
To see that the reduction is promise-preserving, it suffices to note that solutions of type (CM1) are only ever mapped on to solutions of type (O1). Hence, if the input problem is a contraction map, the resulting OPDC instance only has solutions of type (CM1).
Appendix G Proofs for Section 4.3: PLCP to EOPL and UEOPL
The explanation of Lemke’s algorithm in this section is taken from . Recall the LCP problem from Definition 35, where given a matrix and -dimensional vector , we want to find satisfying (1). That is ( is a place-holder variable),
The problem is interesting only when \mbox{\boldmathq}\not\geq 0, since otherwise is a trivial solution. Let be the polyhedron in dimensional space defined by the first three conditions; we will assume that is non-degenerate (just for simplicity of exposition; this will not matter for our reduction). Under this condition, any solution to (1) will be a vertex of , since it must satisfy equalities. Note that the set of solutions may be disconnected. The ingenious idea of Lemke was to introduce a new variable and consider the system:
The next lemma follows by construction of (18).
Given (\mbox{M},\mbox{\boldmathq}), satisfies (18) with iff satisfies (1).
Let be the polyhedron in dimensional space defined by the first four conditions of (18), i.e.,
for now, we will assume that is non-degenerate.
Since any solution to (18) must still satisfy equalities in , the set of solutions, say , will be a subset of the one-skeleton of , i.e., it will consist of edges and vertices of . Any solution to the original system (1) must satisfy the additional condition and hence will be a vertex of .
Now turns out to have some nice properties. Any point of is fully labeled in the sense that for each , or . We will say that a point of has duplicate label i if and are both satisfied at this point. Clearly, such a point will be a vertex of and it will have only one duplicate label. Since there are exactly two ways of relaxing this duplicate label, this vertex must have exactly two edges of incident at it. Clearly, a solution to the original system (i.e., satisfying ) will be a vertex of that does not have a duplicate label. On relaxing , we get the unique edge of incident at this vertex.
As a result of these observations, we can conclude that every vertex of with has degree two within , while a vertex with has degree one. Thus, consists of paths and cycles. Of these paths, Lemke’s algorithm explores a special one. An unbounded edge of such that the vertex of it is incident on has is called a ray. Among the rays, one is special – the one on which . This is called the primary ray and the rest are called secondary rays. Now Lemke’s algorithm explores, via pivoting, the path starting with the primary ray. This path must end either in a vertex satisfying , i.e., a solution to the original system, or a secondary ray. In the latter case, the algorithm is unsuccessful in finding a solution to the original system; in particular, the original system may not have a solution. We give the full pseudo-code for Lemke’s algorithm in Table 1.
G.2 Reduction from P-LCP with (PV1) violations to EndOfPotentialLine
It is well known that if matrix is a P-matrix (P-LCP), then strictly decreases on the path traced by Lemke’s algorithm . Furthermore, by a result of Todd [76, Section 5], paths traced by complementary pivot rule can be locally oriented. Based on these two facts, we derive a polynomial-time reduction from P-LCP to EndOfPotentialLine first, and then from P-LCP to UniqueEOPL.
Let \mbox{{\mathcal{I}}}=(M,\mbox{\boldmathq}) be a given P-LCP instance, and let be the length of the bit representation of and . We will reduce to an EndOfPotentialLine instance in time \operatorname{poly}(\mbox{{\mathcal{L}}}). According to Definition 9, the instance is defined by its vertex set , and procedures (successor), (predecessor) and (potential). Next we define each of these.
As discussed in Section G.1 the linear constraints of (18) on which Lemke’s algorithm operates forms a polyhedron given in (19). We assume that is non-degenerate. This is without loss of generality since, a typical way to ensure this is by perturbing so that configurations of solution vertices remain unchanged , and since is unchanged if was a P-LCP instance then it remains so.
Lemke’s algorithm traces a path on feasible points of (18) which is on -skeleton of starting at , where:
We want to capture vertex solutions of (18) as vertices in EndOfPotentialLine instance . To differentiate we will sometimes call the latter, configurations. Vertex solutions of (18) are exactly the vertices of polyhedron with either or for each . Vertices of (18) with are our final solutions (Lemma 71). While each of its non-solution vertex has a duplicate label. Thus, a vertex of this path can be uniquely identified by which of and hold for each and its duplicate label. This gives us a representation for vertices in the EndOfPotentialLine instance .
EndOfPotentialLine Instance .
Vertex set where .
Procedures and as defined in Tables 5 and 6 respectively
Potential function \mbox{V}:\operatorname{\mathsf{vert}}\rightarrow\{0,1,\dots,2^{m}-1\} defined in Table 5 for , where
and .
For any vertex \mbox{\boldmathu}\in\operatorname{\mathsf{vert}}, the first bits of represent which of the two inequalities, namely and , is tight for each .
A valid setting of the second set of bits, namely through , will have at most one non-zero bit – if none is one then , otherwise the location of one bit indicates the duplicate label. Thus, there are many invalid configurations, namely those with more than one non-zero bit in the second set of bits. These are dummies that we will handle separately, and we define a procedure IsValid to identify non-dummy vertices in Table 2. To go between “valid” vertices of and corresponding vertices of the Lemke polytope of LCP , we define procedures EtoI and ItoE in Table 3.
By construction of IsValid, EtoI and ItoE, the next lemma follows.
If \mbox{IsValid}(\mbox{\boldmathu})=1 then \mbox{\boldmathu}=\mbox{ItoE}(\mbox{EtoI}(\mbox{\boldmathu})), and the corresponding vertex ({\mathbf{y}},{\mathbf{w}},z)=\mbox{EtoI}(\mbox{\boldmathu}) of is feasible in (18). If is a feasible vertex of (18) then \mbox{\boldmathu}=\mbox{ItoE}({\mathbf{y}},{\mathbf{w}},z) is a valid configuration, i.e., \mbox{IsValid}(\mbox{\boldmathu})=1.
The only thing that can go wrong is that the matrix generated in IsValid and EtoI procedures are singular, or the set of double labels generated in ItoE has more than one elements. ∎
The main idea behind procedures and , given in Tables 5 and 6 respectively, is the following (also see Figure 5): Make dummy configurations in to point to themselves with cycles of length one, so that they can never be solutions or violations. The starting vertex points to the configuration that corresponds to the first vertex of the Lemke path, namely \mbox{\boldmathu}^{0}=\mbox{ItoE}({\mathbf{y}}^{0},{\mathbf{w}}^{0},z^{0}). Precisely, S(0^{n})=\mbox{\boldmathu}^{0}, P(\mbox{\boldmathu}^{0})=0^{n} and (start of a path).
For the remaining cases, let \mbox{\boldmathu}\in\operatorname{\mathsf{vert}} have corresponding representation \mbox{\boldmathx}=({\mathbf{y}},{\mathbf{w}},z)\in\mbox{{\mathcal{P}}}, and suppose has a duplicate label. As one traverses a Lemke path for a P-LCP, the value of monotonically decreases . So, for S(\mbox{\boldmathu}) we compute the adjacent vertex \mbox{\boldmathx}^{\prime}=({\mathbf{y}}^{\prime},{\mathbf{w}}^{\prime},z^{\prime}) of on Lemke path such that the edge goes from to \mbox{\boldmathx}^{\prime}, and if the , as expected, then we point S(\mbox{\boldmathu}) to configuration of \mbox{\boldmathx}^{\prime} namely \mbox{ItoE}(\mbox{\boldmathx}^{\prime}). Otherwise, we let S(\mbox{\boldmathu})=\mbox{\boldmathu}. Similarly, for P(\mbox{\boldmathu}), we find \mbox{\boldmathx}^{\prime} such that edge is from \mbox{\boldmathx}^{\prime} to , and then we let P(\mbox{\boldmathu}) be \mbox{ItoE}(\mbox{\boldmathx}^{\prime}) if as expected, otherwise P(\mbox{\boldmathu})=\mbox{\boldmathu}.
For the case when does not have a duplicate label, then we have . This is handled separately since such a vertex has exactly one incident edge on the Lemke path, namely the one obtained by relaxing . According to the direction of this edge, we do similar process as before. For example, if the edge goes from to \mbox{\boldmathx}^{\prime}, then, if , we set S(\mbox{\boldmathu})=\mbox{ItoE}(\mbox{\boldmathx}^{\prime}) else S(\mbox{\boldmathu})=\mbox{\boldmathu}, and we always set P(\mbox{\boldmathu})=\mbox{\boldmathu}. In case the edge goes from \mbox{\boldmathx}^{\prime} to , we always set S(\mbox{\boldmathu})=\mbox{\boldmathu}, and we set P(\mbox{\boldmathu}) depending on whether or not .
The potential function , formally defined in Table 5, gives a value of zero to dummy vertices and the starting vertex . To all other vertices, essentially it is . Since value of starts at and keeps decreasing on the Lemke path this value will keep increasing starting from zero at the starting vertex . Multiplication by will ensure that if then the corresponding potential values will differ by at least one. This is because, since and are coordinates of two vertices of polytope , their maximum value is and their denominator is also bounded above by . Hence (Lemma 74).
To show correctness of the reduction we need to show two things: All the procedures are well-defined and polynomial time. We can construct a solution of from a solution of in polynomial time.
Functions , and of instance are well defined, making a valid EndOfPotentialLine instance.
Since all three procedures are polynomial-time in , they can be defined by \operatorname{poly}(\mbox{{\mathcal{L}}})-sized Boolean circuits. Furthermore, for any \mbox{\boldmathu}\in\operatorname{\mathsf{vert}}, we have that S(\mbox{\boldmathu}),P(\mbox{\boldmathu})\in\operatorname{\mathsf{vert}}. For , since the value of , we have . Therefore, \mbox{V}(\mbox{\boldmathu}) is an integer that is at most and hence is in set . ∎
There are two possible types of solutions of an EndOfPotentialLine instance (see Definition 9). One indicates the beginning or end of a line (R1), and the other is a vertex with locally optimal potential (R2). First we show that (R2) never arises. For this, we need the next lemma, which shows that potential differences in two adjacent configurations adheres to differences in the value of at corresponding vertices.
Let \mbox{\boldmathu}\neq\mbox{\boldmathu}^{\prime} be two valid configurations, i.e., \mbox{IsValid}(\mbox{\boldmathu})=\mbox{IsValid}(\mbox{\boldmathu}^{\prime})=1, and let and be the corresponding vertices in . Then the following holds:
\mbox{V}(\mbox{\boldmathu})=\mbox{V}(\mbox{\boldmathu}^{\prime}) iff .
\mbox{V}(\mbox{\boldmathu})>\mbox{V}(\mbox{\boldmathu}^{\prime}) iff .
Among the valid configurations all except has positive value. Therefore, wlog let \mbox{\boldmathu},\mbox{\boldmathu}^{\prime}\neq\mbox{\boldmath0}. For these we have \mbox{V}(\mbox{\boldmathu})=\lfloor\Delta^{2}\cdot(\Delta-z)\rfloor, and \mbox{V}(\mbox{\boldmathu}^{\prime})=\lfloor\Delta^{2}\cdot(\Delta-z^{\prime})\rfloor.
Note that since both and are coordinates of vertices of , whose description has highest coefficient of , and therefore their numerator and denominator both are bounded above by . Therefore, if then we have
For , if then clearly \mbox{V}(\mbox{\boldmathu})=\mbox{V}(\mbox{\boldmathu}^{\prime}), and from the above argument it also follows that if \mbox{V}(\mbox{\boldmathu})=\mbox{V}(\mbox{\boldmathu}^{\prime}) then it can not be the case that . Similarly for , if \mbox{V}(\mbox{\boldmathu})>\mbox{V}(\mbox{\boldmathu}^{\prime}) then clearly, , and from the above argument it follows that if then it can not be the case that \mbox{V}(\mbox{\boldmathu}^{\prime})\geq\mbox{V}(\mbox{\boldmathu}). ∎
Using the above lemma, we will next show that instance has no local maximizer.
Let \mbox{\boldmathu},\mbox{\boldmathv}\in\operatorname{\mathsf{vert}} s.t. \mbox{\boldmathu}\neq\mbox{\boldmathv}, \mbox{\boldmathv}=S(\mbox{\boldmathu}), and \mbox{\boldmathu}=P(\mbox{\boldmathv}). Then \mbox{V}(\mbox{\boldmathu})<\mbox{V}(\mbox{\boldmathv}).
Let \mbox{\boldmathx}=({\mathbf{y}},{\mathbf{w}},z) and \mbox{\boldmathx}^{\prime}=({\mathbf{y}}^{\prime},{\mathbf{w}}^{\prime},z^{\prime}) be the vertices in polyhedron corresponding to and respectively. From the construction of \mbox{\boldmathv}=S(\mbox{\boldmathu}) implies that . Therefore, using Lemma 74 it follows that \mbox{V}(\mbox{\boldmathv})<\mbox{V}(\mbox{\boldmathu}). ∎
Due to Lemma 75 the only type of solutions available in is (R1) where S(P(\mbox{\boldmathu}))\neq\mbox{\boldmathu} and P(S(\mbox{\boldmathu}))\neq\mbox{\boldmathu}. Next two lemmas shows how to construct solution of P-LCP instance or a (PV1) type violation (non-positive principle minor of matrix ) from these.
Let \mbox{\boldmathu}\in\operatorname{\mathsf{vert}}, \mbox{\boldmathu}\neq 0^{n}. If P(S(\mbox{\boldmathu}))\neq\mbox{\boldmathu} or S(P(\mbox{\boldmathu}))\neq\mbox{\boldmathu}, then \mbox{IsValid}(\mbox{\boldmathu})=1. Futhermore, for ({\mathbf{y}},{\mathbf{w}},z)=\mbox{EtoI}(\mbox{\boldmathu}) if , then is a (Q1) type solution of P-LCP instance \mbox{{\mathcal{I}}}=(M,\mbox{\boldmathq}).
By construction, if \mbox{IsValid}(\mbox{\boldmathu})=0, then S(P(\mbox{\boldmathu}))=\mbox{\boldmathu} and P(S(\mbox{\boldmathu}))=\mbox{\boldmathu}, therefore \mbox{IsValid}(\mbox{\boldmathu})=0 when has a predecessor or successor different from . Given this, from Lemma 72 we know that is a feasible vertex in (18). Therefore, if , then by Lemma 71 we have a solution of the LCP (1), i.e., a type (Q1) solution of our P-LCP instance \mbox{{\mathcal{I}}}=(\mbox{M},\mbox{\boldmathq}). ∎
Let \mbox{\boldmathu}\in\operatorname{\mathsf{vert}}, \mbox{\boldmathu}\neq 0^{n} such that P(S(\mbox{\boldmathu}))\neq\mbox{\boldmathu} or S(P(\mbox{\boldmathu}))\neq\mbox{\boldmathu}, and let \mbox{\boldmathx}=({\mathbf{y}},{\mathbf{w}},z)=\mbox{EtoI}(\mbox{\boldmathu}). If then has a duplicate label, say . And for directions and obtained by relaxing and respectively at , we have , where is the coordinate corresponding to .
From Lemma 76 we know that \mbox{IsValid}(\mbox{\boldmathu})=1, and therefore from Lemma 72, is a feasible vertex in (18). From the last line of Tables 5 and 6 observe that S(\mbox{\boldmathu}) points to the configuration of vertex next to on Lemke’s path only if it has lower value otherwise it gives back , and similarly P(\mbox{\boldmathu}) points to the previous only if value of increases.
First consider the case when P(S(\mbox{\boldmathu}))\neq\mbox{\boldmathu}. Let \mbox{\boldmathv}=S(\mbox{\boldmathu}) and corresponding vertex in be ({\mathbf{y}}^{\prime},{\mathbf{w}}^{\prime},z^{\prime})=\mbox{EtoI}(\mbox{\boldmathv}). If \mbox{\boldmathv}\neq\mbox{\boldmathu}, then from the above observation we know that , and in that case again by construction of we will have P(\mbox{\boldmathv})=\mbox{\boldmathu}, contradicting P(S(\mbox{\boldmathu}))\neq\mbox{\boldmathu}. Therefore, it must be the case that \mbox{\boldmathv}=\mbox{\boldmathu}. Since this happens only when the next vertex on Lemke path after has higher value of (by above observation). As a consequence of \mbox{\boldmathv}=\mbox{\boldmathu}, we also have P(\mbox{\boldmathu})\neq\mbox{\boldmathu}. By construction of this implies for ({\mathbf{y}}^{\prime\prime},{\mathbf{w}}^{\prime\prime},z^{\prime\prime})=\mbox{EtoI}(P(\mbox{\boldmathu})), . Putting both together we get increase in when we relax as well as when we relax at .
For the second case S(P(\mbox{\boldmathu}))\neq\mbox{\boldmathu} similar argument gives that value of decreases when we relax as well as when we relax at . The proof follows. ∎
Finally, we are ready to prove our main result of this section using Lemmas 75, 76 and 77. Together with Lemma 77, we will use the fact that on Lemke path monotonically decreases if is a P-matrix or else we get a (PV1) type witness that is not a P-matrix .
There is a polynomial-time promise-preserving reduction from P-LCP with (PV1) violations to EndOfPotentialLine.
Among solutions of EndOfPotentialLine instance , there is no local potential maximizer, i.e., \mbox{\boldmathu}\neq\mbox{\boldmathv} such that \mbox{\boldmathv}=S(\mbox{\boldmathu}), \mbox{\boldmathu}=P(\mbox{\boldmathv}) and \mbox{V}(\mbox{\boldmathu})>\mbox{V}(\mbox{\boldmathv}) due to Lemma 75. We get a solution \mbox{\boldmathu}\neq 0 such that either S(P(\mbox{\boldmathu}))\neq\mbox{\boldmathu} or P(S(\mbox{\boldmathu}))\neq\mbox{\boldmathu}, then by Lemma 76 it is valid configuration and has a corresponding vertex \mbox{\boldmathx}=({\mathbf{y}},{\mathbf{w}},z) in . Again by Lemma 76 if then is a (Q1) type solution of our P-LCP instance . On the other hand, if then from Lemma 77 we get that on both the two adjacent edges to on Lemke path the value of either increases or deceases. This gives us a minor of which is non-positive , i.e., a (Q2) type solution of the P-LCP instance with (PV1) violation.
The reduction is promise preserving because if the LCP instance is promised to be P-LCP then monotonically decreases along the Lemke’s path, and all feasible complementary vertices are on this path. Therefore, the corresponding EndOfPotentialLine instance will have exactly one path ending in a solution where the corresponding vertex \mbox{\boldmathx}=({\mathbf{y}},{\mathbf{w}},z) of the LCP has mapping to the P-LCP solution. ∎
G.3 Reduction from P-LCP with (PV2) violations to UniqueEOPL
Next we show that the above construction also implies P-LCP with (PV2) violations is in UniqueEOPL, and thereby also in EndOfPotentialLine. We start with a simple well-known lemma that turns two solutions of an LCP (M,\mbox{\boldmathq}) into a non-zero sign-reversing vector for , i.e. a (PV2) violation.
[14, Theorem 3.3.7] If for some -dimensional vector \mbox{\boldmathq}^{\prime}, LCP (M,\mbox{\boldmathq}^{\prime}) has more than one solution then there exists a sign-reversing vector w.r.t. , i.e., .
Let and be two distinct solutions of the LCP defined by (M,\mbox{\boldmathq}^{\prime}). That is . Then,
Furthermore, for each we have and . This together with gives,
Thus, \mbox{\boldmathx}={\mathbf{y}}^{*}-{\mathbf{y}}^{\prime} is our desired vector. Note that \mbox{\boldmathx}\neq 0 since . ∎
UniqueEOPL has four types of solutions. Out of these, (UV1) is ruled out by Lemma 75. Next we show that any “extra” end of lines as well as (UV3) type solutions map to a (PV2) violation.
Given either of the following, we can construct two distinct solutions of LCP (M,\mbox{\boldmathq}^{\prime}) for some \mbox{\boldmathq}^{\prime}:
\mbox{\boldmathu}\in\operatorname{\mathsf{vert}} is a (U1) or (UV2) type solution of instance such that corresponding vertex \mbox{\boldmathx}=({\mathbf{y}},{\mathbf{w}},z)=\mbox{EtoI}(\mbox{\boldmathu}) has .
\mbox{\boldmathu},\mbox{\boldmathv}\in\operatorname{\mathsf{vert}} forms a (UV3) type solution of instance .
For , let \mbox{\boldmathx}^{*}=({\mathbf{y}}^{*},{\mathbf{w}}^{*},z^{*})=\mbox{EtoI}(\mbox{\boldmathu}) with , and let be the duplicate label at vertex \mbox{\boldmathx}^{*} in (Q1). Then from Lemma 77 we know that for directions and obtained by relaxing and respectively at \mbox{\boldmathx}^{*}, we have , where is the coordinate corresponding to . Suppose , and for , let be the value of at the vertex adjacent to \mbox{\boldmathx}^{*} in direction of ; set if no vertex encountered in direction . Let be small enough so that , and consider the points \mbox{\boldmathx}^{i}=(\mbox{\boldmathx}^{*}+\frac{\epsilon}{|\sigma_{i}(z)|}\sigma_{i}) on the edge corresponding to adjacent to \mbox{\boldmathx}^{*}. It is easy to check that by choice of , both \mbox{\boldmathx}^{1} and \mbox{\boldmathx}^{2} are feasible. We will next show that these are solutions of an LCP defined by (M,\mbox{\boldmathq}^{\prime}) for some \mbox{\boldmathq}^{\prime}.
Note that by construction the coordinate at both \mbox{\boldmathx}^{1} and \mbox{\boldmathx}^{2} is , giving us desired two solutions of (18) with the same value. Similar, argument holds when where the corresponding value is . If either or is zero, then remains unchanged on the entire corresponding edge.
For , \mbox{\boldmathx}^{*}=({\mathbf{y}}^{*},{\mathbf{w}}^{*},z^{*})=\mbox{EtoI}(\mbox{\boldmathu}) and \mbox{\boldmathx}^{\prime}=({\mathbf{y}}^{\prime},{\mathbf{w}}^{\prime},z^{\prime})=\mbox{EtoI}(\mbox{\boldmathv}). If \mbox{V}(\mbox{\boldmathu})=\mbox{V}(\mbox{\boldmathv}), then clearly (Lemma 74) and we get the desired two points feasible in (18) with the same value. If \mbox{V}(\mbox{\boldmathu})<\mbox{V}(\mbox{\boldmathv})<\mbox{V}(S(\mbox{\boldmathu})), then there exists a point on the edge joining \mbox{\boldmathx}^{*} with \mbox{EtoI}(S(\mbox{\boldmathx}^{*})) with the same value as . ∎
Now we are ready to show our main result of P-LCP with PV2 in UniqueEOPL using Lemmas 75, 76, 79 and 80
There is a polynomial-time promise-preserving reduction from P-LCP with (PV2) violations to UniqueEOPL, and thereby also to EndOfPotentialLine.
Lemma 75 rules out UV1 violation in . If we get U1 solution or UV2 violation of , then corresponding vertex \mbox{\boldmathx}=({\mathbf{y}},{\mathbf{w}},z) is feasible in (18) by Lemma 76. Furthermore, if then is a (Q1) type solution of our P-LCP instance . On the other hand if , then by Lemmas 80 and 79 we can construct a PV2 violation of our P-LCP instance . Similarly, Lemmas 80 and 79 also map any UV3 violation of instance to a PV2 violation of .
By construction, if is a promise P-LCP instance, then instance of will have exactly one U1 solution corresponding to the unique solution of the . ∎
Appendix H Proofs for Section 5.1: Algorithms for Contraction Maps
The algorithm does a nested binary search using Lemmas 59 and 60 to find fixpoints of slices with increasing numbers of free coordinates. We illustrate the algorithm in two dimensions in Figure 6. The algorithm is recursive. To find the eventual fixpoint in dimensions we fix a single coordinate , find the unique -dimensional fixpoint of , the -dimensional contraction map obtained by fixing the first coordinate of the input to to be . Let the unique fixpoint of where . If , then the -dimensional fixpoint of has , and if , then (Lemma 60). We can thus do a binary search for the value of . Once we’ve found , we can recursively find the -dimensional fixpoint of where . The resulting solution will be the -dimensional fixpoint. At each step in the recursive procedure, we do a binary search for the value of one coordinate of the fixpoint at the slice determined by all the coordinates already fixed. For piecewise-linear functions, we know that all fixpoints are rational with bounded bit-length (as discussed in Section F.1), so we can find each coordinate exactly.
If at any step in recursion our binary search finds two dimensional fixpoints on slices that are adjacent, differing only in the th coordinate and by a small enough amount , we can return these points, which witness the failure of to be a contraction map. These points correspond to a solution of type (CMV3) to the PL-Contraction problem. The proof that is not a contraction is indirect, and uses the fact that the discretized grid implicitly searched by the algorithm will contain every fixpoint of . Since we maintain the invariant that our two pivots bound the coordinate we’re searching over from above and below when is a contraction map, such a pair of points gives proof that is not contracting.
Using this algorithm we obtain the following theorem.
The full details of the algorithm can be found in Appendix H.3.
H.2 Overview: algorithm to find an approximate fixed-point of Contraction
Here we generalize our algorithm to find an approximate fixpoint of an arbitrary function given by an arithmetic circuit, i.e., our algorithm solves Contraction, which is specified by a circuit that represents the contraction map,The algorithm works even if is given as an arbitrary black-box, as long as it is guaranteed to be a contraction map. a -norm, and . Again, let denote the dimension of the problem, i.e. the number of inputs (and outputs) of . Let denote the unique exact fixpoint for the contraction map . We seek an approximate fixpoint, i.e., a point for which .
We do the same recursive binary search as in the algorithm above, but at each step of the algorithm instead of finding an exact fixpoint, we will only find an approximate fixpoint of . The difficulty in this case will come from the fact that Lemma 60 does not apply to approximate fixpoints. Consider the example illustrated in Figure 7. In this example, is the unique fixpoint of the slice restriction along the gray dashed line. By Lemma 60, so if we find , we can observe that and recurse on the right side of the figure, in the region labeled . If we try to use the same algorithm but where we only find approximate fixopints at each step, we’ll run into trouble. In this case, if we found instead of , we would observe that and conclude that , which is incorrect. As a result, we would limit our search to the region labeled , and wouldn’t be able to find .
Using this idea we are able to obtain the following results:
For a contraction map under for , there is an algorithm to compute a point such that or report a violation of contraction in time .
The full details of the algorithms can be found in Appendix H.4.
H.3 Details: finding a fixed-point of PL-Contraction
Suppose is piecewise-linear; it follows that the coordinates of the unique fixpoints of will be rational numbers with bounded denominators. Consider the values of ’s computed in Section F.1. The analysis in the section tells us that if we consider an -slice where is a rational with bit-length at most for , the unique fixed-point of will have coordinates with bit-lengths of at most Furthermore, is the largest among all ’s and is bounded by polynomial in the size of the circuit representing the given PL-Contraction instance.
Let be the set of slices with fixed coordinates having denominators at most in the th coordinate:
We will design an algorithm assuming an upper bound of on the th coordinate denominators of fixpoints for any slice restriction where .
Analysis. Given a and a -slice , we know from Lemma 59 that the restricted function is also contracting. We will show that , the function given in Algorithm 1, computes a fixpoint of . Since the algorithm is recursive, we will prove its correctness by induction. The next lemma establishes the base case of induction and follows by design of the algorithm. It is equivalent to finding a fixpoint of a one dimensional function.
For any -slice , returns the unique fixpoint of if it doesn’t throw an error.
Now for the inductive step, assuming can compute a fixpoint of any -slice restriction of a contraction map, we will show that it can compute one for any -slice of the contraction map.
Fix any -slice and let for some . If returns the unique fixpoint of the restricted function , then returns the unique fixpoint of the function if it doesn’t throw an error.
Since is a contraction map, so is due to Lemma 59. Let be the value returned by the algorithm when input the slice . Now, if then and if then . If either is an equality then is the unique fixpoint of as well and the lemma follows.
We now address the case where the algorithm returns an error:
Using Lemma 87 and applying induction using Lemma 85 as a base-case and Lemma 86 as an inductive step, the next theorem follows.
returns the unique fixpoint of , or a pair of points proving that isn’t a contraction map in time where is polynomial in the size of the input instance.
H.4 Details: finding an approximate fixed-point of Contraction
We now proceed to prove the correctness of our algorithm.
For the inductive step, we show that we can go from approximate fixpoints of -slices to approximate fixpoints of -slices.
Moreover, in every subsequent call to , if the output satisfies , we return , so we’ll assume in what follows that the point returned by the algorithm is from line 33.
Applying induction using Lemma 89 as a base-case and Lemma 90 as an inductive step, we obtain the following lemma:
If Algorithm 2 throws an error, the pair indicated by the error witnesses not being a contraction map.
Now applying Lemma 65 and analyzing the runtime of our algorithm, we obtain our final results.
For a contraction map under for , returns a point such that or reports a violation of contraction in time .