PLS (complexity): Difference between revisions
DodoLurker (talk | contribs) m reverted vandalism |
m Undid revision 1247082548 by 109.127.82.178 (talk) |
||
(51 intermediate revisions by 26 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Complexity class}} |
|||
In [[computational complexity theory]], '''PLS''', which stands for Polynomial Local Search, is a [[complexity class]] that models the difficulty of finding a [[local optimum|locally optimal]] solution to an [[optimization problem]]. |
|||
In [[computational complexity theory]], Polynomial Local Search ('''PLS''') is a [[complexity class]] that models the difficulty of finding a [[local optimum|locally optimal]] solution to an [[optimization problem]]. The main characteristics of problems that lie in PLS are that the cost of a solution can be calculated in [[Time complexity#Polynomial time|polynomial time]] and the neighborhood of a solution can be searched in polynomial time. Therefore it is possible to verify whether or not a solution is a local optimum in polynomial time. |
|||
Furthermore, depending on the problem and the algorithm that is used for solving the problem, it might be faster to find a local optimum instead of a global optimum. |
|||
==Description== |
|||
An instance of PLS has the structure of an [[implicit graph]], defined by a polynomial-time algorithm for computing the [[neighborhood (graph theory)|neighbors]] of each [[vertex (graph theory)|vertex]] in the graph, together with another polynomial-time algorithm for computing a cost for each vertex. A valid solution to the instance is a vertex ''v'' in the graph for which no neighbor of ''v'' has smaller cost. If there is more than one such vertex, they are all valid. |
|||
When searching for a local optimum, there are two interesting issues to deal with: First how to find a local optimum, and second how long it takes to find a local optimum. For many local search algorithms, it is not known, whether they can find a local optimum in polynomial time or not.<ref name=Yan88 /> So to answer the question of how long it takes to find a local optimum, Johnson, Papadimitriou and Yannakakis <ref name=JPY88 /> introduced the complexity class PLS in their paper "How easy is local search?". It contains local search problems for which the local optimality can be verified in polynomial time. |
|||
A local search problem is in PLS, if the following properties are satisfied: |
|||
Examples of PLS-complete problems include local-optimum relatives of the [[travelling salesman problem]], [[maximum cut]] and [[satisfiability]], as well as finding a pure [[Nash equilibrium]] in a [[congestion game]]. |
|||
* The size of every solution is polynomially bounded in the size of the instance <math>I</math>. |
|||
* It is possible to find some solution of a problem instance in polynomial time. |
|||
* It is possible to calculate the cost of each solution in polynomial time. |
|||
* It is possible to find all neighbors of each solution in polynomial time. |
|||
With these properties, it is possible to find for each solution <math>s</math> the best neighboring solution or if there is no such better neighboring solution, state that <math>s</math> is a local optimum. |
|||
PLS is a subclass of [[TFNP]], a complexity class closely related to [[NP (complexity)|NP]] that describes computational problems in which a solution is guaranteed to exist and can be recognized in polynomial time. For a problem in PLS, a solution is guaranteed to exist because the minimum-cost vertex of the entire graph is a valid solution, and the validity of a solution can be checked by computing its neighbors and comparing the costs of each one. |
|||
===Example=== |
|||
Consider the following instance <math>I</math> of the [[2-satisfiability|Max-2Sat]] Problem: <math>(x_{1} \vee x_{2}) \wedge (\neg x_{1} \vee x_{3}) \wedge (\neg x_{2} \vee x_{3})</math>. The aim is to find an assignment, that maximizes the sum of the satisfied clauses. |
|||
A ''solution'' <math>s</math> for that instance is a bit string that assigns every <math>x_{i}</math> the value 0 or 1. In this case, a solution consists of 3 bits, for example <math>s=000</math>, which stands for the assignment of <math>x_{1}</math> to <math>x_{3}</math> with the value 0. The set of solutions <math>F_{L}(I)</math> is the set of all possible assignments of <math>x_{1}</math>, <math>x_{2}</math> and <math>x_{3}</math>. |
|||
The ''cost'' of each solution is the number of satisfied clauses, so <math>c_{L}(I, s=000)=2</math> because the second and third clause are satisfied. |
|||
The Flip-''neighbor'' of a solution <math>s</math> is reached by flipping one bit of the bit string <math>s</math>, so the neighbors of <math>s</math> are <math>N(I,000)=\{100, 010, 001\}</math> with the following costs: |
|||
<math>c_{L}(I, 100)=2</math> |
|||
<math>c_{L}(I, 010)=2</math> |
|||
<math>c_{L}(I, 001)=2</math> |
|||
There are no neighbors with better costs than <math>s</math>, if we are looking for a solution with maximum cost. Even though <math>s</math> is not a global optimum (which for example would be a solution <math>s'=111</math> that satisfies all clauses and has <math>c_{L}(I, s')=3</math>), <math>s</math> is a local optimum, because none of its neighbors has better costs. |
|||
Intuitively it can be argued that this problem ''lies in PLS'', because: |
|||
* It is possible to find a solution to an instance in polynomial time, for example by setting all bits to 0. |
|||
* It is possible to calculate the cost of a solution in polynomial time, by going once through the whole instance and counting the clauses that are satisfied. |
|||
* It is possible to find all neighbors of a solution in polynomial time, by taking the set of solutions that differ from <math>s</math> in exactly one bit. |
|||
If we are simply counting the number of satisfied clauses, the problem can be solved in polynomial time since the number of possible costs is polynomial. However, if we assign each clause a positive integer weight (and seek to locally maximize the sum of weights of satisfied clauses), the problem becomes PLS-complete (below). |
|||
==Formal Definition== |
|||
A local search problem <math>L</math> has a set <math>D_L</math> of instances which are encoded using [[String (computer science)|strings]] over a finite [[Alphabet (computer science)|alphabet]] <math>\Sigma</math>. For each instance <math>I</math> there exists a finite solution set <math>F_L(I)</math>. Let <math>R</math> be the relation that models <math>L</math>. The relation <math>R \subseteq D_L \times F_L(I) := \{(I, s) \mid I \in D_{L}, s \in F_{L}(I)\}</math> is in '''PLS''' <ref name=JPY88 /><ref name="MS14">{{cite journal|last1=Mulzer|first1=Wolfgang|last2=Stein|first2=Yannik|title=Computational Aspects of the Colorful Caratheodory Theorem|journal=[[Discrete & Computational Geometry]]|volume=60|issue=3|pages=720–755|date=14 March 2018|arxiv=1412.3347|doi=10.1007/s00454-018-9979-y|bibcode=2014arXiv1412.3347M|s2cid=254024141 }}</ref><ref name="Bor16">{{cite web |last1=Borzechowski |first1=Michaela |title=The complexity class Polynomial Local Search (PLS) and PLS-complete problems |url=http://www.mi.fu-berlin.de/inf/groups/ag-ti/theses/download/Borzechowski16.pdf}}</ref> if: |
|||
* The size of every solution <math>s \in F_{L}(I)</math> is polynomial bounded in the size of <math>I</math> |
|||
* Problem instances <math>I \in D_{L}</math> and solutions <math>s \in F_{L}(I)</math> are polynomial time verifiable |
|||
* There is a polynomial time computable function <math>A: D_{L} \rightarrow F_{L}(I)</math> that returns for each instance <math>I \in D_{L}</math> some solution <math>s \in F_{L}(I)</math> |
|||
* There is a polynomial time computable function <math>B: D_L \times F_L(I) \rightarrow \mathbb{R} ^{+}</math> <ref name=DMT09 /> that returns for each solution <math>s \in F_L(I)</math> of an instance <math>I \in D_L</math> the cost <math>c_L(I, s)</math> |
|||
* There is a polynomial time computable function <math>N: D_L \times F_L(I) \rightarrow Powerset(F_L(I))</math> that returns the set of neighbors for an instance-solution pair |
|||
* There is a polynomial time computable function <math>C: D_L \times F_L(I) \rightarrow N(I, s) \cup \{OPT\}</math> that returns a neighboring solution <math>s'</math> with better cost than solution <math>s</math>, or states that <math>s</math> is locally optimal |
|||
* For every instance <math>I \in D_L</math>, <math>R</math> exactly contains the pairs <math>(I, s)</math> where <math>s</math> is a local optimal solution of <math>I</math> |
|||
An instance <math>D_L</math> has the structure of an [[implicit graph]] (also called ''[[#Transition graph|Transition graph]]'' <ref name="MAK07">{{cite book|last1=Michiels|first1=Wil|last2=Aarts|first2=Emile|last3=Korst|first3=Jan|title=Theoretical aspects of local search|date=2010|publisher=Springer Science & Business Media|isbn=9783642071485}}</ref>), the vertices being the solutions with two solutions <math>s, s' \in F_L(I)</math> connected by a directed arc iff <math>s' \in N(I, s)</math>. |
|||
A [[local optimum]] is a solution <math>s</math>, that has no neighbor with better costs. In the implicit graph, a local optimum is a sink. A neighborhood where every local optimum is a [[Maxima and minima|global optimum]], which is a solution with the best possible cost, is called an ''exact neighborhood''.<ref name=MAK07 /><ref name=Yan88 /> |
|||
===Alternative Definition=== |
|||
The class '''PLS''' is the class containing all problems that can be reduced in polynomial time to the problem Sink-of-[[Directed acyclic graph|DAG]]<ref name="Fea+20">{{cite journal |last1=Fearnley |first1=John |last2=Gordon |first2=Spencer |last3=Mehta |first3=Ruta |last4=Savani |first4=Rahul |title=Unique end of potential line |journal=Journal of Computer and System Sciences |date=December 2020 |volume=114 |pages=1–35 |doi=10.1016/j.jcss.2020.05.007|url=https://drops.dagstuhl.de/opus/volltexte/2019/10632/ |arxiv=1811.03841 }}</ref> (also called Local-Opt <ref name="DP11">{{cite journal |last1=Daskalakis |first1=Constantinos |last2=Papadimitriou |first2=Christos |title=Continuous Local Search |journal=Proceedings of the Twenty-Second Annual ACM-SIAM Symposium on Discrete Algorithms |date=23 January 2011 |pages=790–804 |doi=10.1137/1.9781611973082.62|isbn=978-0-89871-993-2 |s2cid=2056144 }}</ref>): |
|||
Given two integers <math>n</math> and <math>m</math> and two [[Boolean circuit]]s <math>S: \{0,1\}^n \rightarrow \{0,1\}^n</math> such that <math>S(0^n) \neq 0^n</math> and <math>V: \{0,1\}^n \rightarrow \{0,1, .., 2^m-1\}</math>, find a vertex <math>x \in \{0,1\}^n</math> such that <math>S(x)\neq x</math> and either <math>S(S(x)) = S(x)</math> or <math>V(S(x)) \leq V(x)</math>. |
|||
===Example neighborhood structures=== |
|||
Example neighborhood structures for problems with boolean variables (or bit strings) as solution: |
|||
* '''Flip'''<ref name=JPY88 /> - The neighborhood of a solution <math>s = x_1 , ..., x_n</math> can be achieved by negating (flipping) one arbitrary input bit <math>x_i</math>. So one solution <math>s</math> and all its neighbors <math>r \in N (I, s)</math> have [[Hamming distance]] one: <math>H(s, r) = 1</math>. |
|||
* '''Kernighan-Lin'''<ref name=JPY88 /><ref name=MAK07 /> - A solution <math>r</math> is a neighbor of solution <math>s</math> if <math>r</math> can be obtained from <math>s</math> by a sequence of greedy flips, where no bit is flipped twice. This means, starting with <math>s</math>, the ''Flip''-neighbor <math>s_1</math> of <math>s</math> with the best cost, or the least loss of cost, is chosen to be a neighbor of s in the Kernighan-Lin structure. As well as best (or least worst) neighbor of <math>s_1</math> , and so on, until <math>s_i</math> is a solution where every bit of <math>s</math> is negated. Note that it is not allowed to flip a bit back, if it once has been flipped. |
|||
* '''k-Flip'''<ref name=Kla96 /> - A solution <math>r</math> is a neighbor of solution <math>s</math> if the [[Hamming distance]] <math>H</math> between <math>s</math> and <math>r</math> is at most <math>k</math>, so <math>H(s, r) \leq k</math>. |
|||
Example neighborhood structures for problems on graphs: |
|||
* '''Swap'''<ref name=SY91 /> - A partition <math>(P_2, P_3)</math> of nodes in a graph is a neighbor of a partition <math>(P_0, P_1)</math> if <math>(P_2, P_3)</math> can be obtained from <math>(P_0, P_1)</math> by swapping one node <math>p_0 \in P_0</math> with a node <math>p_1 \in P_1</math>. |
|||
* '''Kernighan-Lin'''<ref name=Yan88 /><ref name=JPY88 /> - A partition <math>(P_2, P_3)</math> is a neighbor of <math>(P_0, P_1)</math> if <math>(P_2, P_3)</math> can be obtained by a greedy sequence of swaps from nodes in <math>P_0</math> with nodes in <math>P_1</math>. This means the two nodes <math>p_0 \in P_0</math> and <math>p_1 \in P_1</math> are swapped, where the partition <math>((P_0 \setminus p_0) \cup p1, (P_1 \setminus p_1) \cup p_0)</math> gains the highest possible weight, or loses the least possible weight. Note that no node is allowed to be swapped twice. This rule is based on the [[Kernighan–Lin algorithm|Kernighan–Lin heuristic for graph partition]]. |
|||
* '''Fiduccia-Matheyses''' <ref name=Yan88 /><ref name="FM82">{{cite journal|last1=Fiduccia|first1=C. M.|last2=Mattheyses|first2=R. M.|title=A Linear-time Heuristic for Improving Network Partitions|journal=Proceedings of the 19th Design Automation Conference|date=1982|pages=175–181|isbn=9780897910200 |url=https://dl.acm.org/citation.cfm?id=809204}}</ref> - This neighborhood is similar to the Kernighan-Lin neighborhood structure, it is a greedy sequence of swaps, except that each swap happens in two steps. First the <math>p_0 \in P_0</math> with the most gain of cost, or the least loss of cost, is swapped to <math>P_1</math>, then the node <math>p_1 \in P_1</math> with the most cost, or the least loss of cost is swapped to <math>P_0</math> to balance the partitions again. Experiments have shown that Fiduccia-Mattheyses has a smaller run time in each iteration of the standard algorithm, though it sometimes finds an inferior local optimum. |
|||
* '''FM-Swap'''<ref name=Yan88 /> - This neighborhood structure is based on the Fiduccia-Mattheyses neighborhood structure. Each solution <math>s = (P_0, P_1)</math> has only one neighbor, the partition obtained after the first swap of the Fiduccia-Mattheyses. |
|||
==The standard Algorithm== |
|||
Consider the following computational problem: |
|||
''Given some instance <math>I</math> of a PLS problem <math>L</math>, find a locally optimal solution <math>s \in F_L(I)</math> such that <math>c_L(I, s') \geq c_L(I, s)</math> for all <math>s' \in N(I, s)</math>''. |
|||
Every local search problem can be solved using the following iterative improvement algorithm:<ref name=JPY88 /> |
|||
# Use <math>A_L</math> to find an initial solution <math>s</math> |
|||
# Use algorithm <math>C_L</math> to find a better solution <math>s' \in N(I, s)</math>. If such a solution exists, replace <math>s</math> by <math>s'</math> and repeat step 2, else return <math>s</math> |
|||
Unfortunately, it generally takes an exponential number of improvement steps to find a local optimum even if the problem <math>L</math> can be solved exactly in polynomial time.<ref name=JPY88 /> It is not necessary always to use the standard algorithm, there may be a different, faster algorithm for a certain problem. For example a local search algorithm used for [[Linear programming]] is the [[Simplex algorithm]]. |
|||
The run time of the standard algorithm is [[Pseudo-polynomial time|pseudo-polynomial]] in the number of different costs of a solution.<ref name="ACZ14">{{cite book|last1=Angel|first1=Eric|last2=Christopoulos|first2=Petros|last3=Zissimopoulos|first3=Vassilis|title=Paradigms of Combinatorial Optimization: Problems and New Approaches - Local Search: Complexity and Approximation|date=2014|publisher=John Wiley & Sons, Inc., Hoboken|isbn=9781119005353|pages=435–471|edition=2|doi=10.1002/9781119005353.ch14}}</ref> |
|||
The space the standard algorithm needs is only polynomial. It only needs to save the current solution <math>s</math>, which is polynomial bounded by definition.<ref name="Yan88">{{cite book|last1=Yannakakis|first1=Mihalis|title=Local search in combinatorial optimization - Computational complexity|date=2003|publisher=Princeton University Press|isbn=9780691115221|pages=19–55}}</ref> |
|||
==Reductions== |
|||
A [[Reduction (complexity)|Reduction]] of one problem to another may be used to show that the second problem is at least as difficult as the first. In particular, a PLS-reduction is used to prove that a local search problem that lies in PLS is also PLS-complete, by reducing a PLS-complete Problem to the one that shall be proven to be PLS-complete. |
|||
===PLS-reduction=== |
|||
A local search problem <math>L_1</math> is PLS-reducible<ref name=JPY88 /> to a local search problem <math>L_2</math> if there are two polynomial time functions <math>f : D_1 \rightarrow D_2</math> and <math>g: D_1 \times F_2(f(I_1)) \rightarrow F_1(I_1)</math> such that: |
|||
* if <math>I_1</math> is an instance of <math>L_1</math> , then <math>f (I_1 )</math> is an instance of <math>L_2</math> |
|||
* if <math>s_2</math> is a solution for <math>f (I_1 )</math> of <math>L_2</math> , then <math>g(I_1 , s_2 )</math> is a solution for <math>I_1</math> of <math>L_1</math> |
|||
* if <math>s_2</math> is a local optimum for instance <math>f (I_1 )</math> of <math>L_2</math> , then <math>g(I_1 , s_2 )</math> has to be a local optimum for instance <math>I_1</math> of <math>L_1</math> |
|||
It is sufficient to only map the local optima of <math>f(I_1)</math> to the local optima of <math>I_1</math>, and to map all other solutions for example to the standard solution returned by <math>A_{1}</math>.<ref name=MAK07 /> |
|||
PLS-reductions are [[Transitive relation|transitive]].<ref name=JPY88 /> |
|||
===Tight PLS-reduction=== |
|||
====Definition Transition graph==== |
|||
The transition graph<ref name=MAK07 /> <math>T_I</math> of an instance <math>I</math> of a problem <math>L</math> is a directed graph. The nodes represent all elements of the finite set of solutions <math>F_L(I)</math> and the edges point from one solution to the neighbor with strictly better cost. Therefore it is an acyclic graph. A sink, which is a node with no outgoing edges, is a local optimum. |
|||
The height of a vertex <math>v</math> is the length of the shortest path from <math>v</math> to the nearest sink. |
|||
The height of the transition graph is the largest of the heights of all vertices, so it is the height of the largest shortest possible path from a node to its nearest sink. |
|||
====Definition Tight PLS-reduction==== |
|||
A PLS-reduction <math>(f, g)</math> from a local search problem <math>L_1</math> to a local search problem <math>L_2</math> is a |
|||
''tight PLS-reduction''<ref name="SY91">{{cite journal|last1=Schäffer|first1=Alejandro A.|last2=Yannakakis|first2=Mihalis|title=Simple Local Search Problems that are Hard to Solve|journal=SIAM Journal on Computing|date=February 1991|volume=20|issue=1|pages=56–87|doi=10.1137/0220004}}</ref> if for any instance <math>I_1</math> of <math>L_1</math>, a subset <math>R</math> of solutions |
|||
of instance <math>I_2 = f (I_1 )</math> of <math>L_2</math> can be chosen, so that the following properties are satisfied: |
|||
* <math>R</math> contains, among other solutions, all local optima of <math>I_2</math> |
|||
* For every solution <math>p</math> of <math>I_1</math> , a solution <math>q \in R</math> of <math>I_2 = f (I_1 )</math> can be constructed in polynomial time, so that <math>g(I_1 , q) = p</math> |
|||
* If the transition graph <math>T_{f (I_1 )}</math> of <math>f (I_1 )</math> contains a direct path from <math>q</math> to <math>q_0</math>, and <math>q, q_0 \in R</math>, but all internal path vertices are outside <math>R</math>, then for the corresponding solutions <math>p = g(I_1 , q)</math> and <math>p_0 = g(I_1 , q_0 )</math> holds either <math>p = p_0</math> or <math>T_{I_1}</math> contains an edge from <math>p</math> to <math>p_0</math> |
|||
==Relationship to other complexity classes== |
|||
PLS lies between the functional versions of [[P (complexity)|P]] and [[NP (complexity)|NP]]: [[FP (complexity)|FP]] ⊆ PLS ⊆ [[FNP (complexity)|FNP]].<ref name=JPY88 /> |
|||
PLS also is a subclass of [[TFNP]],<ref name="MP91">{{cite journal|last1=Megiddo|first1=Nimrod|last2=Papadimitriou|first2=Christos H|title=On total functions, existence theorems and computational complexity|journal=Theoretical Computer Science|date=1991|volume=81|issue=2|pages=317–324|doi=10.1016/0304-3975(91)90200-L|doi-access=free|citeseerx=10.1.1.75.4797}}</ref> that describes computational problems in which a solution is guaranteed to exist and can be recognized in polynomial time. For a problem in PLS, a solution is guaranteed to exist because the minimum-cost vertex of the entire graph is a valid solution, and the validity of a solution can be checked by computing its neighbors and comparing the costs of each one to another. |
|||
It is also proven that if a PLS problem is [[NP-hardness|NP-hard]], then NP = [[co-NP]].<ref name=JPY88>{{cite journal|last1=Johnson|first1=David S|last2=Papadimitriou|first2=Christos H|last3=Yannakakis|first3=Mihalis|title=How easy is local search?|journal=Journal of Computer and System Sciences|date=1988|volume=37|issue=1|pages=79–100|doi=10.1016/0022-0000(88)90046-3|doi-access=free}}</ref> |
|||
==PLS-completeness== |
|||
===Definition=== |
|||
A local search problem <math>L</math> is PLS-complete,<ref name=JPY88 /> if |
|||
* <math>L</math> is in PLS |
|||
* every problem in PLS can be PLS-reduced to <math>L</math> |
|||
The optimization version of the [[Circuit satisfiability problem|circuit]] problem under the ''Flip'' neighborhood structure has been shown to be a first PLS-complete problem.<ref name=JPY88 /> |
|||
===List of PLS-complete Problems=== |
|||
This is an incomplete list of some known problems that are PLS-complete. The problems here are the weighted versions; for example, Max-2SAT/Flip is weighted even though Max-2SAT ordinarily refers to the unweighted version. |
|||
[[File:PLS-complete Problems Overview.svg|frame|center |
|||
|Overview of PLS-complete problems and how they are reduced to each other. |
|||
'''Syntax:''' Optimization-Problem/Neighborhood structure. |
|||
'''Dotted arrow:''' PLS-reduction from a problem <math>L</math> to a problem <math>Q: L \leftarrow Q</math>. |
|||
'''Black arrow:''' Tight PLS-reduction.<ref name=Bor16 />]] |
|||
Notation: Problem / Neighborhood structure |
|||
* '''[[Circuit satisfiability problem|Min/Max-circuit/Flip]]''' has been proven to be the first PLS-complete problem.<ref name=JPY88 /> |
|||
* '''Sink-of-[[Directed acyclic graph|DAG]]''' is complete by definition. |
|||
* '''Positive-not-all-equal-max-3Sat/Flip''' has been proven to be PLS-complete via a tight PLS-reduction from Min/Max-circuit/Flip to Positive-not-all-equal-max-3Sat/Flip. Note that Positive-not-all-equal-max-3Sat/Flip can be reduced from Max-Cut/Flip too.<ref name=SY91 /> |
|||
* '''Positive-not-all-equal-max-3Sat/Kernighan-Lin''' has been proven to be PLS-complete via a tight PLS-reduction from Min/Max-circuit/Flip to Positive-not-all-equal-max-3Sat/Kernighan-Lin.<ref name=Yan88 /> |
|||
* '''[[2-satisfiability|Max-2Sat]]/Flip''' has been proven to be PLS-complete via a tight PLS-reduction from Max-Cut/Flip to Max-2Sat/Flip.<ref name=Yan88 /><ref name=SY91 /> |
|||
* '''[[Boolean satisfiability problem#3-satisfiability|Min-4Sat-B]]/Flip''' has been proven to be PLS-complete via a tight PLS-reduction from Min-circuit/Flip to Min-4Sat-B/Flip.<ref name="Kla96">{{cite journal|last1=Klauck|first1=Hartmut|title=On the hardness of global and local approximation|journal=Proceedings of the 5th Scandinavian Workshop on Algorithm Theory|date=1996|pages=88–99|url=https://www.researchgate.net/publication/221209488}}</ref> |
|||
* '''Max-4Sat-B/Flip'''(or CNF-SAT) has been proven to be PLS-complete via a PLS-reduction from Max-circuit/Flip to Max-4Sat-B/Flip.<ref name="Kre90">{{cite journal|last1=Krentel|first1=M.|title=On Finding and Verifying Locally Optimal Solutions|journal=SIAM Journal on Computing|date=1 August 1990|volume=19|issue=4|pages=742–749|doi=10.1137/0219052|issn=0097-5397}}</ref> |
|||
* '''Max-4Sat-(B=3)/Flip''' has been proven to be PLS-complete via a PLS-reduction from Max-circuit/Flip to Max-4Sat-(B=3)/Flip.<ref name="Kre89">{{cite book|last1=Krentel|first1=Mark W.|title=30th Annual Symposium on Foundations of Computer Science |chapter=Structure in locally optimal solutions |date=1989|pages=216–221|doi=10.1109/SFCS.1989.63481 |isbn=0-8186-1982-1 |s2cid=32686790 |chapter-url=https://www.researchgate.net/publication/3501884}}</ref> |
|||
* '''[[Graph partition|Max-Uniform-Graph-Partitioning]]/Swap''' has been proven to be PLS-complete via a tight PLS-reduction from Max-Cut/Flip to Max-Uniform-Graph-partitioning/Swap.<ref name=SY91 /> |
|||
* '''[[Graph partition|Max-Uniform-Graph-Partitioning]]/Fiduccia-Matheyses''' is stated to be PLS-complete without proof.<ref name=Yan88 /> |
|||
* '''[[Graph partition|Max-Uniform-Graph-Partitioning]]/FM-Swap''' has been proven to be PLS-complete via a tight PLS-reduction from Max-Cut/Flip to Max-Uniform-Graph-partitioning/FM-Swap.<ref name=SY91 /> |
|||
* '''[[Graph partition|Max-Uniform-Graph-Partitioning]]/Kernighan-Lin''' has been proven to be PLS-complete via a PLS-reduction from Min/Max-circuit/Flip to Max-Uniform-Graph-Partitioning/Kernighan-Lin.<ref name=JPY88 /> There is also a tight PLS-reduction from Positive-not-all-equal-max-3Sat/Kernighan-Lin to Max-Uniform-Graph-Partitioning/Kernighan-Lin.<ref name=Yan88 /> |
|||
* '''[[Maximum cut|Max-Cut]]/Flip''' has been proven to be PLS-complete via a tight PLS-reduction from Positive-not-all-equal-max-3Sat/Flip to Max-Cut/Flip.<ref name=Yan88 /><ref name=SY91 /> |
|||
* '''[[Maximum cut|Max-Cut]]/Kernighan-Lin''' is claimed to be PLS-complete without proof.<ref name=MAK07 /> |
|||
* '''Min-Independent-Dominating-Set-B/k-Flip''' has been proven to be PLS-complete via a tight PLS-reduction from Min-4Sat-B{{prime}}/Flip to Min-Independent-Dominating-Set-B/k-Flip.<ref name=Kla96 /> |
|||
* '''[[Independent set (graph theory)#Finding independent sets|Weighted-Independent-Set]]/Change''' is claimed to be PLS-complete without proof.<ref name=JPY88 /><ref name=SY91 /><ref name=MAK07 /> |
|||
* '''Maximum-Weighted-Subgraph-with-property-P/Change''' is PLS-complete if property P = "has no edges", as it then equals Weighted-Independent-Set/Change. It has also been proven to be PLS-complete for a general hereditary, non-trivial property P via a tight PLS-reduction from Weighted-Independent-Set/Change to Maximum-Weighted-Subgraph-with-property-P/Change.<ref name="Shi97">{{cite journal|last1=Shimozono|first1=Shinichi|title=Finding optimal subgraphs by local search|journal=Theoretical Computer Science|date=1997|volume=172|issue=1|pages=265–271|doi=10.1016/S0304-3975(96)00135-1|doi-access=free}}</ref> |
|||
* '''[[Set cover problem|Set-Cover]]/k-change''' has been proven to be PLS-complete for each k ≥ 2 via a tight PLS-reduction from (3, 2, r)-Max-Constraint-Assignment/Change to Set-Cover/k-change.<ref name="DS10">{{cite book|last1=Dumrauf|first1=Dominic|last2=Süß|first2=Tim|title=CiE 2010: Programs, Proofs, Processes|volume=6158|date=2010|publisher=Springer, Berlin, Heidelberg|pages=132–140|language=en| chapter=On the Complexity of Local Search for Weighted Standard Set Problems|doi=10.1007/978-3-642-13962-8_15|series=Lecture Notes in Computer Science|isbn=978-3-642-13961-1|citeseerx=10.1.1.762.6801|s2cid=14099014 }}</ref> |
|||
* '''[[Travelling salesman problem#Metric|Metric-TSP]]/k-Change''' has been proven to be PLS-complete via a PLS-reduction from Max-4Sat-B/Flip to Metric-TSP/k-Change.<ref name=Kre89 /> |
|||
* '''[[Travelling salesman problem#Metric|Metric-TSP]]/Lin-Kernighan''' has been proven to be PLS-complete via a tight PLS-reduction from Max-2Sat/Flip to Metric-TSP/Lin-Kernighan.<ref name="PSY90">{{cite book|last1=Papadimitriou|first1=C.H.|last2=Schäffer|first2=A. A.|last3=Yannakakis|first3=M.|title=Proceedings of the twenty-second annual ACM symposium on Theory of computing - STOC '90 |chapter=On the complexity of local search |date=1990|pages=438–445|doi=10.1145/100216.100274 |isbn=0897913612 |s2cid=16877206 |chapter-url=http://dl.acm.org/citation.cfm?doid=100216.100274}}</ref> |
|||
* '''[[Job shop scheduling|Local-Multi-Processor-Scheduling]]/k-change''' has been proven to be PLS-complete via a tight PLS-reduction from Weighted-3Dimensional-Matching/(p, q)-Swap to Local-Multi-Processor-scheduling/(2p+q)-change, where (2p + q) ≥ 8.<ref name="DMT09">{{cite journal|last1=Dumrauf|first1=Dominic|last2=Monien|first2=Burkhard|last3=Tiemann|first3=Karsten|title=Multiprocessor Scheduling is PLS-Complete|journal=System Sciences, 2009. HICSS'09. 42nd Hawaii International Conference on|date=2009|pages=1–10|url=https://www.researchgate.net/publication/224373381|language=en}}</ref> |
|||
* '''Selfish-Multi-Processor-Scheduling/k-change-with-property-t''' has been proven to be PLS-complete via a tight PLS-reduction from Weighted-3Dimensional-Matching/(p, q)-Swap to (2p+q)-Selfish-Multi-Processor-Scheduling/k-change-with-property-t, where (2p + q) ≥ 8.<ref name=DMT09 /> |
|||
* Finding a '''[[Nash equilibrium|pure Nash Equilibrium]]''' in a '''[[congestion game|General-Congestion-Game]]/Change''' has been proven PLS-complete via a tight PLS-reduction from Positive-not-all-equal-max-3Sat/Flip to General-Congestion-Game/Change.<ref name="FPT04">{{cite book|last1=Fabrikant|first1=Alex|last2=Papadimitriou|first2=Christos|last3=Talwar|first3=Kunal|title=Proceedings of the thirty-sixth annual ACM symposium on Theory of computing |chapter=The complexity of pure Nash equilibria |date=2004|pages=604–612|doi=10.1145/1007352.1007445|publisher=ACM|isbn=978-1581138528|citeseerx=10.1.1.3.7861|s2cid=1037326 }}</ref> |
|||
* Finding a '''[[Nash equilibrium|pure Nash Equilibrium]]''' in a '''Symmetric General-Congestion-Game/Change''' has been proven to be PLS-complete via a tight PLS-reduction from an asymmetric General-Congestion-Game/Change to symmetric General-Congestion-Game/Change.<ref name=FPT04 /> |
|||
* Finding a '''[[Nash equilibrium|pure Nash Equilibrium]]''' in an '''Asymmetric Directed-Network-Congestion-Games/Change''' has been proven to be PLS-complete via a tight reduction from Positive-not-all-equal-max-3Sat/Flip to Directed-Network-Congestion-Games/Change <ref name=FPT04 /> and also via a tight PLS-reduction from 2-Threshold-Games/Change to Directed-Network-Congestion-Games/Change.<ref name=ARV08 /> |
|||
* Finding a '''[[Nash equilibrium|pure Nash Equilibrium]]''' in an '''Asymmetric Undirected-Network-Congestion-Games/Change''' has been proven to be PLS-complete via a tight PLS-reduction from 2-Threshold-Games/Change to Asymmetric Undirected-Network-Congestion-Games/Change.<ref name=ARV08 /> |
|||
* Finding a '''[[Nash equilibrium|pure Nash Equilibrium]]''' in a '''Symmetric Distance-Bounded-Network-Congestion-Games''' has been proven to be PLS-complete via a tight PLS-reduction from 2-Threshold-Games to Symmetric Distance-Bounded-Network-Congestion-Games.<ref name="YJR22">{{cite book|last1=Yang|first1=Yichen|last2=Jia|first2=Kai|last3=Rinard|first3=Martin|title=Algorithmic Game Theory |chapter=On the Impact of Player Capability on Congestion Games |series=Lecture Notes in Computer Science |date=2022|volume=13584 |pages=311–328|doi=10.1007/978-3-031-15714-1_18 |arxiv=2205.09905 |isbn=978-3-031-15713-4 |chapter-url=https://link.springer.com/chapter/10.1007/978-3-031-15714-1_18}}</ref> |
|||
* Finding a '''[[Nash equilibrium|pure Nash Equilibrium]]''' in a '''2-Threshold-Game/Change''' has been proven to be PLS-complete via a tight reduction from Max-Cut/Flip to 2-Threshold-Game/Change.<ref name="ARV08">{{cite journal|last1=Ackermann|first1=Heiner|last2=Röglin|first2=Heiko|last3=Vöcking|first3=Berthold|title=On the Impact of Combinatorial Structure on Congestion Games|journal=J. ACM|date=2008|volume=55|issue=6|pages=25:1–25:22|doi=10.1145/1455248.1455249|issn=0004-5411|citeseerx=10.1.1.634.4913|s2cid=3070710 }}</ref> |
|||
* Finding a '''[[Nash equilibrium|pure Nash Equilibrium]]''' in '''Market-Sharing-Game/Change''' with polynomial bounded costs has been proven to be PLS-complete via a tight PLS-reduction from 2-Threshold-Games/Change to Market-Sharing-Game/Change.<ref name=ARV08 /> |
|||
* Finding a '''[[Nash equilibrium|pure Nash Equilibrium]]''' in an '''Overlay-Network-Design/Change''' has been proven to be PLS-complete via a reduction from 2-Threshold-Games/Change to Overlay-Network-Design/Change. Analogously to the proof of asymmetric Directed-Network-Congestion-Game/Change, the reduction is tight.<ref name=ARV08 /> |
|||
* '''[[Integer programming|Min-0-1-Integer Programming]]/k-Flip''' has been proven to be PLS-complete via a tight PLS-reduction from Min-4Sat-B{{prime}}/Flip to Min-0-1-Integer Programming/k-Flip.<ref name=Kla96 /> |
|||
* '''[[Integer programming|Max-0-1-Integer Programming]]/k-Flip''' is claimed to be PLS-complete because of PLS-reduction to Max-0-1-Integer Programming/k-Flip, but the proof is left out.<ref name=Kla96 /> |
|||
* '''[[Constraint satisfaction problem|(p, q, r)-Max-Constraint-Assignment]]''' |
|||
** '''(3, 2, 3)-Max-Constraint-Assignment-3-partite/Change''' has been proven to be PLS-complete via a tight PLS-reduction from Circuit/Flip to (3, 2, 3)-Max-Constraint-Assignment-3-partite/Change.<ref name="DM13">{{cite journal|last1=Dumrauf|first1=Dominic|last2=Monien|first2=Burkhard|title=On the PLS-complexity of Maximum Constraint Assignment|journal=Theor. Comput. Sci.|date=2013|volume=469|pages=24–52|doi=10.1016/j.tcs.2012.10.044|issn=0304-3975|doi-access=free}}</ref> |
|||
** '''(2, 3, 6)-Max-Constraint-Assignment-2-partite/Change''' has been proven to be PLS-complete via a tight PLS-reduction from Circuit/Flip to (2, 3, 6)-Max-Constraint-Assignment-2-partite/Change.<ref name=DM13 /> |
|||
** '''(6, 2, 2)-Max-Constraint-Assignment/Change''' has been proven to be PLS-complete via a tight reduction from Circuit/Flip to (6,2, 2)-Max-Constraint-Assignment/Change.<ref name=DM13 /> |
|||
** '''(4, 3, 3)-Max-Constraint-Assignment/Change''' equals Max-4Sat-(B=3)/Flip and has been proven to be PLS-complete via a PLS-reduction from Max-circuit/Flip.<ref name=Kre89 /> It is claimed that the reduction can be extended so tightness is obtained.<ref name=DM13 /> |
|||
* '''Nearest-Colorful-Polytope/Change''' has been proven to be PLS-complete via a PLS-reduction from Max-2Sat/Flip to Nearest-Colorful-Polytope/Change.<ref name=MS14 /> |
|||
* '''Stable-Configuration/Flip''' in a [[Hopfield network]] has been proven to be PLS-complete if the thresholds are 0 and the weights are negative via a tight PLS-reduction from Max-Cut/Flip to Stable-Configuration/Flip.<ref name=Yan88 /><ref name=SY91 /><ref name=PSY90 /> |
|||
* '''[[3-dimensional matching|Weighted-3Dimensional-Matching]]/(p, q)-Swap''' has been proven to be PLS-complete for p ≥9 and q ≥ 15 via a tight PLS-reduction from (2, 3, r)-Max-Constraint-Assignment-2-partite/Change to Weighted-3Dimensional-Matching/(p, q)-Swap.<ref name=DMT09 /> |
|||
* The problem '''Real-Local-Opt''' (finding the ɛ local optimum of a [[Lipschitz continuity|λ-Lipschitz continuous]] objective function <math>V:[0,1]^3 \rightarrow [0,1]</math> and a neighborhood function <math>S:[0,1]^3 \rightarrow [0,1]^3 </math>) is PLS-complete.<ref name="DP11"/> |
|||
* Finding a local fitness peak in a biological [[fitness landscapes]] specified by the '''[[NK model|NK-model]]/Point-mutation''' with K ≥ 2 was proven to be PLS-complete via a tight PLS-reduction from Max-2SAT/Flip.<ref name="Kaznatcheev">{{cite journal |title=Computational Complexity as an Ultimate Constraint on Evolution |journal=Genetics |volume=212 |issue=1 |pages=245–265 |last1=Kaznatcheev |first1=Artem |doi=10.1534/genetics.119.302000 |year=2019 |pmid=30833289 |pmc=6499524 }}</ref> |
|||
== Relations to other complexity classes == |
|||
Fearnley, Goldberg, Hollender and Savani<ref>{{Cite journal |last1=Fearnley |first1=John |last2=Goldberg |first2=Paul |last3=Hollender |first3=Alexandros |last4=Savani |first4=Rahul |date=2022-12-19 |title=The Complexity of Gradient Descent: CLS = PPAD ∩ PLS |url=https://doi.org/10.1145/3568163 |journal=Journal of the ACM |volume=70 |issue=1 |pages=7:1–7:74 |doi=10.1145/3568163 |arxiv=2011.01929 |s2cid=263706261 |issn=0004-5411}}</ref> proved that a complexity class called [[CLS (complexity)|CLS]] is equal to the intersection of [[PPAD (complexity)|PPAD]] and PLS. |
|||
== Further reading == |
|||
* Equilibria, fixed points, and complexity classes: a survey.<ref>{{Cite journal |last=Yannakakis |first=Mihalis |date=2009-05-01 |title=Equilibria, fixed points, and complexity classes |url=https://www.sciencedirect.com/science/article/pii/S1574013709000161 |journal=Computer Science Review |language=en |volume=3 |issue=2 |pages=71–85 |doi=10.1016/j.cosrev.2009.03.004 |issn=1574-0137|arxiv=0802.2831 }}</ref> |
|||
== References == |
== References == |
||
* {{Citation | last1=Yannakakis | first1=Mihalis | author1-link=Mihalis Yannakakis | title=Equilibria, fixed points, and complexity classes |
* {{Citation | last1=Yannakakis | first1=Mihalis | author1-link=Mihalis Yannakakis | title=Equilibria, fixed points, and complexity classes | year=2009 | journal=Computer Science Review | volume=3 | issue=2 | pages=71–85 | doi=10.1016/j.cosrev.2009.03.004| citeseerx=10.1.1.371.5034 }}. |
||
{{reflist}} |
|||
{{comp-sci-theory-stub}} |
|||
[[Category:Complexity classes]] |
[[Category:Complexity classes]] |
||
[[he:PLS (סיבוכיות)]] |
Latest revision as of 21:15, 21 November 2024
In computational complexity theory, Polynomial Local Search (PLS) is a complexity class that models the difficulty of finding a locally optimal solution to an optimization problem. The main characteristics of problems that lie in PLS are that the cost of a solution can be calculated in polynomial time and the neighborhood of a solution can be searched in polynomial time. Therefore it is possible to verify whether or not a solution is a local optimum in polynomial time. Furthermore, depending on the problem and the algorithm that is used for solving the problem, it might be faster to find a local optimum instead of a global optimum.
Description
[edit]When searching for a local optimum, there are two interesting issues to deal with: First how to find a local optimum, and second how long it takes to find a local optimum. For many local search algorithms, it is not known, whether they can find a local optimum in polynomial time or not.[1] So to answer the question of how long it takes to find a local optimum, Johnson, Papadimitriou and Yannakakis [2] introduced the complexity class PLS in their paper "How easy is local search?". It contains local search problems for which the local optimality can be verified in polynomial time.
A local search problem is in PLS, if the following properties are satisfied:
- The size of every solution is polynomially bounded in the size of the instance .
- It is possible to find some solution of a problem instance in polynomial time.
- It is possible to calculate the cost of each solution in polynomial time.
- It is possible to find all neighbors of each solution in polynomial time.
With these properties, it is possible to find for each solution the best neighboring solution or if there is no such better neighboring solution, state that is a local optimum.
Example
[edit]Consider the following instance of the Max-2Sat Problem: . The aim is to find an assignment, that maximizes the sum of the satisfied clauses.
A solution for that instance is a bit string that assigns every the value 0 or 1. In this case, a solution consists of 3 bits, for example , which stands for the assignment of to with the value 0. The set of solutions is the set of all possible assignments of , and .
The cost of each solution is the number of satisfied clauses, so because the second and third clause are satisfied.
The Flip-neighbor of a solution is reached by flipping one bit of the bit string , so the neighbors of are with the following costs:
There are no neighbors with better costs than , if we are looking for a solution with maximum cost. Even though is not a global optimum (which for example would be a solution that satisfies all clauses and has ), is a local optimum, because none of its neighbors has better costs.
Intuitively it can be argued that this problem lies in PLS, because:
- It is possible to find a solution to an instance in polynomial time, for example by setting all bits to 0.
- It is possible to calculate the cost of a solution in polynomial time, by going once through the whole instance and counting the clauses that are satisfied.
- It is possible to find all neighbors of a solution in polynomial time, by taking the set of solutions that differ from in exactly one bit.
If we are simply counting the number of satisfied clauses, the problem can be solved in polynomial time since the number of possible costs is polynomial. However, if we assign each clause a positive integer weight (and seek to locally maximize the sum of weights of satisfied clauses), the problem becomes PLS-complete (below).
Formal Definition
[edit]A local search problem has a set of instances which are encoded using strings over a finite alphabet . For each instance there exists a finite solution set . Let be the relation that models . The relation is in PLS [2][3][4] if:
- The size of every solution is polynomial bounded in the size of
- Problem instances and solutions are polynomial time verifiable
- There is a polynomial time computable function that returns for each instance some solution
- There is a polynomial time computable function [5] that returns for each solution of an instance the cost
- There is a polynomial time computable function that returns the set of neighbors for an instance-solution pair
- There is a polynomial time computable function that returns a neighboring solution with better cost than solution , or states that is locally optimal
- For every instance , exactly contains the pairs where is a local optimal solution of
An instance has the structure of an implicit graph (also called Transition graph [6]), the vertices being the solutions with two solutions connected by a directed arc iff .
A local optimum is a solution , that has no neighbor with better costs. In the implicit graph, a local optimum is a sink. A neighborhood where every local optimum is a global optimum, which is a solution with the best possible cost, is called an exact neighborhood.[6][1]
Alternative Definition
[edit]The class PLS is the class containing all problems that can be reduced in polynomial time to the problem Sink-of-DAG[7] (also called Local-Opt [8]): Given two integers and and two Boolean circuits such that and , find a vertex such that and either or .
Example neighborhood structures
[edit]Example neighborhood structures for problems with boolean variables (or bit strings) as solution:
- Flip[2] - The neighborhood of a solution can be achieved by negating (flipping) one arbitrary input bit . So one solution and all its neighbors have Hamming distance one: .
- Kernighan-Lin[2][6] - A solution is a neighbor of solution if can be obtained from by a sequence of greedy flips, where no bit is flipped twice. This means, starting with , the Flip-neighbor of with the best cost, or the least loss of cost, is chosen to be a neighbor of s in the Kernighan-Lin structure. As well as best (or least worst) neighbor of , and so on, until is a solution where every bit of is negated. Note that it is not allowed to flip a bit back, if it once has been flipped.
- k-Flip[9] - A solution is a neighbor of solution if the Hamming distance between and is at most , so .
Example neighborhood structures for problems on graphs:
- Swap[10] - A partition of nodes in a graph is a neighbor of a partition if can be obtained from by swapping one node with a node .
- Kernighan-Lin[1][2] - A partition is a neighbor of if can be obtained by a greedy sequence of swaps from nodes in with nodes in . This means the two nodes and are swapped, where the partition gains the highest possible weight, or loses the least possible weight. Note that no node is allowed to be swapped twice. This rule is based on the Kernighan–Lin heuristic for graph partition.
- Fiduccia-Matheyses [1][11] - This neighborhood is similar to the Kernighan-Lin neighborhood structure, it is a greedy sequence of swaps, except that each swap happens in two steps. First the with the most gain of cost, or the least loss of cost, is swapped to , then the node with the most cost, or the least loss of cost is swapped to to balance the partitions again. Experiments have shown that Fiduccia-Mattheyses has a smaller run time in each iteration of the standard algorithm, though it sometimes finds an inferior local optimum.
- FM-Swap[1] - This neighborhood structure is based on the Fiduccia-Mattheyses neighborhood structure. Each solution has only one neighbor, the partition obtained after the first swap of the Fiduccia-Mattheyses.
The standard Algorithm
[edit]Consider the following computational problem: Given some instance of a PLS problem , find a locally optimal solution such that for all .
Every local search problem can be solved using the following iterative improvement algorithm:[2]
- Use to find an initial solution
- Use algorithm to find a better solution . If such a solution exists, replace by and repeat step 2, else return
Unfortunately, it generally takes an exponential number of improvement steps to find a local optimum even if the problem can be solved exactly in polynomial time.[2] It is not necessary always to use the standard algorithm, there may be a different, faster algorithm for a certain problem. For example a local search algorithm used for Linear programming is the Simplex algorithm.
The run time of the standard algorithm is pseudo-polynomial in the number of different costs of a solution.[12]
The space the standard algorithm needs is only polynomial. It only needs to save the current solution , which is polynomial bounded by definition.[1]
Reductions
[edit]A Reduction of one problem to another may be used to show that the second problem is at least as difficult as the first. In particular, a PLS-reduction is used to prove that a local search problem that lies in PLS is also PLS-complete, by reducing a PLS-complete Problem to the one that shall be proven to be PLS-complete.
PLS-reduction
[edit]A local search problem is PLS-reducible[2] to a local search problem if there are two polynomial time functions and such that:
- if is an instance of , then is an instance of
- if is a solution for of , then is a solution for of
- if is a local optimum for instance of , then has to be a local optimum for instance of
It is sufficient to only map the local optima of to the local optima of , and to map all other solutions for example to the standard solution returned by .[6]
PLS-reductions are transitive.[2]
Tight PLS-reduction
[edit]Definition Transition graph
[edit]The transition graph[6] of an instance of a problem is a directed graph. The nodes represent all elements of the finite set of solutions and the edges point from one solution to the neighbor with strictly better cost. Therefore it is an acyclic graph. A sink, which is a node with no outgoing edges, is a local optimum. The height of a vertex is the length of the shortest path from to the nearest sink. The height of the transition graph is the largest of the heights of all vertices, so it is the height of the largest shortest possible path from a node to its nearest sink.
Definition Tight PLS-reduction
[edit]A PLS-reduction from a local search problem to a local search problem is a tight PLS-reduction[10] if for any instance of , a subset of solutions of instance of can be chosen, so that the following properties are satisfied:
- contains, among other solutions, all local optima of
- For every solution of , a solution of can be constructed in polynomial time, so that
- If the transition graph of contains a direct path from to , and , but all internal path vertices are outside , then for the corresponding solutions and holds either or contains an edge from to
Relationship to other complexity classes
[edit]PLS lies between the functional versions of P and NP: FP ⊆ PLS ⊆ FNP.[2]
PLS also is a subclass of TFNP,[13] that describes computational problems in which a solution is guaranteed to exist and can be recognized in polynomial time. For a problem in PLS, a solution is guaranteed to exist because the minimum-cost vertex of the entire graph is a valid solution, and the validity of a solution can be checked by computing its neighbors and comparing the costs of each one to another.
It is also proven that if a PLS problem is NP-hard, then NP = co-NP.[2]
PLS-completeness
[edit]Definition
[edit]A local search problem is PLS-complete,[2] if
- is in PLS
- every problem in PLS can be PLS-reduced to
The optimization version of the circuit problem under the Flip neighborhood structure has been shown to be a first PLS-complete problem.[2]
List of PLS-complete Problems
[edit]This is an incomplete list of some known problems that are PLS-complete. The problems here are the weighted versions; for example, Max-2SAT/Flip is weighted even though Max-2SAT ordinarily refers to the unweighted version.
Notation: Problem / Neighborhood structure
- Min/Max-circuit/Flip has been proven to be the first PLS-complete problem.[2]
- Sink-of-DAG is complete by definition.
- Positive-not-all-equal-max-3Sat/Flip has been proven to be PLS-complete via a tight PLS-reduction from Min/Max-circuit/Flip to Positive-not-all-equal-max-3Sat/Flip. Note that Positive-not-all-equal-max-3Sat/Flip can be reduced from Max-Cut/Flip too.[10]
- Positive-not-all-equal-max-3Sat/Kernighan-Lin has been proven to be PLS-complete via a tight PLS-reduction from Min/Max-circuit/Flip to Positive-not-all-equal-max-3Sat/Kernighan-Lin.[1]
- Max-2Sat/Flip has been proven to be PLS-complete via a tight PLS-reduction from Max-Cut/Flip to Max-2Sat/Flip.[1][10]
- Min-4Sat-B/Flip has been proven to be PLS-complete via a tight PLS-reduction from Min-circuit/Flip to Min-4Sat-B/Flip.[9]
- Max-4Sat-B/Flip(or CNF-SAT) has been proven to be PLS-complete via a PLS-reduction from Max-circuit/Flip to Max-4Sat-B/Flip.[14]
- Max-4Sat-(B=3)/Flip has been proven to be PLS-complete via a PLS-reduction from Max-circuit/Flip to Max-4Sat-(B=3)/Flip.[15]
- Max-Uniform-Graph-Partitioning/Swap has been proven to be PLS-complete via a tight PLS-reduction from Max-Cut/Flip to Max-Uniform-Graph-partitioning/Swap.[10]
- Max-Uniform-Graph-Partitioning/Fiduccia-Matheyses is stated to be PLS-complete without proof.[1]
- Max-Uniform-Graph-Partitioning/FM-Swap has been proven to be PLS-complete via a tight PLS-reduction from Max-Cut/Flip to Max-Uniform-Graph-partitioning/FM-Swap.[10]
- Max-Uniform-Graph-Partitioning/Kernighan-Lin has been proven to be PLS-complete via a PLS-reduction from Min/Max-circuit/Flip to Max-Uniform-Graph-Partitioning/Kernighan-Lin.[2] There is also a tight PLS-reduction from Positive-not-all-equal-max-3Sat/Kernighan-Lin to Max-Uniform-Graph-Partitioning/Kernighan-Lin.[1]
- Max-Cut/Flip has been proven to be PLS-complete via a tight PLS-reduction from Positive-not-all-equal-max-3Sat/Flip to Max-Cut/Flip.[1][10]
- Max-Cut/Kernighan-Lin is claimed to be PLS-complete without proof.[6]
- Min-Independent-Dominating-Set-B/k-Flip has been proven to be PLS-complete via a tight PLS-reduction from Min-4Sat-B′/Flip to Min-Independent-Dominating-Set-B/k-Flip.[9]
- Weighted-Independent-Set/Change is claimed to be PLS-complete without proof.[2][10][6]
- Maximum-Weighted-Subgraph-with-property-P/Change is PLS-complete if property P = "has no edges", as it then equals Weighted-Independent-Set/Change. It has also been proven to be PLS-complete for a general hereditary, non-trivial property P via a tight PLS-reduction from Weighted-Independent-Set/Change to Maximum-Weighted-Subgraph-with-property-P/Change.[16]
- Set-Cover/k-change has been proven to be PLS-complete for each k ≥ 2 via a tight PLS-reduction from (3, 2, r)-Max-Constraint-Assignment/Change to Set-Cover/k-change.[17]
- Metric-TSP/k-Change has been proven to be PLS-complete via a PLS-reduction from Max-4Sat-B/Flip to Metric-TSP/k-Change.[15]
- Metric-TSP/Lin-Kernighan has been proven to be PLS-complete via a tight PLS-reduction from Max-2Sat/Flip to Metric-TSP/Lin-Kernighan.[18]
- Local-Multi-Processor-Scheduling/k-change has been proven to be PLS-complete via a tight PLS-reduction from Weighted-3Dimensional-Matching/(p, q)-Swap to Local-Multi-Processor-scheduling/(2p+q)-change, where (2p + q) ≥ 8.[5]
- Selfish-Multi-Processor-Scheduling/k-change-with-property-t has been proven to be PLS-complete via a tight PLS-reduction from Weighted-3Dimensional-Matching/(p, q)-Swap to (2p+q)-Selfish-Multi-Processor-Scheduling/k-change-with-property-t, where (2p + q) ≥ 8.[5]
- Finding a pure Nash Equilibrium in a General-Congestion-Game/Change has been proven PLS-complete via a tight PLS-reduction from Positive-not-all-equal-max-3Sat/Flip to General-Congestion-Game/Change.[19]
- Finding a pure Nash Equilibrium in a Symmetric General-Congestion-Game/Change has been proven to be PLS-complete via a tight PLS-reduction from an asymmetric General-Congestion-Game/Change to symmetric General-Congestion-Game/Change.[19]
- Finding a pure Nash Equilibrium in an Asymmetric Directed-Network-Congestion-Games/Change has been proven to be PLS-complete via a tight reduction from Positive-not-all-equal-max-3Sat/Flip to Directed-Network-Congestion-Games/Change [19] and also via a tight PLS-reduction from 2-Threshold-Games/Change to Directed-Network-Congestion-Games/Change.[20]
- Finding a pure Nash Equilibrium in an Asymmetric Undirected-Network-Congestion-Games/Change has been proven to be PLS-complete via a tight PLS-reduction from 2-Threshold-Games/Change to Asymmetric Undirected-Network-Congestion-Games/Change.[20]
- Finding a pure Nash Equilibrium in a Symmetric Distance-Bounded-Network-Congestion-Games has been proven to be PLS-complete via a tight PLS-reduction from 2-Threshold-Games to Symmetric Distance-Bounded-Network-Congestion-Games.[21]
- Finding a pure Nash Equilibrium in a 2-Threshold-Game/Change has been proven to be PLS-complete via a tight reduction from Max-Cut/Flip to 2-Threshold-Game/Change.[20]
- Finding a pure Nash Equilibrium in Market-Sharing-Game/Change with polynomial bounded costs has been proven to be PLS-complete via a tight PLS-reduction from 2-Threshold-Games/Change to Market-Sharing-Game/Change.[20]
- Finding a pure Nash Equilibrium in an Overlay-Network-Design/Change has been proven to be PLS-complete via a reduction from 2-Threshold-Games/Change to Overlay-Network-Design/Change. Analogously to the proof of asymmetric Directed-Network-Congestion-Game/Change, the reduction is tight.[20]
- Min-0-1-Integer Programming/k-Flip has been proven to be PLS-complete via a tight PLS-reduction from Min-4Sat-B′/Flip to Min-0-1-Integer Programming/k-Flip.[9]
- Max-0-1-Integer Programming/k-Flip is claimed to be PLS-complete because of PLS-reduction to Max-0-1-Integer Programming/k-Flip, but the proof is left out.[9]
- (p, q, r)-Max-Constraint-Assignment
- (3, 2, 3)-Max-Constraint-Assignment-3-partite/Change has been proven to be PLS-complete via a tight PLS-reduction from Circuit/Flip to (3, 2, 3)-Max-Constraint-Assignment-3-partite/Change.[22]
- (2, 3, 6)-Max-Constraint-Assignment-2-partite/Change has been proven to be PLS-complete via a tight PLS-reduction from Circuit/Flip to (2, 3, 6)-Max-Constraint-Assignment-2-partite/Change.[22]
- (6, 2, 2)-Max-Constraint-Assignment/Change has been proven to be PLS-complete via a tight reduction from Circuit/Flip to (6,2, 2)-Max-Constraint-Assignment/Change.[22]
- (4, 3, 3)-Max-Constraint-Assignment/Change equals Max-4Sat-(B=3)/Flip and has been proven to be PLS-complete via a PLS-reduction from Max-circuit/Flip.[15] It is claimed that the reduction can be extended so tightness is obtained.[22]
- Nearest-Colorful-Polytope/Change has been proven to be PLS-complete via a PLS-reduction from Max-2Sat/Flip to Nearest-Colorful-Polytope/Change.[3]
- Stable-Configuration/Flip in a Hopfield network has been proven to be PLS-complete if the thresholds are 0 and the weights are negative via a tight PLS-reduction from Max-Cut/Flip to Stable-Configuration/Flip.[1][10][18]
- Weighted-3Dimensional-Matching/(p, q)-Swap has been proven to be PLS-complete for p ≥9 and q ≥ 15 via a tight PLS-reduction from (2, 3, r)-Max-Constraint-Assignment-2-partite/Change to Weighted-3Dimensional-Matching/(p, q)-Swap.[5]
- The problem Real-Local-Opt (finding the ɛ local optimum of a λ-Lipschitz continuous objective function and a neighborhood function ) is PLS-complete.[8]
- Finding a local fitness peak in a biological fitness landscapes specified by the NK-model/Point-mutation with K ≥ 2 was proven to be PLS-complete via a tight PLS-reduction from Max-2SAT/Flip.[23]
Relations to other complexity classes
[edit]Fearnley, Goldberg, Hollender and Savani[24] proved that a complexity class called CLS is equal to the intersection of PPAD and PLS.
Further reading
[edit]- Equilibria, fixed points, and complexity classes: a survey.[25]
References
[edit]- Yannakakis, Mihalis (2009), "Equilibria, fixed points, and complexity classes", Computer Science Review, 3 (2): 71–85, CiteSeerX 10.1.1.371.5034, doi:10.1016/j.cosrev.2009.03.004.
- ^ a b c d e f g h i j k l Yannakakis, Mihalis (2003). Local search in combinatorial optimization - Computational complexity. Princeton University Press. pp. 19–55. ISBN 9780691115221.
- ^ a b c d e f g h i j k l m n o p Johnson, David S; Papadimitriou, Christos H; Yannakakis, Mihalis (1988). "How easy is local search?". Journal of Computer and System Sciences. 37 (1): 79–100. doi:10.1016/0022-0000(88)90046-3.
- ^ a b Mulzer, Wolfgang; Stein, Yannik (14 March 2018). "Computational Aspects of the Colorful Caratheodory Theorem". Discrete & Computational Geometry. 60 (3): 720–755. arXiv:1412.3347. Bibcode:2014arXiv1412.3347M. doi:10.1007/s00454-018-9979-y. S2CID 254024141.
- ^ a b Borzechowski, Michaela. "The complexity class Polynomial Local Search (PLS) and PLS-complete problems" (PDF).
- ^ a b c d Dumrauf, Dominic; Monien, Burkhard; Tiemann, Karsten (2009). "Multiprocessor Scheduling is PLS-Complete". System Sciences, 2009. HICSS'09. 42nd Hawaii International Conference on: 1–10.
- ^ a b c d e f g Michiels, Wil; Aarts, Emile; Korst, Jan (2010). Theoretical aspects of local search. Springer Science & Business Media. ISBN 9783642071485.
- ^ Fearnley, John; Gordon, Spencer; Mehta, Ruta; Savani, Rahul (December 2020). "Unique end of potential line". Journal of Computer and System Sciences. 114: 1–35. arXiv:1811.03841. doi:10.1016/j.jcss.2020.05.007.
- ^ a b Daskalakis, Constantinos; Papadimitriou, Christos (23 January 2011). "Continuous Local Search". Proceedings of the Twenty-Second Annual ACM-SIAM Symposium on Discrete Algorithms: 790–804. doi:10.1137/1.9781611973082.62. ISBN 978-0-89871-993-2. S2CID 2056144.
- ^ a b c d e Klauck, Hartmut (1996). "On the hardness of global and local approximation". Proceedings of the 5th Scandinavian Workshop on Algorithm Theory: 88–99.
- ^ a b c d e f g h i Schäffer, Alejandro A.; Yannakakis, Mihalis (February 1991). "Simple Local Search Problems that are Hard to Solve". SIAM Journal on Computing. 20 (1): 56–87. doi:10.1137/0220004.
- ^ Fiduccia, C. M.; Mattheyses, R. M. (1982). "A Linear-time Heuristic for Improving Network Partitions". Proceedings of the 19th Design Automation Conference: 175–181. ISBN 9780897910200.
- ^ Angel, Eric; Christopoulos, Petros; Zissimopoulos, Vassilis (2014). Paradigms of Combinatorial Optimization: Problems and New Approaches - Local Search: Complexity and Approximation (2 ed.). John Wiley & Sons, Inc., Hoboken. pp. 435–471. doi:10.1002/9781119005353.ch14. ISBN 9781119005353.
- ^ Megiddo, Nimrod; Papadimitriou, Christos H (1991). "On total functions, existence theorems and computational complexity". Theoretical Computer Science. 81 (2): 317–324. CiteSeerX 10.1.1.75.4797. doi:10.1016/0304-3975(91)90200-L.
- ^ Krentel, M. (1 August 1990). "On Finding and Verifying Locally Optimal Solutions". SIAM Journal on Computing. 19 (4): 742–749. doi:10.1137/0219052. ISSN 0097-5397.
- ^ a b c Krentel, Mark W. (1989). "Structure in locally optimal solutions". 30th Annual Symposium on Foundations of Computer Science. pp. 216–221. doi:10.1109/SFCS.1989.63481. ISBN 0-8186-1982-1. S2CID 32686790.
- ^ Shimozono, Shinichi (1997). "Finding optimal subgraphs by local search". Theoretical Computer Science. 172 (1): 265–271. doi:10.1016/S0304-3975(96)00135-1.
- ^ Dumrauf, Dominic; Süß, Tim (2010). "On the Complexity of Local Search for Weighted Standard Set Problems". CiE 2010: Programs, Proofs, Processes. Lecture Notes in Computer Science. Vol. 6158. Springer, Berlin, Heidelberg. pp. 132–140. CiteSeerX 10.1.1.762.6801. doi:10.1007/978-3-642-13962-8_15. ISBN 978-3-642-13961-1. S2CID 14099014.
- ^ a b Papadimitriou, C.H.; Schäffer, A. A.; Yannakakis, M. (1990). "On the complexity of local search". Proceedings of the twenty-second annual ACM symposium on Theory of computing - STOC '90. pp. 438–445. doi:10.1145/100216.100274. ISBN 0897913612. S2CID 16877206.
- ^ a b c Fabrikant, Alex; Papadimitriou, Christos; Talwar, Kunal (2004). "The complexity of pure Nash equilibria". Proceedings of the thirty-sixth annual ACM symposium on Theory of computing. ACM. pp. 604–612. CiteSeerX 10.1.1.3.7861. doi:10.1145/1007352.1007445. ISBN 978-1581138528. S2CID 1037326.
- ^ a b c d e Ackermann, Heiner; Röglin, Heiko; Vöcking, Berthold (2008). "On the Impact of Combinatorial Structure on Congestion Games". J. ACM. 55 (6): 25:1–25:22. CiteSeerX 10.1.1.634.4913. doi:10.1145/1455248.1455249. ISSN 0004-5411. S2CID 3070710.
- ^ Yang, Yichen; Jia, Kai; Rinard, Martin (2022). "On the Impact of Player Capability on Congestion Games". Algorithmic Game Theory. Lecture Notes in Computer Science. Vol. 13584. pp. 311–328. arXiv:2205.09905. doi:10.1007/978-3-031-15714-1_18. ISBN 978-3-031-15713-4.
- ^ a b c d Dumrauf, Dominic; Monien, Burkhard (2013). "On the PLS-complexity of Maximum Constraint Assignment". Theor. Comput. Sci. 469: 24–52. doi:10.1016/j.tcs.2012.10.044. ISSN 0304-3975.
- ^ Kaznatcheev, Artem (2019). "Computational Complexity as an Ultimate Constraint on Evolution". Genetics. 212 (1): 245–265. doi:10.1534/genetics.119.302000. PMC 6499524. PMID 30833289.
- ^ Fearnley, John; Goldberg, Paul; Hollender, Alexandros; Savani, Rahul (2022-12-19). "The Complexity of Gradient Descent: CLS = PPAD ∩ PLS". Journal of the ACM. 70 (1): 7:1–7:74. arXiv:2011.01929. doi:10.1145/3568163. ISSN 0004-5411. S2CID 263706261.
- ^ Yannakakis, Mihalis (2009-05-01). "Equilibria, fixed points, and complexity classes". Computer Science Review. 3 (2): 71–85. arXiv:0802.2831. doi:10.1016/j.cosrev.2009.03.004. ISSN 1574-0137.