『壹』 谁有蚂蚁信息分类网的源码 最好是最新的 给个地址下载也行 谢谢了

网罗九百技术论坛 这个论坛里有很多源码,你说的蚂蚁分类网也有,还是VIP源码呢 免费的

『贰』 蚂蚁 蚂蚁

蚂蚁
蚂蚁(ant)属节肢动物门,昆虫纲,膜翅目,蚁科。

目前有21亚科283属(after Bolton 2003)(主流沿用的是16亚科的分类系统和21亚科的系统相比,新的系统从猛蚁亚科中分出了若干亚科)。蚂蚁是人们常见的一类昆虫,很容易识别。一般体小(0.5mm-3cm),颜色有黑、褐、黄、红等,体壁具弹性,光滑或有毛。口器咀嚼式,上颚发达。触角膝状,4~13节,柄节很长,末端2~3节膨大。腹部第1节或1、2节呈结状。有翅或无翅。前足的距大,梳状,为净角器(清理触角用)。为多态型的社会昆虫据估计,仅有大约半数的蚂蚁——目前约为11700种——被描述了。一个更大范围的蚂蚁区系研究也有待进行。常见的有小家蚁Monomorium pharaonis L.等。

蚂蚁的型与分工

发育为完全变态。所有的蚁科都过社会性群体生活。一般在一个群体里有四种不同的蚁型。
l、蚁后:有生殖能力的雌性,或称母蚁,在群体中体型最大,特别是腹部大,生殖器官发达,触角短,胸足小,有翅、脱翅或无翅。主要职责是产卵、繁殖后代和统管这个群体大家庭。
2.雄蚁:或称父蚁。头圆小,上颚不发达,触角细长。有发达的生殖器官和外生殖器,主要职能是与蚁后交配。
3.工蚁:又称职蚁。无翅,一般为群体中最小的个体,但数量最多。复眼小,单眼极微小或无。上颚、触角和三对胸足都很发达,善于步行奔走。工蚁是没有生殖能力的雌性。工蚁的主要职责是建造和扩大巢穴、采集食物、伺喂幼蚁及蚁后等。
4.兵蚁:头大,上颚发达,可以粉碎坚硬食物,在保卫群体时即成为战斗的武器。

蚂蚁建立群体,也是以通过婚飞方式两性相识结交为起点。相识后一见钟情,在飞行中或飞行后交尾。“新郎”寿命不长,交尾后不久死亡留下“遗孀”蚁后独自过着孤单生活。蚁后脱掉翅膀,在地下选择适宜的土质和场所筑巢。她“孤家寡人”,力量有限,只能暂时造一小室,作为安身之地,并使已“受孕”的身体有个产房。待体内的卵发育成熟产出后,小幼虫孵化出世,蚁后就忙碌起来。每个幼蚁的食物都由她嘴对嘴地喂给,直到这些幼蚁长大发育为成蚁,并可独立生活时为止。当第一批工蚁长成时,它们便挖开通往外界的洞口去寻找食物,随后又扩大巢穴建筑面积,为越来越多的家族成员提供住房。自此以后,饱受艰苦的蚁后就坐享清福,成为这个群体大家族的统帅。抚育幼蚁和喂养蚁后的工作均由工蚁承担。但蚁后还要继续交配,不断产生受精卵,以繁殖大家族。她的寿命可长达15年。蚁巢有各种形式,大多数种类在地下土中筑巢,挖有隧道、小室和住所,并将掘出的物质及叶片堆积在入口附近,形成小丘状,起保护作用。也有的蚁用植物叶片、茎秆、叶柄等筑成纸样巢挂在树上或岩石间。还有的蚁生活在林区朽木中。更为特殊的是,有的蚁将自己的巢筑在别的种类蚁巢之中或旁边;而两“家”并不发生纠纷,能够做到和睦相处。这种蚁巢叫做混合性蚁巢,实为异种共栖。无论不同的蚁类或同种的蚁,其一个巢内蚁的数目均可有很大的差别。最小的群体只有几十只或近百只蚁,也有的几千只蚁,而大的群体可以有几万只,甚至更多的蚁。

