背包设计

2024-05-22

背包设计(共12篇)

背包设计 篇1

1 背包架电梯基本特征

目前常见的背包式电梯吨位一般在1000kg以下, 提升高度、速度都比较低, 多采用1:1绕绳结构。如图1, 轿厢导轨、对重导轨位于轿厢的一个侧面, 这样其他的三个面就具有巨大的利用价值。比如三个侧面均可以开门、均可以设置观光等, 其他形式电梯布置形式很难实现。且从图中可以看出, 曳引机架在导轨上的话, 其对井道建筑的要求低, 对降低建筑成本也非常的有利。

由于背包架电梯的L型轿厢架这一结构特征, 实际应用过程中有很大的限制。

一方面是对导轨的要求较严格限制。由于其L型结构 (悬臂结构) , 轿厢的自重和额定载重通过轿厢架上的导靴施加在导轨上, 且在轿厢架立梁上部导靴处施加的力与在轿厢架立梁下部导靴处施加的力方向相反, 这样就使导轨在运行过程中承受巨大的弯矩。同时, 由于井道垂直方向上, 导轨是由多根导轨通过导轨连接板连接而成, 一般是5米一根, 而背包架电梯中轿厢的导靴与导轨在运行的过程中始终是接触的, 这样其对导轨的安装要求就很高, 特别是上下两根导轨接头处的处理。导轨本身的强度、连接处的强度、垂直度、光洁度等不仅影响电梯运行的舒适感, 甚至影响电梯的运行安全。另外容易加剧导靴靴衬的磨损, 需要经常更换靴衬, 费时、费工、费钱。

另一方面是对其轿厢架的受力要求限制。由于其轿厢架采用悬臂结构, 轿厢架的下梁属于悬臂梁, 承载着轿厢的自重、额定载重。这样对整个轿厢架的受力要求就非常高。

2 优化设计及分析

2.1 传统结构

一般背包式电梯轿厢架的受力简图如图3所示。其中F1、F3处是轿厢上下导靴位置, F代表轿厢的额定载重和轿厢自重。

则力F1与F3大小相等、方向相反。

鉴于以上的特殊要求, 现在的背包式电梯其额定载重、速度都不是很大。一般额定载重在1000kg以内, 速度小于1.5m/s。

背包式电梯的结构限制主要体现其悬臂结构, 钢丝绳悬挂点位于导轨处, 与质量中心偏离一段距离, 这样就影响了电梯运行的舒适感, 对轿厢架、导轨及导轨支架的受力要求很高。如果能够让钢丝绳的悬挂点尽量靠近悬挂点位置, 则可以对电梯的各方面性能有很大的优化。

2.2 优化设计

如图4, 采用2:1曳引比, 在轿厢架钢丝绳悬挂位置增加动滑轮, 通过两个动滑轮使悬挂中心点尽量靠近质量中心, 减小由于轿厢自重和额定载重对导轨产生的弯矩。

该创新型背包式电梯轿厢架的受力简图如图6所示。其中F1、F3处是轿厢上下导靴位置, F代表轿厢的额定载重和轿厢自重。

则力F1与F3大小相等、方向相反。

由上述公式知, F、F2均属于系统质量, 无法改变, 所以当L3增大时, 其力F1、F3相应减小。但随着L3的增大, 由于动滑轮采用悬臂设计, 其机械强度要求高, 应力集中部位就更加难以设计, 导致成本增加。因此, 不能依靠不断增加L3, 来提高舒适度, 需要一个合理的设计, 在舒适感、经济型、结构要求方面进行平衡。

2.3 ANSYS分析及PMT测试

通过运用ANSYS进行有限元分析, 其最大应力约为84MPa, 结果符合要求。

最终通过PMT进行测试, 其在运行过程中由于导轨变形引起的振动有很大程度的降低, 特别是运行过一段时间后, 在导轨接头处由于受力工况的改变, 其接头处导轨的变形量减小, 电梯Y轴方向上的明显周期振动大幅削弱, 有效的降低了导轨接头处间隙对电梯舒适感的影响。

图8为改进前传统结构时变加速度测试数据图, 轿厢偏载严重, 导靴压紧在导轨面上, 对导轨特别是导轨接口要求高, 受导轨接缝处精度影响严重。如图Y向, 每隔5m左右 (电梯导轨5m一档) , 电梯有一个明显跳动, 影响电梯舒适感。

图9为改进后变加速度测试数据图, 偏载问题得到了有效解决。间隔5m左右的跳动不明显, 电梯整体舒适感也有了很大提高。

同时, 由于采用了新结构, 其导轨型号由原来的T114降低为T89, 其各方面要求还是可以很好的满足要求, 降低了产品成本。

背包设计 篇2

题目

有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。

基本思路

这个问题非常类似于01背包问题,所不同的是每种物品有无限件。也就是从每种物品的角度考虑,与它相关的策略已并非取或不取两种,而是有取0件、取1件、取2件„„等很多种。如果仍然按照解01背包时的思路,令f[i][v]表示前i种物品恰放入一个容量为v的背包的最大权值。仍然可以按照每种物品不同的策略写出状态转移方程,像这样: f[i][v]=max{f[i-1][v-k*c[i]]+k*w[i]|0<=k*c[i]<=v}

这跟01背包问题一样有O(VN)个状态需要求解,但求解每个状态的时间已经不是常数了,求解状态f[i][v]的时间是O(v/c[i]),总的复杂度可以认为是O(V*Σ(V/c[i])),是比较大的。

将01背包问题的基本思路加以改进,得到了这样一个清晰的方法。这说明01背包问题的方程的确是很重要,可以推及其它类型的背包问题。但我们还是试图改进这个复杂度。

一个简单有效的优化

完全背包问题有一个很简单有效的优化,是这样的:若两件物品i、j满足c[i]<=c[j]且w[i]>=w[j],则将物品j去掉,不用考虑。这个优化的正确性显然:任何情况下都可将价值小费用高得j换成物美价廉的i,得到至少不会更差的方案。对于随机生成的数据,这个方法往往会大大减少物品的件数,从而加快速度。然而这个并不能改善最坏情况的复杂度,因为有可能特别设计的数据可以一件物品也去不掉。

这个优化可以简单的O(N^2)地实现,一般都可以承受。另外,针对背包问题而言,比较不错的一种方法是:首先将费用大于V的物品去掉,然后使用类似计数排序的做法,计算出费用相同的物品中价值最高的是哪个,可以O(V+N)地完成这个优化。这个不太重要的过程就不给出伪代码了,希望你能独立思考写出伪代码或程序。

转化为01背包问题求解

既然01背包问题是最基本的背包问题,那么我们可以考虑把完全背包问题转化为01背包问题来解。最简单的想法是,考虑到第i种物品最多选V/c[i]件,于是可以把第i种物品转化为V/c[i]件费用及价值均不变的物品,然后求解这个01背包问题。这样完全没有改进基本思路的时间复杂度,但这毕竟给了我们将完全背包问题转化为01背包问题的思路:将一种物品拆成多件物品。

更高效的转化方法是:把第i种物品拆成费用为c[i]*2^k、价值为w[i]*2^k的若干件物品,其中k满足c[i]*2^k<=V。这是二进制的思想,因为不管最优策略选几件第i种物品,总可以表示成若干个2^k件物品的和。这样把每种物品拆成O(log V/c[i])件物品,是一个很大的改进。但我们有更优的O(VN)的算法。

O(VN)的算法

这个算法使用一维数组,先看伪代码:

for i=1..N

for v=0..V

f[v]=max{f[v],f[v-cost]+weight}

你会发现,这个伪代码与P01的伪代码只有v的循环次序不同而已。为什么这样一改就可行呢?首先想想为什么P01中要按照v=V..0的逆序来循环。这是因为要保证第i次循环中的状态f[i][v]是由状态f[i-1][v-c[i]]递推而来。换句话说,这正是为了保证每件物品只选一次,保证在考虑“选入第i件物品”这件策略时,依据的是一个绝无已经选入第i件物品的子结果f[i-1][v-c[i]]。而现在完全背包的特点恰是每种物品可选无限件,所以在考虑“加选一件第i种物品”这种策略时,却正需要一个可能已选入第i种物品的子结果f[i][v-c[i]],所以就可以并且必须采用v=0..V的顺序循环。这就是这个简单的程序为何成立的道理。

值得一提的是,上面的伪代码中两层for循环的次序可以颠倒。这个结论有可能会带来算法时间常数上的优化。

这个算法也可以以另外的思路得出。例如,将基本思路中求解f[i][v-c[i]]的状态转移方程显式地写出来,代入原方程中,会发现该

方程可以等价地变形成这种形式:

f[i][v]=max{f[i-1][v],f[i][v-c[i]]+w[i]}

将这个方程用一维数组实现,便得到了上面的伪代码。

最后抽象出处理一件完全背包类物品的过程伪代码:

procedure CompletePack(cost,weight)

for v=cost..V

f[v]=max{f[v],f[v-c[i]]+w[i]}

总结

背包设计 篇3

有媒体在街头随机称量了100人的背包,65%的人背包重量都在3公斤以上,其中最重8.8公斤,相当于15大瓶矿泉水。由于背包太重导致出现肩膀或后背酸痛、左右肩膀高低不平等症状的人,已经占到70%以上。很多人没有意识到,沉重的背包已悄悄成为一个危险的“健康杀手”。

“背包病”这颗“健康炸弹”一旦爆炸,会给人的全身健康都带来一定的影响。

◆脖子酸、肩膀疼

研究发现,长时间坐在电脑前又背大包的人,往往是肩颈酸痛、肩手麻木无力症状最突出的人群。背包过重会让脖子不自觉地倾向一边,一边肌肉拉伸,一边紧缩,这样很容易导致疼痛。过重的背包还会让肩背部肌肉,如斜方肌和提肩胛肌长期受到压迫,可能出现慢性拉伤。

◆脊柱弯

驼背、脊柱侧弯、腰椎间盘突出、脊柱关节炎、坐骨神经疼痛等,都可能是背包过重惹的祸。美国波士顿东北大学理疗系主任安·威尔马思指出,在左肩背一个5公斤左右的大包,那脊柱右侧的肌肉就要产生15~20公斤的力量,才能维持身体平衡,这种肌肉组织发力的不平衡会牵拉脊柱造成弯曲,造成劳损、发炎。此外,太重的背包会导致椎间盘变性、下垂,压迫神经,还会带来坐骨神经痛。

◆手臂麻

很多女性喜欢将又大又沉的包挎在手臂上,老人买菜时也喜欢将装得满满的帆布袋用手拎着或挽着,时间长了,手臂或手腕很容易酸痛发麻。手腕长时间处于同一姿势或过度使用腕力,会因反复慢性的疲劳损伤导致腕管综合征。

◆臀部大腿劳损

很多人背着几十斤重的包长时间行走,负重大是膝关节磨损的一个高危因素。背包越重,膝关节的压力越大,容易产生关节问题,最终导致关节炎症。

◆背包最重不超过4.6公斤

