1
Hooloowa 2012-02-04 21:42:07 +08:00
完全没有理解lz在说什么
|
2
Livid MOD 这是一个很有趣的想法。
我好奇你是从哪得到这个灵感的? |
3
RanceR 2012-02-04 21:52:11 +08:00
算这个是要干什么...
|
4
rechtar 2012-02-04 21:52:12 +08:00
In [15]: 800 * 600 * 2 ** 24
Out[15]: 8053063680000L 囧 |
5
aoyoo 2012-02-04 21:52:25 +08:00
一共是800*600*(2^24) 张 不是么?
|
6
013231 2012-02-04 21:59:55 +08:00
总共2**(24*800*600)张吧?
算第几张倒是简单. |
7
caomu 2012-02-04 22:02:20 +08:00
想起大刘的《诗云》。。。
|
8
reus 2012-02-04 22:03:32 +08:00
有2 ^ 24 ^ (800 * 600)张
n转成图片,和十进制转16/32/64进制类似(看你机器字长选个效率最高的),连除取余,就是每一段的内容了。给图片算n就是逆运算。每16/32/64位乘以相应的权值然后相加 |
9
reus 2012-02-04 22:17:54 +08:00
在内存里存这个图片,和存这个数字所用的空间是一样的,所以不能用来做图像压缩
|
11
chaojie OP |
13
Livid MOD |
14
rankjie 2012-02-04 23:04:39 +08:00
那也只是略大於肉眼可見範圍吧。。。
|
15
chaojie OP @Livid 我也是这样的想法,如果人们把存在的照片去比对其所在的位置,应该是有一定规律的。我觉得用这个规律应该可以过滤无意义的图片
|
16
undeadking 2012-02-04 23:06:15 +08:00
这个数据量怎么感觉和26个字母全排列的数量级还要高…不存在那么强大的计算机吧
|
17
chaojie OP 另外一个事,就是Dropbox之类的同步工具的数据为什么不存储在邮箱服务器呢?只要用户的文件能够通过Dropbox找到在哪个邮箱的哪个位置就行了啊。http的请求也可以用服务器代理到邮箱啊。
我研究了两天这个事,突然觉得这事太简单,会不会又是我大脑短路想到的东西? android,nodejs的写了一下imap的,用qq邮箱,没什么技术难度啊。只是发现imap比pop3速度慢,不知是何缘故 |
19
chaojie OP 如果可以用123表示一张图片,这个压缩率也是无敌的高了
|
20
Livid MOD 24 位色不是指 24 种颜色,而是每个像素使用 24bit 来描述,红绿蓝各 8bit,所以,也就是说,单个像素的可能性是 256 ** 3。
|
21
goldengrape 2012-02-04 23:24:20 +08:00
hash+碰撞列表就可以吧。
进一步,如果将画面之间的状态转移概率算出来,就是预言程序了。 24位真彩有点过了,其实可以从初级的16位灰度,320*240开始。 |
22
virushuo 2012-02-04 23:29:27 +08:00
@chaojie 这个是效率问题,而且dropbox对于文件并不看作一个整体,而是切成很多小块来同步。如果这样做效率就很低。
其实你这个和图片,都是寻址方法吧,这个思路确实很有趣,很独特。图片这个仔细想想貌似能出现很有意思的东西。 |
23
chaojie OP @virushuo 但实际测试中下载速度稍有些问题,上传基本能达到宽带最高,当然是苦逼的1M的宽带,但不占用服务器的资源啊。空间相对来说很无限,自己还没成本,难道无限空间的诱惑抵不过一点效率的下降?
|
24
goldengrape 2012-02-04 23:37:01 +08:00
仅仅考虑16位灰度,单像素是2^8
320*240的数据量是 p=2^8^(320*240)=6.75... × 10^184952 从一个状态转移到另一个状态的矩阵大小应该是p*p, 也就是大约:4.55... × 10^369905 这个数字好像有点大 |
25
chaojie OP |
26
fanzeyi 2012-02-04 23:40:38 +08:00
曾经跟同学说过 每天用程序随机生成一副图片 有朝一日肯定会碰到一副名画的
还有 这个想法来自于《失控》吧 有一章讲这个的 当时就是看这个的时候想到这个的.. |
27
fanzeyi 2012-02-04 23:41:13 +08:00
但是 各位聪明的程序员们 在这之前你们要得到一个 真·随机数发生器 ..
|
28
virushuo 2012-02-04 23:41:30 +08:00
|
29
goldengrape 2012-02-04 23:43:34 +08:00
考虑使用常规的图像压缩算法,比如余弦的那些系列。
如果是完全随机的图片,是非常难以压缩的,而完全的色块,压缩比又非常之高。所以可以通过图像的可压缩率来判定图像是否又意义。相当于一个带通滤波器。 如果考虑给定压缩算法的『带宽』,那么还可以把上述的可能性降低,甚至是降低很多。也许指数项就能降低几个数量级。 |
30
Digi 2012-02-04 23:44:31 +08:00
@caomu
没错,和那个思路是一样的。按照《诗云》中的设想,不但重现过去历史上所有的诗歌,还会穷举出未来的名句 KK 在《失控》中描述的博尔赫斯图书馆也是这样,算法蓬勃地生长进化,自行创造出前所未有的内容 |
31
fanzeyi 2012-02-04 23:45:08 +08:00
|
33
chaojie OP @goldengrape @reus @013231 你们的算法好像是一样的,我数学不好,不知道结果对不对。
2位2*2结果应该是16,2^1^(2*2)确实是16,我只知道这,汗。。。。。。 那么怎么根据n求图片,以及逆运算是什么呢? |
34
goldengrape 2012-02-04 23:52:20 +08:00
@fanzeyi 关于真随机数 vs 伪随机数。从链接中的图片可以通过肉眼发现伪随机数的模式涌现。
对于股票价格的波动,有效市场理论认为是随机波动(真随机数),其他理论认为不是(伪随机数)。那么是否有一种良好的呈现股票价格的方法能够使人眼清晰的感受到其中的模式?并用来预测股价? |
35
chaojie OP |
36
goldengrape 2012-02-05 00:00:11 +08:00
如果是穷举所有的股价和成交量呢?貌似复杂度一下子降低了很多。可统计的数据也有很多,状态转移的概率也是可能被计算的了。
这比穷举整个世界来得容易,也更赚钱些 |
37
chaojie OP @virushuo 我还是决定做出来看有木有人使用,主要现在做其他的感觉很无力,转移下视线也好。没准结局会是把邮箱作为惰性空间使用,或是给我的Drop盒做备份也好,哈哈
|
38
goldengrape 2012-02-05 00:22:40 +08:00
股票的价格最小单位是0.01元。应该不会有超过1000元/股的股票。交易所每天9点到下午3点开市。
于是穷举: (1000/0.01)^(60*60*6)=1*10^108000 实际上大于100元的股票也不算多。那么 (100/0.01)^(60^60^6)=1 × 10^86400 再进一步,我只限定自己买卖10元价格区间内的股票,比如10-20元区间的。那么 1 × 10^64800 涨停跌停之类也许用个FFT的滤波器可以过滤。 比如到了 1 × 10^6480 的数量级,是否可以建立完整的预测体系呢?当然,这个体系有如下问题: 1. 是基于过去数据的,至少没有包含本模型的影响 2. 要求的置信区间太高。 |
39
virushuo 2012-02-05 00:26:23 +08:00
@goldengrape 我也觉得用来计算股票比较好玩。
|
40
goldengrape 2012-02-05 00:35:20 +08:00
如果只考虑10元区间内,15分钟采样一次,那么数据量是10^72,大概已经是个可处理的范围内了。
然后统计出过去所有股票交易时间内这些交易图像的转移概率, 比如你今天12点看到了一支股票价格的波动符合第3,4,7,9号图,有>90%的概率变成第3,4,5,6,7,8,9号图。。。 |
41
reus 2012-02-05 00:51:25 +08:00 via iPhone
@gfreezy 是的,所以有2 ^ (24 * 800 * 600)种可能。这段内存可以看作是一个图片,也可以看作是一个整数。图片或者整数,只是人类赋予这些0101的意义,对计算机来说却没有区别
|
43
reus 2012-02-05 01:13:20 +08:00 via iPhone
@gfreezy 是的,所以有2 ^ (24 * 800 * 600)种可能。这段内存可以看作是一个图片,也可以看作是一个整数。图片或者整数,只是人类赋予这些0101的意义,对计算机来说却没有区别
|
44
dreamersdw 2012-02-05 01:18:02 +08:00
1. 所有可能的图片一共有 (2^24)^(800*600) = 3.549 x 10^3467865 张
2. 可以。比如想生成第 13 张图片,可以把 13 用二进制表示成 1101,然后再将数字逆序排得到1011,最后补全 479996 个 0,就得到了那张图片的二进制表示。 3. 可以。将图片二进制数据逆序排列,可视其为一个巨大的二进制数,也就图片所在的位置。 但考虑到宇宙中可观测的原子数量只有 10^80 个,我们永远不可能枚举出所有的图片。想用序号代替原始图片,以取代目前的压缩算法也是不现实的。虽然第 0 张图片只需要占用 1 个比特,但最后一张图片,却要占用 2^(800*600) 个比特。再说,既然我们都能从序号推断出图片内容了,序号中包含的信息一点也不会比图片本身的信息少。 3.549 x 10^3467865 张图片一定会包含很多信息吧。不,只包含了很少的信息。因为只需要写一个非常短的程序就可以生成所有的它们。信息是可以帮助消除不确定性的东西。可把所有生成的图片都放在你面前也不能帮助你消除多少不确定性。 |
45
chaojie OP @reus 原来在#8就已经完全解决这个问题,只是说的太简单,我一下没看懂。如果16进制,也就是说从全0,到全F,000000.....000000 到 FFFFFF......FFFFFF,每6位作为一个像素颜色,共有800*600个像素,所有这些数字就代表所有的可能性。虽然不能用来压缩,但应该还是很有意义的
我这样理解对吧?大学只学经济数学的悲惨路过 |
46
013231 2012-02-05 01:29:59 +08:00
其实吧, 想要用序号表示任意信息, 计算pi(圆周率)就可以了. pi中包含了任意有限长的数字序列.
http://www.matrix67.com/blog/archives/397 |
47
chaojie OP @dreamersdw 刚明白过来发出去就又看到了你的详细解释
|
48
vmebeh 2012-02-05 01:42:01 +08:00
@dreamersdw 序号只是一维, 图片至少是个单色的二维.
|
49
reus 2012-02-05 02:03:10 +08:00 via iPhone
@chaojie 嗯,就是说图片和对应的数字,在计算机中的表示是一模一样的(也可以不同,像dreamersdw的算法就是不同的),所以“转换”这个操作,电脑是不需要工作的,转换的只是你解释这一坨0101的方式,也就是你赋予它的意义,也就是,你说它是数字它就是数字,说它是图片就是图片,甚至说它是程序,是视频,是音频都可以
所以其实我是觉得这个没啥意义的(……) |
50
dreamersdw 2012-02-05 02:06:16 +08:00
修正前面一个错误,按序号排列的话,最后一张图片的序号本身占用的空间是 24*800*600 比特。
|
51
X_Del 2012-02-05 07:27:16 +08:00
问题在于:将世界上所有照片压缩成这个大小,等超过这个数时,一定有人抄袭了……
|
52
ro00 2012-02-05 10:50:50 +08:00
这样的话你相当与拥有了在这个数据大小范围内的一切数据,不止是图片,可能是文本,程序,声音....
当然这个里面很多情况下是没有什么意义的 |
53
mjar 2012-02-05 11:57:03 +08:00
!!看了两遍,明白了是个很帅的想法。
|
54
Platinum 2012-02-05 13:41:45 +08:00
不用算也知道这个数奇大,大到大部分人无法理解的程度
如果大家都能理解这个数,那这个话题基本不会有什么讨论 其实第 n 张图片,这序号 n 就是图片的完整信息,只不过是把这个数看成一个 800x600图片 binary 还是 unsigned integer 序号的问题 |
55
tiantian20007 2012-02-07 07:46:37 +08:00
@caomu 果然处处是同类。大爱《诗云》,那简直是浪漫到极致的科幻。同样的结局:要实现一个程序,能把其中绝大多数无意义的画过滤掉,选出所谓的名作,比把所有的图片穷举出来还难得多。
|
56
diamondtin 2012-02-08 16:46:42 +08:00
我觉得这个问题和『无限猴子定理』(http://zh.wikipedia.org/wiki/%E7%84%A1%E9%99%90%E7%8C%B4%E5%AD%90%E5%AE%9A%E7%90%86) 很相似,那个定理讨论的是概率,无穷小概率时间还是有“可能”发生。
虽然24位800x600的图片看似不大,不过这个数实际是天文数字,实际上不可能。 但是关于索引这些图片倒是比想象中靠谱一些。因为24位800x600图片对应的全部可能正好可以映射到它对应的二进制序列上面应该是1406KB,由于这个空间是密集的,所以这1406KB就可以作为这张图片的唯一编号。那么给定一个照片的二进制表示那么这张照片的编号也就知道了。 不知道我这洋相是否对。 |