Ich bin nicht auf der Suche nach einer effizienten Möglichkeit, Primzahlen zu finden (was natürlich ein gelöstes Problem ist ). Dies ist eher eine "Was-wäre-wenn" -Frage.
Theoretisch: Könnten Sie ein neuronales Netzwerk trainieren, um vorherzusagen, ob eine bestimmte Zahl n zusammengesetzt oder eine Primzahl ist? Wie würde ein solches Netzwerk aufgebaut sein?
neural-networks
Fullk33
quelle
quelle
Antworten:
Frühe Erfolge beim Testen von Primzahlen über künstliche Netzwerke werden in A Compositional Neural-Network Solution für das Testen von Primzahlen , László Egri, Thomas R. Shultz, 2006, vorgestellt . Der wissensbasierte Kaskadenkorrelations (KBCC) -Netzwerkansatz erwies sich als vielversprechend, obwohl die Praktikabilität dieses Ansatzes durch andere Algorithmen zur Erkennung von Primzahlen übertroffen wird, die normalerweise damit beginnen, das niedrigstwertige Bit zu überprüfen, die Suche sofort um die Hälfte zu reduzieren und dann zu suchen basierte andere Theoreme und Heuristiken bis . Die Arbeit wurde jedoch mit Knowledge Based Learning mit KBCC , Shultz et. al. 2006fl o o r ( x--√)
Die direkte Antwort lautet "Ja" und wurde bereits gemäß obiger Ziffer 1 durchgeführt, jedoch durch Überanpassung und nicht durch Erlernen einer Primzahlerkennungsmethode. Wir wissen, dass das menschliche Gehirn ein neuronales Netzwerk enthält, das 2., 3. und 4. erreichen kann. Wenn also künstliche Netzwerke so weit entwickelt sind, wie es die meisten glauben, lautet die Antwort Ja für diese. Es gibt keinen Gegenbeweis, um einen von ihnen aus dem Bereich der Möglichkeiten auszuschließen, der zum Zeitpunkt der Abfassung dieser Antwort besteht.
Es ist nicht überraschend, dass Arbeiten zum Trainieren künstlicher Netzwerke zum Testen von Primzahlen durchgeführt wurden, da Primzahlen in der diskreten Mathematik, deren Anwendung auf die Kryptographie und insbesondere auf die Kryptoanalyse von Bedeutung sind. Wir können die Bedeutung der digitalen Netzwerkerkennung von Primzahlen für die Erforschung und Entwicklung intelligenter digitaler Sicherheit in Werken wie identifizieren einer ersten Studie zum Ansatz des neuronalen Netzwerks im RSA-Kryptosystem , Gc Meletius et. al., 2002 . Die Bindung der Kryptographie an die Sicherheit unserer jeweiligen Nationen ist auch der Grund, warum nicht alle aktuellen Forschungen auf diesem Gebiet öffentlich sein werden. Diejenigen von uns, die die Freigabe und Exposition haben, können nur von dem sprechen, was nicht klassifiziert ist.
Auf ziviler Ebene ist die kontinuierliche Arbeit in der sogenannten Neuheitserkennung eine wichtige Forschungsrichtung. Markos Markou und Sameer Singh nähern sich der Neuheitserkennung von der Seite der Signalverarbeitung aus , und es ist für diejenigen, die verstehen, dass künstliche Netzwerke im Wesentlichen digitale Signalprozessoren sind, die über Mehrpunkt-Selbstoptimierungsfunktionen verfügen, offensichtlich, wie sich ihre Arbeit direkt darauf auswirkt Frage. Markou und Singh schreiben: "Es gibt eine Vielzahl von Anwendungen, bei denen die Erkennung von Neuheiten äußerst wichtig ist, einschließlich Signalverarbeitung, Computer Vision, Mustererkennung, Data Mining und Robotik."
Auf der Seite der kognitiven Mathematik könnte die Entwicklung einer Mathematik der Überraschung, wie Lernen mit Überraschung: Theorie und Anwendungen (Dissertation), Mohammadjavad Faraji, 2016, die Anfänge von Ergi und Shultz fördern .
quelle
Theoretisch kann ein neuronales Netzwerk jede gegebene Funktion ( Quelle) abbilden ) .
Wenn Sie jedoch ein Netzwerk mit den Nummern
0
bis trainierenN
, können Sie nicht garantieren, dass das Netzwerk Nummern außerhalb dieses Bereichs korrekt klassifiziert (n > N
).Ein solches Netzwerk wäre ein reguläres Feed-Forward-Netzwerk ( MLP ), da die Wiederkehr der Klassifizierung der gegebenen Eingabe nichts hinzufügt. Die Anzahl der Ebenen und Knoten kann nur durch Ausprobieren ermittelt werden.
quelle
Ich bin Student an der Prairie View A & M University. Ich dachte, ich würde einen Kommentar abgeben, weil ich nur ein paar Wochen damit verbracht habe, ein MLPRegressor-Modell zu optimieren, um die n-te Primzahl vorherzusagen. Vor kurzem stolperte es über ein extrem niedriges Minimum, bei dem die ersten 1000 Extrapolationen außerhalb der Trainingsdaten Fehler von weniger als 0,02 Prozent ergaben. Sogar bei 300000 Primes waren es ungefähr 0,5 Prozent. Mein Modell war einfach: 10 ausgeblendete Ebenen, die für weniger als 2 Stunden auf einem einzelnen Prozessor trainiert wurden.
Für mich stellt sich die Frage: "Gibt es eine vernünftige Funktion, die die n-te Primzahl erzeugt?" Im Moment werden die Algorithmen für extreme n rechenintensiv. Sehen Sie sich die Zeitlücken zwischen den zuletzt entdeckten größten Primzahlen an. Einige von ihnen sind Jahre auseinander. Ich weiß, es wurde bewiesen, dass eine solche Funktion nicht polynomisch ist, wenn sie existiert.
quelle
ja, es ist machbar, aber bedenken Sie, dass das Problem der Faktorisierung ganzer Zahlen ein NP-Problem und ein BQP-Problem ist .
Aus diesem Grund ist es unmöglich, dass ein rein auf klassischem Rechnen basierendes neuronales Netzwerk eine Primzahl mit 100% iger Genauigkeit findet, es sei denn, P = NP.
quelle