科学家指出,背包最重也不应超过4.6公斤,而且这个重量只是可以偶尔为之。一个快速测量的方法是:找一个重量接近4.6公斤的东西(比如一袋重5公斤的大米),一手拎包,一手拎大米,包的重量别超过大米就行。

◆每天清理一次背包

美国专业生活咨询协会会员多娜·斯麦琳建议,每天睡前都应花1分钟检查、清理背包,取出一些不需要的东西,如发票、笔、零钱或没喝完的矿泉水,因为这些都会让你的包不知不觉变得越来越沉。

◆双肩包、斜挎包较安全

双肩包能使身体两侧肩胛骨向后、向下牵拉,从而在负重行走时保持脊柱的平衡和放松。斜挎包将包的重量平均分配到人体一侧肩膀和另一侧腰部之间,从而有效减少脊柱向身体某一侧的弯曲。此外,如果你的东西很多,最好选择尼龙、棉布和帆布材质的包,而不要选本身重量就很大的皮质包。

◆每10分钟换一次肩膀背包

美国按摩协会发言人辛西娅·沃恩医生建议,不管肩背还是手拎,最好每10分钟将包换到另一侧肩膀或另一只手上,这能有效防止颈椎和脊椎劳损。

◆走路姿势要“正直”

人们在携带大包时要纠正不良走路姿势,应该保持身体笔直让头和肩膀基本“正直”。如果大包是一种时尚饰物,那么偶尔背一下,或象征性地背一下也未尝不可。如果真用它放东西,也别放太多。

户外背包的功能与结构设计 篇4

在户外运动背包的特点上,有强调轻量化的、结实耐用的,还有强调背负舒适的。功能上,有登山的、徒步的、探洞的,还有骑车专用的等。

现今的户外背包已不再仅仅是背负装备的工具之一,在某些特殊的情境下,它甚至可以变为保暖的睡袋或是用来救死扶伤的担架。

户外产品的精髓就是满足人们在户外活动中的需要,而这种把需要转化为设计的工作,正是户外研究者所极为关注的。

1 常规功能

1.1防水性

背包不仅在材料上须注重防水性,同时设计上还应考虑到雨天的实际情况。专业运动背包一般应有防雨罩或其他一些专业的防水功能。

现在市场上常见的防水面料是Cordura尼龙面料。根据其密度的不同,这种面料的防水程度也会有所不同。也可采用改性、复合等方法来获得防水性: 一是从织造上采用防水的纱线; 二是在后整理时采用防水的助剂; 三是从材料组合上采用复合防水材料。

除了面料的防水处理,在背包的工艺制作中也会采取双倍线缝合和外层压胶的方式,达到更好的防水功效。

防雨罩的设计需要比背包大一点,这样可以保护外挂的帐篷或防潮垫。

目前有专为游泳或潜水运动设计的一种防水背包,可将湿衣物与干衣物分开放置,避免干衣物发潮。湿层部分设置有透气孔,可以让湿气由内向外散出。如现有产品中由防水材质( 如PVC) 制成的背包本体,背包本体内部的相对扇面上设置有隔层,可以将背包内的容纳空间分割为2部分[1]。

1. 2 透气性

设计中主要考虑背部的空间,提高其舒适度的同时,也考虑到背负的透气性。做好这一点主要考虑结构、设计2 方面。

一般将人体第3、第4 腰椎处作为背负系统的主要支撑点,凹下去的部分就形成了空气流通的通道,使运动中产生的热量和汗气及时散发和排出。比如在背包的肩带部分,利用凹下去的部分形成空气对流,在炎热的天气里,不会让使用者感到背包贴身所带来的不适感,见图1。

1. 3 安全性

运动过程中,人们往往将注意力放在享受大自然和体验运动所带来的快乐之中,而疏于对财物的看管,给出行带来极大安全隐患。所以考虑到安全性,人们对运动背包的防盗、报鸣等功能有了更高的要求。例如,有的旅行包内设有金属安全盒,即使包身被割破了,小偷也拿不走钱和一些贵重物品,并且底部设置铰链,旅途中可以锁在行李架上,不易被他人拿走或拿错[2]。

( 1) 密码锁

最常见的防盗安全装置是密码锁。密码锁在结构上看起来很简单,但使用方便,防卫也比较隐蔽、安全保险。

密码锁主要由锁销、锁体、固定片、转轴等部件组成。设计户外包的时候,可以考虑在端头底部的侧面处安装固定片,转轴的一端与固定片轴接,另一端与锁体固接,锁体在户外背包端头底部的内侧面,与锁体相邻的户外背包的底部和侧面设置有相应的锁孔和钥匙孔,它的优点是防盗性好、使用携带方便。见图2、图3。

( 2) 反光条

反光条一般应用在背包外部的中间部位,主要是为人们在夜晚行走中提供视觉提醒。反光条不仅在户外运动背包中使用,在儿童书包中也有使用,其目的是提高儿童夜间行走的安全性。

( 3) 报鸣器

报鸣器类似汽车的报鸣系统,配有相应的感应器。在设计背包报鸣器时,可借鉴保险柜、重要库房等的报警传感器原理,并在此基础上进行改造性设计,使之方便应用于户外背包上,但报鸣器成本较高。

( 4) GPS定位

GPS定位系统可以满足位于全球任何地方或近地空间的军事用户连续精确的确定三维位置、三维运动和时间的需要[3]。

对于户外爱好者来说,尤其是登山者,在运动中遇到迷失、迷路等突发状况时,GPS系统的定位可以方便其他人给予救助,在一定程度上保障了户外运动爱好者的人身安全。

除此之外,有些户外背包通过在包身上内置前后摄像头,可在徒步旅行、跑步、滑板、攀岩、骑行等情况下,多角度、多视角的记录运动画面。在独自远足爬山的情况下,将背包取下置于前方,可以控制摄像头自拍。也可以通过内置计步器,记录负重跑步运动时消耗的卡路里。

1. 4 装载性

背包的基本功能就是作为各种装备的移动载体。因此,对于一些外形奇特的物品,就需要有专门的装载包体。为了方便携带各类特殊物品,通常在背包宽大的包体上,还可以看到的各种各样的扣袋和兜网。根据位置的不同,这些多兜结构的设计大多分布在包顶、包身、包底和睡袋仓等4 个重要位置。其中包身和睡袋仓外部的多兜结构,可以用来捆扎各类大型装备( 如防潮垫、帐篷等) 和放置专业器材( 冰镐、头盔等) 。

户外背包的多兜设计决定了它可放物品的多样性,并且方便拿取。其主要优点在于,可以将物品分门别类的存放。如: 内置的软垫,用来放置贵重物品或高档电子产品; 小兜放化妆品,可以方便女士们的出行。除此之外,还有文具袋、手机袋、大容量附袋、暗袋、零钱夹等。

背包左右2 侧分别有1 个可以放水壶的放置袋,主隔间附有水袋层设计与水袋孔洞。

外挂套或外挂带的设计,前者可以增加背包的容量,后者可以将帐篷防潮垫等固定在背包上。见图4。

2 新型功能

2. 1 保健

运动的目的是健身,若背包随身体的摆动本就具有按摩、健身的作用,那对于运动者来说是一举两得的事。可在背包背面设计按摩垫、气垫或按摩豆等。将按摩健身性同背包的功能性结合起来,会很受广大消费者的欢迎。

在背包体靠近肩部部位装有较硬的且不易变形的后背衬板,衬板上设置有通过手柄可以调节充气量的后背气垫,并在双肩背包带上设置有背带气垫。它通过加在背带上和背带侧部的可充放气的热垫的作用,将整个背包的重量分散开来,使背包者在背负时感到舒适,紧贴。既有利于青少年的健康成长,又满足成年人的健康保健要求。同时可充放气的手柄,可以握在手里随时随地的捏动,具有娱乐性,也可以达到锻炼手部肌肉的作用。

还有1 款包和坐垫组合装置,除了装东西,它还可与椅子相结合组成椅子的靠垫和坐垫,满足人们随时休闲按摩的欲望。见图5[4]。

2. 2 背负可调及平衡重心

背包的使用主要在于舒适性,面对个体之间的差异,需使用调节装置进行调试,以达到背负的舒适自在。与此同时,重心的平衡性也是不可忽略的。利用可调节性胸扣、腰扣或滑轮达到减负的目的,并通过调节重心来提升整体背负的稳定性。比如1 种可平衡重心的背包就具有以下的结构设计: 背包主体的底部或临近底部,设置1 个通过左右肩带的调节来使背包平衡重心的滑移装置,该滑移装置包括1 个设在背包主体底部或近底部处的通道,1 条连接带穿过通道,两端部分分别与左、右肩带的末端相连。当使用者的肩膀上、下、左、右活动时,肩带可带动连接带在通道内左右滑动,及时调节左、右肩带的长度,从而调整背包的重心,使背包的负荷始终都能平均的分配到双肩上,解决了活动时引起的肩膀负荷不均的问题[5]。例如国外1 款背包,叫做“自稳定背包”,无论背包的人做任何运动,这个背包都会根据运动者状态的不同来自动调节,始终保持人体本身的垂直,防止因自身位置改变给背包者带来的重心不稳定[6]。

2. 3 其他功能

虽是附属功能,但创新设计点相当独特,是其他背包所无法比拟的。如以下附属功能。

( 1) 播放器

背包在2 个背带的上缘分别设有喇叭,并于喇叭的位置设有网孔,喇叭的下方分别设有袋体,背包的内缘设有袋体,放大器放置于该袋体[7]。此种结构构造新颖、简单。在背包内部设置有喇叭和供放置音箱设备、扩音器的袋体,使背包具有收听及播放音乐、安放手提电脑的功能,给旅途中的背包族增添了不少乐趣,从而大大增加了背包的实用性。

( 2) 防护帽

在郊外旅游戴着防护帽,可防止一些意外事件对头部造成伤害,起到保护人体安全的目的。

包体造型是在背包本体的顶部附近,配装上防护帽与披肩罩,或配装防护帽与斗篷。不用时可折叠,收藏于背包内。

( 3) 伞套或雨衣

附带雨伞或雨衣给予出行者在雨天行走的方便。

内藏雨衣式背包,是将雨衣与肩负式背包结合为一体的结构。主体为以软质塑料布制成的具有1 对背带的肩负式背包。该背包内里缝合有1 件雨衣,且该雨衣可完全收纳于内扇面与次内扇面之间[8]。穿上雨衣时,除了可以像正常状态一样背负背包外,雨衣背部也设置有容置袋,可将背包收纳于该容置袋内,特别适合于登山爱好者使用。

由背包和折叠伞共同组成的带雨伞的背包,在背包的背带上,设置有1个开有拉链缝的伞套,在伞套内设置有一根支撑杆,起到支撑作用,折叠伞装在伞套内。这种设计不影响背包的功能,又方便人们携带和使用雨伞,而且结构紧凑,易于实现。

( 4) 两用运动鞋

是用于携带行走、滚动滑行两用运动鞋的背包。

