Altro

    Risolvere problemi avanzati con un computer

    Nel mondo reale esiste una grande quantità di problemi la cui soluzione non è raggiungibile per via analitica. La soluzione a questi problemi può essere ottenuta mediante simulazione numerica tramite un computer. Rientrano in questo tipo di problemi le simulazioni dei sistemi caotici, sistemi complessi di equazioni, le simulazioni dei sistemi biologici, ecc.

    Soluzioni numeriche nel mondo scientifico

    Molti problemi interessanti risultano essere intrinsecamente complicati, ad esempio i sistemi caotici classici, la dinamica dei fluidi, i sistemi a N corpi (atomi, molecole, dinamica delle galassie) e sistemi randomici.

    Risolvere i problemi con metodi numerici non è un concetto recente, infatti nella storia della scienza esistono diversi applicazioni, a partire dal papiro egiziano (1650 a.C.) fino ad oggi grazie alla risoluzione dei problemi mediante l’uso del computer moderno. I metodi numerici sono molto importanti per ottenere delle intuizioni in diversi studi: studio dei sistemi casuali (nessuna equazione), sistemi in evoluzione, risoluzioni di problemi fisici, chimici e biologici; come ad esempio, lo studio dell’interazione complessa di atomi e molecole, ecc.

    Problemi intrinsecamente numerici

    Nel mondo scientifico esistono moltissimi problemi che sono intrinsecamente numerici, cioè non possiedono nessuna equazione. Tra questi ci sono alcuni problemi di economia, la criptografia, la simulazione di strumenti complessi (ad esempio un telescopio). Per studiare questi sistemi casuali bisogna lavorare con i numeri random e molto spesso ci si scontra con il problema della loro generazione. Esistono tre tipi di generatori di numeri random:

    • Truly random: sono legati a fenomeni naturali (ad esempio al bit meno significativo dei segnali meteo), è un metodo molto lento
    • Pseudorandom (generato dal computer con un algoritmo appropriato): è un metodo deterministico per questo motivo si chiama “Pseudo”
    • Subrandom (interamente, assolutamente deterministico).

    Nel caso di una generazione pseudorandom si usa un sistema deterministico che cerca di simulare una generazione casuale. Per questo motivo si parla di periodicità dei numeri pseudorandom, ad esempio il computer usa un dominio finito che possiede un certo numero di combinazione dipendente dal numero di bit impiegato per generare i numeri. Ad esempio, il generatore lineare congruenziale (Linear Congruential Generator) è un algoritmo per la generazione di numeri pseudo-casuali molto conosciuto. Questo generatore ha il vantaggio di essere computazionalmente leggero, inoltre la teoria sulla quale poggia è semplice da capire e da implementare:

    (1)   begin{equation*} X_{n+1}=(aX_{n}+c) % mend{equation*}

    Questo tipo di algoritmo genera numeri casuali tra 0 ed m con una periodicità pari a m, bisogna fare attenzione nell’uso di questi generatori perché la qualità della produzione è estremamente sensibile alla scelta dei parametri, ad esempio un periodo troppo breve può produrre dei difetti e causare generatori inefficaci.

    Un caso d’uso dei numeri random è lo studio del comportamento del telescopio “X-ray Multi component telescope” in cui la ricostruzione dell’immagine segue la storia probabilistica dei singoli fotoni. Dunque, all’interno dello strumento, ad ogni passo della propagazione avviene un’estrazione di numeri casuali per riuscire a seguire il percorso di ogni fotone attraverso la complessa strumentazione (filtri e rivelatori quantistici). Ovvero, ad ogni passo viene fornita la probabilità di una data interazione (assorbimento, diffusione ecc.).

    Per molti scopi i numeri sub-casuali si prestano meglio dei pseudocasuali o casuali, ad esempio quando è necessario campionare uniformemente un dominio non necessariamente casuale. Questo tipo di sequenze sub- (o quasi-) casuali campionano e coprono un dominio più velocemente delle sequenze casuali.

    Risoluzione di equazioni differenziali con metodi numerici

    Solitamente non è possibile ottenere delle soluzioni esatte per le equazioni differenziali, soprattutto per equazioni alle derivate parziali. Piuttosto che trovare un’espressione analitica di una funzione che soddisfi l’equazione, spesso ci si limita a studiarne l’esistenza e l’andamento qualitativo. Ovvero, si determinano soluzioni approssimate servendosi di un computer in grado di effettuare le approssimazioni tramite metodi di calcolo numerici. Un meccanismo per calcolare le soluzioni delle equazioni differenziali alle derivate parziali è quello di passare dal dominio continuo (x,t) a quello discreto con una griglia xk, cioè si passa dall’uso di equazioni differenziali alle equazioni alle differenze.

    Questo meccanismo matematico consente il passaggio dallo studio di equazioni differenziali allo studio di equazioni lineari di vettori, in questo modo è possibile integrare l’equazione differenziale con un calcolatore.

    Nel fare questa evoluzione si devono tenere conto dei seguenti aspetti:

    • coerenza della soluzione numerica con quella analitica;
    • precisione (errore basso);
    • stabilità: l’errore non diverge;
    • risorse di calcolo, ovvero il calcolo deve essere fattibile ad un costo ragionevole;
    • presentazione e interpretazione dei dati: i risultati talvolta sono molto complessi (le soluzioni sono funzioni ad 8 variabili)

    Applicazioni dei metodi numerici nel mondo scientifico

    I metodi numerici consentono ad esempio di studiare la conversione dell’energia magnetica nel riscaldamento del plasma di una corona solare, attraverso la risoluzione di equazioni differenziali non lineari.

    computer
    Simulazioni delle distribuzioni spaziali della densità del plasma. Credits: cerere.astropa.unipa.it

    L’energia proviene dalla progressiva sollecitazione del campo magnetico da parte dei movimenti fotosferici dovuti alla granulazione e al movimento differenziale. Al di sopra di una soglia, le linee del campo B si riconnettono. Studiare la torsione, la riconnessione e il riscaldamento dei loop coronali con un modello numerico che includa gli effetti fisici rilevanti richiede un codice molto accurato di alto livello e milioni di ore di calcolo, sommando i tempi di lavoro dei processori usati in multitasking.

    Un’altra applicazione di questi metodi è lo studio sull’accrescimento stellare e la spiegazione dei brillamenti, cioè esplosioni che accendono il plasma tra la stella e il disco di accrescimento.

    computer
    Evoluzione del bagliore luminoso e del flusso di accrescimento. Credits: semanticscholar.org

    In fluidodinamica, i metodi numerici sono usati per lo studio delle turbolenze, cioè i moti di un fluido in cui le forze viscose non sono sufficienti a contrastare le forze di inerzia. Il moto delle particelle avviene in maniera caotica, senza seguire traiettorie ordinate.

    Altre applicazioni si possono trovare nelle simulazioni di Dinamica Molecolare. I metodi numerici consentono la risoluzione di problemi a “molti corpi”, ad esempio permettono di simulare il moto di un sistema a N particelle e di misurarne le proprietà di equilibrio e di trasporto.

    In conclusione, i metodi numerici consentono lo studio di sistemi molto complessi, affinché questi modelli numerici siano validi devono avere un riscontro analitico e sperimentale. La realizzazione di un codice nasce a partire da un modello semplice e conosciuto analiticamente. Successivamente, a questo modello vengono aggiunti diversi pezzi di codice. Per questa ragione un modello richiede diversi anni di sviluppo e molti passi di validazione.

    A cura di Antonino Pagano.

    Risolvere problemi avanzati con un computer

    Share

    NEL MONDO
    244,133,259
    Casi totali confermati
    Updated on 24 October 2021 08:39
    All countries
    4,959,628
    Morti totali
    Updated on 24 October 2021 08:39

    GUARDA TUTTI I DATI

    ITALIA

    Italy
    4,737,462
    Casi totali confermati
    Updated on 24 October 2021 08:39
    Italy
    4,531,644
    Guariti totali
    Updated on 24 October 2021 08:39
    Italy
    74,016
    Attuali positivi totali
    Updated on 24 October 2021 08:39
    Italy
    131,802
    Morti totali
    Updated on 24 October 2021 08:39

    Ultimi articoli

    Cure e vaccini

    Articoli correlati

    Allergie da inquinamento: tecnologia e nuovi biomateriali possono aiutarci a prevenirle

    Secondo la rivista scientifica Allergy and Clinical Immunology edita da Giorgio Walter Canonica (Humanitas...

    Riuscito per la prima volta trapianto di rene da maiale a essere umano

    Un team chirurgico guidato dal dottor Robert Montgomery presso la struttura Langone Health della...

    EC-EYE, l’occhio bionico del futuro che assomiglia a quello umano

    Di occhi bionici si parla ormai da anni. Centri di ricerca di tutto il...

    Malattia di Lyme: una nuova cura potrebbe portare alla sua eradicazione

    La malattia di Lyme è ad oggi la più diffusa e comune malattia trasmessa...