Ολοκληρωτής τυχαίων αριθμών. Γεννήτρια τυχαίων αριθμών λοταρίας

Η ηλεκτρονική γεννήτρια αριθμών είναι ένα εύχρηστο εργαλείο που σας επιτρέπει να λαμβάνετε τον απαιτούμενο αριθμό αριθμών ενός δεδομένου βάθους bit και του ευρύτερου εύρους. Στη γεννήτρια μας τυχαίους αριθμούςυπάρχουν πολλές χρήσεις! Για παράδειγμα, μπορείτε να κάνετε έναν διαγωνισμό στο VKontakte και να παίξετε ένα αρκουδάκι εκεί σε μια ομάδα ποδηλατών για μια ανταπόκριση :)) Θα κολακευθούμε επίσης πολύ αν αποφασίσετε να το χρησιμοποιήσετε για να καθορίσετε νικητήριο νούμεροσε οποιαδήποτε λοταρία ή αποφασίστε ποιον αριθμό θα στοιχηματίσετε στο καζίνο. Ελπίζουμε πραγματικά κάποιος να βρει το δικό του. τυχερός αριθμός online μαζί μας!

Εύρος τυχαίων αριθμών:

Ποσότητα:

Εξάλειψη της επανάληψης;

παράγουν αριθμούς

Παρακαλούμε βοηθήστε μας να αναπτύξουμε:Πείτε στους φίλους σας για τη γεννήτρια!

Τυχαία | τυχαίος αριθμός online με 1 κλικ

Οι αριθμοί μας περιβάλλουν από τη γέννηση και παίζουν σημαντικό ρόλο στη ζωή. Για πολλούς ανθρώπους, το ίδιο το έργο συνδέεται με αριθμούς, κάποιος βασίζεται στην τύχη, γεμίζοντας τα λαχεία με αριθμούς και κάποιος τους δίνει ένα εντελώς μυστικιστικό νόημα. Με τον ένα ή τον άλλο τρόπο, μερικές φορές δεν μπορούμε να κάνουμε χωρίς να χρησιμοποιήσουμε ένα πρόγραμμα όπως π.χ γεννήτρια τυχαίων αριθμών.

Για παράδειγμα, πρέπει να οργανώσετε μια κλήρωση δώρων μεταξύ των συνδρομητών της ομάδας σας. Η ηλεκτρονική μας γεννήτρια τυχαίων αριθμών θα σας βοηθήσει να επιλέξετε τους νικητές γρήγορα και με ειλικρίνεια. Απλώς χρειάζεται, για παράδειγμα, να ορίσετε τον επιθυμητό αριθμό τυχαίων αριθμών (ανάλογα με τον αριθμό των νικητών) και το μέγιστο εύρος (από τον αριθμό των συμμετεχόντων, εάν τους εκχωρηθούν αριθμοί). Η απάτη σε αυτή την περίπτωση αποκλείεται εντελώς.

Αυτό το πρόγραμμα μπορεί επίσης να χρησιμεύσει ως γεννήτρια τυχαίων αριθμών για λότο. Για παράδειγμα, αγοράσατε ένα εισιτήριο και θέλετε να βασιστείτε πλήρως στην τύχη και την τύχη στην επιλογή των αριθμών. Τότε ο τυχαιοποιητής αριθμών μας θα σας βοηθήσει να γεμίσετε λαχείο.

Πώς να δημιουργήσετε έναν τυχαίο αριθμό: οδηγίες

πρόγραμμα τυχαίων αριθμώνλειτουργεί πολύ απλά. Δεν χρειάζεται καν να το κατεβάσετε στον υπολογιστή σας - όλα γίνονται στο παράθυρο του προγράμματος περιήγησης όπου είναι ανοιχτή αυτή η σελίδα. Οι τυχαίοι αριθμοί δημιουργούνται σύμφωνα με τον καθορισμένο αριθμό αριθμών και το εύρος τους - από 0 έως 999999999. Για να δημιουργήσετε έναν αριθμό στο διαδίκτυο, πρέπει:

  1. Επιλέξτε το εύρος στο οποίο θέλετε να λάβετε το αποτέλεσμα. Ίσως θέλετε να κόψετε αριθμούς μέχρι το 10 ή, ας πούμε, το 10000.
  2. Εξαλείψτε τις επαναλήψεις - επιλέγοντας αυτό το στοιχείο, θα αναγκάσετε τυχαιοποιητής αριθμώνσας προσφέρει μόνο μοναδικούς συνδυασμούς εντός ενός συγκεκριμένου εύρους.
  3. Επιλέξτε τον αριθμό των αριθμών - από 1 έως 99999.
  4. Κάντε κλικ στο κουμπί Δημιουργία αριθμών.

