Rulet Çemberi Seçimi algoritmasında her bölmenin büyüklüğü hesaplanır. Örneğin tüm rulet için %20 A, %50 B ve %30 C bölmesi olsun. Topun hangi bölgeye düşeceğini belirlemek için öncelikle rastgele bir sayı üretilir. Örneğin 0 ile 100 arasında bir sayı üretilsin. Eğer bu sayı 0-20 arasında ise A, 20 ile 70 arasında ise B, 70 ile 100 arasında ise C bölgesi seçilmiş olunur. Java ile aşağıdaki gibi bir algoritma yazılabilir :
public static int select(int[] probabilityAsPercent){
double p = Math.random();
double cumulativeProbability = 0.0;
for (int i=0;i<probabilityAsPercent.length;i++) {
cumulativeProbability += ((double)probabilityAsPercent[i]/(double)100);
if (p <= cumulativeProbability) {
return i;
}
}
return 0;
}
Select() yöntemine her bölümün toplam büyüklüğü yüzde olarak verilir. 0 ile 1 arasında rastgele bir sayı üretilir. Sırayla yüzdeler toplanılarak ilerlenir. Önce %20 olan A için bakılır. Eğer sayı 0.2'den küçük ise A seçilmiştir ve çıkılır. Değil ise toplama devam edilir ve bir sonraki değer 20 + 50 (B) ile 70 e çıkar. Eğer üretilen sayı 0.7 den küçükse bulunan B anlamına gelir ve çıkılır. B de değilse bir toplama daha yapılır (70 + 30) ve 100 e ulaşılır. Zaten başka bir ihtimal kalmaz ve C seçilir.