1.引入
ranking and selection engine(RASE)是一个特定的分布式计算框架,用于通过ranking and selection算法进行的分布式simulation计算。
通过一个例子简单介绍一下RASE的作用,现在有1000名乒乓球运动员,我们需要从他们中选出一名实力较强的运动员代表国家去比赛。如何看谁的实力强呢?我们需要进行一些比赛,从比赛结果来看他们的实力情况。最笨的方法就是让他们两两打比赛,最后找出胜场最多的。但是显而易见,这样是很费时费力的,我们可以一边让他们打比赛一边将一些实力相对来说不强的人淘汰,这样在较快的时间内就可以找到最终需要的那个人,并且在淘汰的时候使用概率论中的置信区间理论,使得淘汰的情况是理论上可控制的。这就是ranking and selection的基本思想。
RASE需要输入一些alternative(如运动员数据),一个simulation的算法(如比赛的算法)和一个PK算法(如淘汰的算法)。在系统运行时,让这些alternative循环进行simulation计算,得到相应的计算数据(如选手得分),在比赛的同时,通过PK算法将那些显然实力比较差的alternative给PK掉,踢出总的alternative列表。这样经过一段时间的运行,可以最终得到一个最优的alternative。
2.系统分析
根据上面的描述,RASE系统需要至少两个线程,一个线程进行simulation的计算,一个线程进行PK的计算,两个线程并发,需要共享alternative的数据,这是一个简单的模型。但是根据实际情况来看,这个系统的使用场景常常需要大