Pseudozufälligkeit

Ein Pseudozufallsprozess ist ein Prozess, der scheint, zufällig zu sein, aber nicht ist. Pseudozufallsfolgen stellen normalerweise statistische Zufälligkeit aus, während sie durch einen völlig deterministischen kausalen Prozess erzeugt werden. Solch ein Prozess ist leichter zu erzeugen als ein echt zufälliger, und hat den Vorteil, dass es immer wieder verwendet werden kann, um genau dieselben Zahlen - nützlich zu erzeugen, um Software zu prüfen und zu befestigen.

Aufrichtig Zufallszahlen zu erzeugen, verlangt genaue, genaue und repeatable Systemmaße von absolut nichtdeterministischen Prozessen. Gebrauch von Linux, zum Beispiel, verschiedenes System timings (wie Benutzeranschläge, Eingabe/Ausgabe oder Stromspannungsmaße der am-wenigsten-positiven-Ziffer), um eine Lache von Zufallszahlen zu erzeugen. Es versucht, ständig die Lache, abhängig vom Niveau wichtig wieder zu füllen, und wird so eine Zufallszahl ausgeben. Dieses System ist ein Beispiel, und ähnlich denjenigen von hingebungsvollen Hardware-Zufallszahlengeneratoren.

Geschichte

Die Generation von Zufallszahlen hat vielen Nutzen (größtenteils in der Statistik, für die zufällige Stichprobenerhebung und Simulation). Vor der modernen Computerwissenschaft würden Forscher, die Zufallszahlen verlangen, sie entweder durch verschiedene Mittel (Würfel, Karten, Roulette-Räder, usw.) erzeugen oder vorhandene Zufallszahl-Tische verwenden.

Der erste Versuch, Forscher mit einer bereiten Versorgung von zufälligen Ziffern zu versorgen, war 1927, als die Universität von Cambridge Presse einen Tisch von 41,600 von Leonard H.C. Tippet entwickelten Ziffern veröffentlicht hat. 1947 hat RAND Corporation Zahlen durch die elektronische Simulation eines Roulette-Rades erzeugt; die Ergebnisse wurden schließlich 1955 veröffentlicht, als eine Million Zufällige Ziffern mit 100,000 Normalen Abgehen.

John von Neumann war ein Pionier in computergestützten Zufallszahlengeneratoren. Ein bemerkenswerter Mitwirkender im Feld der Pseudozufallszahl-Generation im praktischen Gebrauch ist ein pakistanischer Mathematiker Dr Arif Zaman. 1949 hat Derrick Henry Lehmer den geradlinigen congruential Generator erfunden, der in den meisten Pseudozufallszahlengeneratoren heute verwendet ist. Mit der Ausbreitung des Gebrauches von Computern haben algorithmische Pseudozufallszahlengeneratoren Zufallszahl-Tische ersetzt, und "wahre" Zufallszahlengeneratoren (Hardware-Zufallszahlengeneratoren) werden nur in einigen Fällen verwendet.

Fast zufällig

Eine pseudozufällige Variable ist eine Variable, die durch ein deterministisches Verfahren geschaffen wird (häufig ein Computerprogramm oder Unterprogramm), der (allgemein) zufällige Bit als Eingang nimmt. Die pseudozufällige Schnur wird normalerweise länger als die ursprüngliche zufällige Schnur, aber (weniger entropic, im Informationstheorie-Sinn) weniger zufällig sein. Das kann für randomized Algorithmen nützlich sein.

Pseudozufallszahlengeneratoren werden in solchen Anwendungen wie das Computermodellieren (z.B, Ketten von Markov), Statistik, Versuchsplan usw. weit verwendet.

Pseudozufälligkeit in der rechenbetonten Kompliziertheit

In der theoretischen Informatik ist ein Vertrieb gegen eine Klasse von Gegnern pseudozufällig, wenn kein Gegner von der Klasse es von der Rechteckverteilung mit dem bedeutenden Vorteil unterscheiden kann.

Dieser Begriff der Pseudozufälligkeit wird in der rechenbetonten Kompliziertheitstheorie studiert und hat Anwendungen auf die Geheimschrift.

