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

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

Αρχείο | 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)

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

Θα δείξει...

 

 

Επίσης . . .

Γιατί Δεν μας Αρέσει η Παράδοσή μας;


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

Ή, μάλλον, αυτό είναι αρκετά γενικό· δεν ισχύει για όλους τους συγγραφείς φαντασίας στην Ελλάδα. Υπάρχουν και ορισμένοι που, φανατικά μάλιστα, γράφουν ιστορίες με έντονη βάση στην ελληνική παράδοση. Αλλά το κάνουν μόνο ορισμένοι, και καλό είναι αφού τους αρέσει. Όμως δεν το κάνουν όλοι, και όσοι δεν το κάνουν έχουν συχνά μπει στο στόχαστρο. Έχουν ακουστεί διάφορα άσχημα λόγια, ότι δεν είναι «αρκετά ελληνικά» αυτά που γράφουν, ότι «δεν τους αρέσει η Ελλάδα», ότι «είναι ξενόφερτη η θεματολογία τους», και παρόμοια μαργαριτάρια.

Κάποιοι φαίνεται να νομίζουν ότι, αν είσαι Έλληνας, πρέπει συνέχεια να γράφεις για τον Δία και τον Ηρακλή, για την Ελληνική Επανάσταση, ή για την καταστροφή της Σμύρνης· για τη Χούντα, για τον Εμφύλιο, ή για την Αντίσταση. Οτιδήποτε άλλο απαγορεύεται! Αν είσαι Έλληνας. Αν είσαι ξένος, εντάξει, όλα καλά· γράψε ό,τι γουστάρεις, βρε αδελφέ. Αλλά, αν είσαι Έλληνας, πρέπει να έχεις περιορισμένη θεματολογία. Για κάποιο μυστηριώδη λόγο.

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

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

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

 

Επιλογές Ιουλίου (21/7)


αμφιλεγόμενα κινούμενα σχέδια, και The New Northland (του Louis Pope Gratacap – 1915), και Jasmine Becket-Griffith & David Van Gough (παραμυθένια, νεκροσουρεαλιστική τέχνη), και ελληνικοί μύθοι σε ταινίες, και The Cube (του Jim Henson – 1969), και η λεηλασία της επιστημονικής φαντασίας (από τους σύγχρονους τεχνολογικούς γίγαντες), και The Cosmic Dope (φιλμ ΕΦ μικρού μήκους), και Δαιμονικά, Χίμαιρες, & το Γκροτέσκο στη Γαλλική Γοτθική Γλυπτική, και το Ατελιέ Heinrichs & Bachmann (εξώφυλλα για βιβλία φαντασίας: ’60–’80), και Clifford D. Simak (μυθιστορήματα ηρωικής φαντασίας), και Bob Peak (τέχνη από την ταινία Excalibur), και Sweets to the Sweet (ο Robert Bloch στην οθόνη), και Richard Powers (ψυχεδελικοσουρεαλιστική τέχνη εξώφυλλων φαντασίας), και: ακόμα περισσότερα στο LinX...

 

Η Πολιτική της Φανταστικής Λογοτεχνίας


Η φανταστική λογοτεχνία είναι γεμάτη μονάρχες, ευγενείς, και αριστοκρατία. Το ίδιο (παραδόξως;) ισχύει και για την επιστημονική φαντασία (ή, μήπως, θα έπρεπε απλά να την πούμε φαντασία στο διάστημα;), όπως στο Dune του Herbert, ή, για ένα ακόμα πιο παλιό παράδειγμα, όπως στο Princess of Mars και τις συνέχειές του, του Burroughs. Σε όλα αυτά τα βιβλία έχουμε βασιλιάδες και βασίλισσες, πρίγκιπες και πριγκίπισσες, και κάθε είδους τρελό ή ηρωικό αριστοκράτη.

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

Για το Dune, συγκεκριμένα, είχα διαβάσει κάποιον να σχολιάζει ότι η κοινωνία του είναι «οπισθοδρομική». Και ίσως όντως να είναι... Δηλαδή, αναλογιστείτε: αυτοί οι άνθρωποι ταξιδεύουν στο διάστημα, αλλά ακόμα έχουν δούκες και βαρόνους; Δεν έχουν αντιληφτεί την έννοια της δημοκρατίας; Μαλάκες είναι;

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

Και δεν μπορείς να το κάνεις αυτό με δημοκρατικό πολίτευμα, ρε άνθρωπε; Γιατί;

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