codecamp

AI人工智能 什么是遗传算法?

遗传算法(GAs)是基于自然选择和遗传学概念的搜索算法。遗传算法是进化计算这一更大学科的一个子集。

遗传算法由约翰・霍兰德(John Holland)和他在密歇根大学的学生及同事开发,其中最著名的是大卫・E・戈德堡(David E. Goldberg)。此后,遗传算法已在各种优化问题上取得了高度成功。

在遗传算法中,我们有一个针对给定问题的可能解决方案池。这些解决方案随后会进行重组和变异(类似于自然遗传学),产生新的后代,并且该过程会在多代中重复。每个个体(或候选解决方案)都会被分配一个适应度值(基于其目标函数值),适应度更高的个体将获得更高的交配机会,并产生更优的个体。这符合达尔文的适者生存理论。

因此,遗传算法会在多代中不断进化出更优的个体或解决方案,直到达到停止标准。

遗传算法本质上具有足够的随机性,但它们的性能比随机局部搜索(我们只是尝试随机解决方案,跟踪到目前为止的最佳方案)要好得多,因为它们还会利用历史信息。

AI人工智能 使用 Python 构建学习智能体
AI人工智能 如何使用遗传算法解决优化问题?
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

AI人工智能监督学习(回归)

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }