Bir önceki paylaşımımda zar atma algoritması üzerine istatistikte büyük sayılar kanununun çalışma mantığını göstermeye çalıştığım bozuk para atma olasılıkları örneği hazırlamıştım. Zar atma deneyi 2 sonuçlu bir deney, daha çok sonuçlu bir deney olarak da akla ilk gelen örnek zar örneği olduğu için zar atma sayıları arttıkça her bir zarın gelme olasılığının nasıl 1/6'ya yaklaştığını beraber inceleyeceğiz. Rastgele zar atma algoritması için daha önce paylaştığım Java ile rastgele zar atan program kodlamak örneğini inceleyebilirsiniz.
Örnek: 10 kere zar atalım ve her bir zarın gelme olasılığını kontrol edelim:
int zarsayisi=10;
int[] zarlar = new int[zarsayisi];
for (int i=0;i<=zarsayisi;i++)
{
int zar=(int)(Math.random()*6)+1;
zarlar[zar-1]++;
}
System.out.println("Toplam Deneme:"+zarsayisi);
System.out.println("1 gelen zar sayısı:"+zarlar[0]);
System.out.println("2 gelen zar sayısı:"+zarlar[1]);
System.out.println("3 gelen zar sayısı:"+zarlar[2]);
System.out.println("4 gelen zar sayısı:"+zarlar[3]);
System.out.println("5 gelen zar sayısı:"+zarlar[4]);
System.out.println("6 gelen zar sayısı:"+zarlar[5]);
System.out.println("Zarın 1 gelme olasılığı:"+((double)zarlar[0]/zarsayisi));
System.out.println("Zarın 2 gelme olasılığı:"+((double)zarlar[1]/zarsayisi));
System.out.println("Zarın 3 gelme olasılığı:"+((double)zarlar[2]/zarsayisi));
System.out.println("Zarın 4 gelme olasılığı:"+((double)zarlar[3]/zarsayisi));
System.out.println("Zarın 5 gelme olasılığı:"+((double)zarlar[4]/zarsayisi));
System.out.println("Zarın 6 gelme olasılığı:"+((double)zarlar[5]/zarsayisi));
Çıktı:
Toplam Deneme:10
1 gelen zar sayısı:1
2 gelen zar sayısı:1
3 gelen zar sayısı:1
4 gelen zar sayısı:1
5 gelen zar sayısı:3
6 gelen zar sayısı:4
Zarın 1 gelme olasılığı:0.1
Zarın 2 gelme olasılığı:0.1
Zarın 3 gelme olasılığı:0.1
Zarın 4 gelme olasılığı:0.1
Zarın 5 gelme olasılığı:0.3
Zarın 6 gelme olasılığı:0.4
Ya zar hileli, ya da bugün fazla şanslıyız. Deneme sayısını artırarak çıktılarını paylaşıyorum.
Not: sadece koddaki zarsayisi değişkeninin değerini artırarak deneme sayısını değiştirebilirsiniz.
Örnek: 1000 zar atışı
Toplam Deneme:1000
1 gelen zar sayısı:164
2 gelen zar sayısı:159
3 gelen zar sayısı:177
4 gelen zar sayısı:163
5 gelen zar sayısı:166
6 gelen zar sayısı:172
Zarın 1 gelme olasılığı:0.164
Zarın 2 gelme olasılığı:0.159
Zarın 3 gelme olasılığı:0.177
Zarın 4 gelme olasılığı:0.163
Zarın 5 gelme olasılığı:0.166
Zarın 6 gelme olasılığı:0.172
Örnek: 1 milyon zar atışı
Toplam Deneme:1000000
1 gelen zar sayısı:167444
2 gelen zar sayısı:166380
3 gelen zar sayısı:166148
4 gelen zar sayısı:166312
5 gelen zar sayısı:166639
6 gelen zar sayısı:167078
Zarın 1 gelme olasılığı:0.167444
Zarın 2 gelme olasılığı:0.16638
Zarın 3 gelme olasılığı:0.166148
Zarın 4 gelme olasılığı:0.166312
Zarın 5 gelme olasılığı:0.166639
Zarın 6 gelme olasılığı:0.167078
Örnek: 1 milyar zar atışı sonuçları
Toplam Deneme:1000000000
1 gelen zar sayısı:166655097
2 gelen zar sayısı:166669709
3 gelen zar sayısı:166669341
4 gelen zar sayısı:166658792
5 gelen zar sayısı:166663429
6 gelen zar sayısı:166683633
Zarın 1 gelme olasılığı:0.166655097
Zarın 2 gelme olasılığı:0.166669709
Zarın 3 gelme olasılığı:0.166669341
Zarın 4 gelme olasılığı:0.166658792
Zarın 5 gelme olasılığı:0.166663429
Zarın 6 gelme olasılığı:0.166683633
Sonuç: Deneme sayısı arttıkça sonuçların 1/6'ya yakınsadığını görebiliyoruz.