programming collective intelligence读书笔记四

本文探讨了多种优化算法,包括hill climbing及其改进版本random-restart hill climbing,simulated annealing算法的独特之处,以及genetic基因算法的基本原理。这些算法应用于解决实际问题如行程规划、资源分配等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

optimization问题,用于解决多人旅行的机票安排,或者学校排课,sns里面自动画一副关系树的图,让交叉点尽可能少(这样看起来清楚),把许多人分成小组,让每个小组里面的人技能尽可能的不同(不同的兴趣),把一个大工程分拆成工作量差不多的小块...给定一组关键词和网址,把网址分组,让他们尽量内聚...突然想到可以高考根据志愿和分数安排学校,让尽可能多的人满意^_^

先讲了一个取最优点的问题,可以转化成二维曲面找最低点这个模型
hill climbing方法只能有局部最优
然后改进的方法是随机选取一个点然后再探索局部最低,多次尝试取最小点
叫做random-restart hill climbing

simulated annealing算法
这个算法很有意思 p = e^(-x/t) x是当前cost和最低cost的和,t是温度,随着探索次数增加逐渐降低
算法是随机选个点,然后再随机选个新点,算出x,以p的概率使用新的点,然后反复迭代
一开始t高,新点就算cost比较高也容易被选中,随着t的降低,对cost要求越来越严格,需要比较低的才能接受
最后逐渐收敛到比较低的cost...这个方法是用来跳过局部最低点,寻找全局最优点

genetic 基因算法
先随机算一组结果,比如100个,然后算出下一代,然后再反复迭代
算下一代的方法有两种:
mutation变异,就是下一代全是最优秀的那个进行小变动得到...
crossover or breeding...杂交...就是最优秀的几个杂交...取父母中间值...
基于进化论...



--------------
chenjinlai
2008-05-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值