【发布时间】:2015-09-16 11:49:05
【问题描述】:
我有一些函数将英文字母的小写字母作为输入并返回 True 或 False。
有 2^26 个这样的可能函数。以下是一些函数及其 26 位表示:
00000000000000000000000001(仅限z) 01010101010101010101010101(仅偶数字母) 10000000000000000000000000(仅一个) 10001000100000100000100000(仅元音) 10000001000000000000000100(仅限 a、h、x)
我想做的是对这些函数的感知随机性进行评分,即它们在人类看来有多随意?好像有规律,还是我随便挑了几个字母?
我认为分数可能基于量化您向其他人描述模式所需的最少信息,或压缩时模式字符串的大小。
是否有适合此的算法?它是否可以包含人类可能提前知道的额外信息,例如“aeiou”属于“元音”类,“gjpqy”属于“low-hanging”类,“bdfhijklt”属于“tall”类?
【问题讨论】:
-
如果你有时间研究细节,你可以学习 Kolmogorov Complexity:en.wikipedia.org/wiki/Kolmogorov_complexity
-
量化感知随机性非常困难。您可能对The perception of randomness 感兴趣。搜索“感知随机性”会返回很多有趣的结果。在尝试为序列分配“感知随机性”值之前,您可能想了解人们实际感知随机性的方式。
-
我认为这实际上更像是一个心理学问题而不是编程问题。如果人们看到的是字母而不是二进制,那么它也涉及语言学。我只能设想通过对大量人进行尝试来获得结果;描述模式有多难,这确实是一个很好的测试。
标签: algorithm compression information-theory