Merhaba, elimde 30 tane bir sistem tarafında rastgele oluşturulmuş sayı var.
Bu dizinin hangi rastgelelikle oluşturulduğunu nasıl bulabilirim fikri olan var mı ?



 

Rastgelelik fonksiyonu benim gördüğüm her zaman random() fonksiyonu kullanır. O yüzden sayılar arasında bir bağıntı bulamazsın. Bunun dışında bir şey ise algoritması, hiçbir fikrim yok.

prole

O sistemin kullandığı seed'i bilmen lazım ki ucundan bir yerinden başlayabilesin.

Sadece oluşturulan 30 adet sayı hiçbir anlam ifade etmez. Misal zamanı kullanıyordur, hangi zamanlarda bu sayıların oluşturulduğunu bilmezsen bir şey yapamazsın. İşlemci sıcaklığını kullanmıştır, fan dönüş hızını kullanmıştır vs...

Elindeki veriler anca o sistemden sayı üretildiği anda toplanabilecek bütün veriler toplandığı anda anlamlı hale gelir.

O sistem özel bir donanım mı yoksa bilinen bir derleyici ile mi derlenmiş bir program mı, hangi kütüphaneyi kullanmış öncelikle bunu araştırırsın.

Ardından kullandığı kütüphanenin "random" sayıyı oluşturmak için kullandığı formüle ulaşmaya çalışırsın (eğer açık bir halde değilse disassembly ile tersine mühendislik yaparak)

Ardından random sayıyı oluşturacak parametreleri bulursun, ondan sonra da herhangi bir zaman diliminde o sistemin oluşturacağı random sayının formülü elinde olur.

edit : bu parametrelere ek olarak kullanıcının da bir "seed" kaynağı kullanması mümkün, bunu da bilmen lazım.

kimlanbu

@kimlanbu bende tersine mühendislik ile yapabiliriz diye düşünmüştüm aslında, ilk başta curve çizip polynomial hale getirmek filan geldi aklıma ama sayılar çok değişken olduğu için saçma olacağına kanaat getirdim. Tek bir denkleme değil de birkaç denkleme bağlı da olabilir, fan-saat örneğinizdeki gibi, o yüzden büyük ihtimal bulamayacağım. Ancak cevabınız için teşekkür ederim

pislick0
1

mobil görünümden çık