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



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

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

των υπολογιστών — και οι οποίες κωδικοποιούνται σχεδόν με τον ίδιο τρόπο.

Το νέο βιβλίο του Michael Littman,


Code to Joy: Γιατί όλοι πρέπει να μάθουν λίγο προγραμματισμό


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

Κωδικός στο Joy

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


Τύπος MIT


Απόσπασμα από


Code to Joy: Γιατί όλοι πρέπει να μάθουν λίγο προγραμματισμό


από τον Michael L Littman. Εκδόθηκε από το MIT Press. Πνευματικά δικαιώματα © 2023 από τον Michael L Littman. Ολα τα δικαιώματα διατηρούνται.


“ΔΩΣΕ ΕΝΑ ΜΠΛΕ!”

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

  • ακούστε προσεκτικά τις οδηγίες

  • κρατήστε το πάνω μέρος της κάρτας στο ύψος των ματιών (όχι πάνω από το κεφάλι σας)

  • κρατήστε πατημένο το υποδεικνυόμενο χρώμα προς το πεδίο (όχι προς το μέρος σας)

  • περάστε κάρτες στο διάδρομο με την ολοκλήρωση των ακροβατικών (μην σκίζετε τις κάρτες)

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

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

  1. Μπλε

  2. Μπλε

  3. Μπλε

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

Τα κόλπα με κάρτες ξεκίνησαν ως δραστηριότητα συμμετοχής πλήθους στα κολεγιακά αθλήματα τη δεκαετία του 1920. Έγιναν πολύ λιγότερο δημοφιλείς τη δεκαετία του 1970 όταν ήταν γενικά αποδεκτό ότι ο καθένας έπρεπε να κάνει το δικό του, φίλε. Στη δεκαετία του 1950, ωστόσο, υπήρχε μια πραγματική πείνα για τη δημιουργία ολοένα και πιο περίτεχνων οθονών. Οι ομάδες ευθυμίας σχεδίαζαν τα ακροβατικά με το χέρι και στη συνέχεια ετοίμαζαν μεμονωμένες οδηγίες για κάθε μία από τις χίλιες θέσεις. Πρέπει να αγαπάς πραγματικά την ομάδα σου για να αφιερώσεις αυτό το είδος ενέργειας. Μερικά σχολεία στη δεκαετία του 1960 πίστευαν ότι αυτά τα καινούργια πράγματα στον υπολογιστή θα μπορούσαν να είναι χρήσιμα για την αφαίρεση μερικών από την αγγαρεία της προετοιμασίας της διδασκαλίας και σχεδίασαν προγράμματα για να μετατρέψουν ακολουθίες εικόνων που σχεδιάζονταν με το χέρι σε εξατομικευμένες οδηγίες για κάθε έναν από τους συμμετέχοντες. Με τη βοήθεια των υπολογιστών, οι άνθρωποι μπορούσαν να παράγουν πολύ πιο πλούσιες εξατομικευμένες ακολουθίες για κάθε άτομο pixel που έλεγαν πότε να σηκώσετε μια κάρτα, ποιο χρώμα να σηκώσετε και πότε να την αφήσετε κάτω ή να αλλάξετε σε άλλη κάρτα. Έτσι, ενώ το παράδειγμα ερωτηματολογίου από την προηγούμενη ενότητα αφορούσε τους ανθρώπους που φτιάχνουν ακολουθίες εντολών για να ακολουθήσει ο υπολογιστής, αυτό το παράδειγμα αφορά τον υπολογιστή που δημιουργεί ακολουθίες εντολών για

Ανθρωποι

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

  • επάνω στο 001 λευκό

  • 003 μπλε

  • 005 λευκό

  • 006 κόκκινο

  • 008 λευκό

  • 013 μπλε

  • 015 λευκό

  • 021 κάτω

  • επάνω στο 022 λευκό

  • 035 κάτω

  • επάνω στο 036 λευκό

  • 043 μπλε

  • 044 κάτω

  • επάνω στο 045 λευκό

  • 057 μεταλλικό κόκκινο

  • 070 κάτω

Εντάξει, εξακολουθεί να μην είναι τόσο διασκεδαστικό να διαβάζεις τις οδηγίες όσο να βλέπεις το τελικό προϊόν – σε αυτό το πραγματικό παράδειγμα, είναι μέρος ενός κινούμενου “S” του Stanford. Για να εκτελέσει αυτές τις εντολές με συγχρονισμένο τρόπο, ένας εκφωνητής στο στάδιο καλεί τον αριθμό βήματος («Σαράντα ένα!») και κάθε συμμετέχων μπορεί να πει από τις οδηγίες του τι να κάνει («Ακόμα κρατάω ψηλά τη λευκή κάρτα Σήκωσα το 36, αλλά ετοιμάζομαι να το αλλάξω με μπλε κάρτα όταν το μέτρημα φτάσει στο 43”).

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