在我国华南一带的阔叶林中,还有一种翘尾蚁,顾名思义,就是它那带有螯针的尾端常翘起来,像是跃跃欲试,随时准备进攻的样子。它有种怪脾气,经常与树打交道。它喜欢用叼来的腐质物以及从树上啃下来的老树皮,再搀杂上从嘴里吐出来的粘性汁液,在树上筑成足球大的巢,巢内分成许多层次,分别住着雄蚁、蚁后和工蚁,并在巢中生儿育女,成为一个"独立王国"。开始时一树一巢,当群体过大,而且又有新的蚁后出生时,新蚁后便带领部分工蚁另造新居。有时为争夺领域,常展开一场恶斗。为了在树上捕捉其他小虫为食,它可用细长而有力的足在树冠的枝叶上奔跑。如两树相距较近,为免去长途奔波之劳,它们能巧妙地互相咬住后足,垂吊下来,借风飘荡,摇到另一棵树上去,搭成一条"蚁索桥"。为了能较长久地连接两树之间的通途,承担搭桥任务的工蚁还能不断替换。树上的食物捕尽,又结队顺树而下,长途奔袭,捕捉地面上的小动物。猎物一旦被擒获,翅尾蚁便会用螯针注入麻醉液,使猎物处于昏迷状态,然后拉的拉,拽的拽,即使是一只超过它们体重百倍的螳螂或蚯蚓,也能被它们轻而易举地拖回巢中。

人们从有这种蚁巢的树下经过,可要十分小心。如惊动了它们,会倾巢出动,顺树而下或从空而降,进行攻击,使你遭受挨蜇之苦。大家可要小心蚂蚁!!

蚁类的食性在不同亚科和不同种类之间有很大的差别。一般可分为肉食性、植食性和杂食性。蚂蚁在一年中的大部分时间里都在辛勤地劳动。那么到了严寒的冬天它们又到哪里去觅食呢?它们是如何过冬的呢?原来聪明的蚂蚁在入冬之前早有准备。它们首先搬运杂草种子,准备明年播种用;同时搬运蚜虫、介壳虫、角蝉和灰蝶幼虫等到自己巢内过冬,从这些昆虫身上吸取排泄物做为食料(奶蜜)。蚂蚁为什么知道冬天快来了呢?从现代科学的观点看,蚂蚁的这种本能是受它们体内的年生物钟控制而起作用的,换句话说,它们是按照年生物钟的运行规律做好越冬期食物储备的。

与蚂蚁互动形成的生物达到了惊人的程度。与蚂蚁共生(symbiosis)的生物,或专性或间性,植物超过了52科465种(Jolivet 1996),动物则达到了数千种(Kistner 1982; Hölldobler & Wilson 1990),还有大量未知的真菌和微生物(Schultz & McGlynn 2000; Mueller et al. 2001)。

蚂蚁正在使用着非凡的生存策略——种植真菌,收获种子,放牧产蜜昆虫,编制巢穴,合作捕食,社会性寄生,蓄奴——这些都极大地刺激着科学家和公众的好奇心。

蚂蚁在世界各个角落都能存活,其秘诀就在于它们生活在一个非常有组织的群体中。它们一起工作,一起建筑巢穴,使它们的卵与后代能在其中安全成长。

蚂蚁有不同的类型,每一类都有其专门的职责。蚁后产卵,大部分卵将发育成雌性,它们被称为工蚁。它们负责建筑并保卫巢穴,照顾蚁后、卵和幼虫,以及搜寻食物。到了一定的时候,雄蚁与新的蚁后会产生出来。它们有翅膀,从巢穴里集群飞出。交配以后,雄蚁即死去,新的蚁后则开始领导起又一个群体的生活。

在群体中,蚁后是最重要的成员。它是唯一能产卵的。这意味着它是这一群体中所有蚂蚁的母亲。工蚁喂养它,替它清洁身体,并将它的卵带到另一处去照料。

某些澳大利亚蚂蚁将它们的工蚁作为一种活的储藏罐。当工蚁采集了大量的花蜜,即一种源自花中的甜甜的液体,将它吞进体内、身体变得膨大起来之后,它们就将自身挂在巢穴的天花板上,一直到有别的蚂蚁需要食用它们体内储藏的那些花蜜为止。

兵蚁正在林地上觅食。为搜寻食物,它们有时会在林地上排成长队。它们总是很饥饿,因此几乎会向任何东西发起进攻,有时甚至是大的哺乳动物。

不同的蚂蚁吃不同的食物。收获蚁吃种子,它们将种子收藏在地窖里;而割叶蚁吃蘑茹,它们将叶片搬运到地下,用来培植蘑茹。有些蚂蚁则贮存一种叫蚜虫的昆虫,它们人蚜虫体内抽取一种含糖的物质作为食物,这同人类从母牛身上挤奶的方式非常相似。

