Giriş
(17)

Olasılık Hesabı

noid
Burada henüz detaylarını açıklayamayacağım bir internet projemiz var. Projede şu an optimum kar/zarar noktasını belirlemeye çalışıyoruz. Ancak bunun için bir denkleme ihtiyacımız var. Sanırım aşağıdaki gibi bir problemin denkleme dökülmüş hali bizim bu hesapları yapmamızı kolaylaştıracak.Soru şu:Kas
Burada henüz detaylarını açıklayamayacağım bir internet projemiz var. Projede şu an optimum kar/zarar noktasını belirlemeye çalışıyoruz. Ancak bunun için bir denkleme ihtiyacımız var. Sanırım aşağıdaki gibi bir problemin denkleme dökülmüş hali bizim bu hesapları yapmamızı kolaylaştıracak.

Soru şu:

Kasamda 100 liram var. Kasamda bulunan bu paranın 1/5'i (20 lira) ile %60 kazanma şansımın olduğu bir yazı tura oyununa giriyorum. Kazanırsam kasamdaki para 120'ye çıkıyor, kaybedersem 80'e düşüyor. Ben de durmaksızın kasamda kalan paranın 1/5'i ile bu %60'lık yazı tura oyununu oynamaya devam ediyorum. 100 oyun sonunda kasamda tam olarak ne kadar para kalmıştır?

Tabii işin içine yüzdelik ihtimaller girdiği için tam olarak ne kadar para kalmıştır gibi kesin bir ifade doğru olmayacaktır. Ancak bu sorunun cevabını yaklaşık olarak tahmin eden bir denklem de benim işimi görecektir.

İhtiyacım olan şey sorunun cevabından çok soruyu çözmek için gereken denklem. Çünkü problemdeki değerlerle oynayarak optimum bir nokta bulmak istiyorum.
0
noid
(30.03.10)
ihtimali şöyle hesaplaman lazım. kazanma ihtimalin 6/10'sa iki kere üstüste kazanma ithimalin de 6/10 x 6/10 = 36/100'dür. aynı şekilde üstüste iki kere kaybetme olasılığın da 4/10 x 4/10 = 16/100'dür. 3 kere üstüste kaybetme de yine aynı şekilde (4/10)^3 = 64/1000 olur. bu böyle gider. yani 100 oyun oynayamayabilirsin.
0
henry gale
(30.03.10)
Teşekkürler.. Ancak her defasında oyuna 20 lira yatırmıyorum. O an kasamda kalan paranın 1/5'ini yatırıyorum. Yani kasamdaki paranın sıfırlanması veya oyuna devam edememem mümkün değil.

Aslında soruyu şöyle güncelleyebilirim.

100 oyun sonunda en fazla miktarı kazanmak için her defasında kasamdaki paranın kaçta kaçı ile oynamalıyım? (oynayacağım para oranı ve %60 kazanma olasılığım 100 oyun boyunca sabit olacak)
0
🌸noid
(30.03.10)
senin için bir simülasyon hazırladım.

program lucky
implicit none
integer::i,oyun
real::anapara,k,buff


call init_random_seed()

do i=1,100000
anapara=100.
oyun=1
do while((anapara.gt.0).and.(oyun.le.100))
call random_number(k)
if(k.lt.0.6) then
anapara=anapara+2*(anapara/5)
else
anapara=anapara-2*(anapara/5)
end if
oyun=oyun+1
end do
buff=buff+anapara
end do

write(*,*)buff/100000

end program lucky

subroutine init_random_seed()
integer::j,n,clock
integer,dimension(:),allocatable::seed

call random_seed(size=n)
allocate(seed(n))

call system_clock(count=clock)

seed=clock + 37 * (/ (j-1,j=1,n) /)
call random_seed(put=seed)

deallocate(seed)
end subroutine init_random_seed
0
quanta
(30.03.10)
eğer hesaplarımda hata yok ise 10 oyunluk bir deneme oyununda;

her seferinde kasanın 1/5'i ile girersek ~ %63,3 ihtimalle karda kapatıyoruz, azami 619,17 lira kazanma ihtimalimiz var


her seferinde kasanın 1/2'si ile girersek ~ %38,2 ihtimalle karda kapatıyoruz, azami 5766,5 lira kazanma ihtimalimiz var

her seferinde kasanın 4/5'i ile girersek ~ %4,64 ihtimalle karda kapatıyoruz, azami 35704,67 lira kazanma ihtimalimiz var

