Π ve e gibi irrasyonel sayılar kullanarak rastgele sayılar üretebilir miyiz?


21

, ve gibi mantıksız sayılar , ondalık noktadan sonra benzersiz ve yinelenmeyen bir sıraya sahiptir. Eğer basamağını bu tür sayılardan çıkarırsak ( , yöntemin çağrıldığı sayıdır) ve basamakları olduğu gibi bir sayı yaparsak, mükemmel bir rastgele sayı üreteci almamalıyız? Örneğin, , ve , ilk sayı 123, ikincisi 471, diğeri 184'tür.πe2nn2eπ


30
Kafanızda tuhaf bir "rastgele" tanımı var. "Rastgele", "öngörülemez" anlamına gelir. Diziniz nasıl tahmin edilemez? Aklınızda hangi "rasgele" tanım var? Belki "rastgele" dediğin şeyin başka bir adı vardır.
Eric Lippert

7
Spigot algoritmasının , önceki basamakları üretmek zorunda kalmadan pi'de herhangi bir onaltılık basamak oluşturmak için kullanılabileceğini unutmayın .
rcgldr

10
@EricLippert Tüm sahte sayı üreteçleri öngörülebilir değil mi?
Federico Poloni

7
Terim birkaç kez ortaya çıktı: bu bir "rastgele sayı" değil, "rastgele bir sayı" dır. Bu, algoritmik olarak üretilen (rastgele değil) bir sayıdır, ancak rastgele sayıların sahip olduğu birçok istenen özelliğe sahiptir. Başka bir algoritma, telefon numaraları listesinden alfabetik olarak girdiğiniz ve her birinden son basamağı aldığınız "NYC telefon defteri" algoritmasıdır. Rastgele değil, ama bazı oldukça güzel istatistiksel davranışlar ile sözde!
Cort Ammon - Monica'yı eski durumuna getir

5
"Yalancı", "benzer fakat değil" anlamına gelir. Yani sözde rasgele sayılar rasgele sayılara benzer, ancak rasgele sayılara benzemez. Yani burada düşünce treninizi takip etmiyorum. Şimdi, kripto mukavemetli PRNG'ler, dahili durum saldırgan tarafından bilinmiyorsa, sahip olduğumuz hiçbir istatistiksel testin bir kripto PRNG'yi gerçek bir RNG'den ayırt edemeyeceği ve öngörülebilirlik eksikliğini içerdiği arzu edilen özelliğe sahiptir. Ancak pi rakamları bu özelliğe sahip değildir; bunlar oldukça öngörülebilir.
Eric Lippert

Yanıtlar:


17

En belirgin dezavantaj irrasyonel sayılara dayanan PRNG algoritmalarının gereksiz karmaşıklığıdır. Oluşturulan basamak başına, örneğin bir LCG'den çok daha fazla hesaplama gerektirirler; ve bu karmaşıklık genellikle dizide ilerledikçe büyür. İki katrilyonuncu bitte 256 bit π hesaplanması 1000 bilgisayarda 23 gün sürdü (2010'da geri döndü) - bir RNG için oldukça engelleyici bir karmaşıklık.


47

Mükemmelliğin makul bir tanımı için, tarif ettiğiniz mekanizma mükemmel bir rastgele sayı üreteci değildir.

  • Tekrar etmemek yeterli değil. Ondalık sayı 0.101001000100001 yinelenmiyor, ancak yanıt "her zaman" sıfır, bazen bir ve asla başka bir şey olmadığı için korkunç bir rasgele basamak oluşturucusudur.

  • Her haneli ondalık genişlemesi eşit sıklıkta ortaya çıkarsa Aslında bilmiyoruz π veya  e (biz şüpheli olsa yaptıkları).

  • Birçok durumda, rastgele sayıların tahmin edilemez olmasını isteriz (gerçekten, rastgele bir kişiye "rastgele" nin ne anlama geldiğini sorduğunuzda, muhtemelen tahmin edilemezlik hakkında bir şeyler söylerler). İyi bilinen sabitlerin rakamları tamamen tahmin edilebilir.

  • Genellikle rastgele sayıları makul bir şekilde hızlı bir şekilde üretmek isteriz, ancak ardışık matematiksel sabitlerin basamaklarını oluşturmak oldukça pahalı olma eğilimindedir.

  • O bir rakam olduğunu, ancak, doğrudur π ve  e anlamda istatistiksel rastgele görünüm, basamak mümkün olan her dizisi olması gerektiği sıklıkta hakkında ortaya görünüyor ki. Yani, örneğin, her bir basamak onda bir zamana çok yakındır; her iki basamaklı dizi yüze bire çok yakın, vb.


