Function Problems and Syntactic Subclasses of TFNP

Similar documents
NP and conp. Theorem. Skoulakis Stratis NP,coNP and Funtion Problems EuroCG 14, Ein-Gedi, Israel 1 / 18

Total NP Functions I: Complexity and Reducibility

Game Theory and Algorithms Lecture 7: PPAD and Fixed-Point Theorems

The Complexity of Multi-source Variants of the End-of-Line Problem, and the Concise Mutilated Chessboard

Topics of Algorithmic Game Theory

Algorithmic Game Theory

An Introduction to Proof Complexity, Part II.

NP-Completeness. Until now we have been designing algorithms for specific problems

More Completeness, conp, FNP,etc. CS254 Chris Pollett Oct 30, 2006.

I. Introduction to NP Functions and Local Search

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Lecture 9 : PPAD and the Complexity of Equilibrium Computation. 1 Complexity Class PPAD. 1.1 What does PPAD mean?

Essential facts about NP-completeness:

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology.

Lecture Notes Each circuit agrees with M on inputs of length equal to its index, i.e. n, x {0, 1} n, C n (x) = M(x).

Lecture 2. 1 More N P-Compete Languages. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

Abstract Papadimitriou introduced several classes of NP search problems based on combinatorial principles which guarantee the existence of solutions t

A An Overview of Complexity Theory for the Algorithm Designer

Chapter 2 : Time complexity

Notes on Computer Theory Last updated: November, Circuits

Intro to Theory of Computation

About the relationship between formal logic and complexity classes

Lecture 59 : Instance Compression and Succinct PCP s for NP

COP 4531 Complexity & Analysis of Data Structures & Algorithms

On the Complexity of the Parity Argument and Other Inefficient Proofs of Existence

Symmetries and the Complexity of Pure Nash Equilibrium

Lecture 17. In this lecture, we will continue our discussion on randomization.

Notes on Complexity Theory Last updated: December, Lecture 2

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: NP-Completeness I Date: 11/13/18

JASS 06 Report Summary. Circuit Complexity. Konstantin S. Ushakov. May 14, 2006

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes

ITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

NP and Computational Intractability

On the Computational Hardness of Graph Coloring

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

Polynomial-time Reductions

Lecture December 2009 Fall 2009 Scribe: R. Ring In this lecture we will talk about

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

Boolean circuits. Lecture Definitions

Limitations of Algorithm Power

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, Notes 22 for CS 170

6.891 Games, Decision, and Computation February 5, Lecture 2

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

1 Computational Problems

The Complexity of Computing a Nash Equilibrium

1 Non-deterministic Turing Machine

The Complexity of Computing a Nash Equilibrium

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Complexity Theory Part II

Algorithms Design & Analysis. Approximation Algorithm

Lecture 20: conp and Friends, Oracles in Complexity Theory

Lecture 4 : Quest for Structure in Counting Problems

Notes for Lecture Notes 2

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits

Algorithm Design and Analysis

Lecture 14 - P v.s. NP 1

Algorithm Design and Analysis

Does the Polynomial Hierarchy Collapse if Onto Functions are Invertible?

Chapter 5 The Witness Reduction Technique

1.1 P, NP, and NP-complete

Lecture 19: Finish NP-Completeness, conp and Friends

3 Nash is PPAD Complete

A.Antonopoulos 18/1/2010

Turing Machines, diagonalization, the halting problem, reducibility

Lecture 4: NP and computational intractability

IS VALIANT VAZIRANI S ISOLATION PROBABILITY IMPROVABLE? Holger Dell, Valentine Kabanets, Dieter van Melkebeek, and Osamu Watanabe December 31, 2012

Notes for Lecture 3... x 4

Friday Four Square! Today at 4:15PM, Outside Gates

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.

Notes for Lecture 21

Randomness and non-uniformity

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in

Algorithm Design and Analysis

1 Computational problems

The Relative Complexity of NP Search Problems

NP-completeness. Chapter 34. Sergey Bereg

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Generalized Pigeonhole Properties of Graphs and Oriented Graphs

