超现实数学习笔记

发布时间 2023-08-05 00:39:13作者: myee

由于不打算学得太深,决定只记几个简单的内容。全文基本不会有证明。

定义

博弈的形式化定义:设所有博弈 \(x\) 构成博弈全集 \(S\),则每个 \(x\) 可以唯一表示为 \(\{x^L|x^R\}\) 的形式,其中 \(x^L,x^R\subseteq S\)。注意 \(x^L,x^R\) 是博弈的一个集合,且讨论范围内 \(x^L,x^R\) 均为有限集,采取的定义不会出现环。

超现实数的形式化定义:设所有超现实数 \(x\) 构成超现实数全集 \(S\),则每个 \(x\) 可以唯一表示为 \(\{x^L|x^R\}\) 的形式,其中 \(x^L,x^R\subseteq S\)\(\forall a\in x^L,b\in x^R,b\nleq a\)。注意 \(x^L,x^R\) 是超现实数的一个集合,且讨论范围内 \(x^L,x^R\) 均为有限集,采取的定义不会出现环;比较运算会在随后定义。

容易发现这两个定义是类似的,只不过超现实数的定义中还要求所有左部元素均不大于右部元素。习惯上,假设 \(x^L=\{a,b,c,\dots\}\)\(x^R=\{d,e,f,\dots\}\),我们会简记 \(x=\{a,b,c,\dots|d,e,f,\dots\}\)

接下来对超现实数定义比较运算符。

\[y\le x\Leftrightarrow x\ge y\Leftrightarrow\nexists t\in x^R,t\le y\land\nexists t\in y^L,x\le t \]

\[x=y\Leftrightarrow x\ge y\land y\ge x \]

\[y>x\Leftrightarrow x>y\Leftrightarrow x\ge y\land y\ngeq x \]

可以证明,对于超现实数来说,这个比较运算为全序的。人话就是和我们平常所看到的比较运算符没啥区别

对博弈我们有类似的定义,但不再是全序;即可能出现 \(x\nleq y\land y\nleq x\) 的情况。我们称无法比较的情况为 \(x\|y\);而称 \(x=y\)值相等\(< > = \ge \le\) 这几个运算符本身仍是具有传递性的。

对于超现实数来说,值相等即为相等;对于博弈来说,值相等则不能说明相等。

再定义其余几种运算。其中关于集合的运算表示这集合内部的元素均做该运算后得到的新的集合。

\[x+y=\{x^L+y,x+y^L|x^R+y,x+y^R\} \]

\[-x=\{-x^R|-x^L\} \]

\[x-y=x+(-y) \]

\[xy=\{x^Ly+xy^L-x^Ly^L,x^Ry+xy^R-x^Ry^R|x^Ly+xy^R-x^Ly^R,x^Ry+xy^L-x^Ry^L\} \]

(其实平常只有 \(x+y\)\(-x\) 有用。。。)

容易证明,对于非 \(0\) 的超现实数,其对乘法也存在逆元。这样超现实数就构成一个,称为超现实数域 \(\mathbf{No}\)

实例

我们看几个超现实数的实例。

\(0=\{|\}\)。可以验证其为加法单位元。

\(1=\{0|\}\)。可以验证其为乘法单位元。

\(-1=\{|0\}\)

\[\{a|\}=\begin{cases}a+1&a\ge0\\0&a<0\end{cases} \]

\[\{|a\}=\begin{cases}a-1&a\le0\\0&a>0\end{cases} \]

\[\{a|b\}=\frac{a+b}{2}\quad(a<b) \]

可以验证这些集合均满足常见性质,且这些实数也均对加法封闭。

可以发现我们已经可以构造所有 \(a/2^b\) 这种实数了;对于一般的实数,我们可以使用无限逼近来拟合之,不过没啥用。

但是需要注意,超现实数不一定都能表示为实数!

简单性法则(可以跳过)

虽然没啥卵用但是还是写上来吧

我们考虑到,由于在定义超现实数时不允许产生环,因此所造出的数一定可以在 bfs 的某一步出现;每个数只会被 bfs 序比自己小的数构造出来。

简单性法则:假设有一个 \(x\),在 bfs 序上找出最小的 \(z\) 使得 \(x^L<z<x^R\),那就有 \(x=z\)

博弈的组合意义

形式化定义的博弈对实践并没有什么用,我们考虑其组合意义。

我们称一个博弈是状态转移图上的一个状态(显然这个状态转移图是一个 DAG),则 \(x^L\) 为一方行动所能到达的状态集,\(x^R\) 为另一方行动所能到达的状态集。

这就是博弈的组合意义。

因此虽然两个博弈可能值相等,但其并不相同,因为其具有不同的组合意义。譬如 \(\{|\}\)\(\{\{|\{|\}\}|\{\{|\}|\}\}\),虽然值相等(都对应 \(0=\{|\}\) 这个超现实数),但其组合意义不同。

模糊博弈

考虑一个博弈。

如果这个博弈本身就是一个超现实数的形式,那很好做。

如果不是呢?

我们考察其中一种简单情形,不妨称 \(\|0\) 的博弈为模糊博弈

譬如,\(*=\{0|0\}\) 就是一个模糊博弈。其满足

  • \(*\|0\)\(*=-*\)\(\{*|*\}=0\)
  • \(\forall x\in\mathbf{No}^+,x>*\)\(\forall x\in\mathbf{No}^-,x<*\)

在实践范围内,我们可以简单地认为 \(*\) 是一个无穷小量,类似于微积分中的 \(\varepsilon\)。之后我们简记 \(x*=x+*\)

规定 \(\uparrow=\{0|*\}\)\(\downarrow=\{*|0\}\)。其满足

  • \(\uparrow=-\downarrow\)\(\uparrow>0\)\(\downarrow<0\)
  • \(\forall x\in\mathbf{No}^+,x>\uparrow\)\(\forall x\in\mathbf{No}^-,x<\downarrow\)
  • \(\uparrow*\|0\)\(\downarrow*\|0\)\(\uparrow\|*\)\(\downarrow\|*\)
  • \(\{\downarrow|\uparrow\}=\{*|\uparrow\}=\{\downarrow|*\}=0\)

等等。

在多数时候的实践范围内,这些附加的博弈状态已然够用;其余状态基本上都是超现实数的形式。而且一般来说,实践范围内的 \(x\) 均有 \(|x^L|,|x^R|\le1\)

化简博弈(可以跳过)

虽然没啥卵用但是还是写上来吧

考虑如何化简一个复杂的博弈。

优超\(\{a,b,\dots|c,d,\dots\}=\{b,\dots|c,d,\dots\}=\{a,b,\dots|c,\dots\}\),其中 \(a\le b\)\(c\le d\)

逆转:设 \(x=\{A,B,\dots|C,\dots\}\) 满足 \(A^R\le x\)\(A^{RL}=\{a,b,c,\dots\}\),则 \(x=\{a,b,B,\dots|C,\dots\}\)。右部类似可得。

礼品马原理:设 \(x=\{a,\dots|b,\dots\}\),若 \(y<\!\!\|x\),则 \(x=\{y,a,\dots|b,\dots\}\)。右部类似可得。

例题:福若格斯

画出转移图会发现仅有与超现实数 \(0,1,-1,1/2,-1/2\) 和特殊博弈 \(*,\uparrow,\downarrow\) 值相等的博弈。

对于这种较为简单的博弈,我们有结论(嫖了张 x义x 博客里的图):

img

直接列出 GF 来统计方案数即可解决。

TBA

鸽子。不过上面这些东西真的能这么快消化掉吗?