Σκιώδη Παραλειπόμενα

του
Κώστα Βουλαζέρη

Αρχείο | RSS Feed

Αναζήτηση Μυστηριακές ΟντότητεςΠαλιά Ελληνικά Εξώφυλλα

Τυχαία

Μια στιγμή...
5 / 3 / 2020

Τελευταία ασχολούμαι με προγραμματισμό πολύ περισσότερο απ’ό,τι παλιά (ίσως να έχω κολλήσει κάποιο μικρόβιο) και έτυχε να παρατηρήσω κάτι που κι αρκετοί άλλοι προγραμματιστές έχω διαβάσει ότι έχει τύχει να παρατηρήσουν: Πολλοί τυχαίοι αριθμοί που βγάζουν οι υπολογιστές δεν είναι αρκετά τυχαίοι.

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

Το random seed, για όσους δεν ξέρουν, είναι ένας δεκαδικός αριθμός της μορφής μηδέν-κόμμα-κάτι (πχ, 0,234554) ο οποίος αλλάζει κάθε τόσο. Το πιο απλό είναι να βάλεις το σύστημα να τον φτιάχνει βάσει των κλασμάτων του δευτερολέπτου κάθε δεδομένη στιγμή.

Μετά, το seed το πολλαπλασιάζεις με τον μέγιστο και τον ελάχιστο αριθμό που θες να πάρεις – πχ, από 1 έως 10. Έτσι, τελικά, έχεις μια υπολογιστική λειτουργία σαν αυτή (περίπου ίδια σ’όλες τις γλώσσες προγραμματισμού): seed * (max - min) + min. Και όλο αυτό το κάνει floor, δηλαδή το στρογγυλοποιήσεις προς τα κάτω. Πχ, αν έρθει 10,6 γίνεται 10. Επομένως, η λειτουργία καταλήγει να είναι κάπως έτσι: floor(seed * (max - min) + min).

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

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

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

Γιατί;

Μετά, το βρήκα. Έτσι μου φαίνεται, τουλάχιστον. Φταίει το floor – η στρογγυλοποίηση προς τα κάτω.

Μπορείς, όμως, να του βάλεις να στρογγυλοποιεί τον αριθμό, όχι προς τα κάτω, αλλά προς τον κοντινότερο ακέραιο. Πχ, το 80,3 να γίνεται 80, αλλά το 80,6 να γίνεται 81. Εδώ όμως, σύμφωνα με τις κλασικές υπολογιστικές λειτουργίες τύπου «seed * (max - min) ) + min» παρουσιάζεται ένα άλλο πρόβλημα. Αν του βάλεις, πχ, να σου δώσει αριθμό από 1 έως 10, μπορεί να σου δώσει και 0, ή και 11. Κατά τα άλλα, η διασπορά είναι καλή.

Πώς να αποφύγεις το ελάχιστο - 1 και το μέγιστο +1;

Η καλύτερη απάντηση σ’αυτό σκέφτηκα πως είναι ένα απλό loop. Και το ξέρω ότι αυτά είναι «κινέζικα» για όσους δεν ξέρουν από προγραμματισμό. Το loop είναι μια διαρκής επανάληψη της υπολογιστικής λειτουργίας μέχρι να συμβεί κάτι μέσα στο σύστημα. Οπότε, εδώ πρέπει να βάλεις να κάνει loop μέχρι που το αποτέλεσμά σου να μην είναι ελάχιστο-1 ή μέγιστο+1.

Το δοκίμασα και είδα πως η διασπορά βγαίνει καλή.

Οπότε, η υπολογιστική λειτουργία είναι κάπως έτσι:

num = ROUND(seed * (max - min) + min)
loop until (num > min-1) and (num < max+1)

Είναι καλύτερο από το άλλο; Φαίνεται, πάντως, να έχει καλύτερη διασπορά – βλέπω πιο πολλές τυχαίες εικόνες να βγαίνουν απ’ό,τι έβγαιναν πριν – αλλά δεν είναι πολύς καιρός που το έχω δοκιμάσει.

Θα δείξει...

 

 

Επίσης . . .

Τι Είναι, Τελικά, Φανταστική Λογοτεχνία;


Νοείται φανταστική λογοτεχνία χωρίς το υπερβατικό στοιχείο;

Τι είναι εκείνο που κάνει τη φανταστική λογοτεχνία φανταστική; Έχετε ποτέ αναρωτηθεί; Είναι απλώς το να είναι μια αφήγηση ευφάνταστη; Είναι το να περιλαμβάνει υπερφυσικά στοιχεία; Είναι το να διαδραματίζεται σε άλλους κόσμους (και μόνο αυτό, ίσως); Είναι το να έχει ορκ και ξωτικά; Είναι το να έχει μάγους και δράκους; Είναι το να έχει ανθρώπους με εξωφρενικές δυνάμεις (κάποιου είδους);