根据科学家的研究证明,蚂蚁在洞穴里缺少糖份,对自己的生长发育很不好,为了能够找到充分的糖份,所以蚂蚁一旦发现甜的东西,触角就会自主的硬起来,这是蚂蚁的一个天性。
摘抄中科院爬行动物研究室

蚂蚁是社会性很强的昆虫,彼此通过身体发出的信息素来进行交流沟通,当蚂蚁找到食物时,会在食物上撒布那样的信息素,别的蚂蚁就会本能地把有信息素的东西拖回洞里去。
当蚂蚁死掉后,它身上的信息素依然存在,当有别的蚂蚁路过时,会被信息素吸引,但是死蚂蚁不会像活的蚂蚁那样跟对方交流信息(互相触碰触角),于是它带有信息素的尸体就会被困惑的同伴当成食物运回去。
通常情况下,那样的尸体不会被当成食物吃掉,因为除了信息素以外,每一窝的蚂蚁都有自己特定的识别气味,有相同气味的东西不会受到攻击,这就是同窝的蚂蚁可以很好协作的基础。

【关于蚂蚁搬家】

在一些介绍自然常识的书上,蚂蚁搬家,燕子低飞,蛇过道等现象,都被认为是即将下雨的先兆。事实果真如此吗?

如果说蚂蚁能够凭借本能准确地感觉出即将下雨,甚至能准确地感觉出下雨量的大小,都是完全有可能的,但蚂蚁是一种低智慧生物,其视力范围很短,主要依靠嗅觉感知周围的事物,测量自己的家与周围较大区域地势的相对高低,是一项较复杂的工作,必须依靠很好的视觉,鼠目寸光,蚂蚁的目光比老鼠还短,因此,蚂蚁不大可能会有测量自己的家与周围较大区域地势相对高低的本能。至于根据预测未来几天的雨量来判断自己的家是否会被雨水淹没,其判断难度更大,就连人类目前也很难准确做到这点,难道蚂蚁比人还厉害,可以准确的计算自己的家是否会被雨水淹没?是否需要通过搬家回避雨水淹没?

蚂蚁窝几乎无处不在,在我家的附近就有很多,我发现,每当连续下大雨的时候,茫茫大地一片汪洋,一连好几天积存着很深(相对于蚂蚁来讲)的雨水,放眼望去,那些蚂蚁的家也不乏有被水完全淹没的,那末,在那深深的水下被一连浸泡了好几天的那一窝窝蚂蚁,是否都遭到了灭顶之灾呢?根本没有,只要雨过天晴,积水一退,那些蚂蚁窝的洞口又迅速地出现了一只只繁忙的蚂蚁,只见它们忙里忙外,丝毫没有死伤惨重的迹象。这表明蚂蚁的窝根本不怕雨水短时间的浸泡,当雨水的浸泡使得蚂蚁窝上部没有空气时,窝内的蚂蚁可采用堵住通道,向窝内下面较深处转移的方法避免雨水浸泡的伤害,土壤的疏水作用,以及蚂蚁窝内部较深处的结构特征,使得蚂蚁根本没有必要一感觉到要下雨就开始考虑是否搬家。

为了验证被水完全淹没的蚂蚁窝内的蚂蚁是否会被水全部淹死,还可以通过水淹实验加以验证,试验表明:受到水淹4个小时,没有看出对窝内蚂蚁的生命产生影响。既然被水淹的蚂蚁窝内的蚂蚁不会被水淹死,则在生物进化的过程中,蚂蚁就没有必要进化出在即将下雨前选择搬家的本能。生物进化的选择往往是最科学的选择,为了防止蚂蚁窝被水淹,更科学的选择应该是在开始建蚂蚁窝时就将其建在可防水淹的地方,而不是一次次地采取“劳民伤财”的搬家行动。难道蚂蚁在建窝时没有服从生物进化的选择?

由此看来,蚂蚁搬家不一定是蚂蚁担心自己的家是否会被水淹没采取的行动,完全有可能是另有原因。比如,由于蚁群数量增加造成在蚂蚁窝附近的食物短缺,需要寻找新的食物来源,由于在蚂蚁窝附近出现别的蚁群造成一种威胁,需要回避危险,或者是每群蚂蚁本身就有一种建立多个蚁窝的习惯等等。至于蚂蚁选择在阴天或夜晚搬家,主要是为了防止太阳的暴晒对蚁卵可能造成的伤害,由于在夜晚人们不注意蚂蚁的行动,但常常能够在阴天看见蚂蚁搬家,于是,就将蚂蚁搬家与下雨联系了起来。

