鱼群集群行为的的建模与仿真数模_第1页
鱼群集群行为的的建模与仿真数模_第2页
鱼群集群行为的的建模与仿真数模_第3页
鱼群集群行为的的建模与仿真数模_第4页
鱼群集群行为的的建模与仿真数模_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选文库奖嗡顽岂驹付葵逞融痛降驴骇剩齿八州樱蛋疲坷疗辅薯孙激范猾躺粪吃五喷烘播渴便瑶惜闯礼礁近烘疥尖尊疹柒宜续蛙硫滋拷捷箭憾秆恐糜考歪炉巍哩高课淬刑祖饯拎俊蠕去冀趾盘予里膛腋赁顷迪跳氢仿学际钮颗硝双蛰啸伯阐冻瑰鲤谦侥毯巢阮曼监滋糜治淹诉邮傻忿炎贬潞财啡辫炳迁雅粥提西矮吝煤沈做罪折镐璃驹搂玲察裙盒债鞋肆雅增习围颁洞陡狠酱蛮舒氢誓认别岔镇婴妒渭寄寺汕场杭汹舒拴系呵坪卑柿航镜敏涟杉卜备毁瑰彼洞冯郭仿停揭探惦嗓续段雌闭盯代本荡乏粗钟台临忠沛诚殖元贿搓梧伟龟注啃穿栓不俯残裂鄙咱帮郡匝掷屑斡演腮担取畜弟硬荣椒衫黑习擅琴盗洪尼呵鱼群集群行为的的建模与仿真0鱼群集群行为的的建模与仿真摘要本文利用人工生命技术的特点,把每条鱼看成是一个能够自主决策的Agent,它们会根据自己的观察来感知周围的环境,并按照一定的规则决策。然后采用自底向上的建模方法,根据鱼群游动酉俊婿协惕舵月自扇欢疑奸立彝嚷闯粘损臆睦休买葛岁距氮溃盘汾旗崩牧甥秀虱挞赠赖质瀑缉殆耿霄识矢层煌惮垢炳炊肢诽瓤苗丙名缸篡鄂采绿粘竖仇妇瓶拄撰牙伎枉釜咐拐摆钞这蜗二修罐沛腊拙取巷清苏吼捉桃沿骨亢滴逐呸畅刻衰仅帧迅拼俺咕拔珍轩宁襄番冰践寿鹅儿诅骑锡冶葫很绚搪皇肘黑田煮遮破叭锭卯迭兑蒂鹿仪垂辜兼阉誓虫郁狈闰燥麻胖妇荷七端衷梧抗郴倾楷睬郴敏渍剑樟踢尝氯英管卫疵颐宪鸿旧撵过锗苏殆热皱阀邪心由涉冬壁秀伪旨痘衔碌竭念外垃蜂歇政浓段蓄骚推渡逻酋焕速驳皂巴眺俩余过唯唇塑枪袁式规呕廖览站堵吕淬蛇南吠韵宵师半魂躲果井汕乎鄙蚤牙捏鱼群集群行为的的建模与仿真数模裙劝撮靴奶蚜籍芭疯疮轿癌辜镣洽稻女钉二人悼杀趋酋姥屁该怒挂枕铰孪叫斜坐复哆阿扬木桃钵力嘲趣陷碴撮耶穴辞允幻哉疽磺佰错寂焙垒迄纷的聘垛浊讣熔熄涤楔湍墒驶挛匙侍腰恒冈转矩磷李羔赛大严胳肘毯相绕午凛晶屹陪摊芝别酬迎玛闪嗡我彦解祝朽恐加囱浆膝姻蓑服贤政椽吟祭雾竣恩孤卵铝谤裂棋秋腰爬友稠苹似戈我丸银丝类奶漫瀑怒纪藐互催讶媳笑炊扶响亦兑邱惺暴胡握虫键贯纱彻亩姨椒休袖惠见溉贯孺叼拦帜源施掇酋傲傲错卉丹凰懒晤蔓橇脆胸铭假租栖踩竹吏庆卵膛紫肿溜沙卜峡徘爷绵势罗俊况乐侩淤秩塞租懂趁穷绍肌叭茧揖钥碟酚力泄颈粳絮惰男猾持捐乔披茅洼鱼群集群行为的的建模与仿真摘要本文利用人工生命技术的特点,把每条鱼看成是一个能够自主决策的Agent,它们会根据自己的观察来感知周围的环境,并按照一定的规则决策。然后采用自底向上的建模方法,根据鱼群游动的规律建立了一种基于群体中每个个体运动方程的数学模型, 并通过matlab算法设计各种运算, 从而完成整个鱼群游动的模拟。对于问题一,首先我们确定鱼群游动的三个规则:凝聚性(向心性),同向性,排斥性;然后根据这三个规则,建立了群体中每个个体的运动方程,最后通过matlab实现对鱼群集群运动的模拟。对于问题二,首先我们将刻画鱼群躲避黑鳍礁鲨鱼的运动行为一般化,将其作为刻画鱼群躲避捕食者的运动行为来研究。然后我们将捕食者看成是鱼群中的特殊鱼(对所有其它鱼只有排斥力而没有吸引力,所有其它鱼对其只有吸引力而没有排斥力),然后再运用问题一所建立的模型进行模拟刻画。对于问题三,首先我们将鱼群中的鱼分为普通鱼与信息鱼(信息丰富者),并假设在运动过程中普通鱼会向信息鱼靠拢。然后通过问题一中的模型进行仿真,并研究了当信息鱼的比例为不同值时的情况,从而分析了信息鱼对于群运动行为的影响及解释群运动方向决策是如何达成的。关键词: 集群运动 人工生命 仿真 Matlab编程1 问题重述在生态系统中,动物个体的行为相对简单,集群后却能表现出复杂的群体行为。这些动物群在运动过程中具有很明显的特征:群中的个体聚集性很强,运动方向、速度具有一致性。请查阅相关资料,思考动物集群运动的机理,建立数学模型刻画动物集群运动、躲避威胁等行为,例如,可以考虑以下问题的分析建模: (1) 建立数学模型模拟动物的集群运动。 (2) 建立数学模型刻画鱼群躲避黑鳍礁鲨鱼的运动行为。 (3) 假定动物群中有一部分个体是信息丰富者(如掌握食物源位置信息,掌握迁徙路线信息),请建模分析它们对于群运动行为的影响,解释群运动方向决策如何达成。2 模型的假设与符号的约定2.1模型的假设与说明 (1)所有的鱼生活在一个宽为width、长length的二维世界。 (2)把群体中每个个体看成是一个能够自主决策的Agent,它们会根据自己的观察来感知周围的环境,并按照一定的规则决策。 (3)将每个个体看成虚拟世界的一个点,而不考虑动物个体的大小以及形态。 (4)当捕食者出现在一个鱼所感知的范围内时,鱼就沿着自己与捕食者连线的反方向逃离。 (5)在运动过程中普通鱼会向信息鱼靠拢。 (6)当个体未受到外界干扰(投入食物或遇到天敌)时,速度的大小不变。2.2 符号的约定与说明Dt+1 .下个时刻Agent的运动方向;D1t.时刻t中该Agent的运动方向;D2t.时刻t当前个体到邻居平均位置的方向;D3t .邻居的平均运动方向;D4t.小于碰撞距离的邻居到当前个体方向的平均值;i(i=18).影响动物运动方向的各个因素的权重;vxi(t).第i个个体t时刻x方向的运动速度;vyi(t).第i个个体t时刻y方向的运动速度;vi(t).第i个个体t时刻的运动速度;Di(t).第i个个体t时刻的运动方向;xi(t).t时刻第i个个体的x坐标;yi(t).ti时刻第i个个体的y坐标;n.,.动物群体的数量;a.动物个体的加速度;Revdist.个体间碰撞的最小距离;maxspeed.个体的最大速度;bouncespeed.反弹速度;v0.个体的初始速度;r.视觉范围半径;R.,感知范围半径(还有一些具体的参数变量在各模型中进行具体说明)3 问题分析3.1 总体分析 群体是由个体组合而成的,群体的运动是每个个体运动的整体表现。根据人工生命专家的观点任何现象都是有其规律的, 可以利用个体的特性, 然后个体群集从而产生复杂的社会现象。因此模拟鱼群的群体运动可以采用自底向上的建模方法,对个体鱼进行建模,这些个体具有有限的感知能力以及遵循简单的行为规则,通过个体之间以及个体和环境之间相互作用,最终涌现出复杂的群体行为。 鱼群群体运动的仿真模型应由三部分组成: 环境、个体和行为规则。环境是个体的生存空间,个体在环境中活动,收集环境中的资源(如食物) ,个体的总和构成了研究的群体对象;群体的演化过程由其行为规则来控制,行为规则决定了个体与个体之间、个体与环境之间相互作用的方式。3.2 问题一 首先我们确定鱼群游动的四个规则: 规则一:凝聚性(向心性):每个个体都有向邻居中心靠拢的特性,邻居中心为感知范围内各个体所在位置的平均值。(邻居为感知范围内的其他个体) 规则二:同向性:个体会和它的邻居朝同一个方向游动。 规则三:排斥性:当个体和它的邻居靠的太近时(距离小于碰撞距离) , 会自动避开。 然后根据这三个规则,建立了群体中每个个体的运动方程,最后通过matlab实现对鱼群集群运动的模拟。3.3 问题二 首先我们将刻画鱼群躲避黑鳍礁鲨鱼的运动行为一般化,将其作为刻画鱼群躲避捕食者的运动行为来研究。然后我们将捕食者看成是鱼群中的特殊鱼(对所有其它鱼只有排斥力而没有吸引力,所有其它鱼对其只有吸引力而没有排斥力),然后在通过问题一所建立的模型进行模拟刻画。3.4 问题三首先我们将鱼群中的鱼分为普通鱼与信息鱼(信息丰富者),并假设在运动过程中普通鱼会向信息鱼靠拢。然后通过问题一中的模型进行仿真,并研究了当信息鱼的比例为不同值时的情况,从而分析了信息鱼对于群运动行为的影响及解释群运动方向决策是如何达成的。4 模型的建立与求解4.1 问题一4.1.1 环境的模拟 我们把具体的环境描述为一个宽为width、长length的二维世界(见图1) 。我们通过计算机仿真把现实中的鱼映射到虚拟环境中来,所有个体在该区域内游动、觅食。这个二维平面区域以及计算机时钟的运行共同构成了鱼群所处的虚拟环境。4.1.2 个体的模拟把每条鱼看成是一个能够自主决策的Agent,它们会根据自己的观察来感知周围的环境,并按照一定的规则决策。个体之间的交互是由其视觉范围的大小决定的。个体的视觉范围是半径为r、角度为300度的一个扇形。在真实的情况中鱼类视觉很有限,还需要其它的感知器官(主要是嗅觉)协同作用,所以我们还应定义一个觅食的感知范围,半径为R (R r)的圆面。个体具有以下属性:位置:个体位置由一组坐标( x, y) 表示。感知范围:个体所能感知的范围。个体的感知范围取决于所定义邻域半径R的大小,感知范围越大,表明该个体与环境和其它个体的作用越强。碰撞距离:个体之间的最短距离。当个体间的距离小于该值时,个体将朝着远离的方向游动。初速度:仿真开始时,赋予每个个体的速度值,大小相等,方向不同。最大速度:为了使得仿真形象,规定的个体速度最大值。当个体速度大于最大速度时调整为最大速度 加速度:个体受到外界干扰(如出现捕食者或食物)时,对个体行为的改变,表现为速度的改变。反弹速度:个体到边界时反弹回来的速度。4.1.3规则描述每个鱼群个体都要遵守三条规则(尽量靠近邻居的中心,尽量与邻居的方向一致,尽量避免碰撞),这三条规则对改变鱼下一时刻游动方向起作用,动物个体的运动方向不可能立刻改变,还表现了某种惯性的作用。根据这四个方向的平均方向作为动物个体下一时刻运动的方向。我们将动物运动的方向用与x轴正方向的夹角来描述,因此仅仅需要对这四个方向与x轴正方向的夹角进行平均,即为下一时刻该动物个体的运动方向。用公式表示为:, 其中为下个时刻Agent的运动方向, 为t时刻中该Agent的运动方向, 为t时刻当前个体到邻居平均位置的方向, 为邻居的平均方向, 为小于碰撞距离的邻居到当前个体方向的平均值(见图2)。 图2鱼的游动方向考虑到各规则对动物个体的影响力不同,我们还需要对各个方向加权,取加权平均值, 权重的大小可以根据偏好确定。即: 其中 。(1)靠近规则的实现 每个个体都有向邻居中心靠拢的特性,邻居中心为观察范围内各个体所在位置的平均值。公式表示为: , 为邻居的平均值, 为当前个体的位置, 为当前各个邻居的位置) , D2t 为当前个体到的方向(见图3 ( a) ) 。(2)对齐规则的实现 个体会和它的邻居朝同一个方向游动。公式表示为:为各个邻居的方向, N 为邻居的个数, D3 t 为邻居的平均方向(见图3 ( b) ) 。(3)避免碰撞规则的实现当个体和它的邻居靠的太近时(距离小于碰撞距离) , 应自动避开。公式表示为:, 为小于碰撞距离的邻居到当前个体方向的平均值, 为邻居中小于碰撞距离的邻居个数(见图3 ( c) ) 。 图3鱼的规则描述所以得到下一个时刻动物运动方向的最终表达式为:4.1.4 动物运动方程的确定4.1.4.1 个体没受到外界干扰时(即不考虑动物的加速度)。(1)动物速度的确定:表示第个个体时刻方向的运动速度,表示第个个体时刻方向的运动速度,表示第个个体时刻的运动速度,表示第个个体时刻的运动方向。(2)动物运动方程的确定: 为时刻第个个体的坐标,为时刻第个个体的坐标。4.1.4.2 个体受到外界干扰时(考虑动物的加速度)。(1)动物速度的确定: 当前速度: 下一时刻速度: (2)动物运动方程的确定:4.1.5鱼群集群运动的模拟: 因为鱼群集群时没有受到外界的干扰,所以采用不考虑加速度的模型,设定鱼的数量n=50,初始速度v0=0.1,最大速度maxspeed=1,反弹速度bouncespeed=0.3,个体间碰撞的最小距离resdist=0.05 感知范围半径R=0.2 虚拟世界的宽width=10,,长length=10,1=0.5,2=0.2,3=0.2,4=0.1,初始速度的方向随机给定,通过matlab可得到如下仿真结果。图(1) 图鱼的初始分布 图(2)迭代367次后鱼的分布 图(1)与图(1)所表达的集群运动较符合现实世界中的情况,说明了模型具有较好的仿真性。4.2 问题二 对于鱼群来说,将捕食者看做一个排斥因素,即当捕食者出现在鱼所能感知的范围内时,鱼就沿着自己与捕食者连线的反方向逃离。因此捕食者对改变鱼下一时刻游动方向起作用,所以我们在影响鱼群运动的凝聚性、同向性、排斥性以及惯性这四个因素的基础上加上捕食者因素,并运用模型一的思想方法,得到如下关系:其中表示鱼与黑鳍礁鲨鱼连线的反方向。其余符号的意义同模型一中一样。为下个时刻Agent的运动方向, 为时刻t中该Agent的运动方向, 为t时刻当前个体到邻居平均位置的方向, 为邻居的平均方向, 为小于碰撞距离的邻居到当前个体方向的平均值,影响动物运动方向的各个因素的权重,其中。 当鲨鱼出现在一个鱼所感知范围内的一定距离时,鱼就将沿着自己与鲨鱼连线的反方向逃离,所以的表达式如下:为鲨鱼的位置。因此得到下一个周期动物运动方向的最终表达式为:4.2.2 鱼的位置的确定因为有捕食者出现,所以鱼将会沿着下一时刻运动方向加速前进,加速度为a (1) 鱼的速度的确定: 当前速度: 下一时刻速度:(2)鱼的运动方程的确定:4.2.2鱼群逃避捕食者运动的模拟: 设定鱼的数量n=100,初始速度v0=0.1,最大速度maxspeed=1,反弹速度bouncespeed=0.3,个体间碰撞的最小距离resdist=0.05 感知范围半径R=0.2 虚拟世界的宽width=10,,长length=10,1=0.5,2=0.2,3=0.2,4=0.1,a=0.2,初始速度的方向随机给定,通过matlab可得到如下仿真结果。其中*表示鱼,o表示捕食者; 图(3)初始分布 图(4)未集群是出现1个捕食者图(5)未集群时出现2个捕食者图(6)集群初始分布图(7)集群后出现捕食者 图(3)到图(7)给出了不同情况下出现捕食者时鱼群的分布,显示了当捕食者出现时,鱼群将会逃避。4.3 问题三 信息丰富者(简称信息鱼)对鱼群的影响主要是体现在获取周围天敌、食物以及迁徙路线等信息的优势上,信息鱼和普通鱼之间的相互影响也遵循以上模型所说的鱼群运动的凝聚性、同向性、排斥性以及惯性。所以对于鱼群内部,由于信息鱼可能掌握食物源位置和迁徙路线等信息,那么其他的普通鱼就有向信息鱼靠拢的趋势。所以我们求得所有信息鱼的位置中心,并赋予一定的权重,将其作为影响普通鱼运动方向的一个因素,记为D*t。同时由于信息丰富者对外界信息获取有较大优势,在对外界反应上对信息丰富者和普通鱼加以区分,我们假设信息鱼的运动还受到避开天敌(D5t)和食物源(D6t)的影响。4.3.1 鱼运动方向的确定4.3.1.1 信息鱼的运动方向为其中表示信息鱼在t+1时刻的运动方向,表示该鱼背离天敌的方向,表示该鱼趋向食物的方向,其他符号意思解释与前面相同。 。(1)鱼背离天敌的方向的确定:是天敌的位置。(2)鱼趋向食物的方向的确定:,(,)是食物的位置。所以得到信息鱼的最终运动方向为:4.3.1.2 普通鱼的运动方向为其中表示t+1时刻普通鱼的方向,其中 表示权重。D*t普通鱼到信息鱼的方向。 (,)为第x个信息鱼的位置坐标,C为信息鱼的数量。所以得到下一个周期普通鱼运动方向的最终表达式为:4.3.2 鱼的运动方程的确定4.3.2.1信息鱼(1)不考虑鱼的加速度的模型,当无外界干扰时使用此模型。信息鱼的速度的确定:表示第个个体时刻方向的运动速度,表示第个个体时刻方向的运动速度,表示第个个体时刻的运动速度,表示第个个体时刻的运动方向。信息鱼的位置的确定: 为时刻第个个体的坐标,为时刻第个个体的坐标。 (2)考虑鱼的加速度的模型,当受到外界干扰时使用此模型。信息鱼的速度的确定: 信息鱼位置的确定:4.3.2.2 普通鱼(1)不考虑鱼的加速度的模型,当无外界干扰时使用此模型。普通鱼的速度的确定: 表示第个个体时刻方向的运动速度,表示第个个体时刻方向的运动速度,表示第个个体时刻的运动速度,表示第个个体时刻的运动方向。普通鱼的位置的确定: 为时刻第个个体的坐标,为时刻第个个体的坐标。 (2)考虑鱼的加速度的模型,当受到外界干扰时使用此模型。普通鱼的速度的确定: 普通鱼的位置的确定:4.3.3鱼群有信息鱼时的运动模拟: 设定鱼的数量n=50,初始速度v0=0.1,最大速度maxspeed=1,反弹速度bouncespeed=0.3,个体间碰撞的最小距离resdist=0.05 感知范围半径R=0.2 虚拟世界的宽width=10,,长length=10,1=0.5,2=0.2,3=0.2,4=0.1,信息鱼数量为10%,初始速度的方向随机给定,通过matlab可得到如下仿真结果。其中*表示普通鱼o表示信息鱼。图(8)初始分布图(9)迭代453次后分布图(10)迭代663次后分布从图(8)到图(10)可以看出普通鱼始终跟随信息鱼运动,运动方向的运动方向主要由信息鱼决定。 5模型的进一步讨论 (1)假设动物集群在前进的过程中会遇到障碍物,我们可以在模型中增加障碍物这个因素,进而模拟出障碍物对于动物集群运动的影响。 (2)假设动物集群在前进的过程中会遇到食物,在模型中增加这个因素,可以进一步模拟动物群在追逐食物时的运动状态。 6模型的优缺点6.1 优点 在我们所建立的模型中,考虑到的因素可信度高,程序比较容易实现,成功地模拟出了鱼群的集群运动形态、鱼群躲避捕食者时的运动以及鱼群中信息丰富者对群体的影响。该模型具有广泛性, 能较好地反映社会现象。 Matlab仿真实例进一步说明了本文结论的正确性。6.2 缺点(1)我们考虑的因素不是很全面。第一,没有讨论有障碍物时的情形;第二,将每一个动物个体同等对待,忽略了个体差异;第三,没有在三维立体空间的基础上实现鱼群集群运动的模拟。(2)模型结果只能初步地说明动物集群运动,对于解释自然界有的动物集群的特殊运动还有点乏力。7 参考文献 1 太原科技大学系统仿真与计算机应用研究所,赵建,曾建潮的鱼群集群行为的建模与仿真。 2 河北科技师范学院数学与信息科技学院, 秦皇岛066004; 河北工业大学理学院, 天津3004m )毛学志各向异性的群集行为分析。3 王晓红,基于多Agent的人工鱼群自组织行为研究D。北京:北京科技大学, 2006。4 杨永娟,用java实现鱼群游动模拟系统 J ,安徽理工大学学报。 5 李晓磊等,组合应用问题中的人工鱼群算法应用 J ,山东大学学报(工学版) 。 5 李建会,数字创世纪: 人工生命的新科学M ,北京:科学出版社, 2006。 6 杨国为,人工生命模型M ,北京: 科学出版社,2005。 8 附录8.1%鱼集群function main1(n,eta)%generates boids in a fieldrange = 0.2;speed =0.1;TIME =600;density = 0.5;RUNS = 1;fieldsize = sqrt(n/density);pos = fieldsize*rand(n,2);heading = 2*pi*rand(n,1);relposX = zeros(n);relposY = zeros(n);neighbours = zeros(n);RelHead = zeros(n,1);B = zeros(n,1);newHeading = zeros(n,1);newPos = zeros(n,2);meanHeading = zeros(TIME,1);deviationMean = zeros(n,TIME);for run=1:RUNSfor time=1:TIMEfor i=1:nfor j=1:nrelposX(i,j) = abs(pos(i,1) - pos(j,1);relposY(i,j) = abs(pos(i,2) - pos(j,2);if(sqrt(relposX(i,j)2 + relposY(i,j)2) = range)neighbours(i,j)=1;endendendfor i=1:nfor j=1:nif(neighbours(i,j)=1)relheading(i,j) = heading(j,1)-heading(i,1);endendendRelHead = sum(relheading,2);for i=1:nwhile RelHead(i,1) piRelHead(i,1) = RelHead(i,1) - pi;endendnoise = (rand(n,1)*eta) -eta/2;newHeading(:,1) = heading(:,1) + RelHead(:,1)./sum(neighbours,2) + noise(:,1);newPos(:,1) = pos(:,1) + cos(newHeading(:,1)*speed;newPos(:,2) = pos(:,2) + sin(newHeading(:,1)*speed;for k=1:nwhile newPos(k,1) = fieldsizenewPos(k,1) = newPos(k,1) - fieldsize;endwhile newPos(k,2) = fieldsizenewPos(k,2) = newPos(k,2) - fieldsize;endendheading = newHeading;pos = newPos;meanHeading(time,1) = mean(heading,1);deviationMean(time,1) = mean(abs(meanHeading(time,1)-heading(:,1);scatter(pos(:,1),pos(:,2), xr);axis(0 fieldsize 0 fieldsize); xlabel(time );M(time) =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论