BBS.ChinaUnix.net
首页 | 新闻 | Linux | FreeBSD | AIX | Windows | 博客 | 论坛 | 存储 | 网络 | 人才 | Wiki | 资料 | 读书 | 手册 | 下载 | 空间 | 搜索
  免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 



请教, 谁对求欧氏距离最小值有研究
首页 » 论坛 » C/C++ »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
  [已解决] 本主题悬赏 可用积分 30  
版主 scutan   帅哥 (冬日夜雨)
版主-法师


CU奥运火炬传递手2008
CU编号: 551201
注册:2007-4-13
最后登录: 2009-07-05
帖子:6367
精华:12

可用积分:9758 (腰缠万贯)
信誉积分:415
专家积分:919 (本版:372)
空间积分:816
推广积分:355

来自:成都
状态:...离线...

[个人空间] [短信] [博客]


1楼 发表于 2009-1-8 19:08 

对于一组数据[x1 x2 x3 x4 x5 x6 x7] 每个数据为 float型, 有很多个文件, 在每个文件中有很多组这样的数据. 每个float在0-100之间
现在得到一组参考数据[y1 y2 y3 y4 y5 y6 y7], 在那些文件中去找到一组数据使得
(y1-x1)^2 + (y2-x2)^2 + ... + (y7-x7)^2的值最小.

若采用遍历的方式去查找不能满足性能上的要求, 那么想请教一下, 该怎样对这些数据进行排序, 以使得能以最快的速度找到?
谢谢.



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

把自己角色扮演好
全力以赴每一秒!
mwishes
侠客




CU编号: 208823
注册:2004-12-18
最后登录: 2009-06-15
帖子:35
精华:0

可用积分:89 (白手起家)
信誉积分:100
专家积分:30 (本版:30)
空间积分:0
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


     最佳答案 
2楼 发表于 2009-1-8 19:08 

回复 #15 marco_hxj 的帖子



QUOTE:
原帖由 marco_hxj 于 2009-1-8 21:30 发表

蚂蚁算法?

分析了下题目,我的直觉和15楼一样, 启发式搜索? 但是, 蚁群也好,遗传也好,模拟煺火也好, 归根在于产生一个能约束在题设中的收敛序列. 但是, 就题目本身而言:  N个文件, 每个文件Si个数据项.  如果遍历的话, 算法复杂度是 O( 求和Si(i 属于 1,...,N));
问题本身就是线性的. 而这个时候启发式搜索反而在使问题变复杂. 可以做如下假设:
对于任意文件看成一个部落. 我可以这么理解问题,  为了简化计算(x和y的Euler距离), 对于文件中的记录, 每两两组对,如果可以只计算x和配对的组中一个组员euler距离的话, 计算规模减少1/2.  但是为了达到这个目的,可以让这 S/2个组对进行遗传演化, 让所有组对成员之间euler距离之和最小... 而这个演化过程将远远超出减少的1/2规模. 也就是说问题反而变复杂了. 启发式搜索是为了求取一个NPC问题的局部最优解而有效...
因此,从算法本身上来看. 遍历似乎已经是最优的解决办法了,尚且不能满足需求的话, 或者真的只能从架构上想办法了, 比如试试 map-reduce ?

