Zahlen umgeben uns von Geburt an und spielen eine wichtige Rolle im Leben. Für viele Menschen ist die Arbeit selbst mit Zahlen verbunden, jemand verlässt sich auf Glück, füllt Lottoscheine mit Zahlen und jemand gibt ihnen eine völlig mystische Bedeutung. Auf die eine oder andere Weise können wir manchmal nicht auf die Verwendung eines Programms wie z Zufallszahlengenerator.

Beispielsweise müssen Sie eine Verlosung unter den Abonnenten Ihrer Gruppe organisieren. Unser Online-Zufallszahlengenerator hilft Ihnen dabei, die Gewinner schnell und ehrlich auszuwählen. Sie müssen beispielsweise nur die gewünschte Anzahl der Zufallszahlen (durch die Anzahl der Gewinner) und die maximale Reichweite (durch die Anzahl der Teilnehmer, wenn ihnen Nummern zugewiesen werden) festlegen. Betrug ist in diesem Fall vollständig ausgeschlossen.

Dieses Programm kann auch als Zufallszahlengenerator für Lotto dienen. Sie haben beispielsweise ein Ticket gekauft und möchten sich bei der Zahlenauswahl ganz auf Zufall und Glück verlassen. Dann hilft Ihnen unser Nummern-Zufallsgenerator dabei, Ihre Nummer zu füllen Lotterieschein.

So generieren Sie eine Zufallszahl: Anleitung

Zufallszahlenprogramm funktioniert ganz einfach. Sie müssen es nicht einmal auf Ihren Computer herunterladen - alles wird in dem Browserfenster erledigt, in dem diese Seite geöffnet ist. Zufallszahlen werden gemäß der angegebenen Anzahl von Zahlen und ihrem Bereich generiert - von 0 bis 999999999.

Um eine Nummer online zu generieren, benötigen Sie:

  1. Wählen Sie den Bereich aus, in dem Sie das Ergebnis erhalten möchten. Vielleicht möchten Sie Zahlen bis 10 oder, sagen wir, 10000 abschneiden;
  2. Wiederholungen ausschließen - durch Auswahl dieses Elements zwingen Sie den **Zahlen-Zufallsgenerator**, Ihnen nur einzigartige Kombinationen innerhalb eines bestimmten Bereichs anzubieten;
  3. Wählen Sie die Anzahl der Zahlen - von 1 bis 99999;
  4. Klicken Sie auf die Schaltfläche Zahlen generieren.

Egal, wie viele Zahlen Sie als Ergebnis erhalten möchten, der Primzahlengenerator gibt das gesamte Ergebnis auf einmal aus und Sie können es auf dieser Seite sehen, indem Sie mit der Maus oder dem Touchpad durch das Feld mit den Zahlen scrollen.

Jetzt können Sie die vorgefertigten Nummern so verwenden, wie Sie es brauchen. Aus dem Nummernfeld können Sie das Ergebnis kopieren, um es an eine Gruppe oder ein Mailing zu senden. Und damit niemand am Ergebnis zweifelt, machen Sie einen Screenshot dieser Seite, auf der die Parameter des Zahlen-Randomizers und die Ergebnisse des Programms deutlich sichtbar sind. Die Zahlen im Feld können nicht verändert werden, eine Manipulation ist somit ausgeschlossen. Wir hoffen, unsere Website und unser Zufallszahlengenerator haben Ihnen geholfen.

Bitte helfen Sie dem Service mit einem Klick: Erzählen Sie Ihren Freunden von dem Generator!

Zahlengenerator online mit 1 Klick

Sehr praktisch ist der Zufallszahlengenerator, der auf unserer Website vorgestellt wird. Beispielsweise kann es bei Ziehungen und Lotterien zur Ermittlung des Gewinners verwendet werden. Die Gewinner werden auf diese Weise ermittelt: Das Programm vergibt eine oder mehrere Zahlen in einem beliebigen Bereich, den Sie angeben. Die Manipulation der Ergebnisse kann sofort eliminiert werden. Und dank dessen wird der Gewinner in einer fairen Wahl ermittelt.

Manchmal müssen Sie eine bestimmte Anzahl von Zufallszahlen auf einmal erhalten. Sie wollen zum Beispiel einen „4 aus 35“-Lotterieschein ausfüllen und dabei auf den Zufall vertrauen. Sie können überprüfen: Wenn Sie eine Münze 32 Mal werfen, wie groß ist die Wahrscheinlichkeit, dass 10 Rückseiten hintereinander herausfallen (Kopf / Zahl kann gut durch die Zahlen 0 und 1 zugeordnet werden)?

