Το μαθηματικό μυστήριο πίσω από το Quake 3 της δεκαετίας του '90

Επιμέλεια:  Θοδωρής Ρούσσος
Το μαθηματικό μυστήριο πίσω από το Quake 3 της δεκαετίας του '90

bet365

Δείτε πώς ο μυστηριώδης αλγόριθμος του Quake 3 υπολόγιζε την αντίστροφη τετραγωνική ρίζα με εκπληκτική ακρίβεια, κρύβοντας ένα μυστήριο της δεκαετίας του '90.

Το Quake III Arena, γνωστό ως Quake 3, δεν είναι απλώς ένα από τα πιο θρυλικά παιχνίδια δράσης της δεκαετίας του 1990, αλλά κρύβει και ένα μαθηματικό μυστήριο που εξακολουθεί να συναρπάζει τους προγραμματιστές και τους επιστήμονες υπολογιστών.

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

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

 

Οι προγραμματιστές του Quake 3 έλυσαν το πρόβλημα με μια «μαγική» σταθερά - το δεκαεξαδικό σύστημα αρίθμησης 0x5f3759df - που επέτρεπε τον υπολογισμό της αντίστροφης τετραγωνικής ρίζας με μόνο μία επανάληψη της μεθόδου Newton-Raphson, εξοικονομώντας χρόνο και πόρους. Η ακριβής προέλευση του αριθμού παραμένει μυστήριο, αν και η έρευνα του Chris Lomont έδειξε ότι πρόκειται για μια έξυπνη μαθηματική προσέγγιση που βελτιστοποιεί την αρχική εκτίμηση.

Η αποκάλυψη του κώδικα έδωσε στους επιστήμονες και τους προγραμματιστές τη δυνατότητα να μελετήσουν και να κατανοήσουν το «κόλπο» πίσω από τον αλγόριθμο, ενώ η διαδικτυακή κοινότητα ξεκίνησε μια ανελέητη αναζήτηση για τον δημιουργό του μαγικού αριθμού. Τελικά, φαίνεται ότι ο Γκρεγκ Γουόλς, εργαζόμενος στη δεκαετία του 1980 στην Ardent Computer, εισήγαγε την σταθερά, η οποία έφτασε στο Quake 3 μέσω συνεργασιών με άλλους προγραμματιστές.

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

ΤΙ ΔΙΑΒΑΖΕΤΑΙ