Animal (videogioco)
# Animal (videogioco)

Animal è un semplice videogioco per computer, puramente testuale, che simula il classico gioco per bambini "indovina l'animale": il computer cerca di indovinare l'animale pensato dal giocatore, facendogli delle domande a cui il giocatore deve rispondere sì o no. Risalente almeno ai primi anni '70, viene usato come un tipico esercizio o esempio di programmazione di un albero binario, definendolo anche con vari altri nomi come Animal Game, animal guessing game, Indovina l'animale.

## Modalità di gioco

All'inizio della partita il giocatore pensa a un animale, con l'obiettivo di trovarne uno che il computer non riesca a indovinare. Il computer pone una alla volta delle domande del tipo "Vive nell'acqua?", alle quali il giocatore deve rispondere sì o no. Quando, andando per esclusione, il computer conosce un solo animale che corrisponda alle risposte date, prova a indovinare: se l'animale è quello vince lui, altrimenti vince il giocatore.

Se vince il giocatore, gli viene chiesto di inserire qual era l'animale che ha pensato, e una nuova domanda che il computer potrà usare in futuro per identificarlo. In questo modo il computer impara dalle proprie sconfitte, realizzando una semplice forma di intelligenza artificiale, e le volte successive saprà indovinare anche il nuovo animale. Il programma inizialmente conosce soltanto due animali e una domanda da fare, ma dopo ogni partita salva su file i nuovi dati.

Esempio di esecuzione di un tipico Animal:

## Storia

Il primo Animal di cui si conosca una pubblicazione ufficiale apparve nel libro 101 BASIC Computer Games del 1973, sotto forma di codice sorgente BASIC per PDP-11, accreditato a Nathan Teichholtz di Digital Equipment Corporation. Nell'edizione 1978 di BASIC Computer Games si precisa però che Teichholtz ha solo adattato un programma originariamente sviluppato al Dartmouth College dal prof. Arthur Luehrmann.

L'informatico John Walker, che sarebbe poi divenuto una persona chiave della Autodesk, racconta di aver sviluppato nell'aprile 1974 su mainframe UNIVAC 1100 una versione potenziata di Animal da lui scherzosamente definita "il programma Animal che metterà fine a tutti i programmi Animal", il gioco era quindi un esercizio già molto diffuso. A questa versione è legato un episodio particolare: poiché il gioco era molto richiesto, nel 1975 Walker aggiunse una funzione che autocopiava il programma, senza farsi notare, in tutte le cartelle accessibili, con il risultato di diffonderlo rapidamente ben più di quanto si aspettasse. Venne visto come un episodio comico, ma sebbene innocuo, fu il primo esempio di trojan in libera diffusione, sul quale circolarono leggende metropolitane anche molti anni dopo.

Nel 1988 apparve 20q, un programma molto simile ad Animal ma più complesso e basato sulle reti neurali.