Ανεξάρτητα από το πόσους αριθμούς θέλετε να πάρετε ως αποτέλεσμα, η γεννήτρια πρώτοι αριθμοίθα δώσει ολόκληρο το αποτέλεσμα ταυτόχρονα και μπορείτε να το δείτε σε αυτήν τη σελίδα κάνοντας κύλιση στο πεδίο με αριθμούς χρησιμοποιώντας το ποντίκι ή την επιφάνεια αφής.

Τώρα μπορείτε να χρησιμοποιήσετε τους έτοιμους αριθμούς όπως τους χρειάζεστε. Από το πεδίο αριθμών, μπορείτε να αντιγράψετε το αποτέλεσμα για δημοσίευση σε ομάδα ή αποστολή αλληλογραφίας. Και για να μην αμφιβάλλει κανείς για το αποτέλεσμα, τραβήξτε ένα στιγμιότυπο οθόνης αυτής της σελίδας, στην οποία θα είναι ορατές οι παράμετροι του τυχαιοποιητή αριθμών και τα αποτελέσματα του προγράμματος. Είναι αδύνατο να αλλάξετε τους αριθμούς στο πεδίο, επομένως αποκλείεται η πιθανότητα χειραγώγησης. Ελπίζουμε η ιστοσελίδα μας και η γεννήτρια τυχαίων αριθμών να σας βοήθησαν.

Η διοργάνωση διάφορων λαχειοφόρων αγορών, κληρώσεων κ.λπ. πραγματοποιείται συχνά σε πολλές ομάδες ή κοινό, κ.λπ., και χρησιμοποιείται από τους κατόχους λογαριασμών για να προσελκύσει ένα νέο κοινό στην κοινότητα.

Το αποτέλεσμα τέτοιων κληρώσεων εξαρτάται συχνά από την τύχη του χρήστη, αφού ο παραλήπτης του δώρου καθορίζεται τυχαία.

Για έναν τέτοιο προσδιορισμό, οι διοργανωτές κληρώσεων χρησιμοποιούν σχεδόν πάντα μια ηλεκτρονική γεννήτρια τυχαίων αριθμών ή μια προεγκατεστημένη που διανέμεται δωρεάν.

Επιλογή

Πολύ συχνά, μπορεί να είναι δύσκολο να επιλέξετε μια τέτοια γεννήτρια, καθώς η λειτουργικότητά τους είναι αρκετά διαφορετική - για κάποιους είναι σημαντικά περιορισμένη, για άλλους είναι αρκετά ευρεία.

Ένας αρκετά μεγάλος αριθμός τέτοιων υπηρεσιών υλοποιείται, αλλά η δυσκολία είναι ότι διαφέρουν ως προς το εύρος τους.

Πολλοί, για παράδειγμα, συνδέονται λόγω της λειτουργικότητάς τους με ένα συγκεκριμένο κοινωνικό δίκτυο(για παράδειγμα, πολλές εφαρμογές γεννήτριας λειτουργούν μόνο με συνδέσμους σε αυτό το ).

Οι απλούστερες γεννήτριες παράγουν απλώς έναν τυχαίο αριθμό μέσα σε ένα δεδομένο εύρος.

Αυτό είναι βολικό γιατί δεν συσχετίζει το αποτέλεσμα με μια συγκεκριμένη ανάρτηση, πράγμα που σημαίνει ότι μπορούν να χρησιμοποιηθούν για κληρώσεις εκτός του κοινωνικού δικτύου και σε διάφορες άλλες καταστάσεις.

Πραγματικά δεν έχουν άλλη χρήση.

Συμβουλή!Όταν επιλέγετε την καταλληλότερη γεννήτρια, είναι σημαντικό να λάβετε υπόψη τον σκοπό για τον οποίο θα χρησιμοποιηθεί.

Προδιαγραφές

Για την ταχύτερη διαδικασία επιλογής της βέλτιστης διαδικτυακής υπηρεσίας παραγωγής τυχαίων αριθμών, ο παρακάτω πίνακας δείχνει την κύρια Προδιαγραφέςκαι λειτουργικότητα τέτοιων εφαρμογών.

Πίνακας 1. Χαρακτηριστικά λειτουργίας διαδικτυακές εφαρμογέςγια να δημιουργήσετε έναν τυχαίο αριθμό
ΟνομαΚοινωνικό δίκτυοΠολλαπλά αποτελέσματαΕπιλέξτε από μια λίστα αριθμώνΔιαδικτυακό γραφικό στοιχείο για ιστότοποΕπιλέξτε από μια σειράΑπενεργοποιήστε τις επαναλήψεις
περιποιήσειςΝαίΝαίΟχιΝαίΟχι
Ρίχνω κλήρουςΕπίσημος ιστότοπος ή VKontakteΟχιΟχιΝαίΝαίΝαί
Τυχαίος αριθμόςΕπίσημη ιστοσελίδαΟχιΟχιΟχιΝαίΝαί
RandomusΕπίσημη ιστοσελίδαΝαίΟχιΟχιΝαίΟχι
τυχαίους αριθμούςΕπίσημη ιστοσελίδαΝαίΟχιΟχιΟχιΟχι

