Un programma che simula l’Universo!

La scienza utilizza in genere il metodo sperimentale (detto anche: metodo scientifico) per capire il mondo intorno a noi. Esso si compone dei seguenti passi:

1.       Osservazione;

2.       Esperimento;

3.       Correlazione fra le misure;

4.       Definizione di un modello fisico;

5.       Elaborazione di un modello matematico;

6.       Formalizzazione della teoria.

Però questo metodo non sempre è il migliore, dato che, se già partiamo dal primo punto (osservazione) ci accorgiamo che non si può osservare l’infinitamente piccolo e l’infinitamente grande; ma ci sono dei limiti tecnologici, che anche se si spingono sempre più in la, esisteranno sempre.

Le distanze da cui l’uomo può percepire informazioni con la tecnologia odierna, si spingono  da: 10-18 m fino a 1026 m (grandezza dell’universo). 

La fisica odierna suppone che la distanza più piccola che possa esistere e dell’ordine di 10-35 m (Planck) che è ben 100 milioni di miliardi di volte più piccola di quella in cui l’uomo riesce ad agire con la sua tecnologia.

Quindi comprendiamo che,  l’osservazione dei fenomeni a queste distanze, forse non sarà mai possibile.

Einstein ci insegna che, spesso l’osservazione degli eventi della natura, entra in contrasto con le vere leggi che regolano la natura, in quanto esse agiscono in modo diverso a seconda che ci muoviamo di moto uniforme e lento, moto accelerato o moto prossimo alla velocità della luce.

Allora come si possono studiare i mattoni base dell’Universo se non sono osservabili e se osservarli ci potrebbe portare a deduzioni sbagliate?

Semplicemente si può agire al contrario!

Invece di osservare la natura e poi dedurne le leggi, si possono inventare delle leggi e vedere, se da queste si può ottenere un Universo come quello in cui viviamo. E’ un metodo che sfruttano molti scienziati per proporre teorie nuove (ad esempio quella delle stringhe).

Premetto che tutto quello che seguirà in questo post, sono solo supposizioni che devono essere ancora elaborate e raffinate per poter raggiungere un qualche risultato.

Per poter simulare una nuova teoria, utilizzerò una similitudine.

Trasformerò i concetti della fisica, in concetti matematici dei linguaggi di programmazione.

Fisica

Informatica

Particelle

Classi

Forze

Metodi

 

La natura però non è piatta, cioè non è composta solo da particelle e forze che agiscono tutte allo stesso livello di astrazione, ma formano strutture via via più complesse.

Ad esempio:

  • I quark formano le particelle sub-atomiche (protoni, neutroni);
  • le particelle sub-atomiche formano gli atomi;
  • gli atomi formano le molecole;
  • le molecole formano i tessuti, il mare, la terra;
  • i pianeti formano il sistema solare;
  • molti sistemi solari formano le galassie;
  • tante galassie formano un super-ammasso di galassie;
  • tutti i super-ammassi forse formano l’universo (almeno quello visibile);
  • se ci sono più universi, cosa formeranno non lo sappiamo ancora!

Da questo si deduce che ci saranno, nella nostra similitudine, classi che incapsulano altre classi che a loro volta incapsula altre classi e via dicendo.

Chissà se, guardando il tutto sotto l’ottica informatica, molti aspetti della realtà potrebbero essere dedotti più facilmente in quanto non limitati come quelle della fisica, dalle sole osservazioni possibili.

Forse sarà possibile capire se l’azione a distanza esiste, oppure sono le particelle che la realizzano, oppure è lo spazio che si incurva e fa si che i pianeti restino attorno al loro sole e le stelle restino attorno alle galassie.

 

Oggi ho iniziato un programma di simulazione che, utilizzando concetti informatici non direttamente paragonabili a quelli fisici, cerca di ottenere qualcosa di interessante facendo interagire delle classi singole, insiemi ecc.

Durante lo sviluppo del programma mi sta venendo naturale introdurre concetti nuovi che chissà dove mi porteranno?

La prima cosa che ho notato subito è che mi servirebbe un computer con molte CPU (o core) in parallelo e molta, ma molta memoria (con i GB si simula ben poco).

Per adesso sfrutterò quello che ho: una CPU con due core,  4 GB di Ram il tutto fatto girare con Windows Vista 64 bit in modo da poter sfruttare tutta la memoria. Appena avrò dei risultati interessanti ve lo farò sapere.

Se poi qualcuno vuole finanziare questa mia ricerca, fatevi avanti senza spingere.