backup del Post

Uno dei blog di .mau.

03/03/2014 Uncategorized , ,

Il Tetris è finito o infinito?

Scopro da God Plays Dice un interessante articolo dell’Onion sulle limitazioni della scienza: nonostante i nostri progressi, nessuno scienziato è riuscito ancora a predire quali pezzi scenderanno nel gioco oltre il primo. Spero che non debba spiegarvi cos’è il Tetris: per la mia generazione, e penso anche per chi è un po’ più giovane, è stato il primo videogioco che arrivava dalla Russia, e che ci ha fatto scoprire i programmatori dell’Est europeo.

Prima di proseguire, forse è meglio avvisare il lettore distratto. The Onion è un sito satirico (un suo emulo in Italia è Lercio) che scrive articoli che a prima vista sembrano normali, ma a una lettura più attenta si rivelano degli scherzi. A loro gloria il fatto che molti non se ne accorgono affatto. È ovvio che Tetris è progettato apposta per non dare più informazioni di quelle visibili, come è anche (abbastanza) ovvio che in linea di principio si può disassemblare il programma e scoprire tutto l’elenco dei pezzi che verranno man mano proposti.

Quello che però ha colpito l’attenzione di Michael Lugo è una frase attribuita alla fittizia professoressa Florence Edelman: «Anche se la cosa è al momento del tutto ipotetica, esiste un punto teorico in cui l’eliminazione delle righe in basso avviene con tale rapidità ed efficienza che rimarrà sempre abbastanza spazio in cima alla matrice per inserire nuovi pezzi. Ciò creerebbe un Tetris fluido e sostenibile che potrebbe esistere indefinitamente.» Vero o falso? Dipende. Lasciamo perdere – viviamo in un mondo perfetto… – i problemi di velocità sempre crescente, e concentriamoci sui pezzi. Certo, se continuassero a scendere solo pezzi quadrati non ci sarebbero problemi: peccato che ci siano i cosiddetti “pezzi bastardi”, quelli a forma di S e Z. Questo articolo dimostra come dopo al più 69600 pezzi consecutivi a forma di S o di Z la partita finirà necessariamente, qualunque siano le mosse fatte dal giocatore. C’è anche un’applet Java che vi permette – si fa per dire… – di giocare a questo tipo di Tetris ridotto: un’esperienza davvero terribile. Questo significa che se il generatore di numeri casuali delle mosse di Tetris è casuale in un senso probabilistico (cioè ogni successione di N pezzi specifici può arrivare con probabilità 1/7N) è “quasi certo” (cioè la probabilità è 1) che la nostra successione perfida arriverà; se la successione nefasta non arrivasse mai potremmo dire che il generatore non è casuale.

Peccato che il generatore di numeri (pseudo)casuali tipicamente usato in un computer non sia effettivamente casuale; e che – come la voce su Wikipedia in inglese fa notare – la successione di numeri pseudocasuali si ripete da capo così presto, si fa per dire, che la probabilità che arrivi una successione anche solo di 150 pezzi a forma di S o di Z è infima. Questo significa che con buona probabilità non si avrà mai la successione nefasta. Inoltre alcune versioni di Tetris permettono di ruotare e far scivolare il pezzo anche quando è arrivato in fondo, e altre versioni non usano un numero davvero casuale ma danno un’aiutino impedendo che arrivino troppi pezzi maledetti. Insomma, ci sono ancora speranze di realizzare il sogno della professoressa Edelman :-)

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.