兔纸 发表于 2012-10-12 19:01:54

话说提醒我了……我也在一直找个算法/原理

winrar有rr碎包修复功能,所以我很想知道这个功能怎么做的……

算法描述如下:(语言限制在ASP.NET系列内)
对于任意文件A,根据该算法输出文件B(可以设置文件B的大小,或者大致大小)。
对于文件A之中,任意分布的损坏部分(损坏部分小于文件B,但不远小于文件B。),可以用文件B予以完全修复
注:损坏有3种情况,1是“错误数据”,2是“多余数据”,3是“缺少数据”。只要能达成第一种即符合要求,如果同时能达成2或3,酌情增加奖励

如果有符合描述的算法——私人提供20硬币
如果不能提供算法代码,但可以描述基本原理——私人提供10硬币

无聊→YY 发表于 2012-10-12 19:05:04

兔子杀花

zqmillet 发表于 2012-10-12 19:05:22

刚刚还看到了一个C++的帖子,这算法都出来了~

宝宝之恋 发表于 2012-10-12 19:32:14

好高深的东西啊

利利乐乐 发表于 2012-10-12 19:34:37

这才是技术流的啊佩服

coolstarhty 发表于 2012-10-12 20:03:24

有难度{:7_753:}

兔纸 发表于 2012-10-12 20:21:03

{:7_725:}起来!

狂爱马德里 发表于 2012-10-12 20:55:41

顶起来~~~

vocaloid 发表于 2012-10-12 21:14:55

不懂这个,帮顶

huangya90 发表于 2012-10-12 21:17:36

这个需要你对数据压缩算法和文件系统有较深入的了解吧,也不是一时半会能搞定的事。另外对任意分布的损坏部分(损坏部分小于文件B,但不远小于文件B。),可以用文件B予以完全修复,持怀疑态度。

兔纸 发表于 2012-10-12 21:45:16

huangya90 发表于 2012-10-12 21:17 static/image/common/back.gif
这个需要你对数据压缩算法和文件系统有较深入的了解吧,也不是一时半会能搞定的事。另外对任意分布的损坏部 ...

跟文件系统倒是没关系。我只考虑数据本身
跟压缩算法关系也不大。这不是保留全部信息的“压缩”,而是只保留一定量信息的“摘要”。

这个类似于一种hash算法。。。根据有限的数据总量进行逆推

最后:
理论上必然存在这么一种算法,原因是文件a损坏部分的最大熵值恒小于文件b的最大熵值,用大熵值数据恢复小熵值数据必然可行,但算法的创造难度就不好保证了
而且也有实例,详见winrar的碎包修复功能。

woshihaiyan 发表于 2012-10-12 22:51:58

太深奥了

devalsy 发表于 2012-10-12 23:00:09

只是看看,好高深{:7_725:}
页: [1]
查看完整版本: 话说提醒我了……我也在一直找个算法/原理