Farkas' lemma

From Wikipedia, the free encyclopedia
(Redirected from Farkas lemma)
Jump to navigation Jump to search

Template:Short description

In mathematics, Farkas' lemma is a solvability theorem for a finite system of linear inequalities. It was originally proven by the Hungarian mathematician Gyula Farkas.[1] Farkas' lemma is the key result underpinning the linear programming duality and has played a central role in the development of mathematical optimization (alternatively, mathematical programming). It is used amongst other things in the proof of the Karush–Kuhn–Tucker theorem in nonlinear programming.[2] Remarkably, in the area of the foundations of quantum theory, the lemma also underlies the complete set of Bell inequalities in the form of necessary and sufficient conditions for the existence of a local hidden-variable theory, given data from any specific set of measurements.[3]

Generalizations of the Farkas' lemma are about the solvability theorem for convex inequalities,[4] i.e., infinite system of linear inequalities. Farkas' lemma belongs to a class of statements called "theorems of the alternative": a theorem stating that exactly one of two systems has a solution.[5]

Statement of the lemma

There are a number of slightly different (but equivalent) formulations of the lemma in the literature. The one given here is due to Gale, Kuhn and Tucker (1951).[6] Template:Math theorem Here, the notation 𝐱0 means that all components of the vector 𝐱 are nonnegative.

Example

Let m, n = 2Script error: No such module "Check for unknown parameters"., 𝐀=[6430], and 𝐛=[b1b2]. The lemma says that exactly one of the following two statements must be true (depending on b1Script error: No such module "Check for unknown parameters". and b2Script error: No such module "Check for unknown parameters".):

  1. There exist x1 ≥ 0Script error: No such module "Check for unknown parameters"., x2 ≥ 0Script error: No such module "Check for unknown parameters". such that 6x1 + 4x2 = b1Script error: No such module "Check for unknown parameters". and 3x1 = b2Script error: No such module "Check for unknown parameters"., or
  2. There exist y1, y2Script error: No such module "Check for unknown parameters". such that 6y1 + 3y2 ≥ 0Script error: No such module "Check for unknown parameters"., 4y1 ≥ 0Script error: No such module "Check for unknown parameters"., and b1 y1 + b2 y2 < 0Script error: No such module "Check for unknown parameters"..

Here is a proof of the lemma in this special case:

  • If b2 ≥ 0Script error: No such module "Check for unknown parameters". and b1 − 2b2 ≥ 0Script error: No such module "Check for unknown parameters"., then option 1 is true, since the solution of the linear equations is x1=b23 and x2=b12b24. Option 2 is false, since b1y1+b2y2b2(2y1+y2)=b26y1+3y23, so if the right-hand side is positive, the left-hand side must be positive too.
  • Otherwise, option 1 is false, since the unique solution of the linear equations is not weakly positive. But in this case, option 2 is true:
    • If b2 < 0Script error: No such module "Check for unknown parameters"., then we can take e.g. y1 = 0Script error: No such module "Check for unknown parameters". and y2 = 1Script error: No such module "Check for unknown parameters"..
    • If b1 − 2b2 < 0Script error: No such module "Check for unknown parameters"., then, for some number B > 0Script error: No such module "Check for unknown parameters"., b1 = 2b2BScript error: No such module "Check for unknown parameters"., so: b1y1+b2y2=2b2y1+b2y2By1=b26y1+3y23By1. Thus we can take, for example, y1 = 1Script error: No such module "Check for unknown parameters"., y2 = −2Script error: No such module "Check for unknown parameters"..

Geometric interpretation

Consider the closed convex cone C(𝐀) spanned by the columns of AScript error: No such module "Check for unknown parameters".; that is,

C(𝐀)={𝐀𝐱𝐱0}.

Observe that C(𝐀) is the set of the vectors bScript error: No such module "Check for unknown parameters". for which the first assertion in the statement of Farkas' lemma holds. On the other hand, the vector yScript error: No such module "Check for unknown parameters". in the second assertion is orthogonal to a hyperplane that separates bScript error: No such module "Check for unknown parameters". and C(𝐀). The lemma follows from the observation that bScript error: No such module "Check for unknown parameters". belongs to C(𝐀) if and only if there is no hyperplane that separates it from C(𝐀).