带有背带、内外均设置有袋囊的包体,其特点是背包体的背面设置有2 层夹层,其中1 个装有拉手架,在拉手架上面固定1 块硬质板,硬质板背面,装有两用运动鞋底的前掌和后掌,并固定在硬板上,在前、后掌上安装可脱卸的滚轮装置。背包的2 侧各设置1 个袋囊,方便携带滚轮装置和两用鞋等用品[9]。

( 5) 其它特殊功能

睡袋背包: 打开背包可变成一个睡袋,卷起来后方便携带,可做枕头用,可背、可拎[10]。

增强户外活动效率的背包: 根据人体而设定,减缓肩带压力,减小分布在人体重心和腰部位置的压力,使人感到更舒服,从而更快、更高效的完成工作[11]。

太阳能背包: 与光伏组件结合,旅客在行走时可利用太阳能发电,所发的电可用于手机充电等[12]。

求生背包: 在落水时可通过多元件的组合,转化为个人漂浮装备,用于求生[13]。

束衣收缩结构背包: 方便户外运动中的打包。在打包前充分放松包体,填充满物品后,全方位的收紧拉伸带,对包内物品施以压力,以达到对物品固定紧缩的效果。增加活动中的稳定性,避免因包内物品晃动而产生的重心不稳等现象。

即时取放设计背包: 方便在户外活动中快速准确的找到所需物品。例如,花岗岩( Granito Gear) 品牌背包采用双向双拉链的前扇面,内部是由2个侧翼和几根固定带组成。取放物品时,只需将前脸打开,松开包内的固定带,就可以方便快捷地找到自己所需物品。

3 结束语

为了满足广大户外背包者对背包使用的安全性、舒适性等方面的需求,为使用者创造了更多的便利条件,设计者应在在户外背包结构功能等方面进行不断的改进:

( 1) 功能性强: 针对不同的户外运动,每款背包有着其不同的特色功能。既在安全性、透气性、防水性等各种基本功能上要求到位,同时具有强大的专业性能。

( 2) 耐用: 面料、里料和辅料等材料选择严格,保证背包所需要的强度与牢度。

( 3) 舒适: 设计上符合人体工学,在注重透气性的前提下,尽可能地符合人体生理曲线,便于负重行走。可调节的设计应用在户外背包中,男女老幼、高矮胖瘦都适用,又增加了它的稳定性和贴合性,从而提高了背包的整体舒适性。

( 4) 轻量化: 注重轻量化设计,重量分散,避免在背负背包时,压力过于集中在局部而引起某些潜在的病痛。

未来的背包作文 篇5

他的眼睛能投影,你随时随地都能看他放的.电影。

别看他个头小,他能将房子、家具、食物统统变成一个个小球,在装进自己的肚子里。

你也许会想食物会变质吗?不不不,你根本不用担心。因为小球能保持合适的温度,食物小球就相当于一个小冰箱。如果你准备了食材,只要把食材放进背包的“迷你厨师”,经过“迷你厨师”智能化处理,就能变成又好吃又营养的佳肴,不用担心吃泡面了。

背包机器人不用你一直背着,按下按钮,他自己会一直跟着主人。在人山人海的地方,你也不用怕背包被偷。只要人机分离超过五米,他就会发出警报,小偷就无处可逃了。

你甚至不用给他充电,他晴天靠太阳能工作,阴雨天还能靠吸收空气工作。

他是一个旅游小帮手,有了他,你外出旅游时可轻松了。只要把背包中的小球往地上一扔,砰的一下,里面的东西就变回了原样。

“火箭背包”飞天之旅 篇6

火箭背包也称飞行背包,是一种个人动力飞行器。早在1961年,美国贝尔航空系统公司的工程师摩尔就研制出了火箭背包的雏形,当时作为军用品对外保密。

溯其源头,火箭背包首先被应用于宇航业,20世纪60年代时,它还是一件装有卫星喷气推进装置的新型宇航服。这种宇航服重约160千克,外形犹如一把有扶手和踏板的座椅,宇航员可操纵它进退、上下、左右滚动、俯仰和偏航。每套宇航服配有12个氮气喷嘴,每个氮气喷嘴喷出的能量能产生0.7千克推力,推动宇航员以每秒30至60厘米的速度在空间移动。

后来,随着技术的不断发展,个人飞行器开始在地球上使用,出现了“火箭腰带”、“喷射背包”等产品。

火箭腰带由墨西哥航空宇宙科技公司罗扎诺发明。他对火箭背包情有独钟,一直在自行研究,终于在2005年发明出一种名叫“火箭腰带”的产品,系上它就能让人一飞冲天。这种腰带外形是一个背囊,由碳纤维、钦金属以及做防弹衣的凯夫拉等材料制成,可以防止火箭燃烧时的高温灼伤背部。使用者挎上背囊,束紧背带,按动开关,便可以翱翔蓝天了。

喷射背包由新西兰航空设计师马丁自行研发。据马丁介绍,他设计喷射背包的灵感来自年幼时看的《雷鸟》和《迷失太空》等影视作品。从20世纪80年代早期开始,他便专注于设计简易飞行器,希望让普通人无需专业训练就可实现自由飞行的梦想。数十年来,马丁设计了多款飞行器,通过不断调整,以实现安全性能高、容易操作的特性。

自2008年在美国“飞行秀”中被公之于世后,喷射背包引起了公众极大的兴趣。它能让人以时速约96千米的速度飞到2438米的高度,且一次可飞行30分钟。最新款背包主体是一个碳纤维架,后方是两个连在一起的大圆柱体,内部各有一台风扇,前方供飞行员站立,配有安全带和两根操纵杆。

“火箭飞人”是如何飞起来的?火箭背包里含有三种物质:过氧化氢推进剂、高压氮气、表面覆盖着硝酸钐的银(起催化剂作用)。它们能发生化学反应并产生推动力。火箭背包上安放的两只金属罐一共装有约23升的过氧化氢推进剂。使用者打开阀门后,高压氮气会被释放,将过氧化氢推入催化剂室中。

一旦进入催化剂室,过氧化氢便会和银材料发生反应,并转化成743℃的高压、过热的蒸气。蒸气从由金属罐顶端沿侧面延伸至使用者双臂后方的两条弯管中,并急速喷出。管道均用绝热材料包裹,以防热量流失(由于热量很高,使用者必须穿上耐热服来防止灼伤)。水和蒸气从排气管末端的两个喷嘴里喷出,产生超过1335牛顿的推力,这样的推力远可以将使用者送上天空,实现一次简短的火箭飞行。

马丁的喷射背包从飞行设计原理上看,更像是气垫船而非喷气飞机。它主要的构造是两具水平旋翼和一个具有200匹马力的活塞引擎。使用汽油的摩托发动机,通过汽车风扇皮带驱动两个扇形螺旋桨,螺旋桨在两个外表看似超大号汤罐的装置内水平旋转。这种涵道风扇设计比直升机无遮罩发动机效率更高。

发动机、燃料箱和飞行员处于升力扇中间和下方,以降低重力中心,避免喷射背包在飞行中上下颠倒而让人撞向地面。背包还配备一个火箭推进式降落伞,以备不时之需。

“背包”音读与语言对策 篇7

“背包”这个词语在今天的语言生活中常见。关于“背包”之“背”的音读,近来引起了人们(包括学者和中小学教师、学生)的关注(侯敏等,2007;zjly5912,2008),这与“背”是多音字有关。到底“背”该读阴平“bēi”,还是去声“bèi”,关系到在语言生活中选择何种语言对策。

遇到多音字方面的疑惑,人们首先想到的是查检字典、词典。但字典、词典是人编的,不同的人处理同一问题,难免出现不一致。“背包”之“背”有这个问题。

【背包】bēibāo行军或外出时背在背(bèi)上的衣被包裹:打~。一种可以背在背(bèi)上的包。(《现代汉语词典》第5版,2005)

【背包】bèibāo有背(bēi)带的包儿,多在行军或外出时使用。(《现代汉语规范词典》)

《现代汉语词典》(1996)和《倒序现代汉语词典》(1987)均由商务印书馆出版,《汉语大词典》第六卷(1990)和《现代汉语搭配词典》(1999)均由汉语大词典出版社出版,这四部词典都注bèibāo。《现代汉语逆序词典》(延边人民出版社,2005)、《多功能汉语常用字字典》(新世界出版社,1997)和《中华词典》(中华书局,2002)都注bēibāo。字典、词典的处理不一致,让读者难以选择。

不过,可以参看一下国家的语言文字规范、标准。《普通话水平测试实施纲要》里提到了“背包”,注音为去声“bèibāo”。据教育部语言文字应用管理司普通话推广处表示,《普通话水平测试实施纲要》是根据《普通话异读词审音表》制定的(侯敏等,2007:21),可是,1985年12月修订的《普通话异读词审音表》并没有提及“背包”(只有“背脊”“背景”)。另一份可以参考的由国家汉语水平考试委员会办公室考试中心制定的《汉语水平词汇与汉字等级大纲》(修订本)中,“按级别排列的词汇等级大纲”丙级词“背包”注为“bèibāo(名)”,而“按音序排列的词汇等级大纲”中“背包”则注为“bēibāo(名,丙)”。国家的语言文字规范、标准似乎也未说清。

字典、词典和规范、标准都是“死”的、固定的,读者若是不清楚,不便询问。这样,只好听听有关学者的意见。有的辞书编纂者认为,之所以将“背包”注为去声“bèibāo”,有两个原因:一是“背(bēi)”为动词,所以“bēibāo”会被理解为一个动宾短语;二是最初这个词的释义主要还是指行军打仗时士兵背在背上的衣被包裹。有的研究人员指出,《普通话水平测试实施纲要》词表中给出的“背包”是名词,所以标注的读音是“bèibāo”,如果读“bēibāo”,严格意义上来讲,这是两个词“背”+“包”,因为还有“背人、背行李”等。而有的教材编者则表示,现行小学语文课本注音为“bèibāo”,主要的依据是《现代汉语词典》(修订版)以及《普通话异读词审音表》(侯敏等,2007:20~22)。

教材编者的意见可以不考虑,因为没有从语言本体上说明选择何种读音的根据。值得注意的是辞书编纂者和语言研究者的意见。他们从词义演变、歧义形式、词的结构、词与短语的关系等角度,进行了探讨。

针对词义演变等所作的指向语言本体研究的说明,是否具有解释力,仍尚待评估。

