贪心法解决着色类问题的三步证明(会场安排问题为例)

贪心法解决着色类问题的证明(会场安排问题为例)

问题描述:

假设要在足够多的会场里安排一批活动, 并希望使用尽可能少的会场。设计 一个有效的贪心算法进行安排。(这个问题实际上是著名的图着色问题。若将每个活动作为 团的一个顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相当千要 找的最小会场数。)

贪心策略:每次选择与前一个活动相容的开始时间最早的活动。

令原问题为:在第一个房间的时间限制为limit的条件下,对于活动集合S,需要增加的最少房间数。(时间限制指的是选择放在第一个房间的活动开始时间t必须>=limit)

全部活动的集合为S。


1.最优子结构性质:

设E为原问题的最优解,活动1是E中安排的第一个活动。那么F=E-{1}是集合S-{1}在时间限制为t1下的最优解。

证明:假设存在集合S-{1}在时间限制为t1下的最优解F’ ,有room(F’) < room(F) ,那么room(S)= room(F) + 1 > room(F’)+1 与S是原问题的最优解矛盾。因此F=E-{1}是集合S-{1}在时间限制为t1下的最优解,即原问题具有最优子结构性质。


2.贪心选择性质:

E中第一个活动为1 ( t1>=limit) 而满足时间限制limit的开始时间最早的活动为k (tk>=limit)

①k==1:那最优解就是以贪心选择开始的最优解。

②k!=1:所以tk<t1,容易直到活动1和活动k不可能安排在同一个房间1。

假设活动k安排在第m个房间,它的前一个活动是x ,且一定满足x的结束时间endt(x)<=tk

如下图:

 

 x

将房间1包括活动1的后面部分活动,与房间m包括活动k在内的后面部分活动交换,得到解E’,如下:

 y

 

因为t1>tk且tk>=endt(x),所以t1>endt(x),所以E’中的解是相容且可行的。又room(E)==room(E’),E是最优解,因此E’是最一个优解。

因此可以通过以贪心选择开始得到最优解。


3.步步贪心可以得到最优解:

证明:一共n个活动,证明第k步可以通过贪心得到整体的最优解(1<=k<=n)

①当k=1时,根据贪心选择性质,假设成立。

②假设k-1步假设成立, 那么对于第k步:

  1. 设前k-1步通过贪心可以得到整体最优解E, 那么根据最优子结构性质,F=E-{x1,x2,……xk-1} 是S-{x1,x2,……xk-1}在限制时间为endt(k-1)下的最优解。(xi表示第i步选择的物品编号)
  2. 由贪心选择性质可知,对于S-{x1,x2,……xk-1},限制时间endt(k-1)的问题,可以通过第一步贪心选择,得到整体最优解,设为F’。
  3. 所以room(F’)==room(F),令E’ = E- F∪F’ 那么E’也是整体的最优解。即第k步贪心选择可以得到整体的最优解。

综上,通过步步贪心,可以得到整体最优解。


因此通过以上三步,证明了会场安排问题可以用贪心法解决。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

hnu哈哈

请接受直女的么么哒????

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

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

打赏作者

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

抵扣说明:

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

余额充值