人工智能算法- 优化算法

 

 

文/腾讯soso 林世飞

 

    优化算法通常用来处理问题最优解的求解--这个问题有多个变量共同决定的,举一个例子比如有这样一张 人员关系表,需要绘制一张SOSO华尔兹(一种socialnetworkhttp://tag.soso.com/),比如:

    绘制方法有很多种,我们希望能够最终展现给用户的绘制是比较好阅读的,比如交叉线比较少,每个人的点排的比较开等等。

    我们利用以下一个数据格式来描述最终的一个解,即一个向量包含每个人的坐标,假设:通常我们用一个 向量来表示解x x =[a1,a2,….]

    这个矩阵也很多值,那这个绘制方法可能很多,优化算法就是用来寻找和评估其中比较好的一种绘制的结果的解。那这里就要回答一个很关键的问题,什么样的解是好的解,这就需要一个方法来评估一个解的好坏程度,也就是优化算法当中要 定义的 成本函数(Cost Function),在这个案例中就是有一个函数输入是 每个人的坐标,输出是评价这种画法或者说分布质量如何。

    常用有4种优化算法:

    1 随机搜索

    2 爬山法

    3 退火法

    4 遗传算法

 

    下面该给出各种算法的实现说明,通过程序解释各种求解实现和思想,为了便于理解,先介绍下 数据储存格式:

Python code

people=['刘翔','姚明','陈道明','郭晶晶','霍启刚','纪伟','罗伯斯','孙海平','史冬鹏','叶莉']

links=[('刘翔', '姚明'),

       ('刘翔', '陈道明'),

       ('刘翔', '郭晶晶'),

       ('刘翔', '纪伟'),

       ('刘翔', '罗伯斯'),

       ('刘翔', '孙海平'),

       ('刘翔', '史冬鹏'),

       ('姚明', '叶莉'),

       ('陈道明', '霍启刚'),

       ('郭晶晶', '霍启刚'),

       ('纪伟', '罗伯斯'),

       ('孙海平', '史冬鹏'),

       ('罗伯斯', '孙海平')]

 

    1  随机搜索:主要 依赖于随机函数,每一次求解,都是不确定的变化趋势(更好还是更坏)

#domain 表示解空间,domain[i][0] 表示向量xi个维的最小值&

  • 0
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 43
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值