Lassen Sie formell S und T begrenzte Sätze sein und F = {f zu lassen: S , T\eine Klasse von Funktionen sein. Ein Vertrieb D über S ist ε-pseudorandom gegen F, wenn für jeden f in F die statistische Entfernung zwischen dem Vertrieb f (X), wo X von D und f (Y) probiert wird, wo Y von der Rechteckverteilung auf S probiert wird, am grössten Teil von ε ist.

In typischen Anwendungen beschreibt die Klasse F ein Modell der Berechnung mit begrenzten Mitteln

und man interessiert sich für das Entwerfen des Vertriebs D mit bestimmten Eigenschaften, die gegen F pseudozufällig sind. Der Vertrieb D wird häufig als die Produktion eines pseudozufälligen Generators angegeben.

Geheimschrift

Für solche Anwendungen wie Geheimschrift ist der Gebrauch von Pseudozufallszahlengeneratoren (entweder Hardware oder Software oder eine Kombination) unsicher. Wenn zufällige Werte in der Geheimschrift erforderlich sind, ist die Absicht, eine Nachricht so hart zu machen, um zu krachen, wie möglich, durch das Beseitigen oder das Verdunkeln der Rahmen, die an encrypt die Nachricht (der Schlüssel) aus der Nachricht selbst oder vom Zusammenhang verwendet sind, in dem es getragen wird. Pseudozufallsfolgen sind deterministisch und reproduzierbar; alles, was erforderlich ist, um eine Pseudozufallsfolge zu entdecken und wieder hervorzubringen, ist der Algorithmus, der verwendet ist, um sie und der anfängliche Samen zu erzeugen. So ist die komplette Folge von Zahlen nur so stark wie die zufällig gewählten Teile - manchmal der Algorithmus und der Samen, aber gewöhnlich nur der Samen.

Es gibt viele Beispiele in der kryptografischen Geschichte von cyphers, sonst ausgezeichnet, in dem zufällige Wahlen nicht zufällig genug waren und Sicherheit als eine direkte Folge verloren wurde. Der Japaner des Zweiten Weltkriegs PURPURROTE cypher für diplomatische Kommunikationen verwendete Maschine ist ein gutes Beispiel. Es wurde überall in WWII größtenteils durchweg gebrochen, weil die "Schlüsselwerte" verwendet ungenügend zufällig waren. Sie hatten Muster, und jene Muster haben jeden abgefangenen Verkehr sogleich decryptable gemacht. Hatte die Schlüssel (d. h. die anfänglichen Einstellungen der gehenden Schalter in der Maschine) gewesen gemacht unvorhersehbar (d. h. zufällig), dieser Verkehr wäre viel härter gewesen, zu brechen, und vielleicht sogar in der Praxis zu sichern.

Benutzer und Entwerfer der Geheimschrift werden stark ermahnt, ihre Zufälligkeitsbedürfnisse mit der am meisten äußersten Sorge zu behandeln. Absolut hat sich nichts mit dem Zeitalter der computerisierten Geheimschrift geändert, außer dass Muster in pseudozufälligen Daten leichter sind zu entdecken als jemals vorher. Zufälligkeit, ist wenn irgendetwas, das wichtiger ist als jemals.

Methode-Simulationen von Monte Carlo

Eine Methode-Simulation von Monte Carlo wird als jede Methode definiert, die Folgen von Zufallszahlen verwertet, um die Simulation durchzuführen. Simulationen von Monte Carlo werden auf viele Themen einschließlich Quants chromodynamics, Krebs-Strahlentherapie, Verkehrsflusses, Sternevolution und VLSI Designs angewandt. Alle diese Simulationen verlangen den Gebrauch von Zufallszahlen und deshalb Pseudozufallszahlengeneratoren, der schaffende zufällige Zahlen sehr wichtig macht.

Ein einfaches Beispiel dessen, wie ein Computer eine Simulation von Monte Carlo durchführen würde, ist die Berechnung von π. Wenn ein Quadrat einen Kreis eingeschlossen hat und ein Punkt innerhalb des Quadrats zufällig gewählt wurden, würde der Punkt entweder innerhalb des Kreises oder außerhalb dessen liegen. Wenn der Prozess oft wiederholt würde, würde das Verhältnis der zufälligen Punkte, die innerhalb des Kreises zur Gesamtzahl von zufälligen Punkten im Quadrat liegen, dem Verhältnis des Gebiets des Kreises zum Gebiet des Quadrats näher kommen. Davon können wir schätzen, dass Pi, wie gezeigt, im Pythonschlange-Code unter dem Verwenden eines Pakets von SciPy Pseudozufallszahlen mit dem MT19937 Algorithmus erzeugt. Bemerken Sie, dass diese Methode eine rechenbetont ineffiziente Weise ist, π numerisch näher zu kommen.

importieren Sie scipy

N=100000

x_array = scipy.random.rand (N)

y_array = scipy.random.rand (N)

  1. erzeugen Sie N pseudozufälligen unabhängigen x und Y-Werte auf dem Zwischenraum [0,1)

N_qtr_circle = Summe (x_array ** 2+y_array ** 2

Siehe auch

Außenverbindungen


Pfefferminz / Poales
Impressum & Datenschutz