当前位置:   article > 正文

kcf算法中cos_window是什么意思_漫画:五分钟学会贪心算法

cos window怎么计算

972c85ee230f024da2abd7463fcbfebd.png

895f53aa6b0604c8cbab61ac6d888dd5.png

欢迎关注微信公众号:视学算法,回复【学习】即可获得5T程序员全栈资料。

3c27fb1cf4bbe9cf148fdd89abd27361.png

05edaeba67084f5e2d372abe678b0d5b.png

b44940d53bd589cf0ae53c5f7a2ae4ae.png

3374182202aa28de979e6e8f824dc809.png

1bacb7fe6624c9d10ddad769adc287de.png

假设一个问题比较复杂,暂时找不到全局最优解,那么我们可以考虑把原问题拆成几个小问题(分而治之思想),分别求每个小问题的最优解,再把这些“局部最优解”叠起来,就“当作”整个问题的最优解了。

d1af0025790a0d14ae325051b08bdf62.png

da2e5c5a3b348f51f872d8f105e3ec88.png

4982003adbc7222be2c80db39d7a4f59.png

57eb990c26367f3ca34c4443b5ea29c3.png

219f0b7a284826ff3894a263a4c8aea8.png

没毛病?没毛病走两步看看?? ! !

贪心算法的三步走!

第一步

明确到底什么是最优解?明确下来之后用小本本记下来!

第二步

明确什么是子问题的最优解?再用小本本记下来!

第三步

分别求出子问题的最优解再堆叠出全局最优解?这步不用记!

就是这么简单!

877b946b4497d39e3f27ae36c9bd4a27.png

0-1背包问题

有一个背包,最多能承载150斤的重量,现在有7个物品,重量分别为[35, 30, 60, 50, 40, 10, 25],它们的价值分别为[10, 40, 30, 50, 35, 40, 30],,阿广,如果是你的话,应该如何选择才能使得我们的背包背走最多价值的物品?

918d261efdd0eefd5f4c338231b067bb.png

5274a439a1a9855aee1ca8c9978dc7bc.png

按照刚才说的步骤实操一下吧!

没毛病?没毛病走两步看看?? ! !

贪心算法的三步走!

第一步

明确到底什么是最优解?

350a5fcd0bc6020c76d05fa6b99ba8ff.png

a527c33d7d76d151dae0fad8719365de.png

第二步

明确什么是子问题的最优解?再用小本本记下来!

ccd3d8a27004f0f7f9f49faade35ed5c.png

e8b2c2a411d70eedee01a8dabd71101d.png

1efbd3f127c2950462f5e8736458b5f0.png

第三步

分别求出子问题的最优解再堆叠出全局最优解?

按照制订的规则(价值)进行计算,顺序是:4 2 6 5 。

最终的总重量是:130。

最终的总价值是:165。

1f41753e4ce879b7e17562c421f76173.png

a2cd4ee82daf7a26b479d00912dfc3b3.png

按照制订的规则(重量)进行计算,顺序是:6 7 2 1 5 。

最终的总重量是:140。

最终的总价值是:155。

可以看到,重量优先是没有价值优先的策略更好。

5681f0eff055e04748400af30e362c65.png

b8c35df113f1102b3a7f720bde6e702c.png

5fcad9544b17340bd7524df552ee2017.png

按照制订的规则(单位密度)进行计算,顺序是:6 2 7 4 1。

最终的总重量是:150。

最终的总价值是:170。

可以看到,单位密度这个策略比之前的价值策略和重量策略都要好。

3826af9813784ccec0223e97390107c5.png

b93ecd6430fe42d52856d8cd2886594b.png

7fe762b829ecb409581ef76168544680.png

贪心算法三个核心问题!!!

872f812d7acaf2367da89255a191751a.png

219c0a5b4bf8018c623ad22cf2d9994b.png

是的,阿广,你说的基本意思正确!

下面我总结一下使用贪心算法的前提:

1、原问题复杂度过高;

2、求全局最优解的数学模型难以建立;

3、求全局最优解的计算量过大;

4、没有太大必要一定要求出全局最优解,“比较优”就可以。

那么几乎99.99999999999%就要使用贪心算法的思想来解决问题。

a34dc0e4ea45561295fb19018a2a0f3d.png

3788e2d826f14ba651adfba562dc22d5.png

按串行任务分

时间串行的任务,按子任务来分解,即每一步都是在前一步的基础上再选择当前的最优解。

按规模递减分

规模较大的复杂问题,可以借助递归思想(见第2课),分解成一个规模小一点点的问题,循环解决,当最后一步的求解完成后就得到了所谓的“全局最优解”。

按并行任务分

这种问题的任务不分先后,可能是并行的,可以分别求解后,再按一定的规则(比如某种配比公式)将其组合后得到最终解。

b4b38a33f534af28a0aa9e20c13b94b2.png

04110e1c11a3abe93a8f6f5bec9e5c04.png

468d358511d25ff3692c2b8d329ba078.png

b7f2dfe11f8add799114c0d88c487a46.png

成本

耗费多少资源,花掉多少编程时间。

速度

计算量是否过大,计算速度能否满足要求。

价值

得到了最优解与次优解是否真的有那么大的差别,还是说差别可以忽略。

3c3082603c64be374aa74a18113a947b.png

算法可以贪心

因为算法贪心可以解决

生活中的大部分问题

人啊

千万不要贪心

因为人贪心可以带来

生活中的大部分困难

侈则多欲

君子多欲则恋慕富贵

枉道速祸

推荐阅读

漫画:史上最简(详细)KMP算法讲解,看不懂算我输!

漫画:5分钟搞明白红黑树到底是什么?

漫画:什么是冒泡排序?

3c00c9e305f99a659e43a872c571fcb2.png

欢迎关注微信公众号:视学算法,回复【学习】即可获得5T程序员全栈资料。

6d2ebcee1f3b1a230e717e56b7b8f6ad.gif
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号