More precisely, let 𝐚1,,𝐚nm denote the columns of AScript error: No such module "Check for unknown parameters".. In terms of these vectors, Farkas' lemma states that exactly one of the following two statements is true:

  1. There exist non-negative coefficients x1,,xn such that 𝐛=x1𝐚1++xn𝐚n.
  2. There exists a vector 𝐲m such that 𝐚i𝐲0 for i=1,,n, and 𝐛𝐲<0.

The sums x1𝐚1++xn𝐚n with nonnegative coefficients x1,,xn form the cone spanned by the columns of AScript error: No such module "Check for unknown parameters".. Therefore, the first statement tells that bScript error: No such module "Check for unknown parameters". belongs to C(𝐀).

The second statement tells that there exists a vector yScript error: No such module "Check for unknown parameters". such that the angle of yScript error: No such module "Check for unknown parameters". with the vectors aiScript error: No such module "Check for unknown parameters". is at most 90°, while the angle of yScript error: No such module "Check for unknown parameters". with the vector bScript error: No such module "Check for unknown parameters". is more than 90°. The hyperplane normal to this vector has the vectors aiScript error: No such module "Check for unknown parameters". on one side and the vector bScript error: No such module "Check for unknown parameters". on the other side. Hence, this hyperplane separates the cone spanned by 𝐚1,,𝐚n from the vector bScript error: No such module "Check for unknown parameters"..

For example, let n, m = 2Script error: No such module "Check for unknown parameters"., a1 = (1, 0)TScript error: No such module "Check for unknown parameters"., and a2 = (1, 1)TScript error: No such module "Check for unknown parameters".. The convex cone spanned by a1Script error: No such module "Check for unknown parameters". and a2Script error: No such module "Check for unknown parameters". can be seen as a wedge-shaped slice of the first quadrant in the Template:Mvar plane. Now, suppose b = (0, 1)Script error: No such module "Check for unknown parameters".. Certainly, Template:Mvar is not in the convex cone a1x1 + a2x2Script error: No such module "Check for unknown parameters".. Hence, there must be a separating hyperplane. Let y = (1, −1)TScript error: No such module "Check for unknown parameters".. We can see that a1 · y = 1Script error: No such module "Check for unknown parameters"., a2 · y = 0Script error: No such module "Check for unknown parameters"., and b · y = −1Script error: No such module "Check for unknown parameters".. Hence, the hyperplane with normal Template:Mvar indeed separates the convex cone a1x1 + a2x2Script error: No such module "Check for unknown parameters". from Template:Mvar.

Logic interpretation

A particularly suggestive and easy-to-remember version is the following: if a set of linear inequalities has no solution, then a contradiction can be produced from it by linear combination with nonnegative coefficients. In formulas: if 𝐀𝐱𝐛 is unsolvable then 𝐲𝐀=0, 𝐲𝐛=1, 𝐲0 has a solution.[7] Note that 𝐲𝐀 is a combination of the left-hand sides, 𝐲𝐛 a combination of the right-hand side of the inequalities. Since the positive combination produces a zero vector on the left and a −1 on the right, the contradiction is apparent.

Thus, Farkas' lemma can be viewed as a theorem of logical completeness: 𝐀𝐱𝐛 is a set of "axioms", the linear combinations are the "derivation rules", and the lemma says that, if the set of axioms is inconsistent, then it can be refuted using the derivation rules.[8]Template:Rp

Implications in complexity theory

Farkas' lemma implies that the decision problem "Given a system of linear equations, does it have a non-negative solution?" is in the intersection of NP and co-NP. This is because, according to the lemma, both a "yes" answer and a "no" answer have a proof that can be verified in polynomial time. The problems in the intersection NPcoNP are also called well-characterized problems. It is a long-standing open question whether NPcoNP is equal to P. In particular, the question of whether a system of linear equations has a non-negative solution was not known to be in P, until it was proved using the ellipsoid method.[9]Template:Rp

Variants

The Farkas Lemma has several variants with different sign constraints (the first one is the original version):[8]Template:Rp

  • Either 𝐀𝐱=𝐛 has a solution 𝐱0, or 𝐀𝐲0 has a solution 𝐲m with 𝐛𝐲<0.
  • Either 𝐀𝐱𝐛 has a solution 𝐱0, or 𝐀𝐲0 has a solution 𝐲0 with 𝐛𝐲<0
  • Either 𝐀𝐱𝐛 has a solution 𝐱n, or 𝐀𝐲=0 has a solution 𝐲0 with 𝐛𝐲<0.
  • Either 𝐀𝐱=𝐛 has a solution 𝐱n, or 𝐀𝐲=0 has a solution 𝐲m with 𝐛𝐲0.

