问题: 如何能够在 n×n 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行.纵行或斜线上. 分析: 这题常规的解法应该是回溯法,然而回溯法的话,要遍历所有的情况. 这里介绍一种随机化的算法: 我们先摆开头的几个棋子,然后剩下的棋子用回溯法来做,由于解空间树的头几层不用拿来遍历了,回溯的时候遍历的结点少了很多. 研究标明,随机摆开头的一半略少的棋子,可以很快得得到解.当然,这个算法是只能求出一部分的解的,但是在 n 很大的时候…
1.EM算法 GMM算法是EM算法族的一个具体例子. EM算法解决的问题是:要对数据进行聚类,假定数据服从杂合的几个概率分布,分布的具体参数未知,涉及到的随机变量有两组,其中一组可观测另一组不可观测.现在要用最大似然估计得到各分布参数. 如果涉及的两组随机变量都是可观测的,问题就立即可以解决了,对似然函数求取最大值就能得到分布参数的解. EM算法先为所需求取的分布参数赋初值,使得能算出隐藏变量的期望:进而用隐藏变量的期望和可观测变量的数据对分布参数的似然函数求最大值,得到一组解从而更新分布参数.…
简单易学的机器学习算法——EM算法 一.机器学习中的参数估计问题 在前面的博文中,如“简单易学的机器学习算法——Logistic回归”中,采用了极大似然函数对其模型中的参数进行估计,简单来讲即对于一系列样本,Logistic回归问题属于监督型学习问题,样本中含有训练的特征以及标签,在Logistic回归的参数求解中,通过构造样本属于类别和类别的概率: 这样便能得到Logistic回归的属于不同类别的概率函数: 此时,使用极大似然估计便能够估计出模型中的参数.但是,如果此时的标签是未知的,称为隐变…
一,问题描述 在英文单词表中,有一些单词非常相似,它们可以通过只变换一个字符而得到另一个单词.比如:hive-->five:wine-->line:line-->nine:nine-->mine..... 那么,就存在这样一个问题:给定一个单词作为起始单词(相当于图的源点),给定另一个单词作为终点,求从起点单词经过的最少变换(每次变换只会变换一个字符),变成终点单词. 这个问题,其实就是最短路径问题. 由于最短路径问题中,求解源点到终点的最短路径与求解源点到图中所有顶点的最短路径复…
原文:重新想象 Windows 8 Store Apps (31) - 加密解密: 哈希算法, 对称算法 [源码下载] 重新想象 Windows 8 Store Apps (31) - 加密解密: 哈希算法, 对称算法 作者:webabcd介绍重新想象 Windows 8 Store Apps 之 加密解密 hash 算法(MD5, SHA1, SHA256, SHA384, SHA512) hmac 算法(MD5, SHA1, SHA256, SHA384, SHA512) 本地数据的加密解密…
hash在开发由频繁使用.今天time33也许最流行的哈希算法. 算法: 对字符串的每一个字符,迭代的乘以33 原型: hash(i) = hash(i-1)*33 + str[i] ; 在使用时.存在一个问题,对相似的字符串生成的hashcode也类似,有人提出对原始字符串.进行MD5.然后再计算hashcode. 參考: <大型站点技术架构:核心原则和案例研究> 版权声明:本文博客原创文章.博客,未经同意,不得转载.…
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/mutating-algorithms.html 原创:变易算法 - STL算法 作者:MilkCu 摘要:C++ STL标准模板库在数据结构和算法的实践领域发挥着重要作用,极大的提高了开发效率.STL的三大组成部分为容器.迭代器.算法,本文主要讲解STL算法中的变易算法.本文从实践的角度简单介绍了一下函数原型和相关函数的使用. 引言 C+…
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1394600460.html 原创:STL非变易算法 - STL算法 作者:MilkCu(http://blog.csdn.net/milkcu) 本文地址:http://blog.csdn.net/milkcu/article/details/21114613 摘要:C++ STL标准模板库在数据结构和算法的时间领域发挥着重要作用,极大…
上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”.本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”.例如求下图中的1号顶点到2.3.4.5.6号顶点的最短路径. <ignore_js_op>          与Floyd-Warshall算法一样这里仍然使用二维数组e来存储顶点之间边的关系,初始值如下. <ignore_js_op>          我们还需要用一个一维数组dis来存储1号…
        暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程.         上图中有4个城市8条公路,公路上的数字表示这条公路的长短.请注意这些公路是单向的.我们现在需要求任意两个城市之间的最短路程,也就是求任意两个点之间的最短路径.这个问题这也被称为“多源最短路径”问题.         现在需要一个数据结构来存储图的信息,我们仍然可以用一个4*4的矩阵(二维数组e)来存储.比如…