Όλες οι εφαρμογές που αναφέρονται στον πίνακα περιγράφονται λεπτομερέστερα παρακάτω.

περιποιήσεις

Μπορείτε να χρησιμοποιήσετε αυτήν την εφαρμογή ηλεκτρονικά χρησιμοποιώντας τον σύνδεσμο στον επίσημο ιστότοπο http://randstuff.ru/number/.

Αυτή είναι μια απλή γεννήτρια τυχαίων αριθμών, χαρακτηρίζεται από γρήγορη και σταθερή λειτουργία.

Υλοποιείται με επιτυχία τόσο με τη μορφή ξεχωριστής ανεξάρτητης εφαρμογής στον επίσημο ιστότοπο, όσο και ως εφαρμογή στο .

Ιδιορρυθμία αυτή η υπηρεσίαστο ότι μπορεί να επιλέξει έναν τυχαίο αριθμό τόσο από το καθορισμένο εύρος όσο και από μια συγκεκριμένη λίστα αριθμών που μπορούν να καθοριστούν στον ιστότοπο.

  • Σταθερή και γρήγορη εργασία.
  • Έλλειψη άμεσης σύνδεσης με το κοινωνικό δίκτυο.
  • Μπορείτε να επιλέξετε έναν ή περισσότερους αριθμούς.
  • Μπορείτε να επιλέξετε μόνο από τους συγκεκριμένους αριθμούς.

Οι κριτικές χρηστών σχετικά με αυτήν την εφαρμογή είναι οι εξής: «Καθορίζουμε τους νικητές στις ομάδες VKontakte μέσω αυτής της υπηρεσίας. Ευχαριστώ», «Είσαι ο καλύτερος», «Χρησιμοποιώ μόνο αυτήν την υπηρεσία».

Ρίχνω κλήρους

Αυτή η εφαρμογή είναι μια απλή γεννήτρια λειτουργιών, που υλοποιείται στον επίσημο ιστότοπο, με τη μορφή εφαρμογής VKontakte.

Υπάρχει επίσης ένα γραφικό στοιχείο γεννήτριας για ενσωμάτωση στον ιστότοπό σας.

Η κύρια διαφορά από την προηγούμενη περιγραφείσα εφαρμογή είναι ότι αυτό σας επιτρέπει να απενεργοποιήσετε την επανάληψη του αποτελέσματος.

Δηλαδή, όταν διεξάγετε πολλές γενιές στη σειρά σε μία συνεδρία, ο αριθμός δεν θα επαναληφθεί.

  • Η παρουσία ενός γραφικού στοιχείου για εισαγωγή σε ιστότοπο ή ιστολόγιο.
  • Δυνατότητα απενεργοποίησης της επανάληψης του αποτελέσματος.
  • Η παρουσία της συνάρτησης «ακόμα πιο τυχαία», μετά την ενεργοποίηση της οποίας αλλάζει ο αλγόριθμος επιλογής.

Οι κριτικές χρηστών είναι οι εξής: "Λειτουργεί σταθερά, είναι αρκετά βολικό στη χρήση", "Βολική λειτουργικότητα", "Χρησιμοποιώ μόνο αυτήν την υπηρεσία".

Τυχαίος αριθμός

Βοηθήστε την υπηρεσία με ένα κλικ:Πείτε στους φίλους σας για τη γεννήτρια!

Δημιουργία αριθμών σε απευθείας σύνδεση με 1 κλικ

Η γεννήτρια τυχαίων αριθμών, η οποία παρουσιάζεται στην ιστοσελίδα μας, είναι πολύ βολική. Για παράδειγμα, μπορεί να χρησιμοποιηθεί σε κληρώσεις και λοταρίες για τον προσδιορισμό του νικητή. Οι νικητές καθορίζονται με αυτόν τον τρόπο: το πρόγραμμα δίνει έναν ή περισσότερους αριθμούς σε οποιοδήποτε εύρος που καθορίζετε. Η χειραγώγηση των αποτελεσμάτων μπορεί να εξαλειφθεί αμέσως. Και χάρη σε αυτό, ο νικητής καθορίζεται σε μια δίκαιη επιλογή.

Μερικές φορές χρειάζεται να λάβετε έναν ορισμένο αριθμό τυχαίων αριθμών ταυτόχρονα. Για παράδειγμα, θέλετε να συμπληρώσετε ένα λαχείο «4 στα 35», έχοντας εμπιστοσύνη στην τύχη. Μπορείτε να ελέγξετε: εάν πετάξετε ένα νόμισμα 32 φορές, ποια είναι η πιθανότητα να πέσουν 10 όπισθεν στη σειρά (τα κεφάλια / οι ουρές μπορεί κάλλιστα να αντιστοιχιστούν από τους αριθμούς 0 και 1);

Τυχαίοι αριθμοί online οδηγίες βίντεο - τυχαιοποιητής

