发新话题
打印

有何好项目或题材可推荐?

本主题由 君子乾乾 于 2008-5-4 01:49 加入精华
引用:
原帖由 wxof 于 2008-4-26 22:08 发表
如果只对特殊数据压缩,我能将一个无暇大的数字压缩到2位上来!
比如1.141.........省略后面无数千万位
保存的数字就是2,解压缩算法就是开根号!
这个例子举的好,不过,你只处理了一个特殊数据,这样的特殊数据是无限多的。
支持 (0)  反对 (0)

TOP

偶不太信这种超级压缩,不管怎么说,卡斯罗提供了一种思路,不一定行,不过反对的人不要过于自信

如果出于商业目的,做这个是在冒险,可能赔上一辈子的时间发现是瞎想,但是出于求知的目的,从不可能到可能是有过程的,凭啥就认定永远不可能一棒子打死

因为它的压缩机制和 LZW 算法不同,有可能能压缩 winzip 之类压缩后的数据,你不会说 winzip 已经到极致了吧

我不喜欢两种说法:
- 这永远不可能,你太无知了
- 别想了,肯定早有好多人想过了

所以偶要傻傻地再支持一下
支持 (0)  反对 (0)

TOP

引用:
原帖由 enthappy 于 2008-4-27 17:39 发表
偶不太信这种超级压缩,不管怎么说,卡斯罗提供了一种思路,不一定行,不过反对的人不要过于自信

如果出于商业目的,做这个是在冒险,可能赔上一辈子的时间发现是瞎想,但是出于求知的目的,从不可能到可能是有过程的,凭啥就认定永远不可能一棒子打死

因为它的压缩机制和 LZW 算法不同,有可能能压缩 winzip 之类压缩后的数据,你不会说 winzip 已经到极致了吧

我不喜欢两种说法:
- 这永远不可能,你太无知了
- 别想了,肯定早有好多人想过了

所以偶要傻傻地再支持一下
小气矿老板,口头支持不行,要把财富捐出来
-Thank you. But you didn't have to...
-That mirror was scratched. I already ordered a new one.
支持 (0)  反对 (0)

TOP

引用:
原帖由 player1 于 2008-4-27 21:09 发表


小气矿老板,口头支持不行,要把财富捐出来
干啥?打倒土豪劣绅啊?
本帖最近评分记录
  • player1 活力 +1 介系你自己说的啊,嘿嘿嘿嘿 2008-4-28 08:38
支持 (0)  反对 (0)

TOP

偶是贫农
支持 (0)  反对 (0)

TOP

引用:
原帖由 enthappy 于 2008-4-27 21:16 发表
偶是贫农
那偶不是赤贫撩,穷得连件小马夹都买不起
本帖最近评分记录
  • enthappy 活力 +10 加活力不要那么小气嘛,看我来个大方的 2008-4-28 10:32
-Thank you. But you didn't have to...
-That mirror was scratched. I already ordered a new one.
支持 (0)  反对 (0)

TOP

引用:
原帖由 卡斯罗 于 2008-4-27 12:57 发表


我已经证明这是可以实现的了,并且对部分数值进行了实现证明了给你看,难道你非要我花更多的时间给你把算法写出来,完善它?这个还有具体意义吗?我们不是在一直在论讨这种算法是否能对数据压缩吗?就算现在的算 ...
你真太可笑了,口口声声说别人无知,自己又明白了多少呢,我很奇怪你说话的逻辑,仅仅做到了把某一部分4位数压缩成了3位数就说证明可以实现了,可是这贴子里的人,从来没有一个人说过,这种算法不能压缩任何数据,拜托请不要强奸别人的本意。现在讨论的重点是,这种算法对于随机数据,能被压缩的数据的比例占全部数据的多少?如果只有一小部分数据可以被压缩,那这种算法是否有意义?
下面开始分析:
第一,将4位数据压缩成3位。
4位的随机数据一共有9000种可能(第一位不为0),这个就不用解释了。但分子分母加起来不超过3位的一共有多少种可能?分三种情况:
1、分子1位分母2位
这种情况分子有9种可能,分母有99种可能,相乘有891种可能,但是要求分子和分母互质,比如1/13和2/26结果其实是一样的的,所以要去掉重复的
公式为:891-90/2-90/3-90/4-90/5-90/6-90/7-90/8-90/9
我只计算前几位,因为计算的越多最后的值越小,对你的算法越不利。
计算到90/5,结果为776,也就是最多的组合种类不会超过776种。
2、分子2位分母1位
这种情况与第一种一样,最多的组合种类不会超过776种。
3、分子1位分母1位
分子分母各9种情况,一共81种
综合1、2、3,你的最多的组合只有1633多种。1633种除以9000种,约等于18%,也就是说对于4位的数据,最最理想的情况你只能将其中的不到18%的数据压缩,压缩比为75%。而事实上,你还需要一个数据来记录到底是分子1位还是分母1位,如果这么算的话,不但没压缩反而增大了。或者你还可以有另一种选择,就是去掉前两种情况中的某一种,这样种类就会减少为857种,除以9000种的话,最后结果为9.5%。也就是你只能将其中的不到9.5%的数据压缩,压缩比为75%。
我等一会再分析对于大于4位的数据的压缩情况。
支持 (0)  反对 (0)