11
Üçüncü nokta için, tahmin edilemez olması için üretim sürecinize bir tür 'gizli' girdi olmalıdır (başka bir rastgele sayı üretecine güvenmek istemiyorsak, üretim sürecinin kendisi belirleyici olmalıdır.). Bu ekstra girdiye genellikle tohum denir .
Ayrık kertenkele

6
@Discretelizard Bu doğrudur, ancak "konum ile başlayan ardışık rakamları döndür" ün ötesinde tohumlama için fazla bir alan yoktur . Zamanla Gördüğünüz 2 günlüğünün s o dizi ilk dahilinde sadece birkaç kez oluştuğunda, rakamlar s 2 haneleri tt ilk içinde benzersiz yüzden, s olasılığı yüksek rakam ve tohum biliyorum. s2logss2πs
David Richerby

2
@Barmar: Bu noktada, bu tekniğin "standart" bir PRNG'den gerçekten daha performanslı (ve daha fazla yer verimli) olup olmadığını sormalısınız.
Kevin

2
Pi ya e rakam olan izleyici / alıcı / kod kırıcı vb Zaten ne kadar uzakta sırayla boyunca hiçbir fikri yok, özellikle de tamamen tahmin edilemez. Dizinin 237423 rakamından başlarsanız, rastgele olması çok uzun sürecektir.
Ters Mühendis

10
@DaveBoltman Eğer kriptografi gibi bir şey yapmazsak, kimse bunu anlamaya zahmet etmeyecek kadar umursamaz. Şifreleme yapıyorsak, rakiplerinizin hangi algoritmayı kullandığınızı bildikleri standart bir varsayımdır, bu durumda, dizinin hangi irrasyonel sayıdan geldiğini ve basamakları nasıl seçtiğinizi içerir. msgstr "basamak başla ". Eğer rakip hangi numarayı kullandığınızı bilmiyorsa, o zaman, bir sonraki rakam tam anlamıyla herhangi bir şey olabilir, ama o zaman sanırım s ve oyun bitti. my birthday
David Richerby

29

Kriptografik olarak işe yaramaz çünkü bir düşman her bir basamağı tahmin edebilir. Aynı zamanda çok zaman alıcıdır.


11
OP asla kriptografiden bahsetmez ...
AnoE

13
@AnoE Yani? Bu işlemin kriptografik olarak yararsız olacağı hala önemlidir, çünkü kripto hevesli bir rastgele kullanıcıdır. Cihazları getirirseniz /dev/randomve /dev/urandombirileri her zaman kriptografi getirir.
Greg Schmit - Monica'yı

6
Gerçek zamanlı PRNG üretiminde kriptografik güvenliğin ne kadar işe yaramaz olduğuna şaşıracaksınız. irrasyonel sayılar genellikle GPU PRNG'lerinde kullanılır. PRNG'nizin ne kadar "güvenli" olduğu önemli olmayan birçok uygulama vardır. Tutarlı gürültü üretimi gibi bir şeyde önemli olan, dağıtım kalitesi ve sürenizin ne sıklıkta tekrarlandığı ve bitişik tohumlardan (düzeltmek için çığ karıştırıcıları gerektirecek) bağlı korelasyon etkileridir. Dürüst olmak gerekirse cevabınız yanlış, buraya ait değil ve muhtemelen silinmelidir.
whn

6
Bu soruya bir cevap değildir. Bağlantılı sorunun OP, monte carlo analizi tohumlama için rasgele sayılar kullandığını unutmayın. Sorulan soruya yönelik bir güncelleme dikkate alınmalıdır. mathoverflow.net/questions/26942/…
CramerTV

8
Kesinlikle PRNG'lerin kriptografik olarak güvenli olması gerekmeyen birçok uygulama vardır. Ancak OP bazı amaçlar için yararlı olup olmadığını sormadı, bu yöntemin "mükemmel bir RNG" olup olmadığını sordular. "Mükemmel" ile ne demek istediklerini netleştirmemiş olsalar da, bunun RNG'lerin başlıca kullanımlarından biri için uygun olmaması, bu soruyu cevaplamakla çok ilgili görünüyor.
Geoffrey Brent

7

( birçok kişi rastgele sayı üretecinin tek bir normal sıra ile aynı şey olmadığına işaret ettikten sonra güncellenir )

π

π

Rakam dağıtım verileri için bkz. Http://www.eveandersson.com/pi/precalculated-frequencies veya https://thestarman.pcministry.com/math/pi/RandPI.html (ilk 1000 hane):

resim açıklamasını buraya girin

Mathoverflow'da şu konularda da güzel cevaplar var:


3
Sorunun kopya olduğunu düşünüyorsanız neden cevap veriyorsunuz? İstenmeyen gönderme davranışını pekiştirmemeli, işaretlemelisiniz.
dkaeae

