【无标题】

prim算法正确性证明:

证明:令无向图为 G = ( V , E ) G = (\mathbf{V},\mathbf{E}) G=(V,E),其中 V = { v 1 , v 2 , … , v n } \mathbf{V} = \{v_1,v_2,\dots,v_n\} V={v1,v2,,vn}, E = { e 1 , e 2 , … , e m } \mathbf{E} =\{e_1,e_2,\dots,e_m\} E={e1,e2,,em},其生成树为 G ′ = ( V , E ′ ) G'=(\mathbf{V},\mathbf{E}') G=(V,E),其中 E ′ = { e t 1 , e t 2 , … , e t n − 1 } \mathbf{E}'=\{e_{t_1},e_{t_2},\dots,e_{t_{n-1}}\} E={et1,et2,,etn1},且 G ′ G' G为连通无环图。
(贪心选择性质)
不失一般性,令起始点为 v 1 v_1 v1,贪心选择策略是找到与 v 1 v_1 v1连接边最短的节点,以及相应的边的点记为 v a v_a va,相应的边为 e b = ( v 1 , v a ) e_b=(v_1,v_a) eb=(v1,va),现证明 e b e_b eb包括在某个最优解中。
G ′ G' G为一棵最小生成树,其中不包括 e b e_b eb,则将 e b e_b eb加入 G ′ G' G中,将形成一个环,不考虑该环之外的节点,每个节点的度刚好为2,令该环中与 v 1 v_1 v1相关的另一条边为 e c e_c ec,则删除 e c e_c ec后,获得另一棵生成树 G ′ ′ G'' G,由于 w ( e b ) ≤ w ( e c ) w(e_b)\le w(e_c) w(eb)w(ec) G ′ ′ G'' G也一定为一棵最小生成树。
(最优子结构性质)
不失一般性, 令某棵最小生成树 T 1 T_1 T1中, 权值最小的边 e 1 e_1 e1连接的两个节点设为 v a v_a va v b v_b vb, 在原图 G G G去除边 e 1 e_1 e1,合并 v a v_a va v b v_b vb,令 V ′ = { v 1 , v 2 , … , v n − 1 } \mathbf{V'}=\{v_1,v_2,\dots,v_{n-1}\} V={v1,v2,,vn1},将节点 v a v_a va v b v_b vb合并后节点设为 v c v_c vc,对于 G G G中同时和 v a v_a va v b v_b vb相连的边,选择其中权值最小的边与合并的 v c v_c vc相连,得到新的子图 G ′ G' G,现需证明 G G G的最小生成树 T 1 T_1 T1包含图 G ′ G' G的生成树 T 1 ′ T_1' T1是图 G ′ G' G的最小生成树,。
假设 G ′ G' G的最小生成子树不是 T 1 ′ T_1' T1,则存在另外一棵生成树 T 1 ′ ′ T_1'' T1。即 W ( T 1 ′ ′ ) W(T_1'') W(T1)< W ( T 1 ′ ) W(T_1') W(T1),将 T 2 T_2 T2的点 v c v_c vc分裂成点 v 1 v_1 v1 v 2 v_2 v2,以边 e 1 = ( v 1 , v 2 ) e_1=(v_1,v_2) e1=(v1,v2)相连,则得到图 G G G的一棵生成树 T ′ T' T,有
W ( T ′ ) = W ( T 1 ′ ′ ) + w ( e 1 ) < W ( T 1 ′ ) + w ( e 1 ) W(T')=W(T_1'')+w(e_1)<W(T_1')+w(e_1) W(T)=W(T1)+w(e1)<W(T1)+w(e1)

这与假设中的 T 1 T_1 T1为最优最小生成树矛盾。

红蓝眼睛

假设岛上有100个人,其中95个蓝眼睛,5个红眼睛的人。游戏规则是:知道自己眼睛颜色的人能得到赏金并且离开小岛,且红眼睛个数决定最终。(岛上的人不能通过消息传递,或是镜子等一切物品了解到自己眼睛的颜色。)一天,一个旅行者到达岛上来说了一句话“岛上有红眼睛的人”。那么在第几天岛上的人能全部离开?
首先从第一个人推理:如果我是红眼睛看到了有4个红眼睛的人和95个红眼睛的人,那么第一天无人敢领(证明不止1个红眼睛),第二天无人敢领(证明不止2个红眼睛),…,到第四天还是无人敢领,(证明存在>=5个红眼睛),而我就是那第五个红眼睛的人,最终第五天红眼睛的人都去领了赏金离开小岛,蓝眼睛的人第六天都去领了赏金离开了。
思考:1.旅行者的话起来什么作用?
通知了一个公共消息,作为触发条件开始执行。
2.若旅行者的消息改为“岛上有蓝眼睛的人(蓝眼睛的人先去领)”是否与刚刚的消息等价?
这样条件换了貌似结果相反,跟从眼睛颜色个数来确定领赏的天数。
若还是红眼睛的先去领赏,那么当有99蓝,1红,那么永远那个红眼睛的人不敢去领。
但99蓝,1红,能按照上面逻辑推出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

curry•库里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值