# Teoria delle connessioni funzionali

La teoria delle connessioni funzionali (in inglese Theory of Functional Connections, TFC) è un framework matematico sviluppato per eseguire l'interpolazione funzionale . Questo framework fornisce un metodo per derivare un funzionale (funzione di una funzione) che trasforma i problemi di ottimizzazione vincolati in problemi equivalenti non vincolati. Sfruttando questa trasformazione, la TFC è stata efficacemente applicata alla risoluzione di equazioni differenziali. Ma cosa significa esattamente eseguire l'interpolazione funzionale?

## Dall'interpolazione all'interpolazione funzionale

Per fornire un contesto generale per il TFC, si consideri un problema di interpolazione generico che coinvolge $n$ vincoli, come un'equazione differenziale da cui derivare un problema al contorno. Indipendentemente dall'equazione differenziale, questi vincoli possono essere coerenti o incoerenti. Ad esempio, in un problema sul dominio ${\mathcal {D}}:(0,1)\cup (0,1)$, i vincoli $f_{1}(x,0)=1+x$ e $f_{2}(0,y)=2-y$ sono incoerenti, poiché producono valori diversi nel punto condiviso $(0,0)$ . Se gli $n$ vincoli sono coerenti, una funzione che interpola questi vincoli può essere costruita selezionando $n$ funzioni di supporto linearmente indipendenti, come i monomi, $\{1,x,x^{2},\cdots ,x^{n-1}\}$ . L'insieme di funzioni di supporto scelto può essere coerente o meno con i vincoli indicati. Il problema della coerenza viene affrontato esaminando i vincoli, l'interpolazione, e i casi di interpolazione funzionale, inclusi gli scenari in cui le condizioni al contorno coinvolgono derivate di taglio e miste. Ad esempio, i vincoli $y(-1)=y(+1)=0$ e ${\dfrac {dy}{dx}}{\bigg |}_{x=0}=1$ sono incoerenti con le funzioni di supporto $\{1,x,x^{2}\}$, come si può facilmente verificare. Se le funzioni di supporto sono coerenti con i vincoli, il problema di interpolazione può essere risolto, producendo un interpolante, ovvero una funzione che soddisfa tutti i vincoli. Scegliendo un set diverso di funzioni di supporto si otterrebbe un interpolatore diverso. Quando un problema di interpolazione viene risolto e viene determinato un interpolante iniziale, tutti i possibili interpolanti possono, in linea di principio, essere generati eseguendo il processo di interpolazione con ogni insieme distinto di funzioni di supporto linearmente indipendenti coerenti con i vincoli. Tuttavia, questo metodo non è praticabile, poiché il numero di possibili insiemi di funzioni di supporto è infinito.
Questa sfida è stata affrontata attraverso lo sviluppo del TFC, un framework analitico per l'esecuzione dell'interpolazione funzionale introdotto nei lavori seminali di Daniele Mortari presso la Texas A&M University. L'approccio prevede la costruzione di un funzionale $f{\big\mathbf {x} ,g(\mathbf {x} ){\big )}$ che soddisfi i vincoli dati per qualsiasi espressione arbitraria di $g(\mathbf {x} )$, denominata funzione libera . Questo funzionale, noto come funzionale vincolato, fornisce una rappresentazione completa di tutti i possibili interpolanti. Variando $g(\mathbf {x} )$, è possibile generare l'intero set di interpolanti, compresi quelli discontinui o parzialmente definiti.
L'interpolazione di funzioni produce un singolo interpolante, mentre l'interpolazione funzionale genera tutti i possibili interpolanti attraverso un funzionale. Questo funzionale incapsula il sottospazio delle funzioni che soddisfano intrinsecamente i vincoli imposti, restringendo così lo spazio delle soluzioni alla regione in cui esiste la soluzione al problema di ottimizzazione vincolata. Utilizzando queste funzionalità, i problemi di ottimizzazione vincolata possono essere riformulati come problemi non vincolati, consentendone la risoluzione tramite metodi più semplici, robusti, accurati, efficienti, ed affidabili. Così facendo, il framework TFC trasforma i problemi vincolati in problemi non vincolati, semplificando notevolmente il processo di soluzione.
TFC affronta vincoli a una variabile che coinvolgono punti, derivate, integrali, e qualsiasi combinazione lineare di questi. La teoria viene inoltre estesa per accogliere vincoli infiniti e a variabile multiple, e applicata alla risoluzione di equazioni ordinarie, parziali, e integro-differenziali. La versione a una variabile di TFC può essere espressa in una delle seguenti due forme:
    ${\begin{cases}f{\bigx,g(x){\big )}=g(x)+\displaystyle \sum _{j=1}^{n}\eta _{j}{\bigx,g(x){\big )}\,s_{j}(x)\\f{\bigx,g(x){\big )}=g(x)+\displaystyle \sum _{j=1}^{n}\phi _{j}{\bigx,\mathbf {s} (x){\big )}\,\rho _{j}{\bigx,g(x){\big )},\end{cases}}$