Polynomial-Time Reductions

CS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014

conp, Oracles, Space Complexity

DRAFT. Algebraic computation models. Chapter 14

More on NP and Reductions

NP and NP-Completeness

NP-Completeness. Algorithmique Fall semester 2011/12

The Polynomial Hierarchy

fsat We next show that if sat P, then fsat has a polynomial-time algorithm. c 2010 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 425

Coloring Vertices and Edges of a Path by Nonempty Subsets of a Set

SAT, NP, NP-Completeness

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

20.1 2SAT. CS125 Lecture 20 Fall 2016

In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size.

6-1 Computational Complexity

Advanced topic: Space complexity

Computability and Complexity Theory: An Introduction

1 PSPACE-Completeness

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar

Transcription:

Function Problems and Syntactic Subclasses of TFNP N. Elgers Abstract Function problems are an extension of decision problems in the sense that they require a more extensive answer than yes or no. FP, FNP and TFNP are wellknown classes of function problems. The former two are similarly defined to their decision equivalents P and NP. TFNP, however, does not originate from a decision equivalent. In addition, it has the unsatisfying property that it is a semantic class. In this work the above-mentioned classes are briefly discussed after which three syntactic subclasses of TFNP are investigated. 1 Function Problems Decision problems require a yes or no answer. Consider the following examples: Does the given graph have a Hamiltonian cycle? Is the given number composite? Does the given graph have a k-coloring? In practice, however, it might be useful to compute an actual solution to the problem if the answer is yes. Consider following examples: What is a Hamiltonian cycle of the given graph, if any? What is the prime factorisation of the given number? What is a k-coloring of the given graph, if any? Both groups of examples are very similar but they differ in the fact that the latter group of questions, which can be called function problems, require a more extensive answer than yes or no. The name function is somewhat of a misnomer because function implies that for each input, there is exactly one output. This does not have to be the case. It is possible that for a given input a solution does not exist (e.g. no Hamiltonian cycle exists) or there are multiple solutions (e.g. multiple Hamiltonian cycles). 1

2 N. Elgers Function problems can be described by binary relations R(x,y) Σ Σ in which x Σ and y Σ are said to be the input (i.e. the question) and output (i.e. the answer/solution), respectively. In this work only polynomially bounded relations are considered. A binary relation R is polynomially bounded iff there is a k 0 such that for each pair (x,y) R it holds that y x k. 1.1 Function Polynomial (FP) Definition 1. A polynomially bounded binary relation R Σ Σ is in FP iff there is a deterministic polynomial-time Turing Machine that, given an input x Σ, computes a y Σ such that (x,y) R. Example 1. The polynomial-time many-one reduction, known as Karp reduction, is defined as follows: a language L Σ is said to be Karp reducible to another language L Σ if there is a polynomial-time computable function such that for every x Σ, x L if and only if f (x) L. Computing that function is an obvious problem in FP. A lot of simple mathematical operators are known to be in FP: addition, subtraction, division, greatest common divider (gcd) and more. The definition of FP implies there is always an answer for any input. What happens, though, when the operator is undefined on the input? Take for example division by zero. We can map this input to a string that represents an invalid result. When we encounter this output, we can easily decide that the answer is undefined. 1.2 Function Non deterministic Polynomial (FNP) Definition 2. A polynomially bounded binary relation R Σ Σ is in FNP iff there is a deterministic polynomial-time Turing Machine that, given a pair (x,y) Σ Σ, decides if (x,y) R. Example 2. The function satisfiability problem (FSAT) asks to find a satisfying assignment of a given boolean proposition, if it exists. Since SAT NP, there exists a deterministic polynomial-time Turing Machine that checks if y (an assignment) satisfies x (a SAT instance). Therefore, FSAT is naturally in FNP.