8
@dkaeae Diğer sitelerdeki soruların kopyaları için destek yoktur. Ayrıca, farklı sitelerde aynı soru farklı cevaplar alabilir. Bu durumda, Matematik gibi bir site güvenlik endişelerini fazla dikkate almayabilir. Ayrıca bu cevaba bakınız . Aynı soruyu aynı anda birden fazla sitede sormaktan vazgeçtiğimizi unutmayın, çünkü bu durum boşa giden çabalara yol açma eğilimindedir. Ama farklı kişiler farklı sitelerde farklı zamanlarda aynı soru genellikle ok.
Ayrık kertenkele

6
Ne yazık ki, bir sayının normal olması, rakamlarını çıkarmanın size iyi bir RNG sağladığı anlamına gelmez. Böyle bir RNG'nin çıktıları hala tamamen öngörülebilirdir. Bunun kabul edilebilir olup olmadığı uygulamaya bağlı olabilir. Yani, "pi normal, dava kapandı" demek kadar basit olduğunu sanmıyorum.
DW

2
Bu sadece ilk birkaç basamak için delilik gözlem mi? Bununla ne kastedilecek?
marshal craft

1
@DW π ve e gibi bir sayı kombinasyonu kullanmayı düşündüğümü söyledim. Ve jeneratörün ne kadar aşağı gittiğini bilmiyorsak, çıktının nasıl tahmin edilebilir olacağını söyleyin?
Abhradeep Sarkar

1

Genel olarak, bu yaklaşım işe yaramaz: "rastgelelik", çok sayıda farklı basamak elde ettiğiniz anlamına gelmez, ancak başka yönleri de vardır. Örneğin, klasik bir test, tüm iki basamaklı veya üç basamaklı vb. Kombinasyonların aynı frekansta olup olmadığını görmek içindir. Bu, rastgele olmayan net sonuçları ekarte edebilen çok basit bir test olacaktır, ancak gerçekten rastgele davranışı kontrol etmek için hala çok basittir.

Bununla ilgili birincil kaynaklara bağlantıların bir koleksiyonu olarak Rasgelelik Testleri hakkındaki Wikipedia sayfasına bakın . Oldukça karmaşık sondaj kavramlarından bahsediyorlar; bu konuda derin ayrıntılara girmek o kadar önemli değil - ancak belirli bir sayının bu tür basamaklar için iyi bir kaynak olduğunu ilan etmenin sezgisel olarak mümkün olmadığı açıktır.

Olumlu bir not: Belirli bir mantıksız sayı için, elbette sadece denemekte özgürsünüz; yani, sayıyı yeterince büyük basamaklara hesaplayın ve bilinen tüm testlerden geçirin (bunun için araçlar vardır, yukarıdaki bağlantıya bakın). Tedbir kullanım durumunuz için yeterince iyiyse ve bunun kriptografik uygulamalar için açıkça işe yaramaz olduğunu biliyorsanız ve baştan başlamanız gerekiyorsa her zaman aynı sayıları alırsanız ve seçtiğinizi geçerseniz kalitenin ndüşebileceğini rasgeleliği test etmek için bu sayıları kullanabilirsiniz. Ancak, özel (sözde) bir rasgele sayı üreteci kullanmak çok daha iyi olacaktır; ve hiçbir şey iyi bir fiziksel rastgelelik kaynağını yenemez.


4
πe

3
Ayrat'ın cevabı, matematikçilerin bu testleri yaptıkları diğer sitelere bağlantı veriyor. Bunun istatistiksel testlere uygun olduğuna inanıyorlar ama kanıtlamadılar.
Barmar

Evet, son paragrafımla kastettiğim buydu - sadece ampirik olarak denemeye değer; ancak titizlikle, keyfi "karmaşık görünümlü" irrasyonel davranışlar için kanıtlanmamıştır (veya sadece doğru olduğu varsayılamaz). @DavidRicherby, @ Barmar
AnoE

1

Birçok sahte rasgele sayıda olduğu gibi nasıl üretildiğini anlayana kadar iyi bir rasgele sayı sağlar. Seçtiğiniz irrasyonel (cebirsel olmayan ve aşkın olmayan) sayılar yaygındır ve diğerlerinden daha kolay tahmin edilir. Daha az görülen jeneratörleri seçmeniz koşuluyla bu yöntemle ilgili hiçbir sorun göremiyorum.


4
Brüt verimsizlik dışında hiçbir sorun, algoritmanızın ne olduğunu bilmeden herhangi bir düşmana güveniyor olmanız, kötü bir jeneratör seçiminin çok kötü bir diziye yol açabileceği gerçeği ...
David Richerby

4
2πe

Transandantal bir sayı cebirsel olmayan gerçek bir sayıdır. Gerçek bir sayının hem cebirsel olmayan hem de aşkın olmayan olması mümkün değildir.
Brady Gilg
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.