dove $n$ rappresenta il numero di vincoli lineari, $g(x)$ è la funzione libera, e $s_{j}(x)$ sono le $n$ funzioni di supporto linearmente indipendenti adottate. I termini $\eta _{j}(x,g(x))$ sono i coefficienti dei funzionali, $\phi _{j}(x)$ sono le funzioni di commutazione (che assumono valore di 1 quando valutate al loro rispettivo vincolo, e 0 agli altri), e $\rho _{j}{\bigx,g(x){\big )}$ sono i funzionali di proiezione che esprimono i vincoli in termini della funzione libera.

## Esempio

Per mostrare come TFC generalizza l'interpolazione, considerare i vincoli ${\dot {y}}(x_{1})={\dot {y}}_{1}$ e ${\dot {y}}(x_{2})={\dot {y}}_{2}$ . Una funzione interpolante che soddisfa questi vincoli è
    $f_{a}(x)={\dfrac {x(2x_{2}-x)}{2(x_{2}-x_{1})}}\,{\dot {y}}_{1}+{\dfrac {x(x-2x_{1})}{2(x_{2}-x_{1})}}\,{\dot {y}}_{2},$
come si può facilmente verificare. A causa di questa proprietà di interpolazione, la derivata della funzione
    $\delta (x)=g(x)-{\dfrac {x(2x_{2}-x)}{2(x_{2}-x_{1})}}\,{\dot {g}}(x_{1})-{\dfrac {x(x-2x_{1})}{2(x_{2}-x_{1})}}\,{\dot {g}}(x_{2}),$
scompare a $x_{1}$ e $x_{2}$, per qualsiasi funzione, $g(x)$ . Pertanto, aggiungendo $\delta (x)$ ad $f_{a}(x)$, si ottiene un funzionale che soddisfa ancora i vincoli
    $f{\bigx,g(x){\big )}=f_{a}(x)+\delta (x)={\dfrac {x(2x_{2}-x)}{2(x_{2}-x_{1})}}\,{\dot {y}}_{1}+{\dfrac {x(x-2x_{1})}{2(x_{2}-x_{1})}}\,{\dot {y}}_{2}+g(x)-{\dfrac {x(2x_{2}-x)}{2(x_{2}-x_{1})}}\,{\dot {g}}(x_{1})-{\dfrac {x(x-2x_{1})}{2(x_{2}-x_{1})}}\,{\dot {g}}(x_{2}),$
indipendentemente da come $g(x)$ venga rappresentato. Grazie a questa proprietà, questo funzionale è detto funzionale vincolato. Il requisito fondamentale del funzionale $f{\bigx,g(x){\big )}$ per poter essere adottato è che i termini ${\dot {g}}(x_{1})$ e ${\dot {g}}(x_{2})$ siano definiti. Una volta soddisfatta questa condizione, il funzionale $f{\bigx,g(x){\big )}$ è libero di assumere qualsiasi valore arbitrario oltre i vincoli specificati, grazie all'infinita flessibilità fornita da $g(x)$. È importante notare che questa flessibilità non è limitata ai vincoli specifici di questo esempio. Si applica invece universalmente a qualsiasi insieme di vincoli. Questa universalità illustra come TFC esegue l'interpolazione funzionale: costruisce una funzione che soddisfa tutti vincoli imposti, consentendo allo stesso tempo completa libertà di comportamento altrove attraverso la scelta di $g(x)$. In sostanza, questo esempio dimostra che il funzionale vincolato $f{\bigx,g(x){\big )}$ cattura tutte le possibili funzioni che soddisfano i vincoli dati, dimostrando la potenza e generalità di TFC nella gestione di un'ampia gamma di problemi di interpolazione.

## Applicazioni del TFC