Function Problems and Syntactic Subclasses of TFNP 3 The definition above uses the notion of a verifier to define FNP. However it is possible to define it by using non-deterministic polynomial-time Turing Machines as well, as follows: Definition 3. A polynomially bounded binary relation R Σ Σ is in FNP iff there is a non-deterministic polynomial-time Turing Machine that for a given input x Σ for which there exists a y Σ such that (x,y) R, computes that y. From this definition it is clear, if not from definition 2 already, that FP FNP. In addition, it is easy to see that FP = FNP iff P = NP. Note that these definitions do not imply, in contrast to FP, that there must be a (polonomially-bounded) y for every x so that R(x, y) holds. The question arises if it is possible to map undefined inputs to an output that represent an invalid solution as is the case for FP. The answer is no. For FNP, it is believed to not be efficiently decidable (i.e. in deterministic polynomial time) that an input has no solution. Thus, it is not possible to map undefined inputs to outputs that represent a non-existing solution. In fact, if that turns out to be case anyway then NP = conp. 1.3 Total Function Non deterministic Polynomial (FNP) Definition 4. A polynomially bounded binary relation R Σ Σ is in TFNP iff there is a deterministic polynomial-time Turing Machine that, given a pair (x,y) Σ Σ, decides if (x,y) R. In addition, there must be at least one y for each x such that R(x,y) holds. Example 3. FACTORING is the problem of decomposing an integer N into its prime decomposition N = p k 1 1 pk 2 2...pk m m. Every strictly positive integer has a prime decomposition, so the problem is clearly in TFNP. It is not known if this problem is in FP as well. It is obvious that FP TFNP FNP. TFNP is a semantic class. This means that it is not known if it can be efficiently checked that a given Turing Machine decides a relation in TFNP. More intuitively, suppose someone were to present a description of a Turing Machine claiming it defines a relation in TFNP and someone else would like to check this property. An intuitive, naïve way to do this is to check that every possible input results in a valid answer. Which is not an efficient method. For semantic classes, it is not known if

4 N. Elgers there exists an efficient method. An additional property of semantic classes is that they are likely not to have any complete problems. Classes for which it holds that it is easily verifiable that a machine decides a relation/language in the class are said to be syntactic classes. These classes are sure to have a complete problem. 2 Syntactic subclasses of TFNP Since syntacticness is a nice property to have, it is useful to define/investigate subclasses of TFNP other than FP. In this section the classes PPP, PPA, PPAD and PLS are studied. These are syntactic subclasses of TFNP that have been defined and investigated by Christos H. Papadimitriou. 2.1 Polynomial Pigeonhole Principle (PPP) The pigeonhole principle is a very well known statement saying that if there are n items are to be put in m containers, with n > m > 0, then at least one container must contain more than one item. PIGEONHOLE CIRCUIT is the following computational problem. Given a boolean circuit C in which the length n of the input and the output are the same, find a x Σ n such that C(x) = 0 or find two x,x Σ n with x x such that C(x) = C(x ). Definition 5. A polynomially bounded relation R Σ Σ is in PPP iff there is a polynomial time reduction from R to PIGEONHOLE CIRCUIT. It holds that PPP TFNP because the defining problem always ensures an answer on any input. Note that it is proven by the pigeonhole principle that problems in PPP are always total, thus PPP is syntactic. PIGEONHOLE CIRCUIT is complete for PPP, by definition. Example 4. EQUAL SUMS is the following computational problem. Given an input that consists of a set of n positive integers that add up to less than 2 n 1, find two distinct subsets so the sum of the numbers in each subset is equal. Theorem 1. EQUAL SUMS is in PPP Proof. It will be shown that EQUAL SUMS always has a solution using the pigeonhole principle. First assume, without loss of generality, that all numbers in the input are distinct. In a set of n (distinct) numbers, there are 2 n different subsets. The lowest subset sum is 0 (empty set) and the largest is 2 n 2. In other words, there are

