Greedy Method

Greedy Method

3.1Introduction

解决最优化问题,最大最小问题

P: A->B

image-20220417211934610

对于任何一个方法不止一种解决方法

  • feasible (可行性)solution require:

​ satisfy some condition limitations

  • Optimization problem require:

    min result/max result Optimal solution (feasible + optimal) only one

image-20220417212547168

这三种方法都是可以使用去解决最优化问题

example :

image-20220417213737502

collect feasible solution->choose the optimal

假设你想买一辆车,你希望这辆车是best car,那么你如何选择这些车?

check all the car (time consuming)

select brand ,找出你最喜欢的车,这是用你自己的method去选择的,基于不同的选择标准优惠不同的结果。不用检查所有的车,只需要选择一些,最终选出你想要的,这种方法就叫做greedy

再举一个例子,你的公司招人,你经过重重测试选择除了一个人,你这里并没有把所有的人都看一遍,只是通过某些条件过滤掉了某些人,然后通过这种method选出了最佳的人,这种方法就是贪心。

follow known method 去解决问题,你就能够很快的去解决问题

3.1 Knapsack Problem

把东西装进背包,在容量允许的情况下获得更多的利润:

constraint: weight < 15kg

image-20220418213453957

我们可以找出很多的feasible解,但是这并不是最优解

image-20220418213526929

是选择最小的重量/选择profit大的?

先计算p/w的比值:

image-20220418212456408

input:谁的profit/weight越好,就先放入

image-20220418212954172

这里算到最后只剩下2kg,但是这个p/w = 1.3的产品需要3kg的重量,因为是divisible,所以我们可以只取2/3。

最终的利润:

image-20220418213435269

这里满足constraint,所以feasible

posted @ 2022-04-18 21:38  记录学习Blog  阅读(26)  评论(0编辑  收藏  举报