[ 本帖最后由 mwishes 于 2009-1-9 00:23 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

无钱当剑沽,醉倒在西湖
r2r4   帅哥
精灵
ftw




CU编号: 625744
注册:2007-10-8
最后登录: 2009-06-30
帖子:222
精华:0

可用积分:456 (稍有积蓄)
信誉积分:0
专家积分:10 (本版:10)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


3楼 发表于 2009-1-8 19:14 

大手笔~
30
mk,期待



您对本贴的看法:鲜花[0] 臭蛋[0]
ljoo
圣骑士




CU编号: 674177
注册:2008-3-7
最后登录: 2009-07-03
帖子:84
精华:0

可用积分:138 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


4楼 发表于 2009-1-8 19:30 

差的绝对值和最小?
不懂,看看.



您对本贴的看法:鲜花[0] 臭蛋[0]
reiase
大天使
mononoke




CU编号: 366451
注册:2006-1-22
最后登录: 2009-07-04
帖子:1903
精华:0

可用积分:2243 (小富即安)
信誉积分:110
专家积分:85 (本版:75)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2009-1-8 20:10 

不用欧氏距离能快很多...然后争取构造个结构,作二分查找吧
考虑下1范距离与无穷范距离

[ 本帖最后由 reiase 于 2009-1-8 20:12 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


至人无己,神人无功,圣人无名
版主 scutan   帅哥 (冬日夜雨)
版主-法师


CU奥运火炬传递手2008
CU编号: 551201
注册:2007-4-13
最后登录: 2009-07-05
帖子:6367
精华:12

可用积分:9758 (腰缠万贯)
信誉积分:415
专家积分:919 (本版:372)
空间积分:816
推广积分:355

来自:成都
状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2009-1-8 20:17 



QUOTE:
原帖由 reiase 于 2009-1-8 20:10 发表
不用欧氏距离能快很多...然后争取构造个结构,作二分查找吧
考虑下1范距离与无穷范距离

不是很明白呢.



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

把自己角色扮演好
全力以赴每一秒!
reiase
大天使
mononoke




CU编号: 366451
注册:2006-1-22
最后登录: 2009-07-04
帖子:1903
精华:0

可用积分:2243 (小富即安)
信誉积分:110
专家积分:85 (本版:75)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2009-1-8 20:24 

欧氏距离需要计算n次乘法,n-1次加法,一次开方;1范 距离需要n-1次加法;无穷范距离需要n-1次比较大小;三种范数距离不相等,但是对大多数应用,三者效果差不多,但是计算量上差很多



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


至人无己,神人无功,圣人无名
版主 scutan   帅哥 (冬日夜雨)
版主-法师


CU奥运火炬传递手2008
CU编号: 551201
注册:2007-4-13
最后登录: 2009-07-05
帖子:6367
精华:12

可用积分:9758 (腰缠万贯)
信誉积分:415
专家积分:919 (本版:372)
空间积分:816
推广积分:355

来自:成都
状态:...离线...

[个人空间] [短信] [博客]


8楼 发表于 2009-1-8 20:47 

回复 #6 reiase 的帖子

实际上我这儿主要就是相减求平方, 经过测试, 计算时间是很短的. 关键是数据量太大, 怎样对那些文件中的数据进行合理地组织是个问题.



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

把自己角色扮演好
全力以赴每一秒!
bbmmzz   帅哥 (乡音无改)
侠客



CU编号: 760542
注册:2008-9-10
最后登录: 2009-07-02
帖子:35
精华:0

可用积分:82 (白手起家)
信誉积分:0
专家积分:20 (本版:20)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2009-1-8 21:14 

我想到的是把数据按照公式(y1-x1)^2 + (y2-x2)^2 + ... + (y7-x7)^2转换成矩阵相乘的形式,可能有数值计算的方法减少运算量



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

不再执意欢喜,反倒让人欢喜
reiase
大天使
mononoke




CU编号: 366451
注册:2006-1-22
最后登录: 2009-07-04
帖子:1903
精华:0

可用积分:2243 (小富即安)
信誉积分:110
专家积分:85 (本版:75)
空间积分:0
推广积分:0

状态:...离线...

[个人空间] [短信] [博客]


10楼 发表于 2009-1-8 21:16 

计算时间短不是不优化的理由阿,如果程序80%以上的时间在计算欧拉距离,优化距离计算还是有必要的。俺只是指距离计算这一点上的问题,数据组织没背景不好讲



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


至人无己,神人无功,圣人无名

首页 » 论坛 » C/C++ »


 


Copyright © 2001-2009 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.052992 second(s), 4 queries , Gzip enabled