Η γεννήτρια αριθμών μας είναι πολύ εύκολη στη χρήση. Δεν απαιτεί τη λήψη ενός προγράμματος σε υπολογιστή - μπορεί να χρησιμοποιηθεί διαδικτυακά. Για να λάβετε τον αριθμό που χρειάζεστε, πρέπει να ορίσετε το εύρος των τυχαίων αριθμών, τον αριθμό και, εάν θέλετε, το διαχωριστικό αριθμών και να εξαιρέσετε τις επαναλήψεις.

Για να δημιουργήσετε τυχαίους αριθμούς σε μια συγκεκριμένη περιοχή συχνοτήτων:

  • Επιλέξτε ένα εύρος.
  • Καθορίστε τον αριθμό των τυχαίων αριθμών.
  • Η λειτουργία "Διαχωριστής αριθμών" χρησιμεύει για την ομορφιά και την ευκολία της εμφάνισης τους.
  • Εάν είναι απαραίτητο, ενεργοποιήστε / απενεργοποιήστε τις επαναλήψεις με ένα σημάδι επιλογής.
  • Κάντε κλικ στο κουμπί "Δημιουργία".

Ως αποτέλεσμα, θα λάβετε τυχαίους αριθμούς σε ένα δεδομένο εύρος. Το αποτέλεσμα της δημιουργίας αριθμών μπορεί να αντιγραφεί ή να αποσταλεί σε e-mail. Θα ήταν καλύτερο να τραβήξετε ένα στιγμιότυπο οθόνης ή βίντεο αυτής της διαδικασίας παραγωγής. Ο τυχαιοποιητής μας θα λύσει οποιοδήποτε πρόβλημα σας!

Έχετε αναρωτηθεί ποτέ πώς λειτουργεί το Math.random(); Τι είναι ένας τυχαίος αριθμός και πώς προκύπτει; Και φανταστείτε μια ερώτηση σε μια συνέντευξη - γράψτε τη γεννήτρια τυχαίων αριθμών σε μερικές γραμμές κώδικα. Και λοιπόν, τι είναι αυτό, ατύχημα και είναι δυνατόν να το προβλέψουμε;

Είμαι πολύ γοητευμένος από διάφορα παζλ και παζλ πληροφορικής και η γεννήτρια τυχαίων αριθμών είναι ένα από αυτά τα παζλ. Συνήθως στο κανάλι μου στο τηλεγράφημα ξεχωρίζω κάθε λογής παζλ και διάφορες εργασίες από συνεντεύξεις. Το πρόβλημα σχετικά με τη γεννήτρια τυχαίων αριθμών έχει αποκτήσει μεγάλη δημοτικότητα και ήθελα να το διαιωνίσω στα βάθη μιας από τις έγκυρες πηγές πληροφοριών - δηλαδή εδώ στο Habré.

Αυτό το υλικό θα είναι χρήσιμο σε όλους εκείνους τους προγραμματιστές front-end και τους προγραμματιστές του Node.js που βρίσκονται στην πρώτη γραμμή της τεχνολογίας και θέλουν να μπουν στο έργο / startup του blockchain, όπου υπάρχουν ερωτήσεις σχετικά με την ασφάλεια και την κρυπτογραφία, τουλάχιστον βασικό επίπεδο, ζητούνται ακόμη και προγραμματιστές front-end.

Γεννήτρια ψευδοτυχαίων αριθμών και γεννήτρια τυχαίων αριθμών

Για να πάρουμε κάτι τυχαίο, χρειαζόμαστε μια πηγή εντροπίας, μια πηγή κάποιου είδους χάους από το οποίο θα χρησιμοποιήσουμε για να δημιουργήσουμε τυχαιότητα.

Αυτή η πηγή χρησιμοποιείται για τη συσσώρευση της εντροπίας και στη συνέχεια τη λήψη από αυτήν την αρχική τιμή (αρχική τιμή, σπόρος), η οποία είναι απαραίτητη για τις γεννήτριες τυχαίων αριθμών (RNG) για τη δημιουργία τυχαίων αριθμών.

Η Γεννήτρια Ψευδοτυχαίων Αριθμών χρησιμοποιεί μια μοναδική τιμή σπόρων, εξ ου και η ψευδοτυχαία της, ενώ η Γεννήτρια Τυχαίων Αριθμών δημιουργεί πάντα έναν τυχαίο αριθμό, ξεκινώντας με μια τυχαία τιμή υψηλής ποιότητας που λαμβάνεται από διάφορες πηγές εντροπίας.

Η εντροπία - είναι ένα μέτρο της αταξίας. Η εντροπία πληροφοριών είναι ένα μέτρο της αβεβαιότητας ή της μη προβλεψιμότητας των πληροφοριών.
Αποδεικνύεται ότι για να δημιουργήσουμε μια ψευδοτυχαία ακολουθία, χρειαζόμαστε έναν αλγόριθμο που θα δημιουργήσει κάποια ακολουθία με βάση έναν συγκεκριμένο τύπο. Αλλά μια τέτοια ακολουθία μπορεί να προβλεφθεί. Ωστόσο, ας φανταστούμε πώς θα μπορούσαμε να γράψουμε τη δική μας γεννήτρια τυχαίων αριθμών αν δεν είχαμε το Math.random()

