人工智能算法- 优化算法

本文介绍了优化算法在绘制社交网络图时的作用,如SOSO华尔兹。通过四种常见优化算法(随机搜索、爬山法、退火法、遗传算法)的原理和Python实现,探讨如何寻找布局最佳的解决方案。其中,退火法和遗传算法能避免局部最优解,但实际效果受成本函数影响。文章提出从较好初始状态开始优化的思路,并讨论了优化算法的局限性,指出全局最优解的获取取决于问题本身特性。
摘要由CSDN通过智能技术生成

 

 

文/腾讯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个维的最小值&

评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值