首页 > 其他分享 >弦图 学习笔记

弦图 学习笔记

时间:2024-07-24 23:18:25浏览次数:9  
标签:Lemma 子图 邻域 笔记 学习 相邻 单纯 peo

弦图 学习笔记

定义

弦图中任意 \(k\ge 4\) 阶环都有弦,等价于对于任意导出子图都不是 \(k\ge 4\) 阶环。

单纯点

单纯点的邻域是团。

完美消除序列(aka peo)

点的排列,使得 \(\forall i, v_i\) 在 \(\{v_i, v_{i + 1}, ..., v_n\}\) 的诱导子图中是单纯点。

点割集

\((u, v)\) 的点割集是点集,使得删除点割集之后的诱导子图中 \(u, v\) 不连通。

性质

  1. 弦图的诱导子图是弦图(Lemma 1)。
  2. 弦图中 \((u, v)\) 的极小点割集 \(A\) 是团(Lemma 2)。

证明:

设删去点割集之后 \(u, v\) 所在连通块是 \(V_1, V_2\)。

观察:点割集中任意点与 \(V_1, V_2\) 有连边(否则可以删去此点)。

对于点割集中任意两点 \(x, y\),存在 \(x_1, y_1\in V_1\) 且与 \(x, y\) 相邻,同理 \(x_2, y_2\)。

则找到 \(x_1 \rightarrow y_1, y_2\rightarrow x_2\) 的最短路,此时形成环,若 \(x, y\) 无边则不是弦图,得证。

  1. 弦图有至少一个单纯点,且非完全图有至少 2 个不相邻单纯点(Lemma 3)。

证明:

归纳。

任取不相邻 \(u, v\),由于对称,证明 \(V_1\) 有一个单纯点即可。

如果 \(V_1\) 是团,显然成立,否则根据归纳假设,\(V_1\cup A\) 中有二不相邻单纯点,其中必有一个在 \(V_1\) 中,证毕。

  1. 图 \(G\) 是弦图当且仅当 \(G\) 拥有完美消除序列。

证明:必要性显然。

充分性:根据 Lemma 1,3,不断选取弦图中的单纯点即可。

求完美消除序列

  1. LEX-BFS 算法

从后往前确定 peo,先随便选一个点作为 BFS 起点,然后每次选取一个点,使得它邻域中已确定 peo 的点的 peo 字典序最大。

需要用点集分裂的思想,维护链表套链表,可以做到 \(O(n + m)\)。

正确性证明:

如果对于 \(i\) 的邻点 \(i_1, i_2\) 他们的 peo 在 \(i\) 后面,假设 \(i_1, i_2\) 无边。

则一定存在 \(i_3\) 使得与 \(i_1\) 相邻而不与 \(i\) 相邻,此时 \(i_2, i_3\) 无边否则非弦图,则可以如此构造下去,peo是无限序列,假设不成立,得证。

image-20240724213915222

  1. MCS 算法

每次选取邻域被确定点最多的点。

可以简单地用优先队列带个 log 或用桶做到线性。

判定弦图

定义 \(u\) 邻域为 peo 在 \(u\) 后面且与 \(u\) 相邻的点集。

求出完美消除序列,从后往前类似归纳地每次对于一个点 \(u\),选择它最近的邻域点,判断此点邻域是否被 \(N(u)\) 包含。

NP-Hard 问题在弦图上的解决

  1. 最大团,\(\omega(G)\)
  2. 色数,\(\omega(G) \le X(G)\)
  3. 最大独立集,\(\alpha (G)\)
  4. 最小团覆盖,\(\alpha(G)\le K(G)\)。

在弦图中这些不等式都取等号。

  1. 色数

从后往前对peo贪心,每点颜色取邻域色 \(\text{mex}\)。

  1. 最大独立集

从前往后对peo贪心,每次给邻域打标记。

  1. 求所有极大团

观察:极大团是 \(v\cup N(v)\) 形式的。

则考虑标记非极大团。

对于 \(u\),定义 \(C(u) = u\cup N(u)\),若 \(\exist v, v < u, C(v)\supseteq C(u)\),则 \(u\) 非极大团。

等价于 $\exist, w, w < u, u = \text{arcmin} N(w), C(w)\supseteq C(u) $,则 \(u\) 非极大团。

等价于 \(\exist, w, w < u, u = \text{arcmin} N(w), |N(w)| = |N(u)| + 1\),则 \(u\) 非极大团。