Το PRNG έχει κάποιο αλγόριθμο που μπορεί να αναπαραχθεί.
Το RNG - είναι να λαμβάνει αριθμούς εντελώς από οποιονδήποτε θόρυβο, η δυνατότητα υπολογισμού που τείνει στο μηδέν. Ταυτόχρονα, το RNG έχει ορισμένους αλγόριθμους για την ισοπέδωση της κατανομής.

Εφευρίσκοντας τον δικό μας αλγόριθμο PRNG

Γεννήτρια ψευδοτυχαίοι αριθμοί(PRNG, αγγλική γεννήτρια ψευδοτυχαίων αριθμών, PRNG) - ένας αλγόριθμος που δημιουργεί μια ακολουθία αριθμών, τα στοιχεία των οποίων είναι σχεδόν ανεξάρτητα μεταξύ τους και υπακούουν σε μια δεδομένη κατανομή (συνήθως ομοιόμορφη).
Μπορούμε να πάρουμε μια ακολουθία ορισμένων αριθμών και να πάρουμε το μέτρο του αριθμού από αυτούς. Το πιο απλό παράδειγμα που μου έρχεται στο μυαλό. Πρέπει να σκεφτούμε ποια σειρά θα πάρουμε και την ενότητα από τι. Εάν απλώς από το 0 στο N και την ενότητα 2, τότε θα έχετε μια γεννήτρια του 1 και του 0:

Συνάρτηση* rand() ( const n = 100; const mod = 2; έστω i = 0; ενώ (true) (απόδοση i % mod; εάν (i++ > n) i = 0; ) ) έστω i = 0; for (έστω x της rand()) (αν (i++ > 100) σπάσει; console.log(x); )
Αυτή η συνάρτηση δημιουργεί για εμάς την ακολουθία 01010101010101 ... και δεν μπορεί να ονομαστεί καν ψευδοτυχαία. Για να είναι μια γεννήτρια τυχαία, πρέπει να περάσει τη δοκιμή για το επόμενο bit. Δεν έχουμε όμως τέτοιο καθήκον. Παρόλα αυτά, ακόμα και χωρίς κανένα τεστ, μπορούμε να προβλέψουμε την επόμενη ακολουθία, πράγμα που σημαίνει ότι ένας τέτοιος αλγόριθμος δεν είναι κατάλληλος στο μέτωπο, αλλά είμαστε στη σωστή κατεύθυνση.

Τι γίνεται όμως αν πάρουμε κάποια γνωστή, αλλά μη γραμμική ακολουθία, για παράδειγμα, τον αριθμό PI. Και ως τιμή για την ενότητα, θα πάρουμε όχι 2, αλλά κάτι άλλο. Μπορείτε ακόμη και να σκεφτείτε την αλλαγή της αξίας της μονάδας. Η ακολουθία των ψηφίων στο Pi θεωρείται τυχαία. Η γεννήτρια μπορεί να λειτουργήσει χρησιμοποιώντας pi ξεκινώντας από κάποιο άγνωστο σημείο. Ένα παράδειγμα ενός τέτοιου αλγορίθμου, με μια ακολουθία βασισμένη σε PI και αλλαγή modulo:

