从装配线到DNA比对——神器动态规划

对于一个问题,我们如果可以枚举所有的解,那么这个解空间我们是知道的。那么如何在解空间里面找到最优解呢?这时有一个非常好的方法,从底向上地构造整个解,而每一步都是从地层寻求最优解,这样就能保证在最终得到的一定是最优解。这就是最优子结构,有这种结构的问题,通常都可以用动态规划的办法来寻求最优解。而且它是从小规模(子问题)到大规模问题的构造,而常常这样的解法能够用一张表直观地表现出来。表中的元素是一个表达式的某个特定值,这个表达式表现的是问题和子问题的关系,也就是如何在子问题中的解中寻找最优的关系,这样的关系在例子中会非常地明了。

【装配流水线】

往往最经典的算法书里面都会讲最经典的“装配流水线”问题。因为它相对来说比较简单,一个问题,只有两个个子问题,那就是两条流水线选哪条路径。即使是最简单的例子也会有一大通的表达式搞得头有点晕,不过多看几遍应该是可以克服的。

假设一个工厂有两条装配线:装配线0 和 装配线1 ,这两个装配线中有相同数量的装配站用于装配元件。

可以用下面的图表示两个装配站:

可以用Si,j 表示第i条装配线(i 为0或1)的第j个装配站。从一个装配线转移到另一个装配线的下一站需要消耗时间Ti,j,例如从第一条线的第一站到第二条线的下一站(即第二站)所用的时间为T1,1。表明是从一线一站出发,而不用标记下一站是几,因为下一战一定是另一条线的j+1站。我们可以选择第一条线还是第二条线,来使得最终出线的时候,用时最短。

可能用语言表达很混乱,那么就用图像说明一下这些符号吧:

时间: 2025-01-21 01:59:24

从装配线到DNA比对——神器动态规划的相关文章

【算法导论】动态规划算法之装配线调度

        和分治算法一样,动态规划是通过组合子问题的解而解决整个问题的.但是与分治算法不同的是,动态规划算法适用于子问题不是独立的情况,也就是各子问题包含公共的子子问题.动态规划通常用于最优化问题的求解.看一个问题是否适合采用动态规划算法,主要有两个标志:最优子结构和重叠子问题. 最优子结构:问题的一个最优解包含了子问题的最优解. 重叠子问题:当一个递归算法不断地调用同一问题时,我们说该最优子问题包含重叠子问题. 动态规划算法的设计步骤如下: 1.描述最优解的结构. 2.递归定义最优解的值

量产DNA:象制造芯片一样

Emily Leproust是热门生物技术Twist Bioscience公司的首席执行官和创始人,她是位投身纳米技术的实业家. "我提醒公司里的各位,我们是一家制造公司,"她说. "我们制造的是DNA." Twist的是年轻的合成生物学产业的一部分,它生产活的生物组织,生物实验室是工厂车间.制造DNA的生产线-组装生命基本组成部分基因的遗传密码,科学家正在创造世界从来没有见过的生物.而这些新的生命形式可能有重要用途:生物学家已经创造了制药的酵母细胞和酿造喷气燃料的

《算法技术手册》一3.6.3 动态规划

3.6.3 动态规划 动态规划是分治算法的一个衍生,它将一个问题切分成多个更加简单的子问题,然后按照顺序逐个解决.对于每个子问题,它只求解一次,然后将结果存储起来以供后续使用,这样可以避免重复计算.此外,动态规划在计算当前解时,会结合较小规模的子问题的解,并且不断增加子问题的规模.很多情况下,最终计算出来的解即为全局最优解.动态规划常用于求解最值优化类问题上.下面通过一个示例来阐释动态规划算法.科学家经常通过比对DNA序列来确定其相似性.现有这样一个DNA序列--由A.C.T.G所组成.因此,一

百度筷搜 - 能检测地沟油食物酸碱度,“神器”还是“玩具”?

class="post_content" itemprop="articleBody"> 在油里放一放,就知道是不是地沟油:在水里搅一搅,就知道食物酸碱度:在水果上碰一碰,就能得知水果产地--古有银针试毒,今有百度筷搜,食不我待,筷搜一下,筷插一下弹指间,"食"破惊天一招鲜(屌炸天)-- 近日,在北京举办的百度世界大会上,百度筷搜一经发布,引发社会各界广泛关注.不少消费者表示,这是食品安全的福音,百度筷搜仿佛"神器",能

JS表格组件神器bootstrap table详解(基础版)_javascript技巧

一.Bootstrap Table的引入 关于Bootstrap Table的引入,一般来说还是两种方法: 1.直接下载源码,添加到项目里面来. 由于Bootstrap Table是Bootstrap的一个组件,所以它是依赖Bootstrap的,我们首先需要添加Bootstrap的引用. 2.使用我们神奇的Nuget 打开Nuget,搜索这两个包 Bootstrap已经是最新的3.3.5了,我们直接安装即可. 而Bootstrap Table的版本竟然是0.4,这也太坑爹了.所以博主建议Boot

github神器--Atom编辑器初体验

Atom 1.0正式式版已经出来好几天,自从听说github出了这神器之后,一直想体验一吧,这两天终于体验上.   下载: https://atom.io/   其实,我的网速还不错,但总是下载到一半就没网速了.最后用360浏览器的下载器总算是下载下来了. 这里提供一下网盘链接:http://yunpan.cn/ccebYTpa96rdX (提取码:ff57)   因为一直是Sublime的用户,所以,第一眼看到它的时候,还是很眼熟的. 有木有?有木有~?   下面先写打个招呼,认识一下  .

经典动态规划基础题-三角形最大和问题

三角形最大和问题 Time Limit:1000MS Memory Limit:65536K Total Submit:79 Accepted:22 Description 现在经常有一些数学问题困扰着小明.有如下一个三角形, 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 小明想求出从顶至底的某处的一条路径,使该路径所经过的数字的总和最大.现在想请你编一个程序实现这个问题. 说明: (1)每一步可沿左斜线向下或右斜线向下: (2)1<三角形行数≤100; (3)三角形中的数字为0,

i9300变砖后用救砖神器也不行怎么办

问题描述 i9300变砖后用救砖神器也不行怎么办 i9300变砖后用救砖神器没有反应,该怎么办 急....求高手帮忙

Photoshop图层转CSS3代码之神器-CSS3Ps插件

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 人生为棋,我愿为卒,行动虽慢,可谁曾见我后退一步.技术永无止境,只有想不到,没有做不到. 近期又做了个微信上手机触屏版的项目, 完工后总结了一些经验,无意中发现Photoshop里一些渐变.投影.内阴影的效果转化成CSS3如此之简单,那就是神器CSS3Ps插件.让我眼前一 亮啊.好啦,不卖关子了,进入正题,下面是我翻译CSS3Ps插件官网一篇