Una rete neurale potrebbe rilevare i numeri primi?


21

Non sto cercando un modo efficiente per trovare i numeri primi (che ovviamente è un problema risolto ). Questa è più una domanda "what if".

Quindi, in teoria: potresti formare una rete neurale per prevedere se un dato numero n è composito o primo? Come sarebbe strutturata tale rete?



2
Se i numeri primi seguono uno schema e qualcuno capita semplicemente di addestrare una rete neurale con abbastanza nodi nascosti per definire il limite di classificazione, suppongo che funzionerebbe. Tuttavia, non sappiamo se tale classificazione esiste e, anche se lo fosse, dovremmo dimostrare qual è il confine per dimostrare che la rete neurale ha effettivamente trovato il modello corretto.
quintumnia,

Risposte:


11

Il successo iniziale nei test sui numeri primi tramite reti artificiali è presentato in Una soluzione di rete neurale compositiva ai test sui numeri primi , László Egri, Thomas R. Shultz, 2006 . L'approccio di rete basato sulla conoscenza-correlazione in cascata (KBCC) ha mostrato la più promettente, sebbene la praticità di questo approccio sia eclissata da altri algoritmi di rilevazione primaria che di solito iniziano controllando il bit meno significativo, riducendo immediatamente la ricerca della metà e quindi cercando basati altri teoremi ed euristiche fino a floor(X) . Tuttavia, è proseguito il lavoro con Knowledge Based Learning con KBCC , Shultz et. al. 2006

In realtà ci sono più sotto-domande in questa domanda. Innanzitutto, scriviamo una versione più formale della domanda: "Può una rete artificiale di qualche tipo convergere durante l'allenamento in un comportamento che testerà accuratamente se l'input va da a 2 n - 1 , dove n è il numero di bit in la rappresentazione intera, rappresenta un numero primo? "02n-1n

  1. Può semplicemente memorizzando i numeri primi nell'intervallo di numeri interi?
  2. Può imparando a fattorizzare e applicare la definizione di un numero primo?
  3. Può imparando un algoritmo noto?
  4. Può sviluppando un suo nuovo algoritmo durante l'allenamento?

La risposta diretta è sì, ed è già stata eseguita in base al punto 1. sopra, ma è stata eseguita con un adattamento eccessivo, non imparando un metodo di rilevamento del numero primo. Sappiamo che il cervello umano contiene una rete neurale in grado di realizzare 2., 3. e 4., quindi se le reti artificiali sono sviluppate nella misura in cui la maggior parte pensa che possano essere, allora la risposta è sì per quelli. Non esiste alcuna controforma per escludere nessuno di essi dalla gamma di possibilità al momento della stesura di questa risposta.

Non sorprende che sia stato fatto un lavoro per addestrare reti artificiali sui test dei numeri primi a causa dell'importanza dei numeri primi nella matematica discreta, della sua applicazione alla crittografia e, più specificamente, alla crittoanalisi. Siamo in grado di identificare l'importanza del rilevamento della rete digitale dei numeri primi nella ricerca e nello sviluppo della sicurezza digitale intelligente in opere come A First Study of the Neural Network Approach in RSA Cryptosystem , Gc Meletius et. al., 2002 . Il legame della crittografia con la sicurezza delle nostre rispettive nazioni è anche il motivo per cui non tutte le ricerche attuali in questo settore saranno pubbliche. Quelli di noi che possono avere l'autorizzazione e l'esposizione possono solo parlare di ciò che non è classificato.

Da un punto di vista civile, il lavoro in corso in quello che viene chiamato rilevamento di novità è una direzione importante della ricerca. Quelli come Markos Markou e Sameer Singh si stanno avvicinando al rilevamento di novità dal lato dell'elaborazione del segnale , ed è ovvio a coloro che comprendono che le reti artificiali sono essenzialmente processori di segnale digitali che hanno capacità di auto-tuning multi-point in grado di vedere come il loro lavoro si applica direttamente a questo domanda. Markou e Singh scrivono: "Esistono moltissime applicazioni in cui il rilevamento di novità è estremamente importante, tra cui l'elaborazione del segnale, la visione computerizzata, il riconoscimento di schemi, il data mining e la robotica".

Dal punto di vista della matematica cognitiva, lo sviluppo di una matematica a sorpresa, come Learning with Surprise: Theory and Applications (tesi), Mohammadjavad Faraji, 2016 potrebbe favorire ulteriormente l'inizio di Ergi e Shultz.


1

In teoria, una rete neurale può mappare qualsiasi data funzione ( sorgente ).

Tuttavia, se si allena una rete con i numeri 0 a N, non è possibile garantire che la rete classifichi correttamente i numeri al di fuori di tale intervallo ( n > N).

Una tale rete sarebbe una normale rete di feed forward ( MLP ) poiché la valuta non aggiunge nulla alla classificazione dell'input dato. La quantità di livelli e nodi può essere trovata solo attraverso tentativi ed errori.


1
I teoremi universali si applicano alle funzioni continue su sottoinsiemi compatti. Prime / not prime non è questo tipo di funzione.
pasaba por aqui,

1
@pasabaporaqui: in questo caso la funzione di primeness può essere approssimata abbastanza bene da una funzione continua con picchi ai valori dei numeri primi. Quindi l'NN potrebbe generare il 90% di probabilità di essere un numero primo per 6,93 - questo è chiaramente una sciocchezza, ma se discretizzi gli input e gli output, non ti interessa davvero cosa NN predirebbe per i non-interi. Penso che questa risposta sia sostanzialmente corretta.
Neil Slater,

1

Sono un ricercatore universitario presso la Prairie View A&M University. Ho pensato di commentare, perché ho trascorso alcune settimane a modificare un modello MLPRegressor per prevedere l'ennesimo numero primo. Recentemente è inciampato in un super minimo, in cui le prime 1000 estrapolazioni al di fuori dei dati di addestramento hanno prodotto un errore inferiore allo 0,02 percento. Anche a 300000 numeri primi, era circa lo 0,5% di sconto. Il mio modello era semplice: 10 livelli nascosti, addestrati su un singolo processore per meno di 2 ore.

Per me, si pone la domanda "Esiste una funzione ragionevole che produce l'ennesimo numero primo?" In questo momento gli algoritmi diventano computazionalmente molto faticosi per l'estremo n. Dai un'occhiata agli intervalli di tempo tra i primi più grandi scoperti più recenti. Alcuni di loro sono distanti anni. So che è stato dimostrato che se tale funzione esiste, non sarà polinomiale.


Benvenuto in AI.SE! Tieni presente che consentiamo solo le risposte (anziché i commenti) nella sezione delle risposte, quindi ho perfezionato un po 'il tuo post per concentrarmi sull'affrontare la domanda. Per un'introduzione al nostro sito, vedere il tour .
Ben N

Ciao Cody, non è stato molto tempo fa. Ma vorrei fare una chiacchierata con te riguardo al test che hai fatto. Saresti disposto a chattare in diretta su ciò che hai fatto e ciò che hai percepito? Vorrei vedere se esiste la possibilità di sperimentare ulteriormente con questo.
momomo,

-1

sì, è fattibile, ma considera che il problema della fattorizzazione a numeri interi è un problema NP-qualcosa e un problema BQP .

per questo motivo, è impossibile che una rete neurale basata esclusivamente sul calcolo classico trovi il numero primo con un'accuratezza del 100%, a meno che P = NP.


Come spiega la domanda, controlla se un numero è primo non è un problema NP.
pasaba por aqui,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.