Const vector = [...Math.PI.toFixed(48).replace(".","")]; συνάρτηση* rand() ( for (έστω i=3; i<1000; i++) { if (i >99) i = 2; για (έστω n=0; n Αλλά στο JS, ο αριθμός PI μπορεί να εμφανιστεί μόνο έως 48 χαρακτήρες και όχι περισσότερους. Επομένως, εξακολουθεί να είναι εύκολο να προβλεφθεί μια τέτοια ακολουθία και κάθε εκτέλεση μιας τέτοιας γεννήτριας θα παράγει πάντα τους ίδιους αριθμούς. Αλλά η γεννήτρια μας έχει ήδη αρχίσει να δείχνει αριθμούς από το 0 έως το 9.

Πήραμε μια γεννήτρια αριθμών από το 0 έως το 9, αλλά η κατανομή είναι πολύ άνιση και θα δημιουργεί την ίδια ακολουθία κάθε φορά.

Μπορούμε να πάρουμε όχι τον αριθμό Pi, αλλά τον χρόνο σε αριθμητική αναπαράσταση και να θεωρήσουμε αυτόν τον αριθμό ως μια ακολουθία ψηφίων και για να αποτρέψουμε την επανάληψη της ακολουθίας κάθε φορά, θα τη διαβάζουμε από το τέλος. Συνολικά, ο αλγόριθμός μας για το PRNG μας θα μοιάζει με αυτό:

Συνάρτηση* rand() (έστω newNumVector = () => [...(+new Date)+""].reverse(); let vector = newNumVector(); έστω i=2; while (true) ( αν ( i++ > 99) i = 2, έστω n=-1, ενώ (++n< vector.length) yield (vector[n] % i); vector = newNumVector(); } } // TEST: let i = 0; for (let x of rand()) { if (i++ >100) διάλειμμα; console.log(x) )
Τώρα μοιάζει με μια γεννήτρια ψευδοτυχαίων αριθμών. Και το ίδιο Math.random() - είναι PRNG, θα το συζητήσουμε λίγο αργότερα. Επιπλέον, κάθε φορά ο πρώτος αριθμός είναι διαφορετικός.

Βασικά σε αυτά απλά παραδείγματαμπορείτε να καταλάβετε πώς λειτουργούν πιο πολύπλοκες γεννήτριες τυχαίων αριθμών.Και υπάρχουν ακόμη και έτοιμοι αλγόριθμοι. Για παράδειγμα, ας αναλύσουμε ένα από αυτά - αυτό είναι το Linear Congruent PRNG (LCPRNG).

Γραμμικό σύμφωνο PRNG

Το Linear Congruential PRNG (LCPRNG) -  είναι μια κοινή μέθοδος για τη δημιουργία ψευδοτυχαίων αριθμών. Δεν έχει κρυπτογραφική ισχύ. Αυτή η μέθοδος συνίσταται στον υπολογισμό των όρων μιας γραμμικής επαναλαμβανόμενης ακολουθίας modulo κάποιου φυσικού αριθμού m που δίνεται από έναν τύπο. Η ακολουθία που προκύπτει εξαρτάται από την επιλογή του αρχικού αριθμού - δηλ. σπόρος. Στο διαφορετικές έννοιεςΟ σπόρος δίνει διαφορετικές ακολουθίες τυχαίων αριθμών. Ένα παράδειγμα εφαρμογής ενός τέτοιου αλγορίθμου σε JavaScript:

Const a = 45; const c = 21; const m = 67; varseed = 2; const rand = () => seed = (a * seed + c) % m; for(έστω i=0; i<30; i++) console.log(rand())
Πολλές γλώσσες προγραμματισμού χρησιμοποιούν LCPRNG (αλλά όχι μόνο έναν τέτοιο αλγόριθμο (!).

Όπως αναφέρθηκε παραπάνω, μια τέτοια ακολουθία μπορεί να προβλεφθεί. Γιατί λοιπόν χρειαζόμαστε το PRNG; Αν μιλάμε για ασφάλεια, τότε το PRNG είναι πρόβλημα. Αν μιλάμε για άλλες εργασίες, τότε αυτές οι ιδιότητες  -  μπορούν να παίξουν ένα συν. Για παράδειγμα, για διάφορα ειδικά εφέ και κινούμενα σχέδια γραφικών, μπορεί να χρειαστεί να καλείτε συχνά τυχαία. Και εδώ η κατανομή των αξιών και η απόδοση είναι σημαντικές! Οι αλγόριθμοι ασφαλείας δεν μπορούν να καυχηθούν για ταχύτητα.

Μια άλλη ιδιότητα - αναπαραγωγιμότητα. Ορισμένες υλοποιήσεις σάς επιτρέπουν να καθορίσετε έναν σπόρο, κάτι που είναι πολύ χρήσιμο εάν πρόκειται να επαναληφθεί μια ακολουθία. Η αναπαραγωγή είναι απαραίτητη σε δοκιμές, για παράδειγμα. Και υπάρχουν πολλά άλλα πράγματα που δεν απαιτούν ασφαλές RNG.

Πώς λειτουργεί το Math.random().

Η μέθοδος Math.random() επιστρέφει έναν ψευδοτυχαίο αριθμό κινητής υποδιαστολής από το εύρος = crypto.getRandomValues(new Uint8Array(1)); αρχείο καταγραφής κονσόλας (rvalue)
Όμως, σε αντίθεση με το PRNG Math.random(), αυτή η μέθοδος απαιτεί πολύ πόρους. Το γεγονός είναι ότι αυτή η γεννήτρια χρησιμοποιεί κλήσεις συστήματος στο λειτουργικό σύστημα για πρόσβαση σε πηγές εντροπίας (διεύθυνση παπαρούνας, cpu, θερμοκρασία, κ.λπ. ...).

Διάφορες κληρώσεις, κληρώσεις κ.λπ. γίνονται συχνά σε πολλές ομάδες ή κοινό στα κοινωνικά δίκτυα, στο Instagram κ.λπ., και χρησιμοποιούνται από τους κατόχους λογαριασμών για να προσελκύσουν ένα νέο κοινό στην κοινότητα.

Το αποτέλεσμα τέτοιων κληρώσεων εξαρτάται συχνά από την τύχη του χρήστη, αφού ο παραλήπτης του δώρου καθορίζεται τυχαία.

Για έναν τέτοιο προσδιορισμό, οι διοργανωτές κληρώσεων χρησιμοποιούν σχεδόν πάντα μια ηλεκτρονική γεννήτρια τυχαίων αριθμών ή μια προεγκατεστημένη που διανέμεται δωρεάν.

Επιλογή

Πολύ συχνά, μπορεί να είναι δύσκολο να επιλέξετε μια τέτοια γεννήτρια, καθώς η λειτουργικότητά τους είναι αρκετά διαφορετική - για κάποιους είναι σημαντικά περιορισμένη, για άλλους είναι αρκετά ευρεία.

Ένας αρκετά μεγάλος αριθμός τέτοιων υπηρεσιών υλοποιείται, αλλά η δυσκολία είναι ότι διαφέρουν ως προς το εύρος τους.

Πολλοί, για παράδειγμα, συνδέονται με τη λειτουργικότητά τους με ένα συγκεκριμένο κοινωνικό δίκτυο (για παράδειγμα, πολλές εφαρμογές γεννήτριας στο VKontakte λειτουργούν μόνο με συνδέσμους αυτού του κοινωνικού δικτύου).

Οι απλούστερες γεννήτριες παράγουν απλώς έναν τυχαίο αριθμό μέσα σε ένα δεδομένο εύρος.

Αυτό είναι βολικό γιατί δεν συσχετίζει το αποτέλεσμα με μια συγκεκριμένη ανάρτηση, πράγμα που σημαίνει ότι μπορούν να χρησιμοποιηθούν για κληρώσεις εκτός του κοινωνικού δικτύου και σε διάφορες άλλες καταστάσεις.

Πραγματικά δεν έχουν άλλη χρήση.

<Рис. 1 Генератор>

Συμβουλή!Όταν επιλέγετε την καταλληλότερη γεννήτρια, είναι σημαντικό να λάβετε υπόψη τον σκοπό για τον οποίο θα χρησιμοποιηθεί.

Προδιαγραφές

Για την ταχύτερη διαδικασία επιλογής της βέλτιστης διαδικτυακής υπηρεσίας παραγωγής τυχαίων αριθμών, ο παρακάτω πίνακας δείχνει τα κύρια τεχνικά χαρακτηριστικά και τη λειτουργικότητα τέτοιων εφαρμογών.

Πίνακας 1. Χαρακτηριστικά της λειτουργίας διαδικτυακών εφαρμογών για τη δημιουργία τυχαίου αριθμού
Ονομα Κοινωνικό δίκτυο Πολλαπλά αποτελέσματα Επιλέξτε από μια λίστα αριθμών Διαδικτυακό γραφικό στοιχείο για ιστότοπο Επιλέξτε από μια σειρά Απενεργοποιήστε τις επαναλήψεις
περιποιήσεις Ναί Ναί Οχι Ναί Οχι
Ρίχνω κλήρους Επίσημος ιστότοπος ή VKontakte Οχι Οχι Ναί Ναί Ναί
Τυχαίος αριθμός Επίσημη ιστοσελίδα Οχι Οχι Οχι Ναί Ναί
Randomus Επίσημη ιστοσελίδα Ναί Οχι Οχι Ναί Οχι
τυχαίους αριθμούς Επίσημη ιστοσελίδα Ναί Οχι Οχι Οχι Οχι

Όλες οι εφαρμογές που αναφέρονται στον πίνακα περιγράφονται λεπτομερέστερα παρακάτω.

<Рис. 2 Случайные числа>

περιποιήσεις

<Рис. 3 RandStuff>

Μπορείτε να χρησιμοποιήσετε αυτήν την εφαρμογή ηλεκτρονικά χρησιμοποιώντας τον σύνδεσμο στον επίσημο ιστότοπο http://randstuff.ru/number/.

Αυτή είναι μια απλή γεννήτρια τυχαίων αριθμών, χαρακτηρίζεται από γρήγορη και σταθερή λειτουργία.

Υλοποιείται με επιτυχία τόσο με τη μορφή ξεχωριστής ανεξάρτητης εφαρμογής στον επίσημο ιστότοπο όσο και ως εφαρμογή στο κοινωνικό δίκτυο VKontakte.

Η ιδιαιτερότητα αυτής της υπηρεσίας είναι ότι μπορεί να επιλέξει έναν τυχαίο αριθμό τόσο από το καθορισμένο εύρος όσο και από μια συγκεκριμένη λίστα αριθμών που μπορεί να καθοριστεί στον ιστότοπο.

Πλεονεκτήματα:

  • Σταθερή και γρήγορη εργασία.
  • Έλλειψη άμεσης σύνδεσης με το κοινωνικό δίκτυο.
  • Μπορείτε να επιλέξετε έναν ή περισσότερους αριθμούς.
  • Μπορείτε να επιλέξετε μόνο από τους συγκεκριμένους αριθμούς.

Μειονεκτήματα:

  • Η αδυναμία διεξαγωγής κλήρωσης στο VKontakte (αυτό απαιτεί ξεχωριστή εφαρμογή).
  • Οι εφαρμογές για το VKontakte δεν εκτελούνται σε όλα τα προγράμματα περιήγησης.
  • Το αποτέλεσμα μερικές φορές φαίνεται προβλέψιμο, αφού χρησιμοποιείται μόνο ένας αλγόριθμος υπολογισμού.

Οι κριτικές χρηστών σχετικά με αυτήν την εφαρμογή είναι οι εξής: «Καθορίζουμε τους νικητές στις ομάδες VKontakte μέσω αυτής της υπηρεσίας. Ευχαριστώ», «Είσαι ο καλύτερος», «Χρησιμοποιώ μόνο αυτήν την υπηρεσία».

Ρίχνω κλήρους

<Рис. 4 Cast Lots>

Αυτή η εφαρμογή είναι μια απλή γεννήτρια λειτουργιών, που υλοποιείται στον επίσημο ιστότοπο, με τη μορφή εφαρμογής VKontakte.

Υπάρχει επίσης ένα γραφικό στοιχείο γεννήτριας για ενσωμάτωση στον ιστότοπό σας.

Η κύρια διαφορά από την προηγούμενη περιγραφείσα εφαρμογή είναι ότι αυτό σας επιτρέπει να απενεργοποιήσετε την επανάληψη του αποτελέσματος.

Δηλαδή, όταν διεξάγετε πολλές γενιές στη σειρά σε μία συνεδρία, ο αριθμός δεν θα επαναληφθεί.

  • Η παρουσία ενός γραφικού στοιχείου για εισαγωγή σε ιστότοπο ή ιστολόγιο.
  • Δυνατότητα απενεργοποίησης της επανάληψης του αποτελέσματος.
  • Η παρουσία της συνάρτησης «ακόμα πιο τυχαία», μετά την ενεργοποίηση της οποίας αλλάζει ο αλγόριθμος επιλογής.

Αρνητικός:

  • Η αδυναμία προσδιορισμού πολλών αποτελεσμάτων ταυτόχρονα.
  • Αδυναμία επιλογής από μια συγκεκριμένη λίστα αριθμών.
  • Για να επιλέξετε έναν νικητή δημόσια, πρέπει να χρησιμοποιήσετε ένα ξεχωριστό γραφικό στοιχείο VKontakte.

Οι κριτικές χρηστών είναι οι εξής: "Λειτουργεί σταθερά, είναι αρκετά βολικό στη χρήση", "Βολική λειτουργικότητα", "Χρησιμοποιώ μόνο αυτήν την υπηρεσία".

Τυχαίος αριθμός

<Рис. 5 Случайное число>

Αυτή η υπηρεσία βρίσκεται στη διεύθυνση http://random number.rf/.

Μια απλή γεννήτρια με ελάχιστες λειτουργίες και πρόσθετα χαρακτηριστικά.

Μπορεί να δημιουργήσει τυχαία αριθμούς εντός ενός δεδομένου εύρους (μέγιστο από 1 έως 99999).

Ο ιστότοπος δεν έχει γραφικό σχέδιο και επομένως η φόρτωση της σελίδας είναι εύκολη.

Το αποτέλεσμα μπορεί να αντιγραφεί ή να ληφθεί με το πάτημα ενός κουμπιού.

Αρνητικός:

  • Δεν υπάρχει widget για το VKontakte.
  • Δεν υπάρχει δυνατότητα διεξαγωγής κληρώσεων.
  • Δεν υπάρχει τρόπος να εισαγάγετε το αποτέλεσμα σε ένα blog ή ιστότοπο.

Δείτε τι λένε οι χρήστες για αυτήν την υπηρεσία: "Καλή γεννήτρια, αλλά όχι αρκετές λειτουργίες", "Πολύ λίγες δυνατότητες", "Κατάλληλο για γρήγορη δημιουργία αριθμού χωρίς περιττές ρυθμίσεις".

Randomus

<Рис. 6 Рандомус>

Μπορείτε να χρησιμοποιήσετε αυτήν τη γεννήτρια τυχαίων αριθμών στη διεύθυνση http://randomus.ru/.

Άλλο ένα απλό, αλλά λειτουργική γεννήτρια τυχαίων αριθμών.

Η υπηρεσία έχει επαρκή λειτουργικότητα για τον προσδιορισμό τυχαίων αριθμών, ωστόσο, δεν είναι κατάλληλη για κληρώσεις και άλλες πιο περίπλοκες διαδικασίες.

Αρνητικός:

  • Η αδυναμία διεξαγωγής κληρώσεων με βάση αναδημοσιεύσεις αναρτήσεων κ.λπ.
  • Δεν υπάρχει εφαρμογή για VKontakte ή γραφικό στοιχείο για τον ιστότοπο.
  • Δεν είναι δυνατό να απενεργοποιήσετε την επανάληψη των αποτελεσμάτων.


Μπλουζα