[linux-programlama] Re: yuzdeli rastgele sayi..

---------

From: Umut (php@kakalak.org)
Date: Mon 08 Mar 2004 - 15:09:08 EST

  • Next message: abuzer@boun.edu.tr: "[linux-programlama] Re: yuzdeli rastgele sayi.."

    Aykut> merhaba..
    Aykut> kucuk bir porgram yapmaya calisiyorum ama icinden cikamadigim bir soru var..
    Aykut>
    Aykut> bir grup sayi arasindan rastgele birini secerken, secilecek sayilarin cikma olasiliklarini
    Aykut> yuzde uzerinden nasil belirliyeblilirim?
    Aykut>
    Aykut> mesela , 1den 10 kadar olan bir sayi grubundan 3 tane sayi sececegim.
    Aykut> fakat her bir sayinin secilme olasiligi farkli olacak.
    Aykut> mesela 9 unki %10, 3ün %75 gibi..
    Aykut>
    Aykut> bu islem rastgelelik kavramiyla pek uyusmuyor ama yapilmasi gereken bu..
    Aykut> programlama dili onemli degil..merak ettigim nasilbir mantik kurulmasi gerektigi..

    Verdiginiz ornegi ele alalim:
    Eger 10 [0..9] tane sayiniz var ve ihtimalleri ifade etmek icin % yeterli diyelim ki.

    0: %3
    1: %10
    2: %3
    3: %30
    ...

    olsun. O halde siz 100'luk bir dizi olusturun ve degerlerini:

    3 tanesini 0 ile
    secim[0]=0
    secim[1]=0
    secim[2]=0

    10 tanesini 1 ile
    secim[3]=1
    secim[4]=1

    vs doldurun. Simdi random degiskeniniz ile 0..99 arasinda bir sayi secin, sectiginiz
    sayiya karsilik gelen dizi elemani sizin istediginiz oranlarda gelmis olacaktir.

    Az sayida secenek ve %'li ifadeler icin bu yontem gecerli olabilir.

    Eger olasiliklari ifade etmek icin daha fazla basamaga ihtiyaciniz varsa
    bir agirlik fonksiyonu bulmaniz daha yerinde olabilir. Bunun icin
    yapmaniz gereken elinizdeki verilerin herhangi bir dagilima uyup
    uymadigini bulmak olabilecegi gibi baska bir boyutta:

    elinizdeki 10 tane sayiyi X,
    bunlarin olasiliklarini Y olarak alacak 10 tane nokta alrisiniz.
    Sonra bu noktalardan gecen (yaklasik olarak tabii ki) fonksiyonu
    bulmaya calisirsiniz. Bunun icin ihtiyaciniz analitik geometri.

    Eger sayi iliskileriniz sabit degilse, yani her defasinda bir fonksiyon
    hesaplamaniz gerekirse en guzeli ilk yontem gibi geliyor. dinamik
    olarak array'in icini doldurmak seri bir yontem olacaktir.

    saygilar.
    Umut

    -- 
    This message has been scanned for viruses and
    dangerous content, and is believed to be clean.
    

  • Next message: abuzer@boun.edu.tr: "[linux-programlama] Re: yuzdeli rastgele sayi.."

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.