一种意见认为:如果读“bēibāo”,严格意义上来讲,这是两个词“背”+“包”。这个看法未必妥当。在现代汉语中,“背(bēi)”作为表示“(人)用脊背驮”意义的单纯词,的确可以和作为表示“包好的东西”或“装东西的口袋”意义的“包”(有时儿化)构成动宾短语,比如:“她说什么?”“她说让你背包。”但是这种动宾短语的存在,却不能构成反对“背包”是一个词且读“bēibāo”的理由。首先,从复合词的结构方式来看,构成复合词的两个直接词素,可以是语言中最小的音、义结合单位———语素,有些语素可以是单独成词的成词语素,比如“心烦”,“心”“烦”是“心烦”的词素,它们也可以单独成词,又是成词语素。具有同一读音、意义的语言成分,在词和短语或句子中的作用不同,词素只能和它所构成的词作为一个整体被理解、同其他单位组合,比如“这些琐碎事务真叫人心烦、真心烦”,“心”“烦”之间不能加进什么词语,可是作为成词语素的“心”“烦”就不一样,它们都可单独运用,比如“心很疼”“那孩子烦了”,“心”“烦”作为词素而构成合成词“心烦”,并不因为“心”“烦”作为成词语素的存在而不成立。“背包”的情况同此。其次,类似于“背包”那样由同时可以作为成词语素存在的直接词素构成的词语在现代汉语中很常见。譬如“拉手、把手、托盘、吊兰、炒勺、套袖、吊车、拖车、摇篮、砍刀、刺刀、叉车、挂钟、立柜、蒸锅、按扣、挂图、盖头、滚珠、拖鞋、抹布、听筒、移动电话、压缩饼干、翻滚过山车”。以包含“背包”一类词语的支配格(包含两个词素,一个表支配,一个表支配的对象)而论,根据卞成林(2000)的统计,约占《现代汉语词典》1996年版全部双音节复合词的20.18%,数量达5030条。占支配格65%的另一大类谓词性复合词(譬如“理发”)被称为“离合词”,可以拆开在中间插入其他成分,而当其拆开用时,就不是词,而是短语了(董秀芳,2002:165),不过,学者却不因可以拆开的短语的存在而否认合在一起的语言单位为离合词。同时,“把手、叉车”的“把、叉”都有表示非动作义的读音,但它们却都读与动作义对应的读音。

这样看来,“背(bēi)”作为动词这一句法成分与“背(bēi)”“包”为两个词,只是句法层面的问题,它们并不能在词汇层面影响“背(bēi)包”成为一个词。

学者们的另外一个意见是:复合词“背包”之“背”若读“bēi”,“背(bēi)包”会被理解为一个动宾短语,这是两个词“背”+“包”,因为还有“背人、背行李”等。从语言分析的角度来看,“背包”的确可以分析为动宾短语。不过,作为静态的词汇单位的“背(bēi)包”及其言语中的动态体现,都会在一定程度上排斥这种着眼于歧义的分析。“背”读作“bēi”,不影响“背包”成为一个词汇单位。作为词汇单位,“背(bēi)”与“包”之间并不存在动宾短语那样的句法关系,一般看来,这两个词素构成的组合并不符合为表达相应意思而联词成语的组合习惯,若是联词成语需要说成类似“背在背(bèi)上的衣被包裹”的表达,有的学者还认为两个词素之间也不存在词法关系。因此,“背”和“包”在复合词“背包”中不存在语法形式和语法意义的关联,纯属词汇现象,是两词素间概念意义相结合而造成的词汇性的结构关系(刘叔新,1990:76)。对于词素间概念意义的结合,赵元任(1979:157)指出,“词汇性V-O,指的是整个结构的意义跟从它的两部分的意义综合出来的意义不一样。例如‘认床’,‘认生’,‘破产’,‘打字’,‘挂失’,‘敲竹杠’”,词汇性V-O跟动宾(V-O)结构“不是一回事”。(1)因为根本属性的差异,由两个词素构成的名词“背(bēi)包”有自己的语法特点,能出现在数量词组后面,不受“不”“没”等副词修饰,经常表示陈述的对象或动作支配、关涉的对象。作为短语的“背(bēi)包”,两个直接成分,一为动词、一为名词,形成的关系为动宾关系,整个短语为动词短语,它是体现特定语法意义的语法形式。在语法特点上,动宾短语的V和O中间如果插进一个“的”,就变成体词性偏正短语,如果前面加上副词,就变成谓词性偏正短语,V-O中间一般能带上动词后缀或O的区别修饰语而分开。

语言分析中的歧义理解,在动态的、现时的言语交际中,往往因语境的制约而被排除,依靠语境提供的更多信息(比如语气、语调、重音、语境前提、其他语言成分),使歧义的语言形式意义单一化(杰弗里·N·利奇,1987:95~97)。通过北京大学汉语语言学研究中心语料库的检索,共发现758例“背包”,其中作为名词使用的有751例,作为动宾短语使用的仅有7例。从实际用例来看,作为名词使用的“背包”,一般会与其他谓词性成分组合成“身背背包、背上背包、背着背包、打起背包”等表达,因为这些其他成分构成的语境信息的专化作用,751用例均不会被理解为动宾短语。“背包”作为动宾短语使用的7例为:

(1)来自独联体国家的旅游者日日数百名,背包扛箱,面带好奇和喜悦,从这里出入境。

(2)多套大型农机具,使这儿农民“插秧不弯腰,开沟不用锨,治虫不背包,收割不用刀”的梦想变成了现实。

(3)由江西向塘站驶抵南昌站的一列火车的四节车厢顶上下来百余名提箱背包的乘客。

(4)我每次进货从不雇人背包,总是自己把沉甸甸的大包从市场背上火车,下了火车再背回家里。

(5)无证行医卖药者21家(其中外地流入的游医和背包卖药者11家)。

(6)老妈子背上自己衣包……等老妈子又背包回来,才叔夫妇才同到大街,打探消息。

(7)那时党员是秘密的,实际已没什么秘密了,看背枪和背包的就知道了。

例中(1)(3)(7),“背包”和“扛箱、提箱、背枪”共现,例(2)出现在字数有限制的歌谣中,例(5)出现在“者”字短语中,都算不得一般使用;“背包”真正作为动宾短语使用的只有(4)(6)两例,这与大量类似“背背包、背着背包”的同义表达形式相比,应用十分有限。人们使用动宾短语“背背包、背着背包”、极少用“背包”的情形也说明,名词的“背包”不太可能被理解成动宾短语,因为语言意识中少有动宾短语的“背包”存在。

“背包”共同使用的实例,在古籍中出现较晚:

(8)却说玄德同行军民十余万,大小车数千辆,挑担背包者不计其数。(《三国演义》)

(9)又见一个少年,头裹绵布,身穿蓝袄,持伞背包,敛裩扎裤,脚踏着一双三耳草鞋,雄纠纠的出街忙走。(《西游记》)

(10)进得山门,只见山门下挑担的,背包的,推车的,整车坐下。(《西游记》)

(11)着我等善变化者,变作几个人形,在于路口,背包持伞,担担推车,不住的在冰上行走。(《西游记》)

这些用例中的“背包”,都是作为动宾短语出现的,义为“背着包裹”。如果不考虑“背”与“包”接邻共现,还可以在古籍中见到更多与这个意义近似的“背”与“包”间隔共现的用例:

(12)忽见男女数人,各背小包,于山僻路攀藤附葛而走。(《三国演义》)

(13)猪八戒背着两个包袱,驾风而至。(《西游记》)

(14)武松穿了一领新纳红绸袄,戴着个白范阳毡笠儿,背上包裹,提了杆棒,相辞了便行。(《水浒传》)

“背”与“包”共现的大量用例,突显了这一类包裹可“背负”的功能。而随着各种功能的“包”的下位概念的出现,“包”的范畴化(categorization)也越来越强。明清时期,“包”的下位概念主要有“荷包”“书包”“银包”“经包”“蒲包”“香包”“衣包”“酒包”“抄包”“兜包”“搭包”“腰包”“肚包”“被包”“毡包”“药包”“锦包”“纸包”,至清末民初,又出现了“夜行包”“提包”“钱夹包”“皮包”等词。“搭包”“夜行包”“提包”“钱夹包”等词语,都在其名称中融入该类包囊的功能说明,显示了与他类包囊的不同之处。从被“包”替换掉的使用时间更早、范围更大的“囊”的下位范畴也可以看出这一点,“浮囊”“行囊”“承露囊”“方便囊”“挈囊”“排囊”等名称,同样融入了功能说明的字眼儿。由此可以看出,名称中融入功能说明,是包含“包”范畴下位概念在内的很多事物范畴化的可选途径,而“背”与“包”的接邻与间隔共现,无疑为这种途径的选择提供了现实基础和形式准备,“背(bēi)包”成为一个词是范畴化和范畴词汇化的结果(王寅,2007:94-98)。

在清代的文献中,“背(bēi)包”已经作为一个复合词出现了:

(15)奉差员役所有背包,不许过六十斤,令头站驿员称准斤数,开明印单。(《钦定大清会典则例》卷二十三)

(16)不在火牌勘合之明索,而在背包驼搭之暗加。如赍本驰奏,止用夹板一付或背包一座,已足盛贮奏章,打叠行李。至各衙门奉差员役所携,不过公文数角,衣被一囊而已,何至往来携带,任彼增添。(张汧《禁携重以惮驿马议》)

(17)并恐马匹背包太重,任意驰骤,易致劳伤,愿给使费银两,以冀保全马匹,亦复有之……其回部、喇嘛入觐进贡,如有应用车骡,亦由川、陕等省将包重斤两车骡数目,分别开明。(《宫中档乾隆朝奏折》直隶总督周元理乾隆四十四年二月十六日奏折)

(18)且行李辎重,皆缚捆戴,使驿夫背负,每一出差之人背包,驿夫用至八九人不等,用一夫则又添一马矣。(《宫中档雍正朝奏折》内阁学士查嗣庭雍正元年八月十五日奏折)

上引几例表明,“背包”在清代的驿递中常用,用它来装盛的不仅有“奏章”“公文”“行李”,还可以是“辎重”、进贡物品。这些背包,一般应由马匹驮载,在清代驿递所用的马匹中,有一类专司此职,名曰“包马”。尽管官府明令“奉差员役所有背包,不许过六十斤”,但“背包太重”的事情仍时有发生,陈朝君《莅蒙平政录》即载“每季倒马不下百余匹,而暗垫马价常至千余金。究诘其故,皆由背包者。有重至一百斤者矣,甚有重至一百三四十斤者矣”。重量较小的背包,人也可以背负,譬如例(16)中的“公文数角”“衣被一囊”。“背包”又可转指驮包之马、负责驱策包马的差事或从事这一差事的人员。譬如:

(19)自京回转,又复多带私物,重压背包。(田文镜《抚豫宣化录》卷四)

(20)其为驿役也,有总理、有兵房、有马牌、马夫、背包、送差、打探、医兽之各执事。(黄六鸿《福惠全书》卷二十八)

(21)州县邮政,亦宜讲求,冲途驿站,设有兵房、马牌、背包、送差、兽医、喂马人等,宜选诚实可靠者,妥为经理。(刚毅《牧令须知》)

民国以来,“背包”始指军士背负之包,这在反映当时社会生活的很多文学作品中有体现:

(22)他们背着枪弹背包和杂囊,每个人都提着一个蒲团,一望而知,是到山上上课去的。(聂绀弩《巨像》)

(23)刘胜没有再吱声,也没有固执自己的意见再去打背包。(周立波《暴风骤雨》)

