La rete neurale può scoprire modelli rng

0

La rete neurale può trovare connessioni tra numeri generati da un generatore di numeri casuali senza sapere se è seme e prevedere i prossimi numeri di questo rng con più sucessi, quindi indovinare casualmente? Non sono riuscito a trovare alcun dato al riguardo. Grazie

    
posta formatc 19.05.2012 - 01:06
fonte

2 risposte

6

Dipende molto da come stai provando a fare la previsione.

La maggior parte dei PRNG che ho usato di solito operano su una serie di numeri all'interno di un intervallo finito. Il seme decide su quale numero iniziare e progredisci intorno al ring un numero alla volta. L'ordine dei numeri appare casuale, ma il loro ordine è in realtà molto deterministico.

Ad esempio, diciamo che il tuo prng genera numeri sull'anello 0-6. Se il tuo seme è 1, allora potrebbe scorrere i numeri in questo modo:

1 -> 6 -> 2 -> 4 -> 0 -> 3 -> 5 -> 1 -> 6 -> ...

Alcune cose importanti da notare:

  • Una volta raggiunto nuovamente il seme, i valori si ripetono.
  • La casualità apparente si ottiene generando un anello che sembra "sparpagliare" i numeri intorno e scegliendo un seme diverso ogni volta che si esegue il generatore.

Quando lo guardi da questo punto di vista, in realtà è abbastanza facile prevedere il prossimo numero casuale che deriva da un tipico prng - tutto ciò che devi sapere è la funzione che ha generato l'anello dei numeri e l'ultimo numero che è stato tirato dalla sequenza.

Dopo aver letto questo, potrebbe essere difficile capire perché i numeri appaiono casuali in primo luogo (specialmente guardando la sequenza sopra). La cosa da capire è che l'intervallo di numeri è solitamente enorme (nella scala di 2 ^ 31-ish), e quindi è ESTREMAMENTE improbabile che atterrerai nella stessa sezione dell'anello nelle successive esecuzioni del programma.

Quindi, a seconda della situazione, ciò che stai facendo potrebbe essere abbastanza facile: se conosci la funzione che genera la sequenza di numeri, tutto ciò che ti serve è l'ultimo numero estratto e il gioco è fatto! Non è necessaria alcuna rete neurale.

Se non si conosce la funzione che genera l'anello dei numeri, è molto improbabile che una rete neurale possa essere d'aiuto. La funzione che genera il ciclo di numeri è progettata per essere una funzione unidirezionale (a.k.a., non è possibile invertire la funzione per capire i valori utilizzati all'interno della funzione).

Se sei interessato a proseguire ulteriormente, ti consiglio vivamente di studiare approfonditamente il PRNG. La matematica è abbastanza semplice e sapere come funzionano ti darà una migliore idea di quali siano i loro punti di forza e limiti.

    
risposta data 19.05.2012 - 03:49
fonte
3

Se il generatore di numeri casuali è ragionevolmente buono, è impossibile prevedere il numero N ° dato solo i precedenti numeri N-1. Ogni generatore di numeri casuali utilizzato per scopi crittografici, ad esempio, sarà sufficientemente casuale da non essere in grado di prevedere il numero successivo.

Se hai una scarsa generazione di numeri casuali, d'altra parte, potrebbe essere possibile prevedere il numero Nth, quindi dovrebbe essere possibile per una rete neurale predire il numero successivo (dipende, ovviamente, dal debolezza del generatore di numeri casuali).

    
risposta data 19.05.2012 - 02:22
fonte

Leggi altre domande sui tag