Random 如何评估人性化的音乐洗牌算法?

Random 如何评估人性化的音乐洗牌算法?,random,shuffle,evaluation,playlist,humanize,Random,Shuffle,Evaluation,Playlist,Humanize,假设我们有一个歌曲列表,比如说100首歌曲,我们需要对它们进行洗牌,这样我们就可以得到歌曲的顺序(播放列表),这对人类来说是随机的 激励示例: 现在让我们假设我有一个算法可以进行这种智能洗牌(根据我的说法),现在我想评估我的算法如何评估我的算法? 详细解释我能想到的算法和评估方法。 因此,我们需要评估我们的伪随机(伪随机)算法有多好(因为我的算法不是纯随机的,它形成的播放列表在人类看来是随机的)算法?例如: p1 :- m1 m2 m2 m1 m3 m4

假设我们有一个歌曲列表,比如说100首歌曲,我们需要对它们进行洗牌,这样我们就可以得到歌曲的顺序(播放列表),这对人类来说是随机的

激励示例

现在让我们假设我有一个算法可以进行这种智能洗牌(根据我的说法),现在我想评估我的算法如何评估我的算法?

详细解释我能想到的算法和评估方法。

因此,我们需要评估我们的伪随机(伪随机)算法有多好(因为我的算法不是纯随机的,它形成的播放列表在人类看来是随机的)算法?例如:

                    p1 :- m1 m2 m2 m1 m3 m4 m5 m6 m6 
                    p2 :- m1 m2 m3 m4 m2 m5 m6 m1 m2
                    
                    so p1 is bad (should have low score on our evalutaion matrix) because it 
                    does not look random to human
                        and
                    p2 is relatively better 
                    
                    
            
我认为我们需要评估的功能

  • 最好是均匀分布():- 所以,若我们不允许重复,那个么我们就不需要它,这意味着我们将有n首歌曲,而播放列表中每首歌曲只包含n首歌曲 但是我们允许播放列表的大小为m(>n),那么我们需要解决播放列表中相同歌曲位置之间的平均差异应该接近n/m

  • 自相关测试(): 播放列表不应关联意味着如果最后50首歌曲以某种方式与前50首歌曲关联 那么我们的算法并不理想,因为它应该是随机的

  • 质量评估(最重要的):-您的算法有多少随机性(符合人的要求)

  • 我可以想出以下解决方案:-

  • 均匀分布():-我们可以使用卡方检验的变异

                 x[i] = (  abs(( o[i] - e[i] )) / e[i]] );
    
  • 自相关测试():-我们可以使用自相关和部分自相关

  • 质量评估:-到目前为止,我不知道怎么做?我主要需要这方面的建议

  • 我能想到的最佳解决方案是:-
    因此,我们将有一个100首歌曲的列表,我们将使用我们的算法对其进行洗牌,然后让用户按1-10的比例进行判断

    Imp:-用户将根据他/她感知到的随机性来判断,而不是他/她对播放列表中歌曲的喜爱程度

    ex:使用算法-l1洗牌后的列表

    我听了所有100首歌,每听10首歌后,我会对前10首歌进行1-10级评分

    顺其自然:-5826478589

    然后我们可以取它的平均值,得到播放列表的整体评分

    所以,如果你们能帮我做质量评估,那将非常有帮助

    若你们有更多的特性,我应该尝试评估算法或更好的方法来测试相关性和均匀分布,请告诉我

                 x[i] = (  abs(( o[i] - e[i] )) / e[i]] );