Adi Rasgele (PseudoRandom)

Yazan : Şadi Evren ŞEKER

Rastgele sayı üretmek için kullanılan yöntemlerden birisidir. Aslında tam olarak sayıların rasgele üretildiği söylenemez. Daha çok belirli bir aralıktaki sayıların moduler bir fonksiyonlar belirli periyotlarda tekrarlandığını söylemek doğru olur.

Örneğin doğrusal ahenk methodu (linear congruential method) aşağıda verilmiştir:

f(n+1) =  a f(n) + b mod p

Yukarıdaki bu gösterimde bir sonkaki üretilecek olan sayı, bir önce üretilmiş olan sayının ( f(n) ) bir sabit ile çarpımı ( a ) ve bir sabit kadar fazlasının ( b ), p tabanında modunun alınmasıdır.

Sayıların verilen aralığı tam olarak dolaşabilmesi için gerçekten a, b, ve p değerlerinin doğru seçilmesi gerekir.

Örneğin f(n+1) = 3 f(n) + 2 mod 7 formülünün f(0) = 1 ile oluşturduğu ahenk sınıfını (congruent class) bulalım:

f(1) = 3 + 2 mod 7 = 5

f(2) = 3 . 5 + 2 mod 7 = 3

f(3) = 3 . 3 + 2 mod 7 = 4

f(4) = 3 . 4 + 2 mod 7 = 0

f(3) = 3 . 0 + 2 mod 7 = 2

f(3) = 3 . 2 + 2 mod 7 = 1

Görüldüğü üzere yukarıdaki sınıfta 0,1,2,3,4,5 sayıları sırayla oluşturulmaktadır. ve bu seri 5,3,4,0,2,1 sırasına göre üretilmekte ve seri (sequence) kendisini tekrarlamaktadır.  Şayet seçimi biraz daha dikkatsiz yapsaydık:

Örneğin f(n+1) = 3 f(n) + 5 mod 7 formülünün f(0) = 1 ile oluşturduğu ahenk sınıfını (congruent class) bulalım:

f(1) = 3 + 5 mod 7 = 1

f(2) = 1

görüldüğü üzere bütün f fonksiyonları 1 sonucunu çıkarmaktadır. Dolayısıyla sürekli olarak 1 sayısı üretilmektedir ki bu da istenmeyen bir durumdur.

Bu yazıyı beğendiyseniz, başkalarının da ilgisini çekebilirsiniz:


100 views

Leave a Reply


yedi * 9 =

Benzer Yazılar:

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Adi Rasgele (PseudoRandom)' isimli yazı 13 Nov 2008 tarihinde, saat: 02:29 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam100 defa okunmuştur.

Benzer yazıları Bilgisayar Matematiği kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Category: Bilgisayar Matematiği