欢迎来到天天文库
浏览记录
ID:33508354
大小:172.51 KB
页数:3页
时间:2019-02-26
《基于web的搜索引擎算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、学术探讨算法研究基于Web的搜索引擎算法的研究李冰岩黄地龙郝园(成都理工大学信息工程学院,四川成都610059)[摘要]随着互联网爆炸性的发展,搜索引擎技术不断发展和完善。从理论上研究了一种基于蚁群算法的搜索引擎算法,并通过仿真实验证明了该算法可以提高搜索效率,具有本质并行性,易于在网络上的分布式系统中实现,并能够较好地维护系统稳定性。[关键词]蚁群算法;搜索引擎技术;仿真实验∈[T(t)]α·[η]β∈ijijj∈city∈k1.引言∈k∈αβPij(t)=∈Σ[Tik(t)]·[ηij]∈在互联网发
2、展初期,网站相对较少,信息查找比较容∈k∈cityk∈∈0其它易。然而伴随互联网爆炸性的发展,普通网络用户想找到所∈需的资料简直如同大海捞针,这时为满足大众信息检索需其中ηij=1,Cij为经过路径(i,j)所需的花费。α和βCij求的专业搜索网站便应运而生,而搜索引擎技术也随之发两个参数,分别用来控制信息素和路径长度的相对重要程展开来。自1993第一个搜索引擎Excite诞生以来,搜索引擎度。cityk是第k个蚂蚁下一步可以选择的城市的集合。cityk=不断发展不断完善,各种搜索技术不断创新,并已形成
3、互联{0,1,2,…n-1}—rengongk。与实际蚁群算法不同,rengongk网的一个重要支撑业务。(k=1,2,…m)人工蚁群系统具有记忆功能,用于记录蚂蚁k搜索引擎是互联网提供公共信息检索服务的Web站当前走过的城市,集合rengongk随着进化过程做动态调整。点,它以一定的技术和策略在互联网中搜索,发现网络信定义二:信息素更新规律及公式:息,并对网络信息进行理解,提取和处理,为网络用户提供m检索服务,是快速查找检索信息的一种网络工具。k△Tij=Σ△Tijk=1蚁群算法是由意大利学者M.Do
4、rigo等人在20世纪90k其中△Tij表示边(i,j)上的信息素浓度变化量。△Tij是年代初首先提出来的,它是继模拟退火算法、遗传算法、禁第k个蚂蚁在时间t到t+n之间,在边(i,j)上增加的信息素忌算法等元启发式搜索算法以后的又一种应用于组合优化改变量。它的值由以下公式决定。问题的启发式搜索算法。kQ本文基于蚁群算法的理论,结合蚁群算法的分布式特△Tij=L若第k只蚂蚁在本次循环中经过ijk点,结合目前网络上常用的分布式网络结构,提出了一个基其中Q是一个常量,用来表示蚂蚁完成一次完整的路于蚁群算法的
5、搜索引擎系统。并通过仿真实验证明了这个径搜索后,所释放的信息素总量;Lk是第k个蚂蚁的路径总搜索引擎算法可以提高搜索效率,具有本质并行性,易于并花费,它等于第k个蚂蚁经过的各段路径上所需的花费Cij行实现,可以较好地维护系统稳定性。的总和。如果蚂蚁的路径总花费越高,那么其在单位路径上2.蚁群算法所释放的信息素浓度越低。2.1蚁群算法概念3.用二叉树算法存储信息蚁群算法是DorigoM等人于1991年提出的。蚂蚁个体网络中信息是海量的,那么怎么存储是个值得我们思索之间是通过一种称之为信息素的物质进行信息传
6、递的。在的问题。以树状结构组织存储,有助于用户提高查询率,先把运动过程中,蚂蚁能够在它所经过的路径上留下这种信息相同或相似内容的资源组织起来,用户只要查到树根就可以素,而且能够感知信息度的浓度,并以此指导自己的运动方用遍历算法遍历整个树,进而查询到整个信息。这种方法在向,倾向于朝着信息素浓度高的方向移动。因此,蚁群的集很大程度上提高了查询效率,节省了用户的时间,使用户有体行为表现出一种信息正反馈现象:某一路径上走过的蚂个更好的交互体验。蚁越多,则后来者选择该路径的概率就越大,蚂蚁个体之间为此我们利用二叉
7、树生成算法;有如下的二叉树的存储就是通过这种信息的交流达到搜索食物的目的。表示及一些符号定义:2.2蚁群算法基本模型typedefstructBTNodek定义一:Pij(t)表示在t时刻蚂蚁k由位置i转移到位置j{的概率:chardata;——————————————作者简介:李冰岩,女,河南开封人,硕士研究生,研究方向:应用软件开发与软件工程。—29—学术探讨算法研究structBTNode*lchild;CreateAnt[m];//创建蚂蚁模型,表示为数组形式structBTNode*rchil
8、d;Step2:}BTNode,*BinaryTree;//定义二叉树AcceptUserOrder();//发送请求服务器接受用户递交的请求#defineTRUE1FindLocaldatabase();//在本地数据库查找#defineFALSE0PutDataInBuffer();//把本地数据库中查找到的数据#defineOK1放入缓冲区#defineERROR0Step3:#defineFLAG'#'//符号定义While(Ser
此文档下载收益归作者所有