sadece belirli denemeler yaptım, burada neyi optimize edeceğiz tam olarak? karda kapatma ihtimalimizi mi, yoksa kar miktarını mı, yoksa bir şekilde ikisini birden mi?
0
jokullmagic
(30.03.10)
monte carlo ile guzel hesaplanir. rastgele yaratici ile 1-100 arasi sayi olusturulur bunlari 60'i kazanc kabul edilir 40'i zarar. bunu 100 basamaga kopyalayip 1000 deneme yapilirsa bir dagalim elde edilebilir. su an gerekli program yuklu degil ama excel'de yaptigim 100'luk denemede ortalama kasa 1770, standart sapma 2368 cikti. standart sapma'ni boyle olmasinin nedeni deneme sayisinin az olmasi en az 1000'lik set denemek lazim. eve gidince daha tutarli bir hesap yapabilirim.
0
cench
(30.03.10)
"100 oyun sonunda en fazla miktarı kazanmak için her defasında kasamdaki paranın kaçta kaçı ile oynamalıyım?"

bunun icin solver+birkac rastgele set kullanilabilir.

bu da 10'luk setle yaklasik %33 cikiyor. 1/3 yani. ama daha buyuk setler ile denemek lazim mesela 1000lik veya 10000lik.
0
cench
(30.03.10)
quanta teşekkürler ama yaptığın simülasyonu nasıl kullanmam gerektiğini bilemedim. bir script gibi bir şey mi bu?

jokullmagic, evet aradığım böyle bir şey aslında optimize etmeye çalıştığım şey her defasında paramın kaçta kaçını yatırırsam 100 oyun sonunda maksimum kar miktarını yapabilirim? yani en fazla kar yapabileceğim oranı bulmaya çalışıyorum.
0
🌸noid
(30.03.10)
cench, monte carlo nedir? Hesaplama yapabileceğim böyle bir excel scripti var mı? Bu arada 100 oyun sayısı önemli değil, dediğin gibi oyun sayısı ne kadar çok olursa standart sapma düşecektir.
0
🌸noid
(30.03.10)
en.wikipedia.org

excel'de macro ile yapilabilir sanirim, ama o kadar programlama bilgim yok.
0
cench
(30.03.10)
cench, yanlış anlamadıysam aşağıdaki ifaden de 10 oyun sonunda maksimum karı yapabilmek için her defasında paramın %33'ünü yatırmalıyım diyorsun değil mi?

"bu da 10'luk setle yaklasik %33 cikiyor. 1/3 yani. ama daha buyuk setler ile denemek lazim mesela 1000lik veya 10000lik."
0
🌸noid
(30.03.10)
aslinda 100 oyunluk 10 set yaptim, sondaki kazancin/kaybin ortalamasini aldim. setlerdeki kazanc/kayip[=rand()]'lari sabitlemek zorundayim yoksa solver duzgun calismiyor. ilk sabitlemede %30kusur ikinci sabitlemede %34kusur cikti ondan yaklasik %33 oldugunu dusundum. ama emin olmak icin 100 oyunluk 100set hatta 1000set olsa daha iyi olur.
0
cench
(30.03.10)
yaptığım zaten monte carlo metodu ile yazılmış taslak bir fortran programı, sadece 100 oyun sonun paranın ne kadar kalacağını hesaplıyor bunu 100000 defa yapıyor ki sonuç neredeyse sabitlensin.
en çok kazanç için değişkenler ne olmalı mı diyorsun? paranın ne kadarını yatırıp kaç el oynamalıyım gibi?
0
quanta
(30.03.10)
quanta, en çok kazanç için değişkenlerin ne olması gerektiğini öğrenmek istiyorum. Yani her seferde kasadaki paranın kaçta kaçını oynarsam örneğin 1000 oyun sonunda en çok karı yapabilirim. Bu yöntemle bunu saptamak mümkün mü?
0
🌸noid
(30.03.10)
programda bir hata yapmışım. şimdi düzelttim ve sonu. grafiği aşağıdaki linkte. Kazanma olasılığı kazanma katsayısından yüksek olduğu için sonuçta hep kazanıyorsun.

i39.tinypic.com

grafikte x ekseni oyun sayını ifade ediyor(her oyun 100 el veya para bitene kadar oynanıyor) y ekseni ise oyun sonunda sahip olduğun parayı.
0
quanta
(30.03.10)
zaten kaybetmen mümkün değil. 0,6 şansla yatırdığının 2 katını kazanıyorsun. sonuç her zaman pozitif ama anaparanın yarınsını yatırırsan oyunların çoğunda daha kazanamadan paran tükenir o yüzden 3 te 1 ni yatırman gerekli bu şekilde ne kadar çok oynarsan o kadar kazanırsın.
0
quanta
(30.03.10)
Evet bana da 1/3 mantıklı geliyor. Teşekkürler
0
🌸noid
(30.03.10)
simdi eve geldim, binlik seri yaptim. en iyi risk kazanc oranini %20'lik yatirim verdi ilginc. 1/5 iyi gibi duruyor.

ayrica %60 kazanma ihtimali olmasi demek, kaybetmeyeceksin anlamina gelmiyor. yaptigim simulasyonda 1000 denemeden 182'sinde kasadaki para 100'un altina dustu. 463'unde ise 1000'in uzerinde cikti.
0
cench
(30.03.10)
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler basond, compumaster, fraise, kibritsuyu, rakicandir
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır.