Şimdi Ara

Random Komutu hk.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
22
Cevap
0
Favori
4.859
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • beyler merhaba değişik bi sorum olcakdı bilgili arkadaşlara,

    pc deki veya herhangi bir elektronik sistemdeki random komutu nasıl çalışır? yani onun altında yatan karar verici sistem nedir bir türlü anlayamıyorum. bir matematik oyunumu yoksa bambaşka bişeymi. bi yardımcı olun kafayı yicem



    < Bu mesaj bu kişi tarafından değiştirildi jetates -- 8 Mart 2009; 11:35:34 >



  • Belkide Random Pc'de ve makinelerde en kolay işlemdir. Bilirsin bilgisayarın ve elektronik makinelerin aslında "01011001" şeklindeki makine kodu dediğimiz sistem yatar. Elektronik cihazlarda bilginin 8 bitlik yani 1 byte'lık veri transferi olayı mevcuttur. Ve bu 8 bitlik veri asgari düzeydedir. Yani bir işlem için en az 8 bitlik veri kullanılır. Makinelerde bu 8 bitlik veri sağlanmıyorsa arkasından tamamlamak için rastgele sayı ekler. Şimdi kriterlere göre bir analiz yapalım. Mesela Visual Basic'ten random komutunu ele alalım : Int(Rnd()*100) ;
    Burada kriterler belirlenmiş. Integer olacağı ve 0-100 arasından bir değer alacağı. "10110010" "0110****" burada Pc yıldızlı yere birşey atar. Ve her ne atarsa atasın 0-100 arasında bir değer alacaktır. Çünkü bu kriter önceki kodlarda belirtilmiştir. Umarm anlatabilmişimdir. Not : Rakamlar ve kodlar örnek amaçlıdır doğruluk teşkil etmez.. :)
  • işte yıldızlı yerlere birşey atar ama neye göre atar. nasıl karar verebilirki onunda altında başka bir sistem olması gerekir.
  • quote:

    Orjinalden alıntı: jetates

    işte yıldızlı yerlere birşey atar ama neye göre atar. nasıl karar verebilirki onunda altında başka bir sistem olması gerekir.


    Elektronik devre otomaitk olraka atar. Yani resmen "at"ar. Sallar diyeyim :) Elektronikde lojik'i bilirsin. Güç varsa 1 yoksa 0'dır. Veri transferinde bu açığı kapamak için elektronik devre rastgele bir komut seçer. Yani random aslında elektroniğin temelinde vardır. Ama günümüz programcıları bunu geliştirmiştir. :)
  • evet lojiki bilirim ama güç herzaman vardır zaten güç olmasa sistem çalışmaz. yani zaten 0 ve 1 lerin rastgele üretildiği biyer yok yada sürekli değişen bi elektriksel değer yok en basit sistemlerde bile(eğer varsa o nasıl çalışıyor ?). çünkü nihayetinde gelen bi sinüsoydal sinyali oda oldukça stabil gelmekte çok nadir değişse bile onun bu değişiminden random sonuçlarındaki çeşitliliğin sağlanabileceğini düşünmüyorum.

    biraz önce araştırırken okuduğuma göre zamandan(tairhden) yararlandıklarını okudum. bilmiyorum doğrumu ama sürekli değişken şey olan zaman bu iş için kullanılabilir çeşitlilik açısından da zaman değerlini farklı bi dizi denklemde değişken olarak kullanarak çok farklı sonuçlar ürettirilebilir.

    ilgin için tşkler, farklı bilgileri olan arkadaşlar varsa onlardanda cevap bekliyoruz (=



    < Bu mesaj bu kişi tarafından değiştirildi jetates -- 8 Mart 2009; 12:02:44 >
  • quote:

    Orjinalden alıntı: jetates

    evet lojiki bilirim ama güç herzaman vardır zaten güç olmasa sistem çalışmaz. yani zaten 0 ve 1 lerin rastgele üretildiği biyer yok yada sürekli değişen bi elektriksel değer yok en basit sistemlerde bile(eğer varsa o nasıl çalışıyor ?). çünkü nihayetinde gelen bi sinüsoydal sinyali oda oldukça stabil gelmekte çok nadir değişse bile onun bu değişiminden random sonuçlarındaki çeşitliliğin sağlanabileceğini düşünmüyorum.

    biraz önce araştırırken okuduğuma göre zamandan(tairhden) yararlandıklarını okudum. bilmiyorum doğrumu ama sürekli değişken şey olan zaman bu iş için kullanılabilir çeşitlilik açısından da zaman değerlini farklı bi dizi denklemde değişken olarak kullanarak çok farklı sonuçlar ürettirilebilir.

    ilgin için tşkler, farklı bilgileri olan arkadaşlar varsa onlardanda cevap bekliyoruz (=


    Güç her zaman var diye birşey olur mu :) Sistemde her zaman güç var. Sen elektronik devrenin her tarafında aynı anda güç var diyebilir misin? Transistörlerin ne anlamı kaldı o zaman? :) Elektronik cihazlarda randomize olayı belirttiğim şekilde gerçekleşiyor her ne kadar tam anlatamadıysamda.. Ama sen programlama dillerinden bahsediyorsan o şekilde zamandan faydalandığı söylenebilir. Ayrıca bir devrede enerji olması her zaman 1 olacağı anlamına da gelmiyor ki :)




  • quote:

    Orjinalden alıntı: Grfld



    Elektronik devre otomaitk olraka atar. Yani resmen "at"ar. Sallar diyeyim :) Elektronikde lojik'i bilirsin. Güç varsa 1 yoksa 0'dır. Veri transferinde bu açığı kapamak için elektronik devre rastgele bir komut seçer. Yani random aslında elektroniğin temelinde vardır. Ama günümüz programcıları bunu geliştirmiştir. :)



    hocam dediğin doğru ama cümlenin içinde bile şöyle geçiyor: "Veri transferinde bu açığı kapamak için elektronik devre rastgele bir komut seçer"

    işte bu rastgele olayını bir makina kendi başına karar veremez onu anlatmaya çalışıyorum. bunu sağlayan ne olabilir acaba? makinanın illaki değişen bir şeye bakarak ilk değeri ordan alıp onun üstünde çeşitli işlemler uygulayarak sonucu çeşitlemesi gerekir. peki ama nedir bu sürekli değişen en basit sistemlerde bile kullanılan şey? tak mantıklı gelen zaman faktörü gibi duruyor bence.




  • quote:

    Orjinalden alıntı: jetates


    quote:

    Orjinalden alıntı: Grfld



    Elektronik devre otomaitk olraka atar. Yani resmen "at"ar. Sallar diyeyim :) Elektronikde lojik'i bilirsin. Güç varsa 1 yoksa 0'dır. Veri transferinde bu açığı kapamak için elektronik devre rastgele bir komut seçer. Yani random aslında elektroniğin temelinde vardır. Ama günümüz programcıları bunu geliştirmiştir. :)



    hocam dediğin doğru ama cümlenin içinde bile şöyle geçiyor: "Veri transferinde bu açığı kapamak için elektronik devre rastgele bir komut seçer"

    işte bu rastgele olayını bir makina kendi başına karar veremez onu anlatmaya çalışıyorum. bunu sağlayan ne olabilir acaba? makinanın illaki değişen bir şeye bakarak ilk değeri ordan alıp onun üstünde çeşitli işlemler uygulayarak sonucu çeşitlemesi gerekir. peki ama nedir bu sürekli değişen en basit sistemlerde bile kullanılan şey? tak mantıklı gelen zaman faktörü gibi duruyor bence.


    Bende ısrar ile söylüyorum ki bir işlem yapılırken açık kalmaması gerekli eğer açık kalırsa o açık kalan yere başka bir yerden işlem yaparak birşeyler tamamlamaz. Rastgele komut üretir. Nasıl oluyor der ise kararsız bölge denilen olayda 0 veya 1 olucağı belli değildir. Devre rast gele atar. Yani arada bir işlem yok. Yapamaz zaten. 5 v ile çalışan bir lamba yanacak diyelim. Bir entegreye bağladın ve bir adet direnç bağladın. Sen entegreye 1,5 - 2,5 V arasında bir değer aktarırsan onu bazen 1 bazen 0 sayar bu elektroniğin bir özelliği. and gate'den bağlarsan büyük ihtimalle yanmaz çünkü 0 gelme olasılığı fazladır. Ama or gate'den bağlarsan ve yahut nand gate'den bağlarsan büyük ihtimalle yanacaktır. .Çünkü değer belli değildir. Bu kadar basit bir yerde bile randomize geçerlidir ;)




  • bu biraz daha açıklayacı oldu ama kapıların birden fazla olarak seri veya paralel bağlanmış daha komplex halleriyle sanıyorum randomize gerçekleşebilir.
    tabi bunun çalışması içinde zamanla değişen 2 veya daha fazla giriş palsine (yani senkron olarak pals üretmeyen devrelere) ihtiyacımız var.

    galiba şimdi daha iyi açıklandı. tekrar teşekkürler..
  • quote:

    Orjinalden alıntı: jetates

    bu biraz daha açıklayacı oldu ama kapıların birden fazla olarak seri veya paralel bağlanmış daha komplex halleriyle sanıyorum randomize gerçekleşebilir.
    tabi bunun çalışması içinde zamanla değişen 2 veya daha fazla giriş palsine (yani senkron olarak pals üretmeyen devrelere) ihtiyacımız var.

    galiba şimdi daha iyi açıklandı. tekrar teşekkürler..


    Önemli değil :)
  • Bildiğim kadarı ile sistem saatine veya saat darbesine ( clock pulse ) göre rastgele işlemi gerçekleşiyor. İngilizceniz varsa bu kaynak yararlı olabilir:

    http://en.wikipedia.org/wiki/Hardware_random_number_generator
  • tşker hocam tam tahmin ettiğim gibi kuantumla ve kaosla alakalı çıktı. iyice okuduktan sonra özetini yazarım belki işine yarayan olur.
  • sistem saatinin o anki degerinin milisaniyeler cinsinden artık istenen random ölcütüne göre bir bölümünün belli bir degere eklenmesiyle oluşturulur. Şahsen randomisation olayını engellemeye kalkacak kadar patavatsızlık yapmıştım( hocam tarafımdan malca bi işle uğraşmışsın şeklinde iltifat alınca alınca vazgeçtim :)
  • quote:

    Orijinalden alıntı: 8

    Belkide Random Pc'de ve makinelerde en kolay işlemdir.


    Yanlış bir tanımlama olmuş. Rastgele sayı üretmek PC gibi dijital makinelerde oldukça zor bir işlemdir. Bu iş için üretilen özel donanımlar vardır.
  • tam düşündüğüm gibi. bende merak ediyordum zamanında. aklımdan en mantıklı nokta saate göre olacağıydı öyleymiş.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-E41040413 -- 23 Temmuz 2010; 13:49:21 >
  • Bütün bilgisayarlarda yazılımla üretilen rastgele bilgilerin hepsi pseudo-random (yalancı rastgele) diye geçer. Gerçek rastgele (truely random) veriler üretmek gerçekten zordur ancak doğada bolca bulunur. Atmosferik gürültü ve radyoaktif maddelerin yaydığı gürültü bunlara en iyi örnektir.

    Ve direkt işlemci kullanarak truely random veri üretmek imkansızdır. Çünkü bilgisayarlar deterministik cihazlardır ve siz ne derseniz onu yaparlar.

    Ancak tabiki gerçek rastgele verileri uygulamalarda kullanmak gerçekten zordur. O yüzden yazılım temelli algoritmalarla yalancı rastgele veri üretilir. Bu algoritmalar matematiksel temellere dayanmaktadır.

    Örneğin LFSR'lar buna güzel bir örnektir.http://en.wikipedia.org/wiki/Linear_feedback_shift_register
    Ayrıca Stream Cipher'lar bu temele dayanır.http://en.wikipedia.org/wiki/Stream_cipher

    Bu verilere yalancı denilmesinin sebebi çok basittir. Eğer bir üretilen veri, o verinin tamamı olmadan tekrar üretilebiliyorsa o veri rastgele değildir. Ve üretilen veri periyodik ise (bir süre sonra tekrar etmeye başlıyor ise) yine o veri gerçek rastgele değildir. Buna istinadan yalancı-rastgele veri üretileceğinde "seed" denilen bir başlangıç verisi kullanılır. Ve bu bilgide genelde zaman kökenli olur, Çünkü o an o tarih tekrar gelmeyecektir. Yani benzersiz bir seed bilgisidir. Ancak bu yinede güvenli olmaz. Microsoft kendi sitesinde bile, yazılımlarında (visual studio vs.) kullandığı random algoritmasının ileri seviye güvenlik gerektiren kriptografik uygulamalarda kullanılamayacığını belirtiyor. Tek sebebi budur.

    Tabi bu elde edilen yalancı-rastgele verilerin gerçekten rastgelelik özelliklerini sağlayıp sağlamadığınıda kontrol etmemiz lazım. Bunun için bazi istatistiksel testler kullanılır. NIST bu konuda bir takım testler yayınlamıştır ve kriptografik uygulamarladaki kullanımı için gerekli standartları belirlemiştir. (http://csrc.nist.gov/groups/ST/toolkit/rng/index.html )
    Burada kullanılan testlerin mantığı çok basittir. Gerçek rastgele (atmosferik gürültü, radyoaktif madde kaynağı vs.) verinin belirli özelliklerinin incelenmesi ve istatistiksel olarak bir değerin bulunması ve bu değerin, üretilen rastgele-yalancı veriden aynı yolla elde edilecek veri ile uyuşmasına göre rastgele olup olmadığına karar verilir. Ayrıca bkz.http://www.google.com.tr/search?q=Golomb%27s+Randomness+Postulates

    Kullanılan bazı yalancı-rastgele veri üreteçleri (PRNG - Pseudorandom number generator)
    http://en.wikipedia.org/wiki/Pseudorandom_number_generator

    http://en.wikipedia.org/wiki/Mersenne_twister
    http://en.wikipedia.org/wiki/Blum_Blum_Shub
    http://en.wikipedia.org/wiki/Trivium_%28cipher%29 (aslen bir keystream generator'dur, yani kriptografik olarak kullanıma uygundur diyebiliriz kısaca).

    Umarım açıklayıcı olmuştur. Takıldığınız yer olursa yine yazmaya çalışırım.



    < Bu mesaj bu kişi tarafından değiştirildi yxsdf -- 23 Temmuz 2010; 13:26:17 >




  • o zaman şunu diyebilir miyiz:

    1 ile 100 arası rasgele bir sayı seçilirken herhangi bir sayının gelme ihtimali kesinlikle diğer bir sayını gelme ihtimaline eşit değildir. o an ki duruma göre değişir.

    bence diyebiliriz.



    < Bu mesaj bu kişi tarafından değiştirildi Guest-E41040413 -- 23 Temmuz 2010; 13:55:59 >
  • quote:

    Orijinalden alıntı: 8
    Elektronik devre otomaitk olraka atar. Yani resmen "at"ar. Sallar diyeyim :) Elektronikde lojik'i bilirsin. Güç varsa 1 yoksa 0'dır. Veri transferinde bu açığı kapamak için elektronik devre rastgele bir komut seçer. Yani random aslında elektroniğin temelinde vardır. Ama günümüz programcıları bunu geliştirmiştir. :)

    Bilgisayar rastgele bir sayı seçemez. Doğasında yok böyle birşey. Sistem saatinin mili saniye hanesindeki sayıyı kompleks bir matematik formülü içerisinde değişken olarak kullanarak yapar bu işi. Yani ürettiği sayı aslında "rastgele" veya "sallama" veya "atma" değildir. Belli hesaplar sonucunda getirir o sayıyı.
  • quote:

    Orijinalden alıntı: ertanunver

    o zaman şunu diyebilir miyiz:

    1 ile 100 arası rasgele bir sayı seçilirken herhangi bir sayının gelme ihtimali kesinlikle diğer bir sayını gelme ihtimaline eşit değildir. o an ki duruma göre değişir.

    bence diyebiliriz.

    Bunu neye dayanarak söylediniz?
  • bunu şuna dayanarak söyledim. eğer tarihe göre hesaplama yapılırsa bir sonraki duruma göre sayının ne geleceği ön görülebilir. o zaman o an ki duruma göre belli bir sayı döndürüyorsa rasgelelik ortadan kalkmış olur.

    ama üzerinde biraz kafa yorunca şöyle bir durumu göz önüne aldım: o rasgele sayıyı döndüren durumun oluşma şansı, başka bir duruma eşit olduğundan gene sayını oluşma ihtimali diğer duruma göre aynı olasılığa sahip. kendi tezimi çürütmüş oldum. :)



    < Bu mesaj bu kişi tarafından değiştirildi Guest-E41040413 -- 23 Temmuz 2010; 14:34:42 >
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.