reach the same level of automatization and ease-of-use that is already standard in minimization based machine learning.

Competitive gradient descent {#sec:cgd}
============================

We propose a novel algorithm, which we call *competitive gradient descent* (CGD), for the solution of competitive optimization problems $\min_{x \in {\mathbb{R}}^m} f(x,y),\ \min_{y \in {\mathbb{R}}^n} g(x,y)$, where we have access to function evaluations, gradients, and Hessian-vector products of the objective functions. [^1]

$(x_{N},y_{N})$

**How to linearize a game:** To motivate this algorithm, we remind ourselves that gradient descent with stepsize $\eta$ applied to the function $f:{\mathbb{R}}^m \longrightarrow {\mathbb{R}}$ can be written as $$x_{k+1} = {\operatorname{argmin}}\limits_{x \in {\mathbb{R}}^m} (x^{\top} - x_{k}^{\top}) \nabla_x f(x_k) + \frac{1}{2\eta} \|x - x_{k}\|^2.$$ This models a (single) player solving a local linear approximation of the (minimization) game, subject to a quadratic penalty that expresses her limited confidence in the global accuracy of the model. The natural generalization of this idea to the competitive case should then be given by the two players solving a local approximation of the true game, both subject to a quadratic penalty that expresses their limited confidence in the accuracy of the local approximation.\
In order to implement this idea, we need to find the appropriate way to generalize 