The latter variant is mentioned for completeness; it is not actually a "Farkas lemma" since it contains only equalities. Its proof is an exercise in linear algebra.

There are also Farkas-like lemmas for integer programs.[9]Template:Rp For systems of equations, the lemma is simple:

  • Assume that A and b have rational coefficients. Then either 𝐀𝐱=𝐛 has an integral solution 𝐱n,or there exists 𝐲nsuch that 𝐀𝐲 is integral and 𝐛𝐲 is not integral.

For system of inequalities, the lemma is much more complicated. It is based on the following two rules of inference:

  1. Given inequalities a1Txb1,,amTxbm and coefficients w1,,wm, infer the inequality (i=1mwiaiT)xi=1mwibi.
  2. Given an inequality a1x1++amxmb, infer the inequality a1x1++amxmb.

The lemma says that:

  • Assume that A and b have rational coefficients. Then either 𝐀𝐱𝐛 has an integral solution 𝐱n,x0, or it is possible to infer from 𝐀𝐱𝐛 using finitely many applications of inference rules 1,2 the inequality 0Tx1.

The variants are summarized in the table below.

System Constraints on x Alternative system Constraints on y
𝐀𝐱=𝐛 𝐱n,x0 𝐀𝐲0, 𝐛𝐲<0 𝐲m
𝐀𝐱𝐛 𝐱n,x0 𝐀𝐲0, 𝐛𝐲<0 𝐲m, 𝐲0
𝐀𝐱𝐛 𝐱n 𝐀𝐲=0, 𝐛𝐲<0 𝐲m, 𝐲0
𝐀𝐱=𝐛 𝐱n 𝐀𝐲=0, 𝐛𝐲0 𝐲m
𝐀𝐱=𝐛 𝐱n 𝐀𝐲 integral, 𝐛𝐲 not integral 𝐲n
𝐀𝐱𝐛 𝐱n,x0 0Tx1 can be inferred from 𝐀𝐱𝐛

Generalizations

Template:Math theorem

Generalized Farkas' lemma can be interpreted geometrically as follows: either a vector is in a given closed convex cone, or there exists a hyperplane separating the vector from the cone; there are no other possibilities. The closedness condition is necessary, see Separation theorem I in Hyperplane separation theorem. For original Farkas' lemma, 𝐒 is the nonnegative orthant +n, hence the closedness condition holds automatically. Indeed, for polyhedral convex cone, i.e., there exists a 𝐁n×k such that 𝐒={𝐁𝐱𝐱+k}, the closedness condition holds automatically. In convex optimization, various kinds of constraint qualification, e.g. Slater's condition, are responsible for closedness of the underlying convex cone C(𝐀).

By setting 𝐒=n and 𝐒*={0} in generalized Farkas' lemma, we obtain the following corollary about the solvability for a finite system of linear equalities: Template:Math theorem

Further implications

Farkas' lemma can be varied to many further theorems of alternative by simple modifications,[5] such as Gordan's theorem: Either 𝐀𝐱<0 has a solution xScript error: No such module "Check for unknown parameters"., or 𝐀𝐲=0 has a nonzero solution yScript error: No such module "Check for unknown parameters". with y ≥ 0Script error: No such module "Check for unknown parameters"..

Common applications of Farkas' lemma include proving the strong duality theorem associated with linear programming and the Karush–Kuhn–Tucker conditions. An extension of Farkas' lemma can be used to analyze the strong duality conditions for and construct the dual of a semidefinite program. It is sufficient to prove the existence of the Karush–Kuhn–Tucker conditions using the Fredholm alternative but for the condition to be necessary, one must apply von Neumann's minimax theorem to show the equations derived by Cauchy are not violated.

This is used for Dill's Reluplex method for verifying deep neural networks.

See also

Notes

<templatestyles src="Reflist/styles.css" />

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. a b Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".. See Lemma 1 on page 318.
  7. Script error: No such module "citation/CS1"..
  8. a b Template:Cite Gartner Matousek 2006 Pages 81–104.
  9. a b Template:Cite Geometric Algorithms and Combinatorial Optimization

Script error: No such module "Check for unknown parameters".

Further reading