有没有一款真正随机的音乐播放器

泻药。有限状态机不能产生真正的随机数的,人类目前的真随机只能通过量子不确定性来产生,市面上没有量子音乐播放器(去年北欧某大学的实验室已经有了)。
■网友
本身就是伪随机……我会说听了一学期的睡前歌单基本上下一首是啥我都知道的嘛……
■网友
补充:有些播放器/APP是这样解决的,每次你选择随机播放,实际上都会把所有的歌曲乱序生成一个播放列表,再按照这个播放列表顺序播放,这样就会解决了题主的问题。(当然也不是真正的随机)现在喜欢听整张了很久不用随机……印象里魅族的自带播放器和曾经用的刷了Rockbox的Sandisk Sansa Clip+都是这样的……体验还不错。
■网友
平常也有过这样的感觉(主要是sony手机上的walkman), 今天看见LZ的问题就仔细想了一下. 的处女答就献给这个问题吧.简单来说, 我的结论是, 你感觉不那么随机, 有时候并不是因为播放器不够随机, 而是你听得还不够多.假设有n首歌曲. 随机播放, 在我看来, 至少有两种办法, 一种是把这n首曲子做一个随机排列. 这种情况下, 你播n首之后, 应该每首曲子都放了一遍. 另一种方法是, 播放每首曲子的时候, 都从n首里面随机的选一首. 从编程的角度看, 我觉得第二种要简单很多, 因为第一种方法要处理用户可能时刻向曲库中增删歌曲的问题. 所以, 我猜想, 大部分播放器的随机模式应该都是第一种. 以下的分析也基于第一种模式.好, 有意思的部分开始了. 假设我们做最简单的随机, 也即每次播放一首歌时, 如果当前曲库里面有n首歌, 我们从里面随机选一首, 而且选每首的概率都是1/n. 那么, 我们随机放了n首歌以后, 是不是觉得应该每一首都放了一次呢? 错!!! 事实上, 算一下的话就会发现, 有很大概率会发生的情况是: 曲库有n首歌曲, 我们随机放了n首歌以后, 大约1/3的歌会一遍都没放过, 大约1/3的歌会放过一遍, 还有剩下的1/3的歌放了好几遍. (有兴趣算这些的同学, 可以套用balls and bins模型来算.)有了数学结果, 咱们把题主的数据带进来看看. 800首歌, 每个就按3分钟算, 一共2400分钟, 也就是40小时. 按每天听6小时算, 大约7天能听800首. 这也就是说, 题主听了一星期的歌, 曲库里面还有1/3的歌没听呢!!! 哈哈, 题主的愤怒可以理解.大家要说, 我擦, 数学老师不是这样教我的啊! 我选每首歌的几率是一样的, 听每首歌的次数也应该一样啊! 没错, 但有一个前提: 你听的足够多!!! 具体来说, 曲库有n首歌曲, 如果你不是随机听了n首曲子, 而是听了至少n*ln(n)首的话,情况就大不一样了. 到这个时候, 曲库里的每首歌大概都放了至少ln(n)遍, 而且每首歌被播放的次数都是差不多的. 咱们再把题主的数据带进来看看, 上面的结论是说, 如果题主听了7星期的歌以后, 每首歌应该都听过7次的样子了. 题主不信的话, 可以自己做个统计试试哦.这个结论似乎有点让人绝望啊. 如果曲库很大的话, 我们还怎么好好听歌啊?! 其实呢, 办法还是有的: 不要简单的从n首歌里面随机选一首. 通过采取更聪明的一些方法, 我们可以使得即使播放的数目比较小(例如只播放n首歌曲), 也尽量听到不同的歌. 具体的方法就不说了, 有兴趣的同学可以搜搜balls and bins模型下的load balancing问题, 其中一种常见的方法就是power of two choices.那么, 有没有这种比较"聪明"的播放器啊? 我没研究过播放器的源码, 所以不敢说. 但感觉foobar2000至少比walkman做得好. 题主可以试试.
■网友
没有!
电脑随机都是伪随机!!!
最近怎么都是些没看过书人提问么??
随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。产生随机数有多种不同的方法。这些方法被称为随机数生成器。随机数最重要的特性是它在产生时后面的那个数与前面的那个数毫无关系。真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。这样的随机数生成器叫做物理性随机数生成器,它们的缺点是技术要求比较高。在实际应用中往往使... (展开)用伪随机数就足够了。这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征


推荐阅读