有时人们会把“蚂蚁”用来比喻草根、团结,比如“蚂蚁精神”、“蚂蚁社区”等等。

『叁』 用蚂蚁算法来实现公交线网优化,谁有源代码

我只告诉你什么是蚂蚁算法: 蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术。它由Marco Dorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
为什么小小的蚂蚁能够找到食物?他们具有智能么?设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼的编程,因为程序的错误也许会让你前功尽弃。这是多么不可思议的程序!太复杂了,恐怕没人能够完成这样繁琐冗余的程序。
然而,事实并没有你想得那么复杂,上面这个程序每个蚂蚁的核心程序编码不过100多行!为什么这么简单的程序会让蚂蚁干这样复杂的事情?答案是:简单规则的涌现。事实上,每只蚂蚁并不是像我们想象的需要知道整个世界的信息,他们其实只关心很小范围内的眼前信息,而且根据这些局部信息利用几条简单的规则进行决策,这样,在蚁群这个集体里,复杂性的行为就会凸现出来。这就是人工生命、复杂性科学解释的规律!那么,这些简单规则是什么呢?下面详细说明:
1、范围:
蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的范围就是3*3个方格世界,并且能移动的距离也在这个范围之内。
2、环境:
蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。每个蚂蚁都仅仅能感知它范围内的环境信息。环境以一定的速率让信息素消失。
3、觅食规则:
在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,这样,它就朝信息素多的地方走,并且每只蚂蚁多会以小概率犯错误,从而并不是往信息素最多的点移动。蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素没反应。
4、移动规则:
每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。
5、避障规则:
如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为。
7、播撒信息素规则:
每只蚂蚁在刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少。
根据这几条规则,蚂蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过信息素这个纽带,实际上把各个蚂蚁之间关联起来了。比如,当一只蚂蚁找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信息素的指引找到了食物。
说了这么多,蚂蚁究竟是怎么找到食物的呢?
在没有蚂蚁找到食物的时候,环境没有有用的信息素,那么蚂蚁为什么会相对有效的找到食物呢?这要归功于蚂蚁的移动规则,尤其是在没有信息素时候的移动规则。首先,它要能尽量保持某种惯性,这样使得蚂蚁尽量向前方移动(开始,这个前方是随机固定的一个方向),而不是原地无谓的打转或者震动;其次,蚂蚁要有一定的随机性,虽然有了固定的方向,但它也不能像粒子一样直线运动下去,而是有一个随机的干扰。这样就使得蚂蚁运动起来具有了一定的目的性,尽量保持原来的方向,但又有新的试探,尤其当碰到障碍物的时候它会立即改变方向,这可以看成一种选择的过程,也就是环境的障碍物让蚂蚁的某个方向正确,而其他方向则不对。这就解释了为什么单个蚂蚁在复杂的诸如迷宫的地图中仍然能找到隐蔽得很好的食物。
当然,在有一只蚂蚁找到了食物的时候,其他蚂蚁会沿着信息素很快找到食物的。
蚂蚁如何找到最短路径的?这一是要归功于信息素,另外要归功于环境,具体说是计算机时钟。信息素多的地方显然经过这里的蚂蚁会多,因而会有更多的蚂蚁聚集过来。假设有两条路从窝通向食物,开始的时候,走这两条路的蚂蚁数量同样多(或者较长的路上蚂蚁多,这也无关紧要)。当蚂蚁沿着一条路到达终点以后会马上返回来,这样,短的路蚂蚁来回一次的时间就短,这也意味着重复的频率就快,因而在单位时间里走过的蚂蚁数目就多,洒下的信息素自然也会多,自然会有更多的蚂蚁被吸引过来,从而洒下更多的信息素……;而长的路正相反,因此,越来越多地蚂蚁聚集到较短的路径上来,最短的路径就近似找到了。也许有人会问局部最短路径和全局最短路的问题,实际上蚂蚁逐渐接近全局最短路的,为什么呢?这源于蚂蚁会犯错误,也就是它会按照一定的概率不往信息素高的地方走而另辟蹊径,这可以理解为一种创新,这种创新如果能缩短路途,那么根据刚才叙述的原理,更多的蚂蚁会被吸引过来。
引申:
跟着蚂蚁的踪迹,你找到了什么?通过上面的原理叙述和实际操作,我们不难发现蚂蚁之所以具有智能行为,完全归功于它的简单行为规则,而这些规则综合起来具有下面两个方面的特点:
1、多样性
2、正反馈
多样性保证了蚂蚁在觅食的时候不置走进死胡同而无限循环,正反馈机制则保证了相对优良的信息能够被保存下来。我们可以把多样性看成是一种创造能力,而正反馈是一种学习强化能力。正反馈的力量也可以比喻成权威的意见,而多样性是打破权威体现的创造性,正是这两点小心翼翼的巧妙结合才使得智能行为涌现出来了。
引申来讲,大自然的进化,社会的进步、人类的创新实际上都离不开这两样东西,多样性保证了系统的创新能力,正反馈保证了优良特性能够得到强化,两者要恰到好处的结合。如果多样性过剩,也就是系统过于活跃,这相当于蚂蚁会过多的随机运动,它就会陷入混沌状态;而相反,多样性不够,正反馈机制过强,那么系统就好比一潭死水。这在蚁群中来讲就表现为,蚂蚁的行为过于僵硬,当环境变化了,蚂蚁群仍然不能适当的调整。
既然复杂性、智能行为是根据底层规则涌现的,既然底层规则具有多样性和正反馈特点,那么也许你会问这些规则是哪里来的?多样性和正反馈又是哪里来的?我本人的意见:规则来源于大自然的进化。而大自然的进化根据刚才讲的也体现为多样性和正反馈的巧妙结合。而这样的巧妙结合又是为什么呢?为什么在你眼前呈现的世界是如此栩栩如生呢?答案在于环境造就了这一切,之所以你看到栩栩如生的世界,是因为那些不能够适应环境的多样性与正反馈的结合都已经死掉了,被环境淘汰了!
参数说明:
最大信息素:蚂蚁在一开始拥有的信息素总量,越大表示程序在较长一段时间能够存在信息素。信息素消减的速度:随着时间的流逝,已经存在于世界上的信息素会消减,这个数值越大,那么消减的越快。
错误概率表示这个蚂蚁不往信息素最大的区域走的概率,越大则表示这个蚂蚁越有创新性。
速度半径表示蚂蚁一次能走的最大长度,也表示这个蚂蚁的感知范围。
记忆能力表示蚂蚁能记住多少个刚刚走过点的坐标,这个值避免了蚂蚁在本地打转,停滞不前。而这个值越大那么整个系统运行速度就慢,越小则蚂蚁越容易原地转圈。
-----例子-----
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>蚁群算法js版</title>
<style>
.ant{
position:absolute;
background-color:#000000;
overflow:hidden;
width:2px;
height:2px;
}
.food{
position:absolute;
background-color:#0000ff;
overflow:hidden;
width:2px;
height:2px;
}
.nest{
position:absolute;
background-color:#ff0000;
overflow:hidden;
width:2px;
height:2px;
}
</style>
<script type="text/javaScript">
//============================
//系统参数初始化
//----------------------------
//生命体数量与轨迹长度
Unit=10;Path=30;
//生命体速度上下限
v0=2;vM=10;
//生命体加速度变化范围
Kr=0.1;Kv=0.1*(vM-v0);
//生命体运动范围
x0=0;xM=document.documentElement.clientWidth;
y0=0;yM=document.documentElement.clientHeight;
//生命体出生地(巢穴)
xi0=x0+(xM-x0)*Math.random();
yi0=y0+(yM-y0)*Math.random();
str0='<div class="ant" style="left:'+xi0+';top:'+yi0+';"></div>';
//食物所在地
xf=x0+(xM-x0)*Math.random();
yf=y0+(yM-y0)*Math.random();
//气味感知范围
R_2=5*5;
//============================
var r=new Array();
var v=new Array();
var dr=new Array();
var dv=new Array();
var x=new Array();
var y=new Array();
var life=new Array();
//单击暂停
var xi0,yi0,xf,yf;
var Time0,str0;
window.status='pause';
function document.onclick(){
if(window.status=='pause'){
window.status=0;
nest.style.left=xi0;
nest.style.top=yi0;
food.style.left=xf;
food.style.top=yf;
//测试初始化时间用
Time0=(new Date()).getTime();
init(0);
}else{
window.status='pause';
}
}
//窗口大小调整后刷新页面以调整系统参数
function window.onresize(){
// window.location.href=document.location;
}
//初始化函数
function init(i){
if(window.status!='pause'&&i<Unit){
if(!life){
document.body.appendChild(life=document.createElement(str0));
x=xi0;
y=yi0;
r=Math.random();
v=1/Math.random();
dr=Kr*Math.random();
dv=Kv*Math.random();
}
Move(i);
window.status=i+1;
setTimeout('init('+(i+1)+')',i);
// }else{
// alert('生成耗时:'+((new Date()).getTime()-Time0)+'ms');
}
}
//运动函数
Total=Unit*Path;
P2=2*Math.PI;
function Move(i){
if(window.status!='pause'){
k=i%Unit;
X=x[k];
Y=y[k];
R=r[k];
V=v[k];
if(!life){
str='<div class="ant" style="left:'+X+';top:'+Y+';"></div>';
document.body.appendChild(life=document.createElement(str));
}
obj=life;
R+=dr[k]*(2*Math.random()-1);
V+=dv[k]*(2*Math.random()-1);
X+=Math.sin(P2*R)*V;
Y+=Math.cos(P2*R)*V;
//遇到食物原路返回并减小角度变化
distance=(X-xf)*(X-xf)+(Y-yf)*(Y-yf);
if(distance<R_2){
R+=0.5;
r/=2;
v*=2;
}
distance=(X-xi0)*(X-xi0)+(Y-yi0)*(Y-yi0);
if(distance<R_2){
R+=0.5;
r/=2;
v*=2;
}
/*----------------------------------
/*================================*/
//碰撞边界反弹
R=(X<x0||X>xM)?-R:R;
R=(Y<y0||Y>yM)?0.5-R:R;
X=x[k]+Math.sin(P2*R)*V;
Y=y[k]+Math.cos(P2*R)*V;
/*================================*/
//溢出边界重生(类似流星效果)
if(X<x0||X>xM||Y<y0||Y>yM){
X=xi0;
Y=yi0;
}
/*----------------------------------
/*================================*/
//边界限制
x[k]=X=(X<x0)?x0:(X>xM)?xM-2:X;
y[k]=Y=(Y<y0)?y0:(Y>yM)?yM-2:Y;
r[k]=R>1?R-1:R<0?R+1:R;
v[k]=V=(V<v0)?v0:((V<vM)?V:vM);
/*================================*/
obj.style.left=x[k]=X;
obj.style.top=y[k]=Y;
setTimeout('Move('+(i+Unit)%Total+')',Unit);
}
}
//根据浏览器自动加载动画
switch(navigator.appName.toLowerCase()){
case "netscape":
window.addEventListener("load",document.onclick,false);
break;
case "microsoft internet explorer":
default:
window.attachEvent("onload",document.onclick);
break;
}
</script>
</head>
<body scroll="no">
<div id="food" class="food"></div>
<div id="nest" class="nest"></div>
</body>
</html>

