sotsak Δημοσ. 8 Ιουλίου 2004 Δημοσ. 8 Ιουλίου 2004 Είναι δυνατόν εφ'όσον γνωρίζουμε πχ τα 100 αποτελέσματα ενός προγράμματος τυχαίων αριθμών έστω 3ψήφιων,χωρίς να γνωρίζουμε το παραμικρό για τον αλγόριθμο που χρησιμοποείται για την παραγωγή τους,να φτιάξουμε ένα δεύτερο πρόγραμμα που να παράγει ακριβώς τους ίδιους τυχαίους αριθμούς?Σε πρώτη σκέψη ίσως είναι αδύνατα γιατί ακόμη και αν βγάλει τους 100 ίδιους πάντα υπάρχει η περίπτωση ο 101 να είναι διαφορετικός αλλα τεσπα θέλω να ακούσω απόψεις...Ευχαριστω
baxter Δημοσ. 8 Ιουλίου 2004 Δημοσ. 8 Ιουλίου 2004 skepsou tin periptwsi pou gia na vgei enas tihaios arithmos hrisimopoiei tin wra (ektos allwn praxewn) , px ti ekatosto tou defteroleptou einai klp... se aftin tin periptwsi tha borouses na vreis ton algorithmo? noway. an ohi adinato, einai shedon adinato na vreis ton algorithmo..
StavrosD Δημοσ. 8 Ιουλίου 2004 Δημοσ. 8 Ιουλίου 2004 Είναι εξαιρετικά δύσκολο, επειδή οι ρουτίνες που φτιάχνουν ψευδοτυχαίους αριθμούς βασίζονται σε τιμές που παίρνουν από το ρολόι του συστήματος. Όμως, δεν μπορείς να ξέρεις πότε θα πάρει τιμή από το ρολόι, καθώς αυτό εξαρτάται από πόσες και ποιές άλλες εφαρμογές τρέχουν, τα priorities κτλ (ουσιαστικά τα windows χωρίζουν το 1sec σε slices των 20msec αν θυμάμαι καλά. Δεν ξέρεις πότε ακριβώς θα εκτελεστεί ένα slice του προγράμματος αυτού)
cronos Δημοσ. 8 Ιουλίου 2004 Δημοσ. 8 Ιουλίου 2004 Είναι εξαιρετικά δύσκολο, επειδή οι ρουτίνες που φτιάχνουν ψευδοτυχαίους αριθμούς βασίζονται σε τιμές που παίρνουν από το ρολόι του συστήματος. Όχι αναγκαστικά. Δεν βασίζονται όλοι οι αλγόριθμοι στο ρολόι του συστήματος. Ξέρω αλγορίθμους που μπορούν να πάρουν ένα νούμερο, να το πολλαπλασιάσουν/διαιρέσουν/προσθέσουν/αφαιρέσουν/αλλάξουν τα δύο πρώτα ψηφία κλπ και πάλι από την αρχή. Φυσικά επειδή οι αριθμοί δεν είναι πραγματικά τυχαίοι, υπάρχει η πιθανότητα να πέσεις σε ελκτικό κέντρο και μετά από ορισμένο αριθμό βημάτων να πάρεις τον αριθμό με τον οποίο ξεκίνησες. Το τελευταίο μου έχει συμβεί.
alkisg Δημοσ. 9 Ιουλίου 2004 Δημοσ. 9 Ιουλίου 2004 Συνήθως οι γεννήτριες τυχαίων αριθμών βασίζονται στο ρολόι ΜΟΝΟ για την αρχικοποίηση (π.χ. randomize της Pascal) και στη συνέχεια εφαρμόζουν μία πολυωνυμική συνάρτηση μεγάλου περιττού βαθμού, π.χ. x^11 + 5* x^3 + 1. Λογικά αν περνούσες τις τιμές σε ένα μαθηματικό πακέτο προσέγγισης συναρτήσεων θα μπορούσες να εντοπίσεις το πολυώνυμο. Το κακό όμως είναι ότι ο τελικός αριθμός είναι το ΥΠΟΛΟΙΠΟ της τιμής του πολυωνύμου με το μέγιστο τυχαίο αριθμό που ζητάς, στην περίπτωσή σου το 1000 (=> τριψήφιοι), και αυτό κάνει την τελική συνάρτηση μη πολυωνυμική και άρα μη προσεγγίσιμη από έτοιμα πακέτα. Θα πρέπει να σκεφτείς κάποιον ευρετικό αλγόριθμο που να συνδυάζει μαθηματική ανάλυση τέτοιων πολυωνυμικών συναρτήσεων και πολλαπλές δοκιμές με τυχαίους συντελεστές.
chr_nikol Δημοσ. 10 Ιουλίου 2004 Δημοσ. 10 Ιουλίου 2004 anarwtieme se ti tha boruse na su xriasti afto... an mas eleges isws su protiname kati kalitero wste na kanis afto pu thelis...
Lyman_Zerga Δημοσ. 10 Ιουλίου 2004 Δημοσ. 10 Ιουλίου 2004 anarwtieme se ti tha boruse na su xriasti afto... Χεχεχεχεχεχε
Γηρυόνης Δημοσ. 14 Ιουλίου 2004 Δημοσ. 14 Ιουλίου 2004 Δε βασίζονται μόνο στο ρολόι αλλά και σε πολλές άλλες επιμέρους λειτουργίες, π.χ. αριθμός πατήματος πλήκτρων ή αριθμός πατήματος του ποντικιού. Οι υπολογιστές μπορούνε πολύ πιο δύσκολα να υπολογίζουνε τυχαίους αριθμούς από ότι οι άνθρωποι. Όσο για την αρχική ερώτηση, προσωπικώς πιστεύω ότι είναι αδύνατον, εκτός αν είσαι πάρα πολύ τυχερός και βγούνε 100 ίδιοι αριθμοί.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.