该算法需要输入两个参与者的博弈矩阵G,这些参与者分别有m和n个纯策略。G由两个m × n的博弈矩阵A和B组成,它们分别是参与者1和2在所有决策下的收益。在这一算法中,我们假设所有的收益都是正的。
G有两个相应的多胞形(称为最佳回应多胞形) 和 ,分别为m维和n维,定义如下:
- 在集合 中,其坐标用{ ,..., }表示。并且 的范围是被 (其中 )这 个不等式以及 (其中 )这 个不等式所规定的。
- 在集合 中,其坐标用{ ,..., }表示。并且 的范围是被 (其中 )这 个不等式以及 (其中 )这 个不等式所规定的。
表示参与人1的 个纯策略的非归一化概率分布集合,即参与人2的期望收益最多为1。前 个约束条件要求概率是非负的,其他 个约束条件要求参与人2的n个纯策略的期望收益不超过1, 同理。
的每个顶点 都与集合 中的一组标签相关联。对于 ,如果在顶点 处存在 ,顶点 就会得到标签 。对于 ,当 时,顶点 就会得到标签 。假设 是非退化的,每个顶点都关联到 的 个刻面,并且有 个标签。在这里需要注意的是,原点也是 的一个顶点,它所拥有的标签集合是 。
同理, 的每个顶点 都与集合 中的一组标签相关联。对于 ,如果在顶点 处存在 ,顶点 就会得到标签 。对于 ,当 时,顶点 就会得到标签 。假设 是非退化的,每个顶点都关联到 的 个刻面,并且有 个标签。在这里需要注意的是,原点也是 的一个顶点,它所拥有的标签集合 。
对于顶点对 ,其中 且 ,如果满足 与 的并集包含集合 中所有的标签,那么我们可以定义这样一个顶点对是完全标记的。如果 与 分别为 与 的原点,那么顶点对 是完全标记的。如果与 包含了集合 中除 之外的所有标签,我们就定义顶点对 几乎完全标记,在这种情况下 中存在一个标签。
主元运算如下所示:取某顶点对 ,用 中某个与 相邻的顶点替换 ,或者用 中某个与 相邻的顶点替换 。这步操作的意义是在 被替换的情况下用另一个标签替换 的某个标签。被替换的标签就会立刻被丢弃。对于 的任何标签,都可以通过移动到与 相邻且不包含与该标签关联的超平面的顶点来删除该标签。
算法从由两个原点组成的完全标记对 开始。