向量空间模型与动态规划
Outline <ul><li>向量空间模型 (Vector Space Model) </li></ul><ul><li>ACM--City Road </li></ul><ul><li>动态规划 (Dynamic Programming) ...
向量空间模型 ( 权重— TF*IDF) <ul><li>TF(Term Frequery) </li></ul><ul><li>IDF(Inverse Document Frequency) </li></ul>
向量空间模型 ( 相似性度量 ) <ul><li>匹配系数 : |(X∩Y)| </li></ul><ul><li>Dice: 2*|(X∩Y)|/(|X|+|Y|) </li></ul><ul><li>Jaccard: |(X∩Y)|/|(X...
City Road <ul><li>已知: </li></ul><ul><ul><li>M*N 平面矩形 </li></ul></ul><ul><ul><li>内部存在 1~ 多个不可达的小矩形 buildings 的起点坐标和大小 </li>...
City Road <ul><li>算法分析: </li></ul><ul><li>many(x, y) = many (x-1, y) + many (x, y-1) </li></ul><ul><li>many(x,y) = 0; if (...
City Road( 算法调优 ) <ul><li>M? N? If M = N = 1000000, M*N = ...... </li></ul><ul><li>其实我们只需要保存两行 </li></ul>
动态规划算法 <ul><li>算法设计: </li></ul><ul><li>(1) 描述最优解的结构 </li></ul><ul><li>(2) 递归定义最优解的值 </li></ul><ul><li>(3) 按自底向上的方式计算最优解的值 ...
Elevator Stopping Plan <ul><li>已知: </li></ul><ul><ul><li>有若干人要从大厦的底层到达各自的目标楼层 </li></ul></ul><ul><ul><li>人们可以通过搭乘电梯,也可以走楼梯...
Elevator Stopping Plan(In/Out Case) <ul><li>In: </li></ul><ul><li>3 4 5 10 </li></ul><ul><li>Out: </li></ul><ul><li>46(=3*...
Elevator Stopping Plan(Analysis) <ul><li>建立状态: </li></ul><ul><ul><li>i: 电梯目前在第 i 层 </li></ul></ul><ul><ul><li>j: 尚未离开电梯的人按...
Elevator Stopping Plan(Model) <ul><li>a[i][j] =  min(   min  j<=k<=n-1 (   max(   </li></ul><ul><li>max  j<=l<=k (|floors[...
Elevator Stopping Plan(Code)
Q&A
Upcoming SlideShare
Loading in …5
×

向量空间模型与动态规划分享

761 views

Published on

向量空间模型与动态规划分享

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
761
On SlideShare
0
From Embeds
0
Number of Embeds
90
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

向量空间模型与动态规划分享

  1. 1. 向量空间模型与动态规划
  2. 2. Outline <ul><li>向量空间模型 (Vector Space Model) </li></ul><ul><li>ACM--City Road </li></ul><ul><li>动态规划 (Dynamic Programming) 算法 </li></ul><ul><li>ACM--Elevator Stopping Plan </li></ul>
  3. 3. 向量空间模型 ( 权重— TF*IDF) <ul><li>TF(Term Frequery) </li></ul><ul><li>IDF(Inverse Document Frequency) </li></ul>
  4. 4. 向量空间模型 ( 相似性度量 ) <ul><li>匹配系数 : |(X∩Y)| </li></ul><ul><li>Dice: 2*|(X∩Y)|/(|X|+|Y|) </li></ul><ul><li>Jaccard: |(X∩Y)|/|(X∪Y)| </li></ul><ul><li>交迭系数 : |(X∩Y)|/min{|X|,|Y}} </li></ul><ul><li>Cosine: |X∩Y|/sqrt(|X|*|Y|) </li></ul>
  5. 5. City Road <ul><li>已知: </li></ul><ul><ul><li>M*N 平面矩形 </li></ul></ul><ul><ul><li>内部存在 1~ 多个不可达的小矩形 buildings 的起点坐标和大小 </li></ul></ul><ul><ul><li>每次只能向上或者向右走 </li></ul></ul><ul><li>问:从左下角走到右上角一共有多少种行走方法 ? </li></ul>
  6. 6. City Road <ul><li>算法分析: </li></ul><ul><li>many(x, y) = many (x-1, y) + many (x, y-1) </li></ul><ul><li>many(x,y) = 0; if (x,y)∈buildings </li></ul>
  7. 7. City Road( 算法调优 ) <ul><li>M? N? If M = N = 1000000, M*N = ...... </li></ul><ul><li>其实我们只需要保存两行 </li></ul>
  8. 8. 动态规划算法 <ul><li>算法设计: </li></ul><ul><li>(1) 描述最优解的结构 </li></ul><ul><li>(2) 递归定义最优解的值 </li></ul><ul><li>(3) 按自底向上的方式计算最优解的值 </li></ul><ul><li>(4) 由计算出的结果构造一个最优解 </li></ul><ul><li>特征:多状态、无后效性 ( 无反馈 ) 、重叠子问题 ( 做备忘录 ) </li></ul>
  9. 9. Elevator Stopping Plan <ul><li>已知: </li></ul><ul><ul><li>有若干人要从大厦的底层到达各自的目标楼层 </li></ul></ul><ul><ul><li>人们可以通过搭乘电梯,也可以走楼梯 </li></ul></ul><ul><ul><li>电梯上行一层所需时间 tElevator : 4s </li></ul></ul><ul><ul><li>电梯在每层停靠所需时间 tStop : 10s </li></ul></ul><ul><ul><li>走楼梯上下一层所需时间 tWalk : 20s </li></ul></ul><ul><li>问:如何停靠电梯使 最后一个 到达其目标楼层的人所花的时间最小? </li></ul>
  10. 10. Elevator Stopping Plan(In/Out Case) <ul><li>In: </li></ul><ul><li>3 4 5 10 </li></ul><ul><li>Out: </li></ul><ul><li>46(=3*tElevator+10+6*tElevator) </li></ul><ul><li>2 </li></ul><ul><li>4 10 </li></ul><ul><li>Or: </li></ul><ul><li>46(=4*tElevator+10+5*tElevator) </li></ul><ul><li>2 </li></ul><ul><li>5 10 </li></ul><ul><li>方案可能不止一种,但 minimum time 一定 </li></ul>
  11. 11. Elevator Stopping Plan(Analysis) <ul><li>建立状态: </li></ul><ul><ul><li>i: 电梯目前在第 i 层 </li></ul></ul><ul><ul><li>j: 尚未离开电梯的人按照目标楼层从低到高编号为 : j,j+1,...,n-1(0<=j<=n-1, n: 从底层要上楼的总人数 ) </li></ul></ul><ul><ul><li>a[i][j]: 这些人从最低为 i 的楼层离开电梯达到各自目标楼层所需的最短时间 </li></ul></ul><ul><li>状态分类: </li></ul><ul><ul><li>电梯在第 i 层不停靠 </li></ul></ul><ul><ul><li>电梯在第 i 层停靠 </li></ul></ul><ul><ul><ul><li>假设从 i 层离开电梯的人为 j,j+1,...,k(j<=k<=n-1) </li></ul></ul></ul><ul><ul><ul><li>则剩下 k+1,k+2,...,n-1 的人留在电梯里 </li></ul></ul></ul>
  12. 12. Elevator Stopping Plan(Model) <ul><li>a[i][j] = min( min j<=k<=n-1 ( max( </li></ul><ul><li>max j<=l<=k (|floors[l]-i|*tWalk) , </li></ul><ul><li>tStop*(bool(i > 1))+a[i][k+1] ) ) ) , </li></ul><ul><li>a[i+1][j]+tElevator) </li></ul>
  13. 13. Elevator Stopping Plan(Code)
  14. 14. Q&A

×