TOP

补充一下,上面所说的压缩比为75%,是指可以压缩的数据的压缩比,不是指综合,如果综合起来算的话,一个随机文件,压缩比90.5%+0.75*9.5%=97.6%,也就是说100M的文件压缩成97.6M。

对于大于4位的数据压缩,分析起来比较复杂,请卡斯罗来看看上一楼的证明,能想明白我再打字,不然真是对牛弹琴。

[ 本帖最后由 quick 于 2008-4-28 00:50 编辑 ]
支持 (0)  反对 (0)

TOP

引用:
原帖由 quick 于 2008-4-28 00:22 发表
补充一下,上面所说的压缩比为75%,是指可以压缩的数据的压缩比,不是指综合,如果综合起来算的话,一个随机文件,压缩比90.5%+0.75*9.5%=97.6%,也就是说100M的文件压缩成97.6M。

对于大于4位的数据压缩,分析起 ...
很精辟的分析,如果你能看出这些问题,其码能让明您认真看了算法,虽然你和我站在讨论问题相反的立场上,但由于您很仔细的进行分析和出于技术的目的讨论,而不是像其它人总要给别人讲什么高中科普,所以我还是很高兴回答您的问题的。

当前的算法我是用了质,但请您想信在数学中不只是质这一种性质可以区别数字的不同性的,它只是最简单的一种方法,所以我用了,能给别人讲清问题自已又省时间

不过我当然可以用更高级或复杂的方法,例如我前面说的矩阵,当然这就要程序为一系列数字准备模板,这个概念我不在这里讨论,因为会非常复杂,但我想数学有一定基础的人能理解我的意思,要我用矩阵实现吗?,根据目前我的想法有实现的可能,而且还是根据我这种水平不太高的程序员来讲,但我真的不想再为别人能够理解一个问题而反复去写这种代码了,我现有的时间还要靠写软件换钱糊口,这句话我自已都嫌烦了。

所以我说如果用复杂的矩阵还是会比这个压缩比高的,而且请你注意一个很关键的问题,那就是分子分母的方法,没有排除冗余的那种限制,你可能会对你现有的压缩结果重新组合而再次进行压缩,对吧,如果您对压缩结果循环下去会怎样呢?这个我不清楚。

而且让我最高兴看到的是,您最后得出了一个结论,
您说的话:也就是说100M的文件压缩成97.6M,
用质的方法进行分子分母算法就可达到这种程度了,对吧,这可是您说的,而且还是不知道这个97.6可不可以再次循环压缩的前提下,因为我说过分子分母不是排除冗余,所以目前所知它可能不受第二次压缩的限制。

但是您说我强奸别人的本意,帽子扣大了吧,我记得前面的贴子,大牛们一直在口口声声告诉我这个根本就是无法实现的,而且就连个基础理论都没有,就是说从原理上讲就行不通,这个我没记错吧。

但如果现在返回来又说压缩比的问题了,我想就是在玩文字游戏了。

我为这个贴子浪费了很多时间,所以如果下一个文章没有人能像您一样的仔细对技术分析或提出什么技术亮点的话,我不会再回贴了。