此时的“背包”,未必就是“装东西的口袋”,还可以是捆扎在一起、鼓成包状的衣被,所以义为“用背包带、绳子等捆缚衣被等物”的“打背包”“打起背包”“打着背包”的说法常见。在士兵使用的“背包”之外,一般人背在背上的布制或革制口袋也称“背包”,如萧乾《流民图》(写于1935年秋~1936年春)“我负了背包走出车站”,这里的背包与衣被无关,因为下文谈到“到了那破陋不堪的小店,我嘱咐茶房帮我租一床干净些的被子”。“背包”的这个用法,一直延续到今天。

复音词中的“背”和“包”,都属构词成分。“背”的意义为“可以背在背上”,体现为一种“持续性的状态”,缺乏“动作(action)”“完结(telic)”“瞬时(punctual)”等及物性特征;“包”不代表某个实体,而只是代表着一个虚泛的类概念;“包”这个名词性成分受“背”这个动词性成分的影响的程度就很低。这符合现代汉语动宾式复合词的语义条件(董秀芳,2002:180-181)。

“背包”之“背”既然具备突显这一类包裹“背负”功能的作用,“背”的读音自然应为“bēi”,这在上个世纪的辞书中有着连续性的反映:

商务印书馆1957年重印的《汉语词典》(原名《国语辞典》,1947年出版),18页立有“背包”词条,“背”读为“bēi”,释义“军士背负之包,革制或布制”。按该书14页《凡例》“(丙)注音之说明”,“(二)字音根据北京语音(即北京音系),但涉及经史等旧籍之字,则参考隋唐以来韵书,循古今音变之条例,斟酌定音”,这个注音还是反映了当时北京语音的实际情况的。

《汉西词典》(外文出版社,1971)第22页收立的词条有“背包、背带、背上包袱”等。该书以音序排列条目,“背包”在“背带、背上包袱”之前(“背上包袱”之后是“背道而驰、背得烂熟”),可见“背包”之“背”音“bēi”。

《当代汉英词典》(林语堂主编,香港中文大学词典部,1972)第369页:“背包*beibau,n.,package carried on back.”

《中文百科大辞典》(阎振兴、高明总监修,百科文化事业股份有限公司,1984)第1054页:“[背包]ㄅㄟㄅㄠknapsack郊游时携带,是可背也可提的背袋。”

《现代汉英词典》(外语教学与研究出版社,1988)第30页“【背(bēi)包】knapsack;rucksack;infantry pack;field pack[军]blanket roll”,31页“【背(bèi)包】packsack;knapsack”。

《新汉日词典》(中国商务印书馆、日本小学馆,1991)第39页“背(bēi)包”与第41页“背(bèi)包”的释义一样,但也以“bēi”音立了词条。

《汉英军事词典》(海洋出版社,2001)第19页“bēi背包blanket roll;in fantry pack;field pack;musette”。

还可以注意到,与“背包”理据相似的“背囊”一词,“背”在一些辞书中也读作“bēi”,比如《汉俄词典》(商务印书馆,1989),这同样说明了“背(bēi)包”之“背(bēi)”与表示“背负”动作含义之“背(bēi)”的语义联系。

根据覆盖了不同职业、年龄、性别的问卷调查和有声媒体调查,在现代口语之中,人们普遍倾向于“背包”之“背”读为“bēi”(侯敏等,2007:22~24)。从事语言规划的一条重要原则是从俗从众,自上个世纪开始直至今天的习惯选择,已经说明了这种习惯的顽强与持久。而根据上面的分析可知,“背包”之“背”读为“bēi”,具有充分的理据,因此将其作为规范读音还不属于一般意义上“习非成是”的“约定俗成”。《现代汉语词典》第5版将“背(bèi)包”改定为“背(bēi)包”,正是反映了辞书编纂者对语言规律和群众语言习惯的尊重。

如上所述,从共时角度出发,复合词“背包”之“背”若读“bēi”会被理解为一个动宾短语的看法,值得商榷。同时,从历时角度出发,在出现时间上存在先后关系的动宾短语“背包”与复合词“背(bēi)包”的语言史资料,倒是很容易使人认为,前者的词汇化导致了后者的出现。董秀芳(2002:44~45)认为,“当构成一个句法单位或者虽不构成一个句法单位但在线性顺序上邻接的两个词由于某种原因经常在一起出现时,语言使用者就有可能把它们看作一体来加以整体处理,而不再对其内部结构作分析……最终导致双音词从旧有的句法构造中脱胎出来”,这是“组块”(chunking)认知心理过程。而经过“组块”的双音词正好构成了一个双音节音步———即冯胜利主张的制约汉语词汇构成的韵律机制,双音词因此衍生出来。董秀芳(2002:37~40)在此基础上提出了双音词衍生的条件限制:一是原来的句法单位或跨层结构中的两个分立的组成成分必须是单音节且构成一个双音节音步,二是原有的两个分立成分必须在线性顺序上贴近,三是语义上要有一定的改造,四是使用频率高。

