很多首诗,每首诗中包含很多字。我当然要用倒排索引了,对每个字建立索引,形式如下:
字1 诗11 诗12 诗13
字2 诗21 诗22
......

用户查询的是一个诗句,我把这个诗句中的每个字都摘出来去倒排索引里找,把每个字对应的集合做AND操作,得到一个诗的集合。
现在问题来了,如何对这个诗的集合排序?
这个问题其实就是相关度排序。最小编辑次数、最长公共子序列虽然也是一种排名方法,但容错性较低。比如我把“床前明月光”写成了“明月床前光”,最好也能够容忍我这种错误。
这肯定跟字在诗中的位置有关系,这些字离得越近越好。于是想到了使用方差。
在倒排索引中,加入“字位”信息。对于一首诗,字位信息如下:
字1 位置11 位置12 位置13
字2 位置21 位置22 位置23
字3 位置31 位置32 位置33
......

形式化一下这个问题:
给定N个集合,从每个中选取1个元素组成新的集合,使得新集合中元素方差最小,这个最小方差即为这N个集合的“得分”。

这个问题应该怎么做呢?

根据学过的算法可以很容易地构造出几个不一定正确的算法:

  1. 动态规划,定义二维数组f,f[i][j]表示前i个集合的最小方差并且最后一个数字是第i个集合中的第j个元素。当走出一条路径之后,对这条路径求均值,最佳路径必然是路径上的每一个结点都尽量靠近平均值,反复迭代更新,直到无法更新为止。
    上面这种动态规划思想有点马尔科夫过程维特比算法的意思。

  2. 贪心,一开始把全部点放进一个盒子,求平均值,把离平均值最远的那个点删掉,如果某集合中只剩下一个点则这个点不可删。如此贪心,每次删除离均值最远的点,知道无法删除,即为所求。

  3. 如果集合个数小于16,并且集合中每个数字都比较小(比如小于1000),那么可以用动态规划,f[i][j]中的i表示二进制的集合状态(也就是有没有访问过),j表示当前的平均数,f[i][j]表示当前的方差。

上面这种想法对不对呢?

转载于:https://www.cnblogs.com/weiyinfu/p/6713795.html

最小方差问题---------------给你出道题相关推荐

  1. 【51nod - 1098】 最小方差(基础数学,公式化简,前缀和,积的前缀和)

    题干: 若x1,x2,x3--xn的平均数为k. 则方差s^2 = 1/n * [(x1-k)^2+(x2-k)^2+--.+(xn-k)^2] . 方差即偏离平方的均值,称为标准差或均方差,方差描述 ...

  2. 无偏估计和最小方差无偏估计简介

    无偏估计和最小方差无偏估计 无偏估计:Unbiased Estimation 最小方差无偏估计: Minimum Variance Unbiased Estimation (MVU) 前言 在正式开始 ...

  3. 波束形成:最小方差无畸变响应波束形成器(MVDR)

    MVDR波束形成器 1. 问题描述   假设远场空间有一个感兴趣的信号 d ( t ) d\left(t\right) d(t),称为期望信号,其波达方向为 θ d \theta_d θd​,和 J ...

  4. 分布估计算法java_数理统计8:点估计的有效性、一致最小方差无偏估计(UMVUE)、零无偏估计法...

    在之前的学习中,主要基于充分统计量给出点估计,并且注重于点估计的无偏性与相合性.然而,仅有这两个性质是不足的,无偏性只能保证统计量的均值与待估参数一致,却无法控制统计量可能偏离待估参数的程度:相合性只 ...

  5. 统计信号处理:(估计二) 最小方差无偏估计

    最小方差无偏估计 2.1 无偏估计量 ​ 无偏估计意味着估计量的平均值为未知参数的真值.如果 E[θ^]=θ,a<θ<bE[\hat{\theta}]=\theta, a<\thet ...

  6. 2019-10-12 线性最小方差估计和正交定理

    很多东西再看第二遍的时候,都有一种恍然大悟的感觉 参数估计方法 现代控制理论中往往要通过观测值对系统内部结构参数进行估计,类似于我们常用的线性最小二乘法,举例:二维坐标(身高.年龄)给一堆的点,找俩参 ...

  7. 【图论】Tree之最小方差树(bzoj 3754)

    正题 bzoj 3754 题目大意 求最小方差生成树 解题思路 可以枚举数值之和,然后跑最小生成树 每次加25,这样可以提高速度,且如果平均数接近,那么所选的边和答案会相同,再暴力跑一遍即可 code ...

  8. python量化策略——大类资产配置模型(最小方差模型)

    最小方差模型 寻求风险最小的大类资产组合. max⁡=XTΣX\max=X^{T}\Sigma Xmax=XTΣX s.t.ΣX=1,Xi≥0,i=1,2,3...s.t. \quad \Sigma ...

  9. matlab减小数据方差,最小方差控制

    各位大神好,根据matlab文件编了个相应的simulink仿真,但是输出一直发散,该怎么查原因啊,另外各位大神有自适应控制其他的simulink仿真吗?可否发我,急需!这是相应的matlab代码 % ...

最新文章

  1. 科学解析2021年AI领域的10个大胆预测
  2. jQueryEasyUI 的入门
  3. 【转】ionic run android 成功launch success,但是genymotion虚拟机没有显示
  4. EZNEW.NET开发框架100%重磅开源
  5. NS3使用过程中重要内容整理
  6. Function类型(JS高程3)—— JS学习笔记2015-6-29(第70天)
  7. postman 第4节 切换环境和设置读取变量(转)
  8. mac 命令 vim 快捷键
  9. 电源模块的选择、国内外知名电源模块厂家排名及厂家优势特点汇总
  10. Mac 没有声音怎么恢复
  11. 压缩文件解压密码破解之fcrackzip
  12. MySQL学习笔记(6)
  13. vs2017无法打开文件atls.lib问题
  14. CAD制图神器-CAD专用键盘
  15. Probability Through Experiments
  16. GeoHash实现代码
  17. 高级软件工程课程总结报告
  18. 想知道图片批量处理软件哪个好?分享2款好用软件
  19. 写给大家看的Web设计书:第3版(世界级设计大师指点迷津)(全彩印刷)
  20. 深入了解火山PC的编码转换处理

热门文章

  1. Beta冲刺 第一天
  2. PHP中获取数组中单列的值
  3. 随机森林、gbdt算法
  4. Android开源框架:Universal-Image-Loader解析(四)TaskProcess
  5. CentOS 6.5上安装Python 2.7.9
  6. iOS插件化研究之一——JavaScriptCore
  7. PHP 每天的总结(1)
  8. 《设计模式详解》行为型模式 - 解释器模式
  9. 10个大数据领域的杰出公司
  10. 如何围绕业务特性,做企业信息化?