Online-Videoanleitung für Zufallszahlen - Randomizer

Unser Zahlengenerator ist sehr einfach zu bedienen. Es muss kein Programm auf einen Computer heruntergeladen werden – es kann online verwendet werden. Um die gewünschte Nummer zu erhalten, müssen Sie den Bereich der Zufallszahlen, die Nummer und, falls gewünscht, das Nummerntrennzeichen festlegen und Wiederholungen ausschließen.

So generieren Sie Zufallszahlen in einem bestimmten Frequenzbereich:

  • Wählen Sie einen Bereich;
  • Geben Sie die Anzahl der Zufallszahlen an;
  • Die Funktion "Zahlentrenner" dient der Schönheit und Bequemlichkeit ihrer Anzeige;
  • Aktivieren / deaktivieren Sie ggf. Wiederholungen mit einem Häkchen;
  • Klicken Sie auf die Schaltfläche "Generieren".

Als Ergebnis erhalten Sie Zufallszahlen in einem bestimmten Bereich. Das Ergebnis des Zahlengenerators kann kopiert oder per E-Mail versendet werden. Machen Sie am besten einen Screenshot oder ein Video von diesem Generierungsprozess. Unser Randomizer wird jedes Ihrer Probleme lösen!

Haben Sie sich jemals gefragt, wie Math.random() funktioniert? Was ist eine Zufallszahl und wie wird sie ermittelt? Und stellen Sie sich eine Frage bei einem Vorstellungsgespräch vor - schreiben Sie Ihren Zufallszahlengenerator in ein paar Codezeilen. Also, was ist das, ein Unfall und ist es möglich, ihn vorherzusagen?

Ich bin sehr fasziniert von verschiedenen IT-Puzzles und Puzzles, und der Zufallszahlengenerator ist eines dieser Rätsel. Normalerweise sortiere ich in meinem Telegrammkanal alle möglichen Rätsel und verschiedene Aufgaben aus Interviews. Das Problem mit dem Zufallszahlengenerator hat große Popularität erlangt und ich wollte es in den Tiefen einer der maßgeblichen Informationsquellen – nämlich hier auf Habré – verewigen.

Dieses Material wird für all jene Front-Ender und Node.js-Entwickler nützlich sein, die an der Spitze der Technologie stehen und in das Blockchain-Projekt / -Startup einsteigen möchten, bei dem Fragen zu Sicherheit und Kryptografie zumindest auf grundlegender Ebene gestellt werden sogar von Frontend-Entwicklern.

Pseudo-Zufallszahlengenerator und Zufallszahlengenerator

Um etwas Zufälliges zu bekommen, brauchen wir eine Entropiequelle, eine Quelle von Chaos, aus der wir Zufälligkeit erzeugen werden.

Diese Quelle wird verwendet, um Entropie zu akkumulieren und daraus dann den Anfangswert (Initial Value, Seed) zu gewinnen, der für Zufallszahlengeneratoren (RNG) notwendig ist, um Zufallszahlen zu erzeugen.

Der Pseudo-Zufallszahlengenerator verwendet einen einzigen Startwert, daher seine Pseudozufälligkeit, während der Zufallszahlengenerator immer eine Zufallszahl generiert, beginnend mit einem hochwertigen Zufallswert, der aus verschiedenen Entropiequellen stammt.

Entropie - ist ein Maß für Unordnung. Informationsentropie ist ein Maß für die Unsicherheit oder Unvorhersagbarkeit von Informationen.
Es stellt sich heraus, dass wir zum Erstellen einer Pseudozufallsfolge einen Algorithmus benötigen, der eine Folge basierend auf einer bestimmten Formel generiert. Aber eine solche Sequenz kann vorhergesagt werden. Stellen wir uns jedoch vor, wie wir unseren eigenen Zufallszahlengenerator schreiben könnten, wenn wir Math.random() nicht hätten.

PRNG hat einen Algorithmus, der reproduziert werden kann.
RNG - erhält Zahlen vollständig aus jedem Rauschen, die Fähigkeit zu berechnen, die gegen Null tendiert. Gleichzeitig verfügt der RNG über bestimmte Algorithmen zur Nivellierung der Verteilung.