不过我很兴高的看到这次讨论中,真的有强人可以站到更高处,把问题看的更远,下面我想引用一句enthappy前辈的话:
他说:因为它的压缩机制和 LZW 算法不同,有可能能压缩 winzip 之类压缩后的数据,你不会说 winzip 已经到极致了吧
这其实才是我佩服的技术高人的想法。
如果不理解,那我告诉你,看到4312这个数字了吗?能排除冗除吗?但那个笨蛋的程序可以把它压成三位,如果我们有可能组合两种算法会出现什么样的结果呢?winzip被优化了

我希望在我们当中多一些这种会把问题看的更远的技术高人,而不是科普老师。

谢谢您的提问.
支持 (0)  反对 (0)

TOP

引用:
原帖由 卡斯罗 于 2008-4-28 11:20 发表


很精辟的分析,如果你能看出这些问题,其码能让明您认真看了算法,虽然你和我站在讨论问题相反的立场上,但由于您很仔细的进行分析和出于技术的目的讨论,而不是像其它人总要给别人讲什么高中科普,所以我还是很高兴回答您的问题的。

当前的算法我是用了质,但请您想信在数学中不只是质这一种性质可以区别数字的不同性的,它只是最简单的一种方法,所以我用了,能给别人讲清问题自已又省时间

不过我当然可以用更高级或复杂的方法,例如我前面说的矩阵,当然这就要程序为一系列数字准备模板,这个概念我不在这里讨论,因为会非常复杂,但我想数学有一定基础的人能理解我的意思,要我用矩阵实现吗?,根据目前我的想法有实现的可能,而且还是根据我这种水平不太高的程序员来讲,但我真的不想再为别人能够理解一个问题而反复去写这种代码了,我现有的时间还要靠写软件换钱糊口,这句话我自已都嫌烦了。

所以我说如果用复杂的矩阵还是会比这个压缩比高的,而且请你注意一个很关键的问题,那就是分子分母的方法,没有排除冗余的那种限制,你可能会对你现有的压缩结果重新组合而再次进行压缩,对吧,如果您对压缩结果循环下去会怎样呢?这个我不清楚。

而且让我最高兴看到的是,您最后得出了一个结论,
您说的话:也就是说100M的文件压缩成97.6M,
用质的方法进行分子分母算法就可达到这种程度了,对吧,这可是您说的,而且还是不知道这个97.6可不可以再次循环压缩的前提下,因为我说过分子分母不是排除冗余,所以目前所知它可能不受第二次压缩的限制。

但是您说我强奸别人的本意,帽子扣大了吧,我记得前面的贴子,大牛们一直在口口声声告诉我这个根本就是无法实现的,而且就连个基础理论都没有,就是说从原理上讲就行不通,这个我没记错吧。

但如果现在返回来又说压缩比的问题了,我想就是在玩文字游戏了。

我为这个贴子浪费了很多时间,所以如果下一个文章没有人能像您一样的仔细对技术分析或提出什么技术亮点的话,我不会再回贴了。

不过我很兴高的看到这次讨论中,真的有强人可以站到更高处,把问题看的更远,下面我想引用一句enthappy前辈的话:
他说:因为它的压缩机制和 LZW 算法不同,有可能能压缩 winzip 之类压缩后的数据,你不会说 winzip 已经到极致了吧
这其实才是我佩服的技术高人的想法。
如果不理解,那我告诉你,看到4312这个数字了吗?能排除冗除吗?但那个笨蛋的程序可以把它压成三位,如果我们有可能组合两种算法会出现什么样的结果呢?winzip被优化了

我希望在我们当中多一些这种会把问题看的更远的技术高人,而不是科普老师。

谢谢您的提问.
嘿嘿,先说,O不是大牛,普通菜鸟倒是真滴

8过,不要告诉O,你认为你写了几个演示程序,就已经证明了可逆性(two totally different things),如果你要这样认为,O也没啥好说滴

所有你的证明帖,只能证明可以用来压缩某些数据而已,而这个问题没看到有人提出异议(应该是这样,没有仔细看帖)

当然,你的努力和研究精神还是值得肯定的

BTW,真的大牛是一语中的,然后他们数自己滴钱去鸟,不知道你注意到了没有。
-Thank you. But you didn't have to...
-That mirror was scratched. I already ordered a new one.
支持 (0)  反对 (0)

TOP

发新话题