La tecnica TFC è stata ampliata e utilizzata in numerose applicazioni, evidenziandone la versatilità in un'ampia gamma di settori. Questi includono il suo utilizzo alla risoluzione di problemi alle derivate di taglio e miste, all'analisi di operatori frazionari, alla determinazione delle geodetiche per problemi ai valori al contorno in spazi curvi, ed alla risoluzione di problemi attraverso metodi di continuazione. Inoltre, il TFC è stato applicato al controllo ottimo indiretto, alla modellazione della cinetica chimica rigida e allo studio delle dinamiche epidemiologiche. Ha inoltre dimostrato potenziale nella programmazione non lineare, nella meccanica strutturale, e nel trasferimento radiativo, tra le altre aree. Un efficiente TFC toolbox è gratuitamente disponibile su https://github.com/leakec/tfc .
Di particolare rilievo è l'applicazione del TFC nelle reti neurali, dove ha mostrato un'efficienza eccezionale, in particolare nell'affrontare problemi di grandi dimensioni e nel migliorare le prestazioni delle reti neurali ad informazione fisica (in inglese, Physics-informed neural networks (PINN)) eliminando efficacemente i vincoli dal processo di ottimizzazione, una sfida che le reti neurali tradizionali spesso faticano ad affrontare. Questa capacità migliora significativamente l'efficienza computazionale e l'accuratezza dei risultati, consentendo di risolvere problemi complessi con maggiore facilità. La TFC è stata impiegata con PINN e tecniche di regressione simbolica per la scoperta fisica di sistemi dinamici.

## Differenza con i metodi spettrali

A prima vista, TFC e i metodi spettrali possono sembrare simili nel loro approccio alla risoluzione di problemi di ottimizzazione vincolata. Tuttavia, ci sono due distinzioni fondamentali tra loro:
* Rappresentazione delle soluzioni: i metodi spettrali rappresentano la soluzione come una somma di funzioni base, mentre TFC rappresenta la funzione libera come una somma di funzioni base. Questa distinzione consente al TFC di soddisfare analiticamente i vincoli, mentre i metodi spettrali trattano i vincoli come dati aggiuntivi, approssimandoli con una precisione che dipende dai residui.
* Approccio computazionale per problemi ai vincoli al contorno: nei problemi lineari ai limiti, le strategie computazionali dei due metodi differiscono in modo significativo. I metodi spettrali impiegano in genere tecniche iterative, come il metodo "shooting", per riformulare il problema ai limiti come un problema al valore iniziale, che è più semplice da risolvere. Al contrario, la TFC affronta direttamente questi problemi attraverso tecniche lineari ai minimi quadrati, evitando la necessità di procedure iterative.
Entrambi i metodi possono eseguire l'ottimizzazione utilizzando il metodo di Galerkin, che garantisce che il vettore residuo sia ortogonale alle funzioni di base scelte, oppure il metodo di collocazione, che minimizza la norma del vettore residuo.

## Differenza con la tecnica dei moltiplicatori di Lagrange

Il metodo dei moltiplicatori di Lagrange è un approccio ampiamente utilizzato per imporre vincoli in un problema di ottimizzazione. Questa tecnica introduce variabili aggiuntive, note come moltiplicatori, che devono essere calcolate per far rispettare i vincoli. Seppur in alcuni casi il calcolo di questi moltiplicatori è semplice, in altri può rivelarsi impegnativo o addirittura praticamente irrealizzabile, aggiungendo così una notevole complessità al problema. Al contrario, TFC non aggiunge nuove variabili e consente la derivazione di funzionali vincolati senza incontrare difficoltà insormontabili. Tuttavia, è importante notare che il metodo del moltiplicatore di Lagrange ha il vantaggio di gestire i vincoli di disuguaglianza, una capacità che attualmente manca a TFC.
Un limite notevole di entrambi gli approcci è la loro propensione a produrre soluzioni che corrispondono a ottimi locali piuttosto che a ottimi globali garantiti, in particolare nel contesto di problemi non convessi. Di conseguenza, potrebbero essere necessarie procedure di verifica supplementari o metodi alternativi per valutare e confermare la qualità e la validità globale della soluzione ottenuta. In sintesi, sebbene il TFC non sostituisca completamente il metodo dei moltiplicatori di Lagrange, rappresenta una valida alternativa nei casi in cui il calcolo dei moltiplicatori diventa eccessivamente complesso o irrealizzabile, a patto che i vincoli siano limitati alle uguaglianze.