快乐地打牢基础(5)——割点和桥

本文详细介绍了图论中的割点、桥以及双连通分量的概念,包括点双连通度和边双连通度,并提供了Tarjan算法来判断割点和桥。此外,还探讨了如何通过添加边将有桥的连通图变为边双连通图,并给出了实际问题的应用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、定义

割点集合:

在一个无向连通图中,如果有一个顶点集合V,删除顶点集合V以及与V中顶点相连(至少有一端在V中)的所有边之后,原图不连通,就称这个点为割点集合。

一个图的点连通度: 最小割点集合的中的顶点数,在图G中,去掉任意K-1个顶点后(1<=K<=N),所得的子图仍然连通,去掉K个顶点后不连通,K就是图G的点连通度。

割边集合:

在一个无向连通图中, 如果有一个边集合,删除这个边以后,原图不连通,就称这个点集为割边集合。

一个图的边连通度: 最小割边集中的边数。在图G中,去掉任意K-1条边后(1<=K<=N),所得的子图仍然连通,去掉K条边后不连通,K就是图G的边连通度。

点双连通度:如果一个无向连通图的点连通度大于1,则称该图是点双连通的(point biconnected),简称双连通或者重连通(即删去任意一点原图仍然连通)。
割点: 一个图有割点,当且仅当这个图的点连通度为1时,割点集合的唯一元素被称作割点(cut point)(即删去割点原图不连通)。一个图可能有多个割点。

下图的3号顶点就是割点。
3号顶点就是割点
边双连通度:如果一个无向连通图的边连通度大于1,则称该图是边双连通的(edge biconnected),简称双连通或者重连通(即删去任意一边原图仍然连通)。
桥: 一个图有桥,当且仅当这个图的边连通度为1时,割边集合的唯一元素被称作桥(bridge)(即删去桥原图不连通)。一个图可能有多个桥。
如图边(1,2)就是桥
在这里插入图片描述两个错误猜想:
XXX 两个割点之间的边一定是桥。桥的两个端点一定是割点。

如下面这两个例子就是反例:
在这里插入图片描述我们可以知道,点双连通和边双连通都可以称作是双连通,但是这并不意味它们是等价的。

双连通分量:在图G{G}G的所有子图G′{G'}G中,如果G‘{G‘}G是双连通的,则称G′{G'}G为双连通子图。如果一个双连通子图G′{G'}G,他不是任何一个双连通子图的真子集,则G′{G'}G为极大双连通子图。双连通分量就是图的极大双连通子图。特殊的是点双连通分量又叫做块。

边双连通分量一定是点双连通分量,但点双连通分量不一定是边双连通分量。如:
图无割点所以是点双连通分量,图有桥所以不是边双连通分量
图无割点所以是点双连通分量,图有桥所以不是边双连通分量。

二、Tarjan算法

对,就是之前求强连通分量的算法。这次我们通过求DFN和Low的值来得到割点和桥。
先对图做DFS,因为是无向图,没有横叉边,所以DFS过程中遇到三种边:
来复习一下。
树枝边:DFS时经过的边,即DFS搜索树上的边。
前向边:与DFS方向一致,从某个结点指向其某个子孙的边。
后向边:与DFS方向相反,从某个结点指向其某个祖先的边。

DFN(u{u}u)依旧是u{u}u在DFS中被搜到的时间戳。
Low(u{u}u)表示DFS中u{u}u不通过父顶点能访问到的祖先顶点中最小的时间戳。

根据定义,则有:

如果(u,v){(u,v)}(u,v)为树枝边,u{u}uv{v}v的父结点,则Low(u{u}u) = Min{Low(u{u}u),Low(v{v}v)}。

如果(u,v){(u,v)}(u,v)为后向边,u{u}u不为v{v}v的父结点,则Low(u{u}u) = Min{Low(u{u}u),DFN(v{v}v)}。

1.判断割点

只需要满足下面两个条件的任意一个,点u{u}u即是割点。

  • u{u}u是树根,那么只要u{u}u的子树个数只要超过1,那么u{u}u就是割点。
    因为无向图DFS的搜索树中没有横叉边,所以如果有多个子树,那么这些子树之间是不会有边相连的,只要把树根去掉,子树就会变成独立的块,u{u}u一定是割点。子树的个数也肯定要大于1,因为如果是1,那么连通分量的个数在去掉点u{u}u后还是1,这不符合割点的定义。

  • u{u}u不是树根,且满足存在(u{u}uv{v}v)为树枝边,(u{u}u在搜索树中是v{v}v的父亲),并且DFN(u{u}u) <= Low(v{v}v)。
    此时,如果删除u{u}uv{v}

基础矢量占空比臂占空比是电力电子变换器控制中两个相关但不同的概念。 基础矢量占空比通常指的是在空间矢量调制(SVM)技术中,用来表示基本电压矢量在一个开关周期内作用时间的比例。这些基本矢量包括零矢量非零矢量,它们共同作用以合成所需的参考电压矢量。基础矢量的占空比计算基于正弦定理或几何方法,目的是为了使合成矢量尽可能接近理想的圆形轨迹,从而减少谐波失真并提高效率[^2]。 臂占空比则是指对于每一个逆变器臂来说,在一个开关周期内上、下两个开关器件导通时间的比例。每个臂由一对互补工作的开关组成,当上臂导通时输出高电平,下臂导通时输出低电平。臂占空比直接决定了该相电压的平均值,进而影响电机的性能。在单矢量控制中,通过调整单个矢量的占空比来实现对电机转矩磁场的精确控制[^1]。 两者之间的区别主要体现在以下几个方面: - **定义层面**:基础矢量占空比关注的是整个电压矢量的作用时间,而臂占空比则针对具体的物理开关状态。 - **控制目标**:基础矢量占空比的设计旨在优化整体系统的性能,如减小电流谐波;臂占空比则更直接地影响到电机的瞬时转矩磁链。 - **实现方式**:基础矢量占空比可能涉及多个臂的同时切换,而臂占空比仅考虑特定臂上的开关动作。 在实际应用中,基础矢量占空比的计算可能会转化为具体的臂占空比分配,以此来达到对电机的有效控制。 ```python # 示例代码:计算基础矢量占空比到臂占空比的转换 def calculate_duty_cycles(voltage_vector): # 假设电压矢量已经确定 # 计算各个基础矢量的作用时间 # ... # 将基础矢量的作用时间转换为臂占空比 # ... return bridge_arm_duty_cycles # 使用示例 voltage_vector = ... # 给定的基础电压矢量 bridge_arm_duty_cycles = calculate_duty_cycles(voltage_vector) print("臂占空比:", bridge_arm_duty_cycles) ``` 在双矢量控制策略中,同时调整两相或三相的电压或电流,可以进一步提升电机控制的精度响应速度[^3]。这种情况下,基础矢量与臂占空比的关系变得更加复杂,需要综合考虑多相之间的相互作用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值