Πρέπει να έχει κάτι από τα παραπάνω, ή και τίποτα;

Τελευταία, λοιπόν, διαβάζω την Dandelion Dynasty, την τετραλογία του Ken Liu (τίτλοι: The Grace of Kings· The Wall of Storms· The Veiled Throne· Speaking Bones). Είμαι τώρα στο τελευταίο βιβλίο, και με έχει ήδη κάνει να σκεφτώ κάποια πράγματα που μάλλον περισσότερο σε γενικό άρθρο ταιριάζουν παρά σε βιβλιοκριτική. Θα κάνω και βιβλιοκριτική όταν τελειώσω την τετραλογία· αλλά αυτό το άρθρο δεν θα χωρά εκεί σε καμία περίπτωση. Στέκεται από μόνο του.

Περιληπτικά, για την Dandelion Dynasty, θα πω ότι τα δύο πρώτα βιβλία μού άρεσαν πολύ (όπως έχω ήδη γράψει στα αναγνώσματά μου του 2025), αλλά από το τρίτο άρχισε να με απογοητεύει σφοδρά. Και συνεχίζει έτσι στο τέταρτο. Με το ζόρι το διαβάζω, απλά και μόνο γιατί έχω μια περιέργεια να δω πώς θα τελειώσει αλλά και για να μην πω ότι το άφησα στη μέση. Κρίμα που έχασε τον δυναμισμό του...

Αλλά δεν είναι αυτό το θέμα τούτου του άρθρου.

[Συνέχισε να διαβάζεις]

 

Επιλογές Μαΐου (26/5)


—γκράφιτι από τη Βραζιλία ... Zoomquilt 1 & 2 (& παρόμοια) ... Gen Z πριν από δύο αιώνες ... Gilgamesh (μια μικρή ταινία) ... Εξώφυλλα για το The Man Who Fell to Earth ... The Warrior's Comic Book Den ... 10 ταινίες με απάτες & απατεώνες ... Παράξενη αρχιτεκτονική (στη φανταστική λογοτεχνία) ... ALGOFOLK ... John Bolton (τέχνη) ... Houston Blacklight & Poster Company (& αφίσες blacklight από το ’70) ... Her Private Hell (από τον δημιουργό του The Neon Demon) ... Twilight Zone της Gold Key (κόμιξ) ... Heaven & Hellhound (δωρεάν βιβλίο) ... ταινίες με τρένα ... & πολλά, πολλά ακόμα στο LinX!

 

Οι Θεοί Μιλούν — Το Κλεμμένο Βασίλειο, Τόμος 1


Ο Πρίγκιπας Κάλνεντουρ ωλ Κάρνελεκ επιστρέφει, ύστερα από χρόνια, στην πατρίδα του: το Βασίλειο της Χάρνωθ στη διάσταση της Μοργκιάνης. Στην Υπερυδάτια ήταν γνωστός ως ο Οφιομαχητής· εδώ δεν έχει καμιά από εκείνες τις υπερφυσικές δυνάμεις, αλλά διαπιστώνει ότι παρατηρεί παρουσίες που άλλοι δεν τις παρατηρούν, κι ακούει καλέσματα που άλλοι δεν τα ακούνε. Έχει τρελαθεί από τη μετάβαση ανάμεσα στις διαστάσεις;

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

Εν τω μεταξύ, η Βασίλισσα Ζώθμαλιρ αλ Μακμάρνουν, που σφετερίστηκε τον θρόνο από τον αδελφό του Κάλνεντουρ πριν από χρόνια, τώρα στέλνει τον στρατό της εναντίον της Όσβελακ, μιας πόλης μέσα στα σκοτεινά Χαρνώθια δάση η οποία διοικείται από τη Χάνκαθιρ αλ Νασόλντουν, γνωστή και ως Κόμισσα των Σκιών. Η Βασίλισσα είναι σίγουρη ότι η Κόμισσα των Σκιών υποθάλπει παρανόμους και φυγάδες και αψηφά την εξουσία της. Σκοπεύει να δώσει ένα τέλος σ’αυτό, προτού προχωρήσει και σε άλλους κακούργους μέσα στο Βασίλειό της, όπως ο επικίνδυνος ληστής Έλκερθιν ο Θανατογέννητος.

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

Κατεβάστε το