摘要:
1 class A 2 { 3 private: 4 int a, b; 5 6 public: 7 8 A() //默认构造函数 9 :a(0),b(0)10 {11 }12 13 A(int aa) //显式构造14 :a(aa),b(0)15 {16 }17 18 A(int aa,int bb) //显式构造19 :a(aa),b(bb)20 {21 }22 23 void print()24 {25 cout<<"a... 阅读全文
2012年5月21日
2012年5月19日
2012年5月13日
摘要:
向量空间模型VSM中,当查询向量query和文档向量d有共同元素时,基于内积的相似度计算sim(query,d)不为0,因此d被返回;当query和d没有共同元素时,sim(query,d)为0,则d被忽略。这样的结果是,如果d中有和query"主题相关"的的内容,那么d就被漏掉了。潜语义分析LSA方法中,d和query都经过转换后,即使query和d没有共同元素时,经转换后的query和d的相似度sim(query,d)也不为0,则d被返回。也就是说,query和d在原来维度的空间里本来是正交的,经过转换后,投影到一个低维空间,这样十有八九就不正交了。这样的结果是,如果d 阅读全文
摘要:
(源自:http://en.wikipedia.org/wiki/Bag_of_words_model) The bag-of-words model is a simplifying assumption used in natural language processing and information retrieval. In this model, a text (such as a sentence or a document) is represented as an unordered collection of words, disregarding grammar and 阅读全文
2012年5月9日
摘要:
以下是典型动态算法打印两序列最大公共子序列的方法,该方法只能打印一个最大公共子序列: 1 #include <iostream> 2 using std::cout; 3 using std::endl; 4 5 const int NUM1=30,NUM2=30; 6 char result[NUM1+1]; 7 int count=0; 8 int lcsLength(char x[], char y[], int b[][NUM2+1],int m,int n) 9 {10 int c[NUM1+1][NUM2+1];11 for (int i = 0; i<=m; . 阅读全文
2012年5月8日
摘要:
动态规划算法首先要分析问题对象:1.是否有最优子结构性质。子结构:原问题规模变小就成为原问题的子结构。比如,矩阵链相乘问题,原问题的规模是矩阵链长度r=n,即问题规模为(i=1,j=n),i为矩阵链起点下标,j为终点下标。而原矩阵链中任意连续的长度r<n的子矩阵链,当i变大或j变小或i和j都变化时,就是子结构。再如长度分别为i和j的两个序列的最大公共子序列问题,原问题规模为(i,j),当i变小或j变小或i和j都变小时,这时的子问题就是子结构。最优子结构性质:原问题的最优解包含子问题的最优解。这种性质成为最优子结构性质。2.最常见的动态规划问题的子结构最优解是用矩阵,即二维数组来存储。3. 阅读全文
摘要:
以下是回溯算法的经典框架结构: 1 //t:递归的深度,也就是对象的层数。因此每次的回溯遍历都以深度为参数。 2 void backtrack (int t) 3 { 4 if(t>n) //n:对象的总深度,或对象的总层数。 5 output(x); //x:解的容器,一般是个数组。 6 else 7 { 8 /*f(t)和g(t)确定t层解的个数,或说第t个位置上解的可选个数。 9 (1)0-1问题每层都有0和1两个解。(2)n皇后问题每层都有... 阅读全文
2012年5月7日
摘要:
前几天听同学说起这样一个问题,说有两堆物品,分别从两堆物品中挑出一些物品,使这些物品重量之和相同,要求使重量之和最大。我把这个问题抽象出来后是这样子:有两个序列,从两个序列中各选出一些元素组成子序列,使这两个子序列的和相等,要求使子序列的和最大。我设计的算法如下:1.两个序列选择子序列按照0-1方式生成解空间。所以按回溯方式遍历解空间。2.要实现高效得考虑贪心性。3.序列和小的序列的和很大概率上就是两个序列的最大子集公共和。4.序列和小的序列做基础。5.对原序列排序,如果较密集,小序列用降序排列。如果两个序列和的差较大,大序列用升序排列。 1 #include "stdafx.h&q 阅读全文
2012年5月5日
摘要:
(源自:http://www.hudong.com/wiki/%E5%A4%9A%E9%A1%B9%E5%88%86%E5%B8%83)把二项分布公式再推广,就得到了多项分布(在一般概率书中很少介绍它,但是热力学中涉及到它)。 二项分布的典型例子是扔硬币,硬币正面朝上概率为p, 重复扔n次硬币,k次为正面的概率即为一个二项分布概率。(严格定义见二项分布中伯努利实验定义)把二项扩展为多项就得到了多项分布。比如扔骰子,不同于扔硬币,骰子有6个面对应6个不同的点数,这样单次每个点数朝上的概率都是1/6(对应p1~p6,它们的值不一定都是1/6,只要和为1且互斥即可,比如一个形状不规则的骰子),重复扔 阅读全文
2012年5月4日
摘要:
一,概率中协方差的定义:概率中协方差是随机变量的数字特征,即在二维随机变量分布中,对二维随机变量(X,Y),若E(X),E(Y),E{ [ X-E(X) ] [ Y-E(Y) ] } 都存在,则称 E{ [ X-E(X) ] [ Y-E(Y) ] } 为X与Y的协方差(或相关矩),记为Cov(X,Y)。Cov(X,Y)=E{ [ X-E(X) ] [ Y-E(Y) ] }=E(XY)-E(X)E(Y)。说明两点:1.这里的协方差是基于二维随机变量分布的计算,即和(X,Y)的样本值和(X,Y)的联合概率有关。2.当X和Y是离散型随机变量时,他们分别对应的样本空间的大小不必相同,即X的样本数和Y的 阅读全文