zoukankan      html  css  js  c++  java
  • 《浅谈保序回归问题》学习笔记

    咕了大半年了。

    1 预备知识

    给定正整数 (p),一张点集为 (V={v_1,cdots,v_n})、边集为 (E)(|E|=m))的有向无环图 (G),代价函数 ((y,w))(forall i,w_i>0))。

    求实数序列 (f),使得 (forall G) 中有 (v_i)(v_j) 的有向路径,(f_ile f_j) 的情况下,最小化回归代价:

    [sum_{i=1}^nw_i|f_i-y_i|^ppod{1le p<infty} \ max_{i=1}^nw_i|f_i-y_i|pod{p=infty} ]


    定义将序列 (z)(<a) 的元素变为 (a)(>b) 的元素变为 (b) 称为序列 (z) 向集合 (S={a,b}) 取整

    定义点集 (U)(L_p) 均值(y_i=k) 的情况下使点集 (U) 的回归代价最小的 (k)

    2 特殊情形

    考虑 (G) 是链,(p=2) 的情况。

    引理 1 点集 (U)(L_p) 均值是 (y_i) 关于 (w_i) 的加权平均数。

    引理 2(y_i>y_{i+1}),则 (f_i=f_{i+1})

    单调栈维护,因为太经典所以不写了。


    考虑 (G) 是树,(p=1) 的情况。

    线段树合并维护折线 dp,因为不会所以不写了。

    3 一般情形

    考虑新的 (S={a,b}) 问题:在满足原问题限制的情况下要求 (ale f_ile b),最小化回归代价。

    3.1 (p=1) 的情况

    引理 3(L_1) 问题中,若 (forall i,y_i otin(a,b))(exist) 最优解序列 (z) 满足 (forall i,z_i otin(a,b))(z^S)(S) 问题的一组最优解,则 (exist z) 是原问题最优解,且 (z)(S) 取整得到 (z^S)

    然后就可以二分了,(S)(y_i) 中相邻值的时候此即为最小权闭合子图问题。

    3.2 (1<p<infty) 的情况

    实际上就是离散 -> 连续了,变成实数二分,原来的差值要改成导数。

    3.3 (p=infty) 的情况

    其实是 sb 题,二分之后就是每个 (f_i) 知道了取值范围,直接 DAG 上 dp 即可。

    3.4 一些 nb 的扩展

    考虑 (G) 是链,对每个前缀都求答案。

    看不懂,咕了。

    4 特殊情形

    考虑 (G) 是满点集二维偏序的情况。

    同样的二分方法,然后发现这个可以 dp 做。


    考虑 (G) 是任意 (n) 个点二维偏序的情况。

    同样的二分+dp 方法,只是不能只考虑相邻两行之间的影响了。

    因为要求方案所以有点毒瘤,咕了。

    5 一些应用

    给定 (n) 个点 (m) 条边的无向连通图和两个边集 (E_1,E_2),每条边有权值 (d_i),每次操作将一条边的权值 (+1)(-1),求最少通过多少次操作使得:

    • (E_1) 的生成子图是最小生成树。
    • (E_2) 的生成子图是最大生成树。

    (nle 50)(mle 1000)


    可以对 (m) 条边建立偏序关系(非树边 (ge) 对应环上的树边),然后就是保序回归问题。

    还有去年省选 D1T3,就是把图拟阵换成了线性拟阵,(根据这里的引理 5.6)也有对应的结论:(A) 是权值最大的基当且仅当 (forall uin A,vin Sackslash A),若 ((Aackslash{u})cup{v}inmathcal I),则 (w(u)ge w(v))(B) 同理。

    code

  • 相关阅读:
    eclipse web项目转maven项目
    spark作业
    大数据学习——spark-steaming学习
    大数据学习——sparkSql对接hive
    大数据学习——sparkSql对接mysql
    大数据学习——sparkSql
    大数据学习——spark运营案例
    大数据学习——spark笔记
    大数据学习——sparkRDD
    python面试题
  • 原文地址:https://www.cnblogs.com/AThousandMoons/p/14842781.html
Copyright © 2011-2022 走看看