花束制作实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

篇一:花束摆放实验报告

算法设计与分析实验报告

动态规划之花束摆放问题

一.问题描述

现有f束不同品种的花束(每束花用1~f的整数唯一标识)和至少为同样数量的花瓶按顺序摆成一行,其位置固定于架子上并按从1到v从左到右依次摆放。其中v为花瓶的数量,则有f<=v。标识花束的整数决定了花束在花瓶中的顺序。例如有花束i和花束(ji<j)则花束j不能放在花束i的前面。每个花瓶只能放一种花束,若花瓶的个数多于花束的数量,则多出来的花瓶空置。

假设每个花瓶都具有各自的特点,那么当不同的花束放入不同的花瓶的

时候便会产生不同的美学效果,并用一个美学值来(整数)表示。约定空置的花瓶的美学值为0。为取得最大的美学效果,必须在保持花束的顺序的前提下,使花束的摆放取得最大的美学值。现需给出一种取得最大美学值的摆放方式。

二.求解思路

设b【i】【j】表示第i朵花放在第j个瓶子里产生的美学值,

设m【i】【j】表示总共i朵花放入j个瓶子中产生的最大美学值(其中i<=j)

思路一:采用分治法的思想,当花束数量等于花瓶数量,即f=v 时,问题只有一种解决方案。那么,当f<v时,求解f朵花放入v个瓶子的最大美学值可以转化为求解f-1朵花放入k (f-2<k<j)个瓶子的最大美学值加上第f朵花放在第v个瓶子所产生的美学值。即:m[i][j] = max{m[f-1][k](f-2<k<j)}+b[i][j];但上述思路是有缺陷的,因为以上思路是假设第f朵花放在了第v个瓶子中,

而实际情况下,求解f朵花束放入v个瓶子中的最大美学值时第i朵花束并不一定放在第v 个瓶子中(当v>f时,根据鸽舍原理,一定有一朵花有至少两种选择放入不同的花瓶中。假设这就是第f朵花,则它不一定放入第v个瓶子中)。假如第f朵花不是放在第v个瓶子中而是在选出的方案中选择一个空置的瓶子放入,则可能破坏了花束的摆放顺序,不符合题意。那么要求得f朵花放入v个花瓶中的最大美学值,就必须遍历所有花束摆放的情形,找出其最大值,也就是m[f][v]=max{m[f][f],m[f][f+1],……,m[f][v]};

而且在每一次将问题细分的时候,需要找到前面所取得的最大美学值,这一

过程实际上是有重复的。比如下面这个例子:

1234 求2朵花放在4个瓶子里产生的最大美学 18349 实际上和2朵花放在3个瓶子里产生的最大 2 3712 美学值相同。若采用上述的方法,需要比较 3 1525 两次2朵花放在3个瓶子里的情况。

思路二:上述方法尽管有缺陷,但我们可以基于以上思想进行改进。我们用

m[i][j]表示i朵花放入j个花瓶中产生的最大美学值。那么当第i朵花放在第j个瓶子时,我们只需知道前i-1个瓶子放入j-1个瓶子的最大美学值m[i-1][j-1],也就m[i][j]=m[i-1][j-1]+b[i][j];

若第i朵花不放在第j个瓶子中,则问题变为求解i朵花放入前j-1个瓶子的最大美学值,也就是m[i][j]=m[i][j-1];这两种情况可以囊括所有i朵花束放入j个花瓶中的情形,且对于每个m[i][j]来说,求解它的值可以化为求解它的子问题m[i-1][j-1]或m[i][j-1],不会出现重复计算。

因此,计算m[i][j]具有求解最优子结构的性质。其计算方式为:

m[i][j] = max{m[i][j-1],(m[i-1][j-1]+b[i][j])}。值得注意的是,当i=1时,m[1][j]=max{m[1][j-1],b[1][j]}.

我们可以用一个例子来说明这个算法:

为了保持花束的顺序,我们可以规定第i朵花只能放在第i~v-f+1个瓶子上,也就是当j<i 或者当j>v-f+1时b[i][j]=0。据此,我们给出一组3朵花放在5个瓶子里的美学值:花\瓶 1 2 3

1 6 0 0

2 10 4 0

3 0 7 6

4 0 0 3

那么根据上述的求解最优子结构的动态规划算法,可以得到下面这个二维数组m[i][j]: 三.具体实现:

实验环境:dev-c++

实验数据:本实验给出20组数据作为数据集写入data.txt中。第i朵花放在第j个瓶子产生的美值b[i][j]由随机数给出(当j<i或j>v-f+1时,b[i][j]=0),其中10组数据1<=f<=v<=10,另外10组数组1<=f<=v<=100.

也可以自己手动输入花束数量f和花瓶数量v来查看实验结果。

实验测试:本实验通过data.txt文件读入20组数据,分别对其求解,并将所求得的结果写入result.txt文件中。篇二:干花艺术设计实验报告

课程名称:

实验名称:

专业班级:姓名学号:

指导老师:实验报告

园林花卉学

_________ 干花艺术设计报告

xxx

xxx xxxxxxx

xxxx

日期:二0一五年六月二日

干花作品设计报告

作品名称:新生

材料名称:

月季(rosa chinensis jacq.),为蔷薇科

白晶菊(chrysanthemum paludosum),菊科

鸡爪槭(acer palmatum thunb),槭树科

角堇(viola cornuta),堇菜科

乌蕨(stenolomachusanum linn.ching),鳞始蕨科

材料制备方法:

摘取新鲜的材料花叶,放入两张吸水纸之间(吸水纸尽可能的多)然后夹入书中,然后将夹有材料的书放在重物下,大约压个一两个星期左右作品制作过程:

一:在制作这个作品的时候,我首先做的是将所有的素材整齐的摆好,从中挑选出中心素材,作为整个作品的焦点,以便于立意。反复挑选之后,发现鸡爪槭的种子酷似正在发芽的幼苗,于是抓住了整个作品的立意,初步确定了以鸡爪槭种子为中心焦点的作品。

二:然后,对边框进行一个设计,用植物素材将画面包围起来,表现出一个百花围绕的环境。加上左上角的花朵,与幼苗顶端的雨云,将自然理想环境表现出来。三:最后对作品的细节进行设计。最终完成作品作品内涵与欣赏《新生》

我们是新的希望我们是新的开始。虽然我们现在还很稚嫩我们周围百花围绕有太阳洒着

相关文档
最新文档