『肆』 用蚂蚁源码建站有法律风险吗

如果是开放的源码,注意点就可以了

『伍』 如何安装仿58同城蚂蚁分类信息系统网站程序源码

下载到可以使用的网站源码,上传到服务器空间,安装就是了呀

『陆』 打开网络蚂蚁安装程序文件的程序应该选哪个程序

zip的是压缩程序 你去华军下个winrar解压缩软件 先把下载的那个解压缩
然后运行里面的安装程序按提示安装就行了
给你个软件下载地址
华军的 放心下载

『柒』 求Pareto蚁群算法的源代码 Java的

说明:信息素权重,路径权重和信息素蒸发率对最后的结果影响很大,需要微调。
目前发现2 / 5 / 0.5 能达到稍微让人满意的效果。本程序离完美的ACO还差很远,仅供参考。
本蚁群算法为AS算法。

用法:

1.new一个对象
ACOforTSP tsp = new ACPforTSP(tsp数据文件名,迭代次数,蚂蚁数量,信息素权重,路径权重,信息素蒸发率);
2.用go()方法运行
tsp.go();

ACOforTSP.java
___________________________________________________________________
import java.io.File;
import static java.lang.Math.pow;
import static java.lang.Math.sqrt;
import static java.lang.Math.random;
import java.util.HashMap;
import java.io.FileReader;
import java.io.BufferedReader;
/**
*
* @author dvdface
*/