Αυτές τις μέρες, οι υπολογιστές κάνουν απλή υπόθεση τη μετατροπή μιας φωτογραφίας σε οδηγίες σχετικά με τα χρώματα που πρέπει να κρατηθούν. Ουσιαστικά, οποιαδήποτε ψηφιοποιημένη εικόνα είναι ήδη ένα σύνολο οδηγιών για το τι μείγμα κόκκινου, μπλε και πράσινου πρέπει να εμφανίζεται σε κάθε θέση εικόνας. Μια ενδιαφέρουσα πρόκληση για τη μετάφραση μιας εικόνας σε οδηγίες για κόλπο με κάρτες είναι ότι οι τυπικές εικόνες αποτελούνται από εκατομμύρια έγχρωμες κουκκίδες (megapixel), ενώ ένα τμήμα κόλπο με κάρτες ενός σταδίου έχει ίσως χίλιες θέσεις. Αντί να ζητάτε από κάθε άτομο να κρατήσει χίλιες μικροσκοπικές κάρτες, είναι πιο λογικό να υπολογίσετε τον μέσο όρο των χρωμάτων σε αυτό το μέρος της εικόνας. Στη συνέχεια, από τη συλλογή των διαθέσιμων χρωμάτων (ας πούμε, τις κλασικές επιλογές εξήντα τεσσάρων Crayola), ο υπολογιστής απλώς επιλέγει το πιο κοντινό στο μέσο όρο.

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

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

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

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

  • πάρτε τη διαφορά μεταξύ της ποσότητας του κόκκινου στα δύο χρώματα τετραγωνίστε το

  • πάρτε τη διαφορά μεταξύ της ποσότητας του μπλε στα δύο χρώματα τετραγωνίστε την

  • πάρτε τη διαφορά μεταξύ της ποσότητας του πράσινου στα δύο χρώματα τετράγωνο προσθέστε τα τρία τετράγωνα μαζί

  • πάρτε την τετραγωνική ρίζα

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

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

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

Αυτή η αλλαγή προοπτικής ανοίγει τη δυνατότητα να μεταβιβαστεί περισσότερος έλεγχος της διαδικασίας δημιουργίας ακολουθίας εντολών στο μηχάνημα. Όσον αφορά το πλέγμα 2 × 2 από το κεφάλαιο 1, μπορούμε να περάσουμε από την αφήγηση (παροχή ρητών οδηγιών) στην εξήγηση (παροχή ρητών κινήτρων). Για παράδειγμα, υπάρχει μια παραλλαγή αυτού του προβλήματος επιλογής χρώματος που είναι πολύ πιο δύσκολη και δίνει στον υπολογιστή πιο ενδιαφέρουσα δουλειά να κάνει. Φανταστείτε ότι μπορούσαμε να εκτυπώσουμε κάρτες οποιουδήποτε χρώματος χρειαζόμασταν, αλλά το τυπογραφείο μας επιμένει να παραγγέλνουμε τις κάρτες χύμα. Μπορούν να μας δώσουν μόνο οκτώ διαφορετικά χρώματα καρτών, αλλά μπορούμε να επιλέξουμε όσα χρώματα θέλουμε για να φτιάξουμε αυτά τα οκτώ. (Οκτώ είναι ο αριθμός των διαφορετικών τιμών που μπορούμε να κάνουμε με 3 bit – τα bit εμφανίζονται πολλά στον υπολογισμό.) Έτσι θα μπορούσαμε να επιλέξουμε μπλε, πράσινο, μπλε-πράσινο, μπλε-βιολετί, cerulean, indigo, μπλε δόκιμου και μπλε του ουρανού , και αποδίδουν ένα όμορφο κύμα του ωκεανού σε οκτώ αποχρώσεις του μπλε. Εξαιρετική!

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

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

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

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

Αυτό το άρθρο εμφανίστηκε αρχικά στο Engadget στη διεύθυνση https://www.engadget.com/hitting-the-books-code-to-joy-michael-l-littman-mit-press-153036241.html?src=rss


VIA:

engadget.com


Leave A Reply



Cancel Reply

Your email address will not be published.