然而,动宾短语“背包”与复合词“背(bēi)包”的语言史资料却表明,它们并不符合双音词衍生的条件限制。动宾短语“背包”在古代文献中使用并不普遍,即便算上清代如《说唐全传》这样的小说,也不过20多例,且多局限于某一部书(如《西游记》即占3例)或者某一种职业(如与清代邮驿有关的文献出现10例左右)。但“背”与“包”间隔共现的用例却有400余例。从使用频率这个先决条件来看,动宾短语“背包”不足以发展成词。另一方面,“背”与“包”间隔共现的情形似乎暗示,(线性顺序上不相贴近但使用频率极高的、间隔共现的两个成分,也易发展成词。它同时表明,衍生为词的两个原有成分在线性顺序上是否贴近以及使用频率的高低,本身并不构成双音词衍生条件。

这个推断,与作为双音词衍生认知机制的组块心理过程这一理论前提的不足密切相关:第一,组块是长时记忆中的网络组织(network)的结点(node),也是短时记忆的基本单位,短时记忆的组块平均数为7±2。不过,组块并不必然是词,英语中,一个字母、一个词、一个词组都可以是组块,汉语情况相同。此外,不同的人对同一材料进行回忆的时候,组块也可能不同(彭聃龄、张必隐,2004:168)。第二,在长时记忆中语意码占统治地位(不是视觉代码和言语代码),长时记忆存储的是句子的意义而不是它的特定的刺激特征,而意义在记忆中是由命题来表征的。表征句子意义的命题不一定借助组块的言语代码,语意记忆结构的基本成分是概念和属性(彭聃龄、张必隐,2004:191-194)。第三,组块的言语单位,怎样变成了心理词汇(mental lexicon),从而供说写或认读时使用?组块心理过程,涉及的是记忆,记忆仅是认知活动和认知技能的一种,而语言产生和语言理解属于另外的认知过程,只关记忆的组块心理过程没有说明它同词之间的关系和词得以产生的认知机制(彭聃龄、张必隐,2004:15-17)。

复合词“背(bēi)包”不是由线性顺序上邻接的两个词“词汇化(lexicalization)”而来,如上所述,它的出现是“包”这一概念范畴化的自然结果。按照杰弗里·N·利奇(1987:43)的说法,“新词语具有扩大概念体系的作用”。“背(bēi)包”这个词语中,之所以选择“背(bēi)”字,一个原因是它可以体现“背(bēi)包”这个复合词的词义特征(“背(bēi)”能够体现复合词“背(bēi)包”的词义特征,在前面提到的许多与“包”接邻共现和间隔共现的短语可以说明)。而“背(bēi)包”之所以为双音词而不是多音词,则是缘于语言的经济原则(economy of language),在不影响使用和范畴化的前提之下,两个语素当然要比三个甚至是多个语素更为简洁。

与复合词“背(bēi)包”具有可比性的另外一词是“行囊”,“行”作为动词性词素,显示了该类囊包的的功能,不过,古籍中“行”与“囊”却不接邻共现,多为间隔共现。例如:

(24)故居者有积仓,行者有裹囊也,然后可以爰方启行。(《孟子》)

(25)公刘好货,居者有积,行者有囊。(《盐铁论》)

(26)王出行,常使从人持一韦囊自随,有白言者,受其辞投囊中,还宫乃省为决理。(《三国志裴注》)

(27)道闻父丧,即徒步见星以行,家人从后持衣囊追及之。(《旧五代史》)

(28)既无所访问,亦听其所适,自内殿挈布囊徐行而去。(《太平广记》)

(29)遂令挈囊而从行,其直多少,亦不问也。(《太平广记》)

(30)吾行囊元不乏钱。(《夷坚志补·蔡州小道人》)

类似的还有“挂包”“浮囊”“承露囊”等复合词。

类似于“背包”的音读那样需要人们拿出办法来处理的语文现象,在今天的语言生活中日趋普遍。对于这类现象,一般的对策是查检辞书、翻阅语言文字规范。然而,辞书编纂和语言文字规范的制定,本身也需要运用特定的对策,在与其有关的对策中,宏观的辞书编纂体例和语言文字规范化遵从的原则固不可少,不过它们所面对的毕竟是单个字词的释读与规范,其工作手段需要与相应字词的具体的、个案的、本体的研究相结合。一般的规律(包括辞书编纂、语言规范、语言规律)诚然来自对具体、丰富语言现象的归纳、概括,然而却未必体现在每个语言现象身上,单纯关注一般规律,忽视具体语言现象特点,很容易导致主观、简单、机械的处理。借用方言地理学派的那个代表性口号来说,“每一个词都有它自己的历史”(徐通锵,1991:235),对辞书编纂和语言文字规范而言,“每个词的历史”都存在有针对性地对待的理由。

编纂与查检辞书、制定与执行语言文字规范、编写和教授语文教材,都属于常规的语言对策,然而这些对策之所以有效的前提,是严谨的语言本体研究。挖掘每个语言现象的特点,并将其置于辞书编纂与语言规范原则的关照之下,可以增强结果的信度。学者根据“背包”实际读音的调查结果,认为应从众从俗将其中的“背”音规范为“bēi”,根据上文陈述,这里的从众从俗背后却有着深刻的理据。实际上,结合语言现象特点的挖掘,进而作更广泛的语言本体方面的探讨,并不只于辞书编纂和语言文字规范制定有意义,它对已有的研究结论仍有检验价值,有时甚至是一种难得的启示,从“背(bēi)包”形成来看待词汇双音化理论的效能,无疑是一个引人思考的实例:对于词汇双音化理论而言,“背(bēi)包”像是个例外,但诚如丹麦语言学家维尔纳(徐通锵,1991:111)所言,“没有一个例外是没有规律的”,“那就是说,曾支配一个语言的规律倘有任何例外的话,这例外一定另有原因”,这个例外也许可以引出新的规律。

参考文献

[1]卞成林.汉语工程词论[M].济南:山东大学出版社,2000.

[2]董秀芳.词汇化:汉语双音词的衍生和发展[M].成都:四川民族出版社,2002.

[3]侯敏,王彬,王依然,文采菊,周鑫.“背包”一词读音的调查及思考[J].语言文字应用,2007,(2).

[4]黄月圆.复合词研究[J].国外语言学,1995,(2).

[5]杰弗里.N.利奇.语义学[M].李瑞华,王彤福,杨自俭,穆国豪译.上海:上海外语教育出版社,1987.

[6]刘叔新.汉语描写词汇学[M].北京:商务印书馆,1990.

[7]彭聃龄,张必隐.认知心理学[M].杭州:浙江教育出版社,2004.

[8]王寅.认知语言学[M].上海:上海外语教育出版社,2007.

[9]徐通锵.历史语言学[M].北京:商务印书馆,1991.

[10]赵元任.汉语口语语法[M].北京:商务印书馆,1979.

遗传算法求解背包问题 篇8

关键词:遗传算法,背包问题

1.背包问题

背包问题 (Knapsack Problem, 简称KP) 是运筹学中一个典型的优化难题, 在预算控制、项目选择、材料切割、货物装载等实践中有重要应用, 并且还常常作为其他问题的子问题加以研究。随着网络技术的不断发展, 背包公钥密码在电子商务中的公钥设计中也起着重要的作用。背包问题的数学模型为:

式中, n为物品的编号;m为资源的编号;cj为第j个物品的受益量;bi成为第i种资源的预算;aij为第j个物品占用第i种资源的量;xj为0-1决策变量 (当物品j被选择时xj=l, 否则xj=0) 。

KP的语言描述可以这样:现有j (j=1, 2, …, n) 个物品, 每个物品将会消耗m种资源aij (i=1, 2, …, m) , 如果将物品j装人背包将会获益cj, 与此同时, 要求所有装入背包的物品消耗的资源I不能超过bi。

背包问题可以衍生出一系列与之相关的优化问题, 如有限背包问题 (物体可具有相同价值和重量但数量是有限的) , 无限背包问题 (具有相同价值和重量的物体数量可以是无限的) , 多背包问题 (将物体装入多个容量不同的背包) 等。本文中所指背包问题如无特殊说明, 均指m=1的简单0/1背包问题。

2.应用遗传算法求解0/1背包问题

遗传算法作为一种通用的优化方法, 在组合优化的各个分支都有大量的应用。这里提供的程序是用来求解0/1背包问题的。但是稍加扩展即可用于其他问题。遗传算法的内容非常丰富, 但是这里只是使用了标准的遗传算法以利于和其它方法比较。算法根据物品数量决定基因长度。基因某一位为1表示装入此物品, 为0表示未装入此物品。由于存在约束条件, 物品总重量不能大于一给定值, 所以必须对生成的基因进行控制。有多种方法可以实现这个日的。例如:设定一阈值, 将适应度函数值大于此阈值的基因中对应密度小的位设为1。也可以将适应度函数作相应的修改。加入惩罚项, 使得当物品过多时适应度函数减少。本算法采用第二种方式。对于0/1背包问题利用简单遗传算法求解的基本步骤如下:

1.编码:

0/1背包问题可以直接利用变量xi进行编码, 即:x=[x1, x2…xn]。

2.适应度函数:

其中ρ (t) 为阙值函数, 判断是否超重。K>0为罚函数权重, 表示惩罚力度。

其直观的解释为;当背包中放置物品超出所允许的重量后, 处以超重部分k倍原价值的惩罚。考虑到适应值最高的基因未必满足背包容量要求, 所以算法中从每代保存适应值最高的基因时进行判断, 只有当其满足背包限制条件时才被作为适应值最高的予以记录。

3.遗传算子:

选择:采用轮盘赌的方式进行选择。在本算法中, 将各基因的适应值事先作处理:

以防止适应度函数值出现小于零的情况, 并且可以在一定程度上防止适应值差别过大时丢失低适应值基因的有用信息。

交叉:采用单点交叉方式, 随机选取一点作为基因的交叉点, 交叉概率Pc=0.8。

变异:采用一个较小的值如Pm=0.05。整个过程如图1.1所示。

4.主要代码:

3.总结

遗传算法已经在背包问题的求解上取得了大量成果。运用简单遗传算法求解背包问题时, 若问题的规模不大也能够得到最优解或近似最优解, 但当需求解的背包问题的规模比较大时, 用简单遗传算法得不到较理想的结果。遗传算法在运行早期个体差异较大, 后代产生的个数与父个体适应度大小成正比, 因此在早期容易使个别好的个体的后代充斥整个种群, 过快的收敛于某一局部极值处, 造成甲熟 (Premature) ;而在遗传算法后期, 适应度趋向一致, 优秀的个体在产生后代时, 优势不明显, 从而使整个种群进化停滞不前。

参考文献

[1]玄光男, 程润伟.遗传算法与工程优化[M].北京:清华大学出版社, 2004

[2]王凌, 智能优化算法及其应用[M].北京:清华大学出版社, 2001

[3]刘勇, 康立山.非数值并行算法--遗传算法[M].北京:科学出版社, 2003

[4]刘西奎, 李艳, 许进.背包问题的遗传算法求解[J].华中科技大学学报 (自然科学版) , 2002, (06)

利用动态规划解决01背包问题 篇9

背包问题是一个经典的动态规划模型, 很多关于算法的教材都把它作为一道例题, 该问题既简单又容易理解, 而且在某种程度上还能够揭示动态规划的本质。

将具有不同重量和价值的物体装入一个有固定载重量的背包, 以获取最大价值, 这类问题被称为背包问题。

背包问题可以扩展出很多种问题, 而01背包问题是最常见、最有代表性的背包问题。

一、问题描述

给定一个载重量为M的背包及n个物体, 物体i的重量为wi、价值为pi, 1≤i≤n, 要求把这些物体装入背包, 使背包内的物体价值总量最大。此处我们讨论的物体是不可分割的, 通常称这种物体不可分割的背包问题为01背包问题。

二、基本思路

01背包问题的特点是:每种物体只有一件, 可以选择放或者不放。假设:xi表示物体i被装入背包的情况, xi=0, 1。当xi=0时, 表示物体没有被装入背包;当xi=1时, 表示物体被装入背包。根据问题的要求, 有如下的约束方程 (1) 和目标函数 (2) :

于是, 该问题归结为寻找一个满足上述约束方程, 并使目标函数达到最大的解向量:X= (x1, x2, ...L, xn) (3) 的问题。

三、利用动态规划法求解01背包问题

(一) 动态规划算法的基本思想

动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中, 可能会有许多可行解。每一个解都对应于一个值, 我们希望找到具有最优值的解。动态规划算法与分治法类似, 其基本思想也是将待求解问题分解成若干个子问题, 先求解子问题, 然后从这些子问题的解得到原问题的解。与分治法不同的是, 适合于用动态规划求解的问题, 经分解得到子问题往往不是互相独立的。若用分治法来解这类问题, 则分解得到的子问题数目太多, 有些子问题被重复计算很多次。如果我们能够保存已解决的子问题的答案, 而在需要时再找出已求得的答案, 这样就可以避免大量的重复计算, 节省时间。我们可以用一个表来记录所有已解的子问题的答案。不管该子问题以后是否被用到, 只要它被计算过, 就将其结果填入表中, 这就是动态规划法的基本思路。具体的动态规划算法多种多样, 但它们具有相同的填表格式。

(二) 算法设计

假定背包的载重量范围为0~m。类似于资源分配那样, 令optpi (j) 表示在前i个物体中, 能够装入载重量为j的背包所得的最大价值, j=1, 2, ……, m。显然, 此时在前i个物体中, 有些物体可以装入背包, 有些物体不能装入背包。于是, 可以得到下面的动态规划函数:

(4) 式表明:把前面i个物体装入载重量为0的背包, 或者把0个物体装入载重量为j的背包, 得到的价值都为0。 (5) 式表明:当第i个物体的重量大于背包的载重量时, 装入前i个物体得到的最大价值, 与装入前i-1个物体得到的最大价值一样, 即第i个物体没有装入背包。 (6) 式表明:当第i个物体的重量小于背包的载重量时, 如果第i个物体装入背包, 背包中物体的价值, 等于把前i-1个物体装入载重量为j-wi的背包所得到的价值与第i个物体的价值pi之和;如果第i个物体没有装入背包, 则背包中物体的价值, 等于把前i-1个物体装入载重量为j的背包, 却不装入第i个物体所取得的价值。显然, 这两种装入方法, 在背包中所取得的价值不一定相同, 因此, 取这两者中的最大值, 作为把前面i个物体装入载重量为j的背包所取得的最优价值。

该算法可分为n阶段:

第一阶段, 只装入一个物体, 计算在不同载重量的背包情况下, 所取得的最大价值;

第二阶段, 装入前两个物体, 按 (5) 式和 (6) 式计算在不同载重量的背包情况下, 取得的最大价值;

……

第n阶段, 装入前n个物体, 按 (5) 式和 (6) 式计算在不同载重量的背包情况下, 取得的最大价值, 而在背包载重量为M时, 所得结果就是我们想要的结果。

为了确定具体哪个物体装入背包, 从optpn (m) 的值向前倒推。有如下递推关系式:

(7) 式表明:如果optpi (j) 大于optpi-1 (j) , 则物体i被装入背包;如果optpi (j) 等于optpi-1 (j) , 表明i物体未被装入背包。按照该关系式, i从n到1依次类推, 直到确定第一个物体是否被装入背包为止, 就能确定装入背包的具体物体。

(三) 存储结构

该算法需要将每一个物体的重量和价值分别存储起来, 并针对不同载重量的背包对物体分别计算, 故考虑使用数组来实现。对于物体i, 用weight[i]来表示重量、用p[i]表示价值, 解向量用x[i]表示物体i是否被放入, 上面提到的optpi (j) 则用二维数组相应的optp[i][j]来表示, 物体个数n, 背包载重量为m。

(四) 算法实现

1. 案例分析

现有载重量为10的背包, 有四个物体A、B、C、D, 其重量分别为4、2、5、3, 价值分别为4、3、5、8, 要求放入物体使背包所获价值最大。

用optp[i][j]来存储这四个物体在不同载重量的背包下所获的价值, 计算过程如下表所示:

相应的, 对于optp[i][j], 物体的放入情况及重量如下表所示:

2. 时间空间复杂度

该算法中, 矩阵optp的大小为 (m+1) × (n+1) , 物体的重量、价值和解向量大小都等于物体个数n, 故该算法的空间复杂度为O (nm) 。对物体重量、价值的初始化 (算法实现略) 所需时间都为n, 解向量和矩阵第0行初始化时间为n, 矩阵第0列初始化时间为m, 对矩阵optp的计算所需时间为n×m, 解向量X的确定时间为n, 故整个算法的时间复杂度为O (nm) 。

(五) 算法优化

在上述算法中, 时间复杂度不能再继续优化了, 但是空间复杂度是可以继续优化的。

上述算法中, 存储optp使用的是二维数组, 其大小为 (m+1) × (n+1) , 但是仔细观察发现, optp[i][j]只与optp[i-1][j]和optp[i-1][j-weight[i]]有关, 与optp[k][l] (k=1, 2, ……, i-2, i+1, ……n, j=1, 2, ……, m) 无关, 故可考虑只用一维数组_optp来存储, _optp[j]相当于optp[i][j]。而考虑到optp[i][j]是由optp[i][j]和optp[i-1][j-weight[i]]共同计算得到的, 故该算法中的j循环要从后往前计算, _optp[]的计算算法设计如下所示:

for (i=1;i<=n;i++) {for (j=m;j>=1;j--) {i f ( (j>=w e i g h t[i]) && (_o p t p[jweight[i]]+p[i]) >_optp[j]) _optp[j]=optp[j-weight[i]]+p[i];}}

上述例子中, 相应的_optp[j]计算结果如下表所示:

显然, 对于物体i, _optp[j]的计算不会影响到_optp[0, 1, ……, weight[i]-1], 故上述算法可继续优化为:

对于01背包问题, 常见的要求有两种:一种是恰好装满背包、另一种则没有要求, 针对这两种问法, 可从初始化上来区分。

当要求恰好装满背包时, 初始化时将_optp[0]设为0, 其他_optp[1, 2, ……, m]全部设为-∞, 这样就可保证最终得到的_optp[n]是一种恰好装满的最优解, 此时可以把初始化理解成没有任何物体可放时, 只有容量为0的背包能被价值为0的nothing“恰好装满”;当没有这个限制时, 初始化时应将_optp[0, 1, ……, m]都设为0, 此时可以理解为任何一个背包都有一个合法的解“什么都不装”, 这个解的价值为0。

当优化后, 空间复杂度变为O (m) , 计算所需时间为:

当weitht[i]较大时, 可以节省很多时间。

动态规划的缺点:对于01背包问题, 用动态规划方法解很容易理解, 但是这种方法有一些弊端, 从上述算法可以看出:当物体的重量较大时, 所需的物理空间较大;当物体的重量不是整数时, 无法利用数组来存储该结构。

四、结束语

在日常生活中, 01背包问题有很多应用, 比如如何利用有限空间的手提包, 装入外出旅行的各种必需品。

01背包问题还有很多种解法, 每种解法也有各种不同的实现, 比如回溯法可以利用结构或类来表示状态空间树, 每一本关于算法的书籍都把它当成必讲的题目, 而由01背包问题引申出来的各种题目也层出不穷, 例如完全背包问题就要求每种物体都无限制使用。01背包问题是最基本的背包问题, 它包含了背包问题中设计状态、方程的最基本思想, 但是无论哪种类型的背包问题, 都可以转换为01背包问题。所以读者们要仔细体会01背包问题基本思路的得出方法, 状态转移方程的意义, 以及关于时间空间复杂度的优化等问题。

求解0-1背包问题算法综述 篇10

背包问题又称子集合问题, 最早是由Dantzing于20世纪50年代首次提出的, 已成为计算机学科中一个经典的NP问题。0-1背包问题可描述为:给定n个物品和一个背包, 物品的重量为wi, 价值为pi (i=1, 2, ……, n) , 背包能容纳的物品的重量为c, 要从这n个物品中选出若干件放入背包, 使得放入物品的总重量不超过c, 而总价值达到最大, 并找出一种放物品的方案。注意:在本问题中, 所有的重量值均为整数。

0-1背包问题是一个NP难题, 它在很多领域都有广泛的应用。很多实际问题都可转换为0-1背包问题, 例如下料问题、贷款组合优化决策问题等。0-l整数线性规划问题可以归结为0-1背包问题, 而整数线性规划问题都可以转化为0-l整数线性规划问题。所以, 对0-1背包问题求解方法的研究无论是在理论上还是在实践中都具有一定的意义。

1 0-1背包问题的数学模型及其分类

0-1背包问题的数学模型如下:

假设有n个物件, 其重量用wi表示, 价值为pi (i=1, 2, …, n) , 背包的最大容纳重量为c, 当物件i被选入背包时, 定义变量xi=1, 否则xi=0。现在考虑n个物件的选择与否, 则背包内n个物件总重量为, 物件的总价值为, 如何决定变量xi (i=1, 2, …, n) 的值 (即确定一个物件组合) 使背包内物件总价值为最大。其数学模型表示如下:

式中xi取0或1, i=1, 2, …, n, c均为正值。

到目前为止, 求解0-1背包问题的方法很多。精确算法有分支限界法、动态规划法等, 近似算法有贪婪方法、蚁群算法等。一般来说, 精确算法不能在较短时间内求解大规模0-1背包问题, 使其实用性受到限制。而近似算法只能求解问题的近似解, 有时所得的近似解质量很低。本文主要针对常见的求解0/1背包问题的算法设计方法进行阐述。

2 求解0-1背包问题的常用算法

2.1 动态规划法

动态规划法DM (Dynamic Programming, 简称DM) 是美国数学家Bellman R E等人在20世纪50年代初在研究多阶段决策过程的优化问题时提出的, 把多阶段决策过程转化为一系列单阶段决策问题, 逐个求解, 创立了解决这类过程优化问题的新方法———动态规划。动态规划算法是先把问题分成多个子问题 (一般地每个子问题是互相关联和影响的) , 再依次研究逐个问题的决策。决策就是某个阶段的状态确定后, 从该状态演变到下一阶段状态的选择。当全体子问题都解决时, 整体问题也随之解决。用枚举的方法从所有可能的决策序列中去选取最优决策序列可能是较费时的笨拙方法, 但利用最优性原理去找出递推关系, 再找最优决策序列就可能使得枚举数量大大下降, 这就是动态规划方法设计算法的主要思路。

设Fk (y) 为背包只装前k种东西, 总重限制为y的情况下所具有的最大价值, 即:

这两个式子分别为背包问题子问题的目标函数和约束条件, 不难看出是满足优化原则的。使用动态规划法求解, 所得递推公式和边界条件是:

Fk (y) =max (Fk-1 (y) , F (y-wk) +pk) ,

F0 (y) =0, 对一切y, 0≤y≤c,

Fk (y) =0, 对一切y, 0≤k≤n,

F1 (y) =[y/w1]·p1

用动态规划方法求解0-1背包问题的过程如下: (1) 将问题分解为若干个子问题 (一般每个子问题是相互关联和影响的) , 再依次研究逐个问题的决策, 也就是把整个问题的最优解与子问题的局部最优解用递推等式联系起来; (2) 定义边界条件; (3) 把边界条件代入递推公式, 逐步求得最优解。

动态规划算法是一种经典的背包问题求解算法, 其原理简单, 算法思路清晰, 易于实现。动态规划算法虽然高效, 但是对于规模较大的问题它并不是一个理想的算法, 最重要的原因就是它的维数障碍, 即计算和存储量的需要对于状态空间和决策空间的维数的增长呈指数增长关系。这样惊人的增长速度是计算机难以承受的, 这就使得直接的动态规划方法求解规划较大的背包问题发生了困难, 且目前尚没有好的解决办法。

2.2 蚁群算法

蚁群算法由意大利学者Dorigo等人首先提出, 是模仿真实的蚁群行为而提出的一种模拟进化算法。蚂蚁之间是通过一种称为信息素 (Pheromone) 的物质传递信息的, 蚂蚁能够在经过的路径上留下该种物质, 而且能够感知这种物质的存在及其强度, 并以此来指导自己的运动方向。因此, 由大量蚂蚁组成的集体行为便表现出一种信息正反馈现象:某一条路径上走过的蚂蚁越多, 该路径上留下的信息素就越多, 则后来者选择该路径的概率就越大。蚂蚁之间就是通过这种信息素的交流, 搜索到一条从蚁巢到食物源的最短路径。将这一问题的核心运用到背包问题中:在某一物品上聚集的信息素越多, 则该物品被选择的概率就越大。就蚁群算法而言, 当处理的数据比较小时, 其具有很快的收敛速度, 而随着数据规模的增大, 算法的收敛速度明显降低。

假设有m只蚂蚁, n+1个城市, 第o个城市代表背包, 第1~n个城市代表各个物品。把第o个城市看成蚂蚁的寻优起点。令nij=pi/wi表示蚂蚁从城市转移到城市的期望程度, 这样价值越高同时重量越小的物品对蚂蚁的吸引就越大。令τij表示路径中留下的信息素强度。任一只蚂蚁k由城市i转移到城市j的概率可设为:

其中α表示路径上的信息量对蚂蚁选择路径所起的作用大小, β为吸引度的重要性。每只蚂蚁从寻优起点出发只需一步就可到达1~n当中任意一个食物源, 所以上式中有 (i=1, 2, …, n) 。寻优过程由多只蚂蚁进行, 当每只蚂蚁以较大的概率选中食物源j时, 如果有, 则变量xj将加1, 否则给从i到j的路径以罚值, 以使后续的蚂蚁不再选择本路径。当所有节点都受罚以后将结束一次求解过程。然后记录最优解, 更新信息素。更新的公式可为:

Δτij=Q*wj*xj

τij (t+1) = (1-ρ) *τij (t) +Δτij (i=0, j=1, 2, …, n)

上式中ρ为挥发系数, Q为正常数, xj为经过该路径的蚂蚁数量。

用蚁群算法求解0-1背包问题的过程如下: (1) 初始化:即将任意两个城市之间的道路上的信息素赋一个初值; (2) 搜索:让若干只蚂蚁根据信息素和距离选择城市; (3) 每到一个新城市, 进行信息素局部更新; (4) 所有蚂蚁完成回路后, 进行全局信息素更新; (5) 记录最优路径, 返回步骤 (2) 循环直到满足退出条件。

蚁群算法是近年来发展起来的一种随机算法, 已经证明可以有效解决背包问题。但是蚁群算法的收敛性证明尚处于初步阶段, 缺乏完善的理论基础。并且在减少寻优计算量和缩短算法运行时间方面, 有待进一步改进。

2.3 贪婪法

贪婪算法通过一系列的选择得到问题的解, 在每一次总是做出在当前状态下看来是最好的选择, 也就是希望通过局部的最优来达到一个全局的最优。这种启发式的策略并不总能获得最优解, 然而在许多情况下确能达到预期的目的, 而且对于很多N-P问题来说, 本身就不存在最优解。

对于0-1背包问题来说, 贪婪的策略有常用的3种。每种贪婪策略都采用多步过程来完成背包的装入。在每一步过程中利用贪婪准则选择一个物品装入背包。

第一种贪婪准则:从剩余的物品中, 选出可以装入背包的价值最大的物品, 利用这种规则, 价值最大的物品首先被装入 (假设有足够容量) , 然后是下一个价值最大的物品, 如此继续下去。

第二种贪婪准则:从剩下的物品中选择可装入背包的重量最小的物品, 如此继续下去直到不能满足条件为止。

第三种贪婪准则:价值密度 (价值重量比pi/wi) 贪婪算法, 这种选择准则为:从剩余物品中选择可装入包的pi/wi值最大的物品, 这也是本文所选择的贪婪策略, 因为它是一个直觉上近似的解。

用贪婪算法求解0-1背包问题的过程如下: (1) 对于给定的物品, 分别求出价值密度 (价值重量比) , ri=pi/wi, i=1, 2, …, n; (2) 忽略先前的物品排序, 按照价值密度, 进行非升序排列: (p (1) /w (1) ) ≥ (p (2) /w (2) ) ≥…≥ (p (n) /w (n) ) ; (3) 重复以下步骤, 直到不满足条件为止:对于当前的物品, 如果重量小于包中剩余的容量, 则放入, 并置物品标志为1 (表明被选中) , 否则就停止。

算法主要耗时是在于将各种物品按价值密度大小排序, 本文利用MATLAB软件中的SORTROWS函数进行排序, 此函数是基于快速排序 (quicksort) 实现的, 因此, 算法的时间复杂度为O (nlogn) 。

2.4 模拟退火算法

1983年, Kirkpatric等将热力学中的退火思想引入组合优化领域, 提出了一种解大规模组合优化问题, 特别是N-P完全组合优化问题的有效近似算法———模拟退火算法。它源于对固体退火过程的模拟, 使算法在多项式时间内给出一个近似最优解。

模拟退火算法是模仿固体物质的退火过程。高温物质降温时其内能随之下降, 如果降温过程充分缓慢, 则在降温过程中物质体系始终处于平衡状态, 反之降温太快, 则降到同一低温时会保持内能。

用模拟退火算法求解0-1背包问题的过程如下:

(1) 解空间。由于模拟退火算法已经证明, 最后的最优解并不太依赖初始解的选取, 所以在这里可任选一初始解, 本文初始解为 (0, 0, …, 0) 1×n。

(2) 目标函数。最大价值的目标函数为:

(3) 新解的产生。随机选取物品, 若i不在背包中, 则将其直接放入背包中, 或同时从背包中随机取出另一物品j;若i已在背包中, 则将其取出, 并同时随机装入另一物品j。

(4) 背包的价值差和重量差。根据上述新解产生的3种可能, 相应的背包价值差为:

相应的背包重量差为

其中△m为当前状态下背包重量m的增量。

(5) 接受准则。由于0-1背包问题是个有约束的最优化问题, 所以本文采用的是扩充了的Metropolis准则

其中t为温度控制参数。

在算法实现过程中, 其退火温度t控制着求解过程向最小值的优化方向进行, 同时又以概率exp (Δf/t) 来接收劣质解, 因此模拟算法可跳出局部极小值点。只要初始温度足够高, 退火过程足够慢, 算法能收敛到全局最优解。

2.5 其它算法和各种算法的改进

除了以上介绍的算法外, 还有DNA算法、分支限界法、粒子群优化算法、人工神经网络、递归法、回溯法、克隆选择算法、禁忌搜索与GA算法, 混合算法等。

由于各种算法都有其自身的优点和不足, 许多学者通过利用一种算法的优点同时通过结合其它算法避免该算法的不足, 出现了混合算法, 这些算法都取得了很大的成功。

3 结束语

通过计算复杂度的研究表明, 0-1背包问题是一个经典的NP问题。对于规模过大的0-1背包问题, 人们还是无法找到完美的求解方法。所有智能算法都是在一定范围内求解。许多算法有其局限性, 例如只能解决特定的0-1背包问题, 但用于其它0-1背包问题时求解结果不一定好。

0-1背包问题未来的发展趋势: (1) 对现有算法开展理论上的研究, 寻求算法在理论上的解释和证明, 通过加深对算法理论的认识, 从而对算法进行改进和完善, 得到更优解; (2) 继续研究结合多种算法的混合优化算法; (3) 通过其它学科的算法得到启发, 提出新的算法, 继而推动0-1背包问题的研究。

参考文献

[1]赵建英.0/1背包问题的非线性降维近似算法[J].内蒙古师范大学学报 (自然科学汉文版) , 2007 (1) .

[2]王莉, 绍定宏, 陆金桂.基于遗传算法的0/1背包问题求解[J].计算机仿真, 2006 (3) .

丢弃的双肩背包 篇11

我把它从箱子里拉了出来,它已经很旧很旧了,开始有了斑驳的记忆。我开始想我们以前快乐的时光,一边想一边笑,一边笑一边哭,一边哭一边用满是灰尘的手擦眼泪。

我第一次被老班叫去是期中考试之后,我低着头没敢看他,眼睛落到桌子上的笔记本电脑。他把我的成绩调了出来,罗列了我很多的错误,最后把这些错误的罪压在你头上。他说到你的时候口气充满了不屑,很是刺耳。可是由于我的懦弱,我不敢站出来为你辩驳。那时还是夏天,我们好得像棉花糖一样。我从老班的宿舍里走出来,热气压得心头难受。你问我怎么了,我扬起头看天没说话,只是突然觉得很难过。然后你就在旁边的椅子上坐了下来,你还不知道我被老班叫去,像个小孩子一样用手挡住阳光呵呵地笑,你说是啊,这闷热的天气搞得心情好压抑,好想飞出去哦……别难过啦,不就是数学挂了一科嘛……别再难过啦,其实你已经考得很好啦……你还以为我在为期中考试的事情而难过,其实我只是悲伤,为什么这么好的你,因为成绩不好而被全面否定?

你拉着我去逛街,在东街的箱包城里我们老远就看上了那个双肩背包,蓝色的底白色的面,背在身上有种像在蓝天上飞翔的感觉。我们同时跑进去指着那个包朝店老板大叫,老板我要那个包。

我们一人背一边,像一个连体婴儿。路人指指点点,你却丝毫不在意,拉着我大街小巷地跑。那个时候,风也被我们带起来满城地跑。

回到学校,我的桌子被搬到了前面。

那是我第一次肉麻地对你说,若若,我不会因为你学习不好而看不起你,更不会因此而抛弃你,如果全世界都不理你,还有我。

你用拳击我的肩,搞什么,又不是生离死别。

那以后,你有事一张小小的纸条就会从最后一排你的手上传到最前一排我的手上,那种我们一起买的蓝色的漂流纸,像飘洋过海一般,载着你小小的心情穿越教室的某个角落。

我们每天一起进进出出,在球场上我们是黄金搭档,完美地扣球拼杀。我们依旧手牵手一人背一边书包,咬着芋头从东街走到西街。

我从年级50名下降到100名,再从100名下降到200名,最后被踢出了年级排名。老班很生气地拍着桌子说,你这样的成绩怎么去高考?他把你也叫去,狠狠地批评了你一顿,我被骂哭了,很没志气地败下阵来。我说我以后再也不跟她玩了,我也把成绩退步的过错推给了你。你震惊地看着我,然后很生气地走开了。

从来不朝我丢白眼的你看见我也会朝我丢白眼,好几次我想跟你道歉都没有勇气。

我们就这样整整半个学期没有说话,这半个学期内我都装作什么也没发生一样安静地学习。其实心里真的很对不起你,让你背负了莫须有的罪名。

我想我们之间终究是有一条界线的,我们虽然可以突破那道防线却会伤痕累累。

后来的一次考试,你的地理试卷上赫然写着“作弊”两个字。地理一直都是你的强项,我知道你不会作弊的,老班却在班上大开批斗会。那是我第一次看见你哭,你争不过老班,争着争着眼泪就掉下来,全班都安静了下来,像座荒山一般静得可怕,你就像那山中的白毛女一样,一个人悲伤地哭着。

那是我过得最漫长的一节课,你在哭,老班在皱眉,而我的心在痛。

老师继续讲课,仿佛什么也没发生一样。我终于明白,在老师眼中,像你这样的差生,这样不足为奇的插曲完全是可以忽略掉的。

后来你走了,有人说你不再念书了,我一个人躲起来哭了好久。我把那个背包压在箱底,它再不能让我有在蓝天上飞翔的感觉,背着它感觉有千斤重。我觉得自己坏透了,上苍让我一个人孤单寂寞,也许就是在惩罚我。

面对你,我终究还是食了言。

而你,却在那个阳光灿烂的温暖午后对我说——

你说若有一天,我们的友情出现了背叛,请忘了那些诺言。

我们两个就那么一转身,各自散落天涯。

背包设计 篇12

关键词:遗传算法,01背包问题,评价函数,遗传算子

1 问题描述及解的遗传表示

1.1 问题描述

01背包问题是一类基础的背包问题, 可以具体描叙为一个体积为volume的背包和n个物体, 对于物体i, 其体积为vi, 价值为wi, 01背包问题就是要在不超过背包体积的情况下, 使装入背包的物体价值量最大。

1.2 问题解的遗传表示[2]

因为对于一件物品只有放进与不放进两种选择, 所以只用两种状态就可以表示, 于是采用二进制编码。当xi=0时, 表示物体i不放入背包, 当xi=1时表示物体i放入背包, 则01背包问题的数学模型为, n个物体的背包问题的解可以表示为二进制串x= (x1, x2……xn) , xi=0或1。

2 遗传问题解决的关键技术

2.1 设计评价函数, 根据个体适应值对其进行优劣判定

采用经典的赌轮选择算法[3], 评价函数的功能是从群体中选择一个基因组, 选中的几率正比于基因组的适应性分数。

2.2 用遗传算子改变繁殖过程中产生的子个体遗传组成

杂交算子[4,5]要求两个染色体在同一随机位置上断裂, 然后将它们在断开点以后的部分进行互换, 以形成两个新的染色体 (子代) 。

变异算子[6,7], 沿着染色体长度, 依次对各位进行考察, 并按m_dMutationRate给定的几率, 将其中某些位进行翻转。

3 遗传问题解决的改进

可以设置适应性函数, 记下每一代中最差的价值, 然后对种群中每一个解得出的价值减去这个最差的价值, 这样相对差异变大, 接下来使用轮盘选择法, 可有效地从种群中移去最差的染色体, 因为最差的适应性分数为0[7,8]。改进的遗传算法可选择以下不同的变异算子[8-10]。

3.1 散播变异

随机地选择一对位置, 将其间的基因进行任意移动, 代码如下:

3.2 移位变异

随机选择两个点, 取出其间的染色体段, 插入到剩余染色体的一个随机位置上。

3.3 插入变异

插入变异是一种相当有效的变异。IM算子与DM算子很类似, 惟一不同点是IM一次只取出一个基因并插回染色体。

参考文献

[1]JOHN H HOLLAND.Adaptation in natural and artificial systems[M].A Bradford Book, 1992.

[2]王银年.遗传算法的研究与应用[D].无锡:江南大学, 2009.

[3]尹蔷.谈谈P和NP问题[J].大连教育学院学报, 2005 (4) .

[4]孙宇兴, 谭芬.利用动态规划解决01背包问题[J].现代交际, 2010 (5) .

[5]玄光男, 程润伟.遗传算法与工程优化[M].于歆杰, 周根贵, 译.北京:清华大学出版社, 2004.

[6]PETE BECKER.The C++standard library[M].Addison-Wesley Professional, 2006.

[7]刘刚, 何麟书.双赌轮选择遗传算法[J].北京航空航天大学学报, 2005 (8) .

[8]周永华.实数编码遗传算法杂交算子组合研究[D].广州:华南理工大学, 2003.

[9]葛继科, 邱玉辉, 吴春明, 等.遗传算法研究综述[J].计算机应用研究, 2008 (10) .

上一篇:财务困境成本下一篇:初步设想