题解:P12532 [XJTUPC 2025] Primal Core Optimization: Attribute Balance

· · 题解

给个不同的观察。

考虑题目涉及到的函数 L(x,y,z) = \max(x,y,z,0)-\min(x,y,z,0),它满足下列条件:

正定性

**绝对一次齐次性**: $L(ax,ay,az,0) = |a|L(x,y,z,0)$,这要分 $a$ 的正负证明: $a\ge 0$ 是平凡的,此时: $$ \begin{aligned} \max(ax,ay,az,0) &= a \max(x,y,z,0)\\ \min(ax,ay,az,0) &= a \min(x,y,z,0)\\ L(ax,ay,az) &= aL(x,y,z) \end{aligned} $$ $a < 0$ 时: $$ \begin{aligned} \max (ax,ay,az,0) &= a\min (x,y,z,0) \\ L(ax,ay,az) &= a(\min(x,y,z,0) - \max(x,y,z,0))\\ &= -aL(x,y,z) \end{aligned} $$ **三角不等式**: 我们记 $M_i=\max(x_i,y_i,z_i,0)$,$m_i=\min(x_i,y_i,z_i,0)$,则 $L(x_i,y_i,z_i) = M_i - m_i$。 另记 $M_{12} = \max(x_1+x_2,y_1+y_2,z_1+z_2,0)$,$m_{12} = \min(x_1+x_2,y_1+y_2,z_1+z_2,0)$,则有:$L(x_1+x_2,y_1+y_2,z_1+z_2)=M_{12} - m_{12}$。 由于 relu 函数 $\max(a,0)$ 显然有性质 $\max(a,0)+\max(b,0) \ge \max(a+b,0)$,不难推广到: $$ M_1+M_2 \ge M_{12} $$ 同理,因为 $\min(a,0)$ 满足 $\min(a,0)+\min(b,0) \le \min(a+b,0)$,可以推广到: $$ m_1+m_2\le m_{12} $$ 所以会有: $$ \begin{aligned} L(x_1,y_1,z_1) + L(x_2,y_2,z_2)&=M_1-m_1+M_2-m_2\\ &=(M_1+M_2)-(m_1+m_2)\\ &\ge M_{12} + m_{12}\\ &= L(x_1+x_2,y_1+y_2,z_1+z_2) \end{aligned} $$ 由于 $L(x,y,z)$ 满足上面三个性质, $L$ 成功升格为 $\mathbb R^3$ 空间上的一个**范数**。我们记作 $\Vert\cdot\Vert_L$。 那么 $(\mathbb R^3,+, \Vert\cdot\Vert_L)$ 就是一个**赋范线性空间**。 这个范数可以诱导一个**度量**:$d(\mathbf u,\mathbf v) = \Vert \mathbf u - \mathbf v\Vert_L$。$(\mathbb R^3, d)$ 就是一个度量空间。 这时候,我们想知道的凸性什么的都已经是代数里的基本结论了。 而且,不难发现题目要求等价如下: $$ \min_{\mathbf u\in \mathbb R^3} \sum_{i=1}^n d(\mathbf u, \mathbf x_i) $$ 如果是 $L_2$ 范数,结论是取 $\bf x_i$ 平均值;如果是 $L_1$ 范数,结论是取 $\bf x_i$ 每坐标分别的中位数。 由于所有范数在拓扑上的等价性,可以考虑一些乱搞做法:初值选在平均值或中位值,然后用一些一阶优化算法(梯度下降什么的)或者零阶优化算法(模拟退火、爬山什么的)。