Python

Python random seed Nedir?

Bu yazı, istediğiniz deterministik rastgele veriyi elde etmek için Python’da sözde rastgele sayı üretecini başlatmak için random.seed() fonksiyonunun nasıl kullanılacağını gösterir. Özel seed değerini ayarlayarak, belirlenen rastgele sayı dizisini elde edebiliriz.

Bu derste şunları öğreneceksiniz:

  • Sözde rasgele sayı üretecini başlatmak için random.seed() kullanın.
  • Bir sözde rasgele sayı üreteci tarafından verilen verileri yeniden üretmek için tohum ayarlayın
  • Her seferinde random.seed() kullanarak listeden aynı öğeleri rastgele seçin
  • Diğer rastgele modül işlevleriyle birlikte bir random.seed() işlevi kullanın.

Random.seed() nasıl kullanılır?

Devam etmeden önce random bir modülün çalışmasını anlayalım. Python’un random modülü tarafından üretilen rastgele sayı veya veriler gerçekten rastgele değildir; sözde rastgeledir (PRNG’dir), yani deterministiktir. random modülü, rastgele bir sayı oluşturmak için temel değeri kullanır.

Random.seed() sözdizimi

Bu fonksyion iki parametreyi kabul eder. Her ikisi de isteğe bağlıdır.

a seed(tohum) değeridir. None ise, varsayılan olarak mevcut sistem saati kullanılır. Rastgelelik kaynakları işletim sistemi tarafından sağlanmışsa, bunlar sistem saati yerine kullanılır. Tohum değeri tamsayı şeklinde ise olduğu gibi kullanılır.
Sürüm 2’de (varsayılan), bir str, bayt veya bytearray nesnesi bir int’e dönüştürülür ve tüm bitleri kullanılır.

Random.seed() kullanarak her seferinde aynı rasgele sayıyı üretme örneği

 

Sistem zamanını işletim sistemine özgü rastgelelik kaynağı yerine çekirdek değer olarak ayarlayın

Herhangi bir nedenle, işletim sistemine özgü bir rastgelelik kaynağı dışında özel bir çekirdek ayarlamak istiyorsanız, yaygın bir uygulama, milisaniye cinsinden sistem saatini bir çekirdek değeri olarak kullanmaktır.

 

Rastgele bir üretici tarafından kullanılan bir çekirdek değeri nasıl elde edilir

Bazen sözde rasgele sayı üreteci tarafından verilen verileri yeniden üretebilmek yararlıdır. Zaten bildiğiniz gibi, rastgele veri üretimi bir çekirdek değere bağlıdır. Bir çekirdek değeri yeniden kullanarak, birden çok iş parçacığı çalışmadığı için aynı verileri birden çok kez yeniden oluşturabiliriz.

Örneğin, belirli bir çalıştırmada elde ettiğiniz sonuçları yeniden üretmek istiyorsunuz. Bu gibi durumlarda, hangi tohumun kullanıldığını bilmek istersiniz, böylece bu sonucu yeniden üretebilirsiniz. Tekrarlanabilir sonuçlar istediğinizde mevcut tohum değeri önemlidir.

Özel bir çekirdek değeri kullanıyorsanız, Python’un Rastgele oluşturucusunun çekirdeği bellekte depolamadığını hatırlamanız gerekir. Yani, mevcut çekirdek değerini almak için herhangi bir yöntem sağlamaz. Yeniden kullanmak istiyorsanız tohumu kurtarmak size kalmıştır.

Otomatik tohumu jeneratörden geri almak mümkün değildir. Ama bu alternatifi deneyebilirsin

 

Randrange ile Python rastgele çekirdek

 

Yorum Yap

Yorum yapmak için tıklayın