Function Problems and Syntactic Subclasses of TFNP 5 2 n 1 subsets with the same sums. By the pigeonhole principle, there must be at least two different subsets with the same sum. Let these subsets be A and B. Then A \ (A B) and B \ (A B) are two distinct subsets with the same subset sum. It is not known if EQUAL SUMS is complete for PPP. Worse still, PIGEONHOLE CIRCUIT is the only problem that is known to be complete for PPP. Although this makes the class sound disappointing, there is an interesting statement that involves PPP and concerns cryptography. Proposition 1. If PPP = FP, then one-way permutations do not exist [4]. Proof. Suppose that PIGEONHOLE CIRCUIT is in FP. Then it is possible to invert the alleged one-way length-preserving polynomially computable permutation π by the following procedure. Given x, in order to find a y such that π(y) = x, turn algorithm for π into a circuit and add an exclusive-or of the output with the bitstring x. Afterwards apply to the resulting circuit C the assumed polynomial algorithm for PIGEONHOLE CIRCUIT. Since π is a permutation, the algorithm can not return two inputs with the same output, so it must return a y such that C(y) = 0; that is, π(y) = x. Fig. 1 Pigeonhole Principle. In a dovecot with 9 pigeonholes where 10 pigeons live, there must be at least 1 compartment with more than one pigeon in it. 2.2 Polynomial Parity Argument (PPA) Consider a deterministic polynomial-time Turing Machine M. Let x Σ be an input for M. The configuration space C(x) is Σ p( x ) with p a polynomial. Given a configuration c C(x), M outputs in time O(p( c )) a set M(x,c) of at most two configurations. An unordered pair of configurations [c,c ] are said to be neighbours, denoted [c,c ] G(x), iff c M(x,c ) and c M(x,c). G(x) is essentialy a graph of

6 N. Elgers degree at most two. In addition, M is such that M(x,0 0) = {1 1} and 0 0 M(x,1 1). It is said that M embodies the even leaves argument, a graph theoretic lemma: Lemma 1. Every graph of degree two or less has an even number of leaves. A leaf in a graph is a vertex of degree one. Definition 6. A polynomially bounded binary relation R Σ Σ is in PPA iff there is a deterministic polynomial-time Turing Machine that embodies the even leaves argument and for each x Σ and its configuration graph G(x) it holds that (x,y) R iff y is a leaf of G(x) other than 0 0. Example 5. 3SMITH is the following problem in PPA: given a 3-regular graph G and a Hamiltionian cycle C of G, find an other Hamiltonian cycle. Such a second cycle is sure to exist due to Smith s theorem which states that every odd-degree graph has an even number of Hamiltonian cycles [7]. An algorithm to solve this problem is the following: delete an edge from the given cycle and fix an endpoint, denoted by x, of the resulting path. Denote the other endpoint by y. Execute the unique rotation from y. The resulting path has two possible rotations from y. One that undoes the previous rotation and an other. Iteratively apply the latter rotation. Cycles in this process are not possible since otherwise new rotations would not be unique, which is the case for 3-regular graphs. Therefore, unavoidably, the algorithm will encounter a path in which y only has the undo rotation. This is the case when x and y can be reconnected by an edge. At this point, the algorithm terminates and reports the new found Hamiltonian cycle. It is clear that this algorithm embodies the Turing Machine M from the PPA definition. M is used to compute the possible rotations. An example execution is shown in Fig. 2. It is not known if SMITH is complete for PPA A graph theoretic lemma is used to show that problems in PPA are total. Thus, PPA is syntactic. Note that an iteration can be executed in polynomial time but the amount of iterations required is not necessarily polynomially bounded.

Function Problems and Syntactic Subclasses of TFNP 7 Fig. 2 3SMITH is in PPA In an attempt to generalize PPA, assume that the following alteration is applied to its definition. Instead of restricting M(x,c) to be at most two, let it be polynomially bounded by x. As a consequence, G(x) its degree will be polynomially bounded as well. The problem now asks for any odd-degree node. This generalised definition invokes another graph theoretic lemma: Lemma 2 (The Polynomial Parity Argument). A finite graph has an even number of odd-degree nodes. Denote the resulting class by PPA. The following theorem states that this definition is not fundamentally different. Theorem 2. PPA = PPA Proof. It is obvious that PPA PPA. It can be shown that each problem in PPA that embodies the configuration machine M, that machine M can be altered in polynomial time to present a problem in PPA. Consider such configuration machine M for a problem in PPA. For each vertex c of G(x) its neighbourhood N(c) can be computed. If N(x) = k 1, new vertices (c,i);i = 1,..., k/2 are created. The two neighbours of (c,i) are the two nodes of the form (c, j), where the lexicograhically 2ith or (2i + 1)th edge out of c is [c,c ], which is also the 2 jth or (2 j + 1)th edge out of c. It is clear that the nonstandard leaves of the new graph coincide with the nonstandard odd-degree nodes of the former, and that the neighbours of each node of the new graph can be computed in polynomial time. In other words, replacing even leaves argument in the definition of PPA by polynomial parity argument does not change it. Most often it is the latter argument that is associated with PPA. Because of this result it is easy to see that the generalised problem of 3SMITH denoted by SMITH, which concerns any odd-degree graph, is in PPA as well.

8 N. Elgers In 2001, over half a decade after Papadimitriou s definition of PPA, it has been shown that a very specific restriction of SPERNER is PPA-complete [2]. As of currently, there are no other problems known to be complete for PPA. 2.3 Polynomial Parity Argument for Directed graphs (PPAD) In this section PPAD is introduced. Proofs that problems are in PPAD and/or complete for PPAD are lengthy and hard to understand. Therefore, the problems are mentioned but for their proofs of their PPAD membership/completeness the literature is referenced. PPAD has the same definition as PPA, except that the configuration graph G(x) is defined differently. Consider, without loss of generalisation, the even leaves argument definition of PPA. G(x) is now allowed to be directed. The ordered pair of nodes (c,c ) G(x) iff c is the second component of M(x,c) and c is the first component of M(x,c ). The problem is to find any node (other than the standard source 0 0) with indegree + outdegree = 1. In other words, a correct output is any source or sink of the directed graph other than the standard source. The definition, equivalently to PPA, can be generalised so that a vertex has a polynomial amount of neighbours and can be proven to be equivalent to the original definition. In this generalised definition, a solution is a vertex where indegree + outdegree is odd. Example 6. 2D-SPERNER. Consider an arbitrary triangulation of a triangle ABC (the 2D simplex). Colour the resulting vertices S as follows. Colour A, B and C with 1, 2 and 3 respectively. The vertices on a edge of the original triangle may only be coloured with a colour that is on the either end point of that edge. The remaining vertices may have any colour. Sperner s lemma states that there exists a triangle in the triangulation that has all three colours [8]. More precisely, there are an odd number of them. In Fig. 3 such coloured triangulation is shown. The triangles in grey are trichromatic. This problem is referenced to as 2D-SPERNER. The generalised problem, kd-sperner, concerns multidimensional simplices. Corollary 1. PPAD PPA TFNP FNP Proof. It should be clear that PPAD PPA from PPAD s definition. PPA TFNP as explained in the previous section. Corollary 2. PPAD PPP TFNP FNP Proof. The only thing to proof here is PPAD PPP. It can be shown that any problem in PPAD with configuration graph G can be reformulated as a problem in PPP. Create a circuit C so that C(x) is equal to: x itself if x is a sink in G; (b) G 2 (x) if x is a nonstandard source; (c) G(x) otherwise. It is easy to see that from any confluence of values of π a nonstandard source or sink of G can be recovered.

Function Problems and Syntactic Subclasses of TFNP 9 Theorem 3. For any k 2, kd-sperner is in PPAD. Proof. See [4]. Fig. 3 Sperner s lemma Example 7. BROUWER is the following computational problem. Given a continuous function f mapping a compact convex set X into itself, find a x X such that f (x) = x. Such x is sure to exist due to Brouwer s fixed-point theorem [1]. Theorem 4. BROUWER is PPAD-complete. Proof. See [4]. Example 8. NASH is the following problem. Given a finite game G, find a Mixed Nash Equilibrium (MNE) G. Such a MNE is sure to exist due to John F. Nash Jr. his famous proof from his disseration.[3, 8] Theorem 5. NASH is PPAD-complete. Proof. Although in a very non-straightforward way, BROUWER polynomially reduces to NASH which is in PPAD. See [4]. The field of Game Theory is a field that is thoroughly being studied by economists. The concept of MNE is used intensively by them. Therefore, NASH is a problem for which efficient (approximation) algorithms are wanted. This piques the interest of computer scientists.

10 N. Elgers 2.4 Polynomial Local Search (PLS) This complexity class captions the notion of polynomial local search algorithms. These are algorithms that are used for a lot of problems in which a locally optimal solution is wanted and/or sufficient. Similarly to PPAD, proofs that problems are PLS-complete are lengthy so they are only referenced to. Definition 7. A binary relation R Σ Σ is in PLS iff there is a deterministic polynomial-time Turing Machine for each of the following problems: A R : Given x Σ, compute some s F R (x) Σ. B R : Given (s,x) F R (x) Σ, compute the cost c R (s,x) N of s for x. C R : Given (s,x) F R (x) Σ, compute a s η R (s,x) F R (x) such that c R (s,x) < c R (s,x). If no such s exists, report that (x,s) R. F R (x) is often referred to as the solution set of instance x. s F R (x) does not imply that (x,s) R, s merely serves as an intermediate solution. c R (s,x) is the cost of solution s for instance x. η R (s,x) is the neighbourhood of intermediate solution s for instance x. This definition implies a very straightforward algorithm. 1. s = A R (x). 2. s = C R (s,x). If C R reported that (x,s) R, report s. Else, repeat this step. The algorithm computes a solution that is locally optimal (i.e. the best in its neighbourhood). The hardness of a problem in PLS arises from the fact that the number of iterations of a local search algorithm may be exponential. This notion of computing locally optimal solutions is intensively studied in literature for many different problems. Example 9. FLIP is the following problem. Given a circuit with many inputs and outputs, find an input whose output (viewed as a binary integer) cannot be reduced by flipping any single bit of the input. Theorem 6. FLIP is PLS-complete. Proof. See [4]. Corollary 3. FP PLS TFNP FNP Proof. The only thing to proof here that has not been proved in a previous section is that PLS TFNP, although this is a very straightforward statement. At the start of a local search algorithm (i.e. the set of the three algorithms A,B and C), the initialisation algorithm A computes an initial solution. A solution for any possible input is hereby already existant although it will probably improved upon by the rest of the algorithm.

Function Problems and Syntactic Subclasses of TFNP 11 The proof statement is (more formally) backed up by following graph theoretic lemma: Lemma 3. Every directed acyclic graph (dag) has a sink. For any instance x of a PLS problem R, it is possible to construct the following graph. Let every (intermediate) solution, i.e. the set F R (x), be a vertex of the graph. Create a directed edge from a solution s to another s iff s is in the neighbourhood of s and c R (s,x) < c R (s,x), i.e. a directed edge to all the possible outcomes an algorithm C R (s,x) could have. This constructs a directed acyclic graph. By the lemma, this graph has a sink. The PLS algorithm described above will halt in this sink and thus this sink presents a local optimum. This reinforces the claim that PLS TFNP. References 1. L.E.J. Brouwer. ber abbildung von mannigfaltigkeiten. Mathematische Annalen, 71:97 115, 1912. 2. Michelangelo Grigni. A sperner lemma complete for ppa. Information Processing Letters, 77(5):255 259, 2001. 3. John F. Nash. A dissertation on non-cooperative game theory. Princeton university, 1950. 4. Christos H. Papadimitriou. On the complexity of the parity argument and other inefficient proofs of existence. Journal of Computer and System Sciences, 48(3):498 532, 1994. 5. Christos H Papadimitriou. Computational complexity. John Wiley and Sons Ltd., 2003. 6. Elaine Rich. Automata, computability and complexity: theory and applications. Pearson Prentice Hall Upper Saddle River, 2008. 7. A.G. Thomason. Hamiltonian cycles and uniquely edge colourable graphs. Annals of Discrete Mathematics, 3:259 268, 1978. 8. Albert Xin and Jiang Kevin Leyton-brown. A tutorial on the proof of the existence of nash equilibria.