科学家如何把蚂蚁的信息素转换为数学公式?

昨天看纪实频道,他说蚂蚁公式可以更方便的调节交通,运输等,我很好奇,请问下哪位知道,蚂蚁公式是什么样的?而且怎么转换的啊?谢谢了... 昨天看纪实频道,他说蚂蚁公式可以更方便的调节交通,运输等,我很好奇,请问下哪位知道,蚂蚁公式是什么样的?而且怎么转换的啊?谢谢了 展开
ovix
2006-09-25 · TA获得超过2574个赞
知道小有建树答主
回答量:544
采纳率:100%
帮助的人:0
展开全部
看样子楼主已经知道了信息素这个概念,在此我也不赘述了。

目前蚁群算法主要用在组合优化方面,基本蚁群算法的思路是这样的:
1. 在初始状态下,一群蚂蚁外出,此时没有信息素,那么各自会随机的选择一条路径。
2. 在下一个状态,每只蚂蚁到达了不同的点,从初始点到这些点之间留下了信息素,蚂蚁继续走,已经到达目标的蚂蚁开始返回,与此同时,下一批蚂蚁出动,它们都会按照各条路径上信息素的多少选择路线(selection),更倾向于选择信息素多的路径走(当然也有随机性)。
3. 又到了再下一个状态,刚刚没有蚂蚁经过的路线上的信息素不同程度的挥发掉了(evaporation),而刚刚经过了蚂蚁的路线信息素增强(reinforcement)。然后又出动一批蚂蚁,重复第2个步骤。
每个状态到下一个状态的变化称为一次迭代,在迭代多次过后,就会有某一条路径上的信息素明显多于其它路径,这通常就是一条最优路径。

关键的部分在于步骤2和3:
步骤2中,每只蚂蚁都要作出选择,怎样选择呢?
selection过程用一个简单的函数实现:
蚂蚁选择某条路线的概率=该路线上的信息素÷所有可选择路线的信息素之和
假设蚂蚁在i点,p(i,j)表示下一次到达j点的概率,而τ(i,j)表示ij两点间的信息素,则:
p(i,j)=τ(i,j)/∑τ(i)
(如果所有可选路线的信息素之和∑τ(i)=0,即前面还没有蚂蚁来过,概率就是一个[0,1]上的随机值,即随机选择一条路线)
步骤3中,挥发和增强是算法的关键所在(也就是如何数学定义信息素的)
evaporation过程和reinforcement过程定义了一个挥发因子,是迭代次数k的一个函数
ρ(k)=1-lnk/ln(k+1)
最初设定每条路径的信息素τ(i,j,0)为相同的值
然后,第k+1次迭代时,信息素的多少
对于没有蚂蚁经过的路线:τ(i,j,k+1)=(1-ρ(k))τ(i,j,k),显然信息素减少了
有蚂蚁经过的路线:τ(i,j,k+1)=(1-ρ(k))τ(i,j,k)+ρ(k)/|W|,W为所有点的集合

为什么各个函数要如此定义,这个问题很难解释清楚,这也是算法的精妙所在。如此定义信息素的挥发和增强,以及路径选择,根据马尔可夫过程(随机过程之一)能够推导出,在迭代了足够多次以后,算法能够收敛到最佳路径。

组合优化很有意思的,像禁忌搜索、模拟退火、蚁群算法、遗传算法、神经网络这些算法能够解决很多生活中的实际问题,楼主有空可以招本书看看。
寻找天使的魔魔
2006-09-21
知道答主
回答量:28
采纳率:0%
帮助的人:0
展开全部
人工蚂蚁系统(Ant System)是对自然界蚁群(Ant Colony)的一个较好人工模拟。这里每个蚂蚁就是一个很简单的主体(Agent),通过蚂蚁与环境之间的气味等信息素的交互作用,使得系统在整体上具有较高的智能(Intelligent Emergence)。这一系统在诸如TSP问题、二次分配问题和网络的路由优化问题都有很好的应用前景。

关于这个系统和复杂性的研究,我有三个问题:

(1)蚂蚁算法在迭代多少次后才能产生第一个好解?具体来说,在一个解已知的TSP问题中,蚂蚁算法要迭代多少次才能产生这个解。有没有一个关于迭代次数的确定的数学公式?怎样找到?这是一个关系到人工蚂蚁系统效率的比较重要的问题。目前的文献并没有给出明确的回答。

(2)蚂蚁算法本身不具备并发性。蚂蚁都是一个接着一个的完成任务,快的蚂蚁总是要等待慢的。而实际的蚁群是并行工作的,虽然在单处理器不能并行工作,但可以建立一种并发机制来改善目前蚂蚁算法效率不太高的缺陷。那么怎样建立这种机制呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qlqymzhybmr
2006-09-18 · 贡献了超过119个回答
知道答主
回答量:119
采纳率:0%
帮助的人:38.1万
展开全部
关于这个系统和复杂性的研究,我有三个问题:

(1)蚂蚁算法在迭代多少次后才能产生第一个好解?具体来说,在一个解已知的TSP问题中,蚂蚁算法要迭代多少次才能产生这个解。有没有一个关于迭代次数的确定的数学公式?怎样找到?这是一个关系到人工蚂蚁系统效率的比较重要的问题。目前的文献并没有给出明确的回答。

(2)蚂蚁算法本身不具备并发性。蚂蚁都是一个接着一个的完成任务,快的蚂蚁总是要等待慢的。而实际的蚁群是并行工作的,虽然在单处理器不能并行工作,但可以建立一种并发机制来改善目前蚂蚁算法效率不太高的缺陷。那么怎样建立这种机制呢?

(3)目前国际上对复杂性、混沌、分形以及非线形动力系统的研究都很活跃,并且这些领域的研究工作都被相互引用,那么这些领域之间到底有什么联系与差别呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
妥当又朴质灬小熊5934
2006-09-18
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
人工蚂蚁系统(Ant System)是对自然界蚁群(Ant Colony)的一个较好人工模拟。这里每个蚂蚁就是一个很简单的主体(Agent),通过蚂蚁与环境之间的气味等信息素的交互作用,使得系统在整体上具有较高的智能(Intelligent Emergence)。这一系统在诸如TSP问题、二次分配问题和网络的路由优化问题都有很好的应用前景。

关于这个系统和复杂性的研究,我有三个问题:

(1)蚂蚁算法在迭代多少次后才能产生第一个好解?具体来说,在一个解已知的TSP问题中,蚂蚁算法要迭代多少次才能产生这个解。有没有一个关于迭代次数的确定的数学公式?怎样找到?这是一个关系到人工蚂蚁系统效率的比较重要的问题。目前的文献并没有给出明确的回答。

(2)蚂蚁算法本身不具备并发性。蚂蚁都是一个接着一个的完成任务,快的蚂蚁总是要等待慢的。而实际的蚁群是并行工作的,虽然在单处理器不能并行工作,但可以建立一种并发机制来改善目前蚂蚁算法效率不太高的缺陷。那么怎样建立这种机制呢?

(3)目前国际上对复杂性、混沌、分形以及非线形动力系统的研究都很活跃,并且这些领域的研究工作都被相互引用,那么这些领域之间到底有什么联系与差别呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科海淘金
2006-09-18 · TA获得超过4280个赞
知道小有建树答主
回答量:996
采纳率:0%
帮助的人:1112万
展开全部
“蚂蚁公式是什么样的?而且怎么转换的啊?”
面对着百度,还对这样教科书般的概念问题发愁?
直接搜索不就完了吗?各色答案千奇百怪,肯定有你想要的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式