public class ACOforTSP {

//城市的距离表
private double[][] distance;
//距离的倒数表
private double[][] heuristic;
//启发信息表
private double[][] pheromone;
//权重
private int alpha, beta;
//迭代的次数
private int iterationTimes;
//蚂蚁的数量
private int numbersOfAnt;
//蒸发率
private double rate;

ACOforTSP (String file, int iterationTimes, int numbersOfAnt, int alpha, int beta, double rate) {

//加载文件
this.initializeData(file);
//初始化参数
this.iterationTimes = iterationTimes;
//设置蚂蚁数量
this.numbersOfAnt = numbersOfAnt;
//设置权重
this.alpha = alpha;
this.beta = beta;
//设置蒸发率
this.rate = rate;
}

private void initializeData(String filename) {

//定义内部类
class City {

int no;
double x;
double y;

City(int no, double x, double y) {

this.no = no;
this.x = x;
this.y = y;
}

private double getDistance(City city) {

return sqrt(pow((x - city.x), 2) + pow((y - city.y), 2));
}
}

try {
//定义HashMap保存读取的坐标信息
HashMap<Integer, City> map = new HashMap<Integer, City>();
//读取文件
BufferedReader reader = new BufferedReader(new FileReader(new File(filename)));
for (String str = reader.readLine(); str != null; str = reader.readLine()) {
//将读到的信息保存入HashMap
if (str.matches("([0-9]+)(\\s*)([0-9]+)(.?)([0-9]*)(\\s*)([0-9]+)(.?)([0-9]*)")) {

String[] data = str.split("(\\s+)");
City city = new City(Integer.parseInt(data[0]),
Double.parseDouble(data[1]),
Double.parseDouble(data[2]));

map.put(city.no, city);
}
}
//分配距离矩阵存储空间
distance = new double[map.size() + 1][map.size() + 1];
//分配距离倒数矩阵存储空间
heuristic = new double[map.size() + 1][map.size() + 1];
//分配信息素矩阵存储空间
pheromone = new double[map.size() + 1][map.size() + 1];
for (int i = 1; i < map.size() + 1; i++) {
for (int j = 1; j < map.size() + 1; j++) {
//计算城市间的距离,并存入距离矩阵
distance[i][j] = map.get(i).getDistance(map.get(j));
//计算距离倒数,并存入距离倒数矩阵
heuristic[i][j] = 1 / distance[i][j];
//初始化信息素矩阵
pheromone[i][j] = 1;
}
}

} catch (Exception exception) {

System.out.println("初始化数据失败!");
}
}

class Ant {

//已访问城市列表
private boolean[] visited;
//访问顺序表
private int[] tour;
//已访问城市的个数
private int n;
//总的距离
private double total;

Ant() {
//给访问顺序表分配空间
tour = new int[distance.length+1];
//已存入城市数量为n,刚开始为0
n = 0;
//将起始城市1,放入访问结点顺序表第一项
tour[++n] = 1;
//给已访问城市结点分配空间
visited = new boolean[distance.length];
//第一个城市为出发城市,设置为已访问
visited[tour[n]] = true;
}

private int chooseCity() {

//用来random的随机数
double m = 0;
//获得当前所在的城市号放入j,如果和j相邻的城市没有被访问,那么加入m
for (int i = 1, j = tour[n]; i < pheromone.length; i++) {

if (!visited[i]) {
m += pow(pheromone[j][i], alpha) * pow(heuristic[j][i], beta);
}
}

//保存随机到的数
double p = m * random();
//寻找被随机到的城市
double k = 0;
//保存找到的城市
int q = 0;
for (int i = 1, j = tour[n]; k < p; i++) {

if (!visited[i]) {

k += pow(pheromone[j][i], alpha) * pow(heuristic[j][i], beta);
q = i;
}
}

return q;
}

private void constructSolution () {

while (n != (distance.length-1) ) {

//选取下一个城市
int p = chooseCity();
//计算总的距离
total += distance[tour[n]][p];
//将选取到的城市放入已访问列表
tour[++n] = p;
//将选取到的城市标记为已访问
visited[p] = true;
}

//回到起点
total += distance[tour[1]][tour[n]];
//将起点加入访问顺序表的最后
tour[++n] = tour[1];
}

private void releasePheromone() {

//释放信息素的大小
double t = 1/total;
//释放信息素
for (int i=1;i<tour.length-1;i++) {

pheromone[tour[i]][tour[i+1]] += t;
pheromone[tour[i+1]][tour[i]] += t;
}
}

}

public void go() {

//保存最好的路径和路径长度
double bestTotal = Double.MAX_VALUE;
int[] bestTour = new int[distance.length+1];

//新建蚂蚁数组,用来引用所创建的蚂蚁
Ant[] ant = new Ant[numbersOfAnt];

//进行iterationTimes次迭代
while (iterationTimes != 0) {
//初始化新的一批蚂蚁(这里用构造新的蚂蚁代替重置蚂蚁状态)
for (int i=0; i<numbersOfAnt; i++) {
ant[i] = new Ant();
}

//进行一次迭代(即让所有的蚂蚁构建一条路径)
for (int i=0; i<numbersOfAnt; i++) {

ant[i].constructSolution();
//如果蚂蚁构建的路径长度比上次最好的还好,那么保存这个长度和它所走的路径
if (ant[i].total<bestTotal) {

bestTotal = ant[i].total;
System.array(ant[i].tour, 1, bestTour, 1, bestTour.length-1);
}
}

//蒸发信息素
evaporatePheromone();

//释放信息素
for (int i=0; i<numbersOfAnt; i++) {

ant[i].releasePheromone();
}

//报告本次迭代的信息
System.out.format("本次为倒数第%d次迭代,当前最优路径长度为%10.2f\n",iterationTimes,bestTotal);

//迭代总数减去1,进行下次迭代
iterationTimes--;
}

//输出最好的路径长度
System.out.format("得到的最优的路径长度为:%10.2f\n",bestTotal);
//输出最好的路径
System.out.println("最优路径如下:");
for (int i=1; i<bestTour.length; i++) {

System.out.print("→"+bestTour[i]);
}
}

private void evaporatePheromone() {

for (int i = 1; i < pheromone.length; i++)
for (int j = 1; j < pheromone.length; j++) {

pheromone[i][j] *= 1-rate;
}

}
}