根据以上引理可以得到求出所有极大团的线性算法,即从前往后扫,打标记。

标签:Lemma,子图,邻域,笔记,学习,相邻,单纯,peo
From: https://www.cnblogs.com/MoyouSayuki/p/18321985

相关文章

  • 数据仓库建模工具之一——Hive学习第六天
    2、Hive分桶(接着前面hive分区开始学习)2.1 业务场景数据分桶的适用场景:分区提供了一个隔离数据和优化查询的便利方式,不过并非所有的数据都可形成合理的分区,尤其是需要确定合适大小的分区划分方式不合理的数据分区划分方式可能导致有的分区数据过多,而某些分区没有什么数据的尴......
  • 树形 dp 学习笔记
    状态设计基本上每一种dp都有一种标准的dp定义方式,树形dp也是如此:定义\(f[u]\)表示以\(u\)为根节点的子树里最优的决策。从分析子树入手,转移便是找到某一子树中,根节点与各子树、边权间的递推关系。最优解常常是关于根节点的函数。它的子结构是一颗子树。实现方式......
  • python学习之内置函数
    Python拥有许多内置函数,这些函数是Python的一部分,不需要额外导入即可直接使用。这些函数提供了对Python解释器功能的直接访问,涵盖了从数学计算到类型检查、从内存管理到异常处理等各个方面。下面是一些常用的Python内置函数及其简要说明:一、Printprint函数大家都不会......
  • 测开学习路线笔记
    Pytest源码包含了很多插件入口点(调用插件)如何搭建一个测试平台Django在线编辑Excel、yaml文件Pytest读取执行,生成测试报告、日志记录Django展示结果和测试报告如何开发一个Pytest插件HOOK:约定查看源码hookspec.py查看文档HOOK规则:被动调用(被pytest自......
  • 机械学习—零基础学习日志(学习小结01)
    零基础为了学人工智能,真的开始复习高数为了能走进人工智能的大门,我现在开始学习《高等数学》,同时也是在反思,学习过程中,我的认知究竟在什么情况下会拓展,并且不会过度痛苦。现在每天都在逐步学习一些数学,或者,人工智能的概念。我有几个模糊的感知,愿意和大家一起分享。第一,人,本......
  • 机器学习 | 回归算法原理——多项式回归
    Hi,大家好,我是半亩花海。接着上次的最速下降法(梯度下降法)继续更新《白话机器学习的数学》这本书的学习笔记,在此分享多项式回归这一回归算法原理。本章的回归算法原理基于《基于广告费预测点击量》项目,欢迎大家交流学习!目录一、多项式回归概述二、案例分析1.设置问题2.......
  • 昇思25天学习打卡营第21天|基于MobileNetv2的垃圾分类
    基于MobileNetv2的垃圾分类实验目的MobileNetv2模型原理介绍实验环境数据处理数据准备数据加载数据预处理操作MobileNetV2模型搭建MobileNetV2模型的训练与测试训练策略模型训练与测试模型推理导出AIR/GEIR/ONNX模型文件本文档主要介绍垃圾分类代码开发的方法。通过......
  • 弦图学习笔记
    1.定义弦(chord):对于一个点数大于等于4的简单环,连接环上不相邻两点的边称作弦。弦图:对于无向图\(G\),如果其每个点数大于等于4的简单环都存在至少一条弦,则称这个图是弦图。这个定义等价于:图\(G\)的任何诱导子图不是\(K\)阶环(\(K\ge4\))。单纯点:对于任意的无向图......
  • Vue全家桶 - pinia 的理解和学习1(Pinia 核心概念的 Store、State、Getter、Action)
    Pinia(Vue的专属状态管理库)Pinia和Vuex的区别设计理念和架构Vuex采用集中式架构,所有状态存储在一个全局状态树中,通过mutations和actions来修改和处理状态。Pinia采用去中心化的架构,每个模块有自己的状态,这使得Pinia在代码分割和模块化方面更加灵活。TypeSc......
  • 【Linux入门】一篇文章带你了解Linux的发展史及Linux环境的搭建,满满干货,赶紧进来学习
    目录本章概要一.Linux背景介绍1.1发展史1.2开源1.3官网1.4企业应用现状1.5发行版本二.如何搭建Linux环境?三.使用Xshell远程登陆到Linux3.1下载安装Xshell3.2查看Linux主机IP3.3使用XShell登陆主机3.4XShell下的复制粘贴结尾本章概要认识Linux......