首先看一张函数图像: 很明显,这个函数最小值点在E点,而A、C、G是函数的局部极小值点。我读书期间学的数学专业,研究的方向就是最优化算法,说的直白点,就是找函数的最小值点,如果得找到了E点就说明成功了,可是如果只找到了A、C、G中的一个就停滞,这时算法就陷入局部最优了,这个时候就需要修改算法,需要加 ...
分类:
其他好文 时间:
2019-04-08 18:38:03
阅读次数:
209
开始刷leetcode算法题 今天做的是“买卖股票的最佳时机” 题目要求 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 ...
分类:
编程语言 时间:
2019-01-23 15:33:21
阅读次数:
334
第一章 算法引论 算法分析的目的:估算该算法所需的内存空间和运行时间。 分析算法复杂度的目的:用以比较同一问题的不同算法;时间和空间的增长率作为衡量的标准。 算法是对解决这个问题的方法和步骤的描述。 算法的基本特征:有穷性、确定性、可行性、0到多个输入、1到多个输出。 一个好的算法应具有正确性、可读 ...
分类:
编程语言 时间:
2019-01-06 11:54:33
阅读次数:
276
Java 算法(一)贪心算法 __数据结构与算法目录()__ 一、贪心算法 什么是贪心算法?是指在对问题进行求解时,总是做出当前看来是最好的选择。也就是说,不从整体最优上加以考虑,所得出的结果仅仅是某种意义上的局部最优解。 __因此贪心算法不会对所有问题都能得到整体最优解,但对于很多问题能产生整体最 ...
分类:
编程语言 时间:
2018-12-15 11:48:28
阅读次数:
231
基本要素: 贪心选择:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 最优子结构:当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。 过程: 过程: 建立数学模型来描述问题; 把求解的问题分成若干个子问题; ...
分类:
编程语言 时间:
2018-11-28 00:30:44
阅读次数:
291
在之前描述了博弈树算法的思想,现在则是关键类的设计实现。在具体的过程中我们先要设计一个遍历棋型算法,来遍历整个棋盘中的各种棋型 通过最后返回值的不同,来确定不同的棋型 当中有评估函数对当前的棋型进行打分。再选取局部最优的几个落子点作为下一步扩展的节点。 //bwf 棋色 0:黑棋 1:白棋 //re ...
分类:
其他好文 时间:
2018-11-25 13:11:08
阅读次数:
206
BP神经网络是1968年由Rumelhart和Mcclelland为首的科学家提出的概念,是一种按照误差反向传播算法进行训练的多层前馈神经网络,是目前应用比较广泛的一种神经网络结构。BP网络神经网络由输入层、隐藏层和输出层三部分构成,无论隐藏层是一层还是多层,只要是按照误差反向传播算法构建起来的网络 ...
分类:
数据库 时间:
2018-11-18 20:31:10
阅读次数:
818
一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点 ...
分类:
编程语言 时间:
2018-11-16 23:40:00
阅读次数:
309
近期在搞论文,须要用梯度下降算法求解,所以又一次整理分享在这里。主要包含梯度介绍、公式求导、学习速率选择、代码实现。 梯度下降的性质: 1.求得的解和选取的初始点有关 2.能够保证找到局部最优解,由于梯度终于会减小为0,则步长与梯度的乘积会自己主动越来越小。 梯度简单介绍 一个多元函数的在某点的梯度 ...
分类:
编程语言 时间:
2018-11-07 20:13:39
阅读次数:
291
模拟退火 爬山算法(Hill Climbing) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前的解空中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如下图所示:假设C点为当前解, ...
分类:
其他好文 时间:
2018-10-26 22:16:36
阅读次数:
185