『捌』 淘宝卖的蚂蚁分类信息网站源码能用么

可以使用.但是有好多问题的!

『玖』 请问一下蚂蚁金服集团股票上市代码

截止2020年8月蚂蚁金服集团没有上市,没有股票上市代码。2020年7月20日,支付宝母公司蚂蚁集团(蚂蚁金融服务集团)宣布,启动在上海证券交易所科创板和香港联合交易所有限公司主板寻求同步发行上市的计划。

有媒体报道称,蚂蚁集团据悉寻求IPO估值至少2000亿美元。2019年12月16日,中国工商银行与阿里巴巴、蚂蚁金服在京签署全面深化战略合作,加快构建数字金融的合作发展新生态。



(9)蚂蚁源代码扩展阅读:

蚂蚁金融服务集团起步于2004年成立的支付宝。2013年3月支付宝的母公司宣布将以其为主体筹建小微金融服务集团,小微金融成为蚂蚁金服的前身。2014年10月蚂蚁金服正式成立。蚂蚁金服以“让信用等于财富”为愿景,致力于打造开放的生态系统。

通过“互联网推进器计划”助力金融机构和合作伙伴加速迈向“互联网+”,为小微企业和个人消费者提供普惠金融服务。依靠移动互联、大数据、云计算为基础,为中国践行普惠金融的重要实践。

『拾』 蚂蚁金服基金代码是多少

阿里巴巴(09988.HK)旗下蚂蚁集团早前宣布启动A+H上市计划,蚂蚁集团计划两地上市集资300亿美元(约2340亿港元)。

蚂蚁金服计划最早于今年在港交所上市,目标估值为2000亿美元。路透社同时还披露了蚂蚁金服去年的业绩,2019年蚂蚁金服实现营业收入1200亿元,净利润为170亿元。

若按照100亿美元-200亿美元的募资金额来计算,蚂蚁集团的这个总额不仅将超过科创板刚刚上市的中芯国际的募资额,而农业银行募集资金685亿,为A股的募资王。

(10)蚂蚁源代码扩展阅读:

蚂蚁金服基金注意事项:

对于支付宝基金的风险体现在两个方面:一个是作为代销平台支付宝本身的风险,另一个是其所销售的基金产品的风险。

我国对基金代销公司和平台有严格要求,需要拥有第三方基金代销牌照才能够代销市场上的各种基金。在没有牌照的情况下代销基金,属于违法行为。

在支付宝进行基金购买,其风险主要来源于基金产品的本身。对于初级理财用户,建议参与风险等级低的产品购买。而对于有一定投资经验的中高级用户,可以选择中高风险的产品进行购买。