Erfinden unseres eigenen PRNG-Algorithmus

Der Pseudo-Zufallszahlengenerator (PRNG) ist ein Algorithmus, der eine Folge von Zahlen generiert, deren Elemente nahezu unabhängig voneinander sind und einer bestimmten Verteilung (normalerweise gleichförmig) gehorchen.
Wir können eine Folge einiger Zahlen nehmen und daraus den Modul der Zahl nehmen. Das einfachste Beispiel, das mir in den Sinn kommt. Wir müssen darüber nachdenken, welche Reihenfolge wir nehmen und aus welchem ​​​​Modul. Wenn Sie nur direkt von 0 zu N und Modul 2 gehen, erhalten Sie einen Generator von 1 und 0:

Function* rand() ( const n = 100; const mod = 2; let i = 0; while (true) ( ​​​​yield i % mod; if (i++ > n) i = 0; ) ) let i = 0; for (let x of rand()) ( if (i++ > 100) break; console.log(x); )
Diese Funktion erzeugt für uns die Folge 01010101010101 ... und sie kann nicht einmal pseudozufällig genannt werden. Damit ein Generator zufällig ist, muss er den Test für das nächste Bit bestehen. Aber wir haben keine solche Aufgabe. Trotzdem können wir auch ohne Tests die nächste Sequenz vorhersagen, was bedeutet, dass ein solcher Algorithmus in der Stirn nicht geeignet ist, aber wir sind in der richtigen Richtung.

Was aber, wenn wir eine bekannte, aber nichtlineare Folge nehmen, zum Beispiel die Zahl PI. Und als Wert für das Modul nehmen wir nicht 2, sondern etwas anderes. Sie können sogar über den sich ändernden Wert des Moduls nachdenken. Die Ziffernfolge in Pi gilt als zufällig. Der Generator kann ab einem unbekannten Punkt mit pi arbeiten. Ein Beispiel für einen solchen Algorithmus mit einer PI-basierten Sequenz und Modulo-Änderung:

Konstanter Vektor = [...Math.PI.toFixed(48).replace(".","")]; function* rand() ( for (let i=3; i<1000; i++) { if (i >99) ich = 2; für (es sei n=0; n Aber in JS kann die Nummer PI nur bis zu 48 Zeichen und nicht mehr angezeigt werden. Daher ist es immer noch einfach, eine solche Sequenz vorherzusagen, und jeder Lauf eines solchen Generators wird immer dieselben Zahlen produzieren. Aber unser Generator hat bereits damit begonnen, Zahlen von 0 bis 9 anzuzeigen.

Wir haben einen Zahlengenerator von 0 bis 9, aber die Verteilung ist sehr ungleichmäßig und es wird jedes Mal die gleiche Sequenz generiert.

Wir können nicht die Zahl Pi, sondern die Zeit in numerischer Darstellung nehmen und diese Zahl als eine Ziffernfolge betrachten, und um zu verhindern, dass sich die Folge jedes Mal wiederholt, werden wir sie von Ende lesen. Insgesamt sieht unser Algorithmus für unser PRNG so aus:

Function* rand() ( let newNumVector = () => [...(+new Date)+""].reverse(); let vector = newNumVector(); let i=2; while (true) ( ​​​​if ( i++ > 99) i = 2; sei n=-1; while (++n< vector.length) yield (vector[n] % i); vector = newNumVector(); } } // TEST: let i = 0; for (let x of rand()) { if (i++ >100) Pause; Konsole.log(x) )
Jetzt sieht es aus wie ein Pseudozufallszahlengenerator. Und dasselbe Math.random() - ist ein PRNG, wir werden etwas später darüber sprechen. Außerdem ist die erste Zahl jedes Mal anders.

Tatsächlich können Sie an diesen einfachen Beispielen verstehen, wie komplexere Zufallszahlengeneratoren funktionieren. Und es gibt sogar fertige Algorithmen. Lassen Sie uns zum Beispiel einen von ihnen analysieren - das ist das linear kongruente PRNG (LCPRNG).

Lineares kongruentes PRNG

Linear Congruential PRNG (LCPRNG) -  ist eine gängige Methode zur Erzeugung von Pseudozufallszahlen. Es hat keine kryptografische Stärke. Dieses Verfahren besteht darin, die Terme einer linear rekurrenten Folge modulo einer natürlichen Zahl m zu berechnen, die durch eine Formel gegeben ist. Die resultierende Folge hängt von der Wahl der Startnummer ab - d.h. Samen. Für unterschiedliche Seed-Werte werden unterschiedliche Folgen von Zufallszahlen erhalten. Ein Beispiel für die Implementierung eines solchen Algorithmus in JavaScript:

Konstante a = 45; konstant c = 21; konstant m = 67; Varseed = 2; const rand = () => Seed = (a * Seed + c) % m; for(lass i=0; i<30; i++) console.log(rand())
Viele Programmiersprachen verwenden LCPRNG (aber nicht nur einen solchen Algorithmus (!).

Wie oben erwähnt, kann eine solche Sequenz vorhergesagt werden. Warum brauchen wir also PRNG? Wenn wir über Sicherheit sprechen, dann ist PRNG ein Problem. Wenn wir über andere Aufgaben sprechen, können diese Eigenschaften  -  ein Plus sein. Beispielsweise müssen Sie für verschiedene Spezialeffekte und Grafikanimationen möglicherweise häufig random aufrufen. Und hier kommt es auf die Werteverteilung und Leistung an! Sicherheitsalgorithmen können sich nicht mit Geschwindigkeit rühmen.

Eine weitere Eigenschaft - Reproduzierbarkeit. Bei einigen Implementierungen können Sie einen Startwert angeben, was sehr nützlich ist, wenn eine Sequenz wiederholt werden soll. Die Reproduktion ist zum Beispiel in Tests notwendig. Und es gibt viele andere Dinge, die keinen sicheren RNG erfordern.

Wie Math.random() funktioniert

Die Methode Math.random() gibt eine pseudozufällige Gleitkommazahl aus dem Bereich = crypto.getRandomValues(new Uint8Array(1)); Konsolenprotokoll (rvalue)
Aber im Gegensatz zu PRNG Math.random() ist diese Methode sehr ressourcenintensiv. Tatsache ist, dass dieser Generator Systemaufrufe im Betriebssystem verwendet, um auf Entropiequellen (Poppy-Adresse, CPU, Temperatur usw.) zuzugreifen.

Um Zufallszahlen in dem von Ihnen benötigten Bereich zu generieren, verwenden Sie am besten den Online-Zufallszahlengenerator. Das Vorhandensein einer großen Anzahl von Optionen ermöglicht es Ihnen, die erforderliche Anzahl von Zufallszahlen auszuwählen sowie den End- und Anfangswert anzugeben.

Anleitung zum Online-Zahlengenerator (Randomizer):

Standardmäßig wird der Zufallszahlengenerator mit 1 Zahl eingegeben. Wenn Sie die Anwendungseinstellungen ändern, können Sie gleichzeitig bis zu 250 Zufallszahlen generieren. Zuerst müssen Sie den Bereich festlegen. Der maximale Wert einer Zahl ist 9 999 999 999. Mit dem Zufallszahlengenerator können Sie Zahlen in absteigender, aufsteigender oder zufälliger Reihenfolge anordnen.

Um das Ergebnis anzuzeigen, können Sie verschiedene Trennzeichen verwenden: Semikolon, Komma und Leerzeichen. Darüber hinaus ist eine Wiederholung möglich. Mit der Option „Wiederholungen ausschließen“ können Sie Duplikate entfernen. Sie können auch einen Link zu den durchgeführten Berechnungen per Messenger oder E-Mail versenden, indem Sie den „Link zum Ergebnis“ kopieren.

Wir haben eine Zahlenfolge, die aus fast unabhängigen Elementen besteht, die einer bestimmten Verteilung gehorchen. Meist gleichmäßig verteilt.

Sie können Zufallszahlen in Excel auf verschiedene Arten und Weisen generieren. Werfen wir einen Blick auf die besten von ihnen.

Zufallszahlenfunktion in Excel

  1. Die RAND-Funktion gibt eine zufällige, gleichmäßig verteilte reelle Zahl zurück. Es wird kleiner als 1, größer oder gleich 0 sein.
  2. Die RANDBETWEEN-Funktion gibt eine zufällige ganze Zahl zurück.

Schauen wir uns ihre Verwendung anhand von Beispielen an.

Auswahl von Zufallszahlen mit RAND

Diese Funktion benötigt keine Argumente (RAND()).

Um beispielsweise eine zufällige reelle Zahl zwischen 1 und 5 zu generieren, verwenden Sie die folgende Formel: =RAND()*(5-1)+1.

Die zurückgegebene Zufallszahl wird gleichmäßig über das Intervall verteilt.

Jedes Mal, wenn das Arbeitsblatt berechnet wird oder sich der Wert in einer beliebigen Zelle im Arbeitsblatt ändert, wird eine neue Zufallszahl zurückgegeben. Wenn Sie die generierte Population speichern möchten, können Sie die Formel durch ihren Wert ersetzen.

  1. Wir klicken auf eine Zelle mit einer Zufallszahl.
  2. Markieren Sie die Formel in der Bearbeitungsleiste.
  3. Drücken Sie F9. UND EINTRETEN.

Lassen Sie uns die Gleichmäßigkeit der Verteilung von Zufallszahlen aus der ersten Stichprobe anhand des Verteilungshistogramms überprüfen.


Der Bereich der vertikalen Werte ist die Frequenz. Horizontal - "Taschen".



RANDBETWEEN-Funktion

Die Syntax der RANDBETWEEN-Funktion ist (untere Grenze; ​​obere Grenze). Das erste Argument muss kleiner als das zweite sein. Andernfalls gibt die Funktion einen Fehler aus. Es wird angenommen, dass die Grenzen ganze Zahlen sind. Die Formel verwirft den Bruchteil.

Ein Beispiel für die Verwendung der Funktion:

Zufallszahlen mit 0,1 und 0,01 Genauigkeit:

So erstellen Sie einen Zufallszahlengenerator in Excel

Lassen Sie uns einen Zufallszahlengenerator mit der Generierung eines Wertes aus einem bestimmten Bereich erstellen. Wir verwenden eine Formel wie: =INDEX(A1:A10;INTEGER(RAND()*10)+1).

Lassen Sie uns einen Zufallszahlengenerator im Bereich von 0 bis 100 mit einer Schrittweite von 10 erstellen.

Aus der Liste der Textwerte müssen Sie 2 zufällige auswählen. Mit der RAND-Funktion vergleichen wir Textwerte im Bereich A1:A7 mit Zufallszahlen.

Verwenden wir die INDEX-Funktion, um zwei zufällige Textwerte aus der ursprünglichen Liste auszuwählen.

Um einen zufälligen Wert aus der Liste auszuwählen, wenden Sie die folgende Formel an: =INDEX(A1:A7,RANDBETWEEN(1,COUNT(A1:A7))).

Zufallszahlengenerator für Normalverteilung

Die Funktionen RAND und RANDBETWEEN erzeugen Zufallszahlen mit Einfachverteilung. Jeder Wert mit der gleichen Wahrscheinlichkeit kann in die untere Grenze des angeforderten Bereichs und in die obere fallen. Es stellt sich eine enorme Streuung vom Zielwert heraus.

Normalverteilung bedeutet, dass die meisten der generierten Zahlen nahe am Ziel liegen. Lassen Sie uns die RANDBETWEEN-Formel korrigieren und ein Datenarray mit einer Normalverteilung erstellen.

Die Warenkosten X betragen 100 Rubel. Die gesamte produzierte Charge unterliegt einer Normalverteilung. Auch die Zufallsvariable folgt einer normalen Wahrscheinlichkeitsverteilung.

Unter solchen Bedingungen beträgt der Durchschnittswert des Bereichs 100 Rubel. Lassen Sie uns ein Array generieren und ein Diagramm mit einer Normalverteilung mit einer Standardabweichung von 1,5 Rubel erstellen.

Wir verwenden die Funktion: =NORMINV(RAND();100;1.5).

Excel hat berechnet, welche Werte im Bereich der Wahrscheinlichkeiten liegen. Da die Wahrscheinlichkeit, ein Produkt mit einem Preis von 100 Rubel herzustellen, maximal ist, zeigt die Formel häufiger Werte nahe 100 als der Rest.

Kommen wir zum Plotten. Zuerst müssen Sie eine Tabelle mit Kategorien erstellen. Dazu teilen wir das Array in Perioden auf:

Basierend auf den erhaltenen Daten können wir ein Diagramm mit einer Normalverteilung erstellen. Die Wertachse ist die Anzahl der Variablen im Intervall, die Kategorieachse sind die Perioden.