Un'indagine empirica sui limiti delle euristiche topologiche per la stabilità dei sistemi dinamici tramite Explainable AI.
Questo progetto di ricerca indipendente esplora la possibilità di prevedere la stabilità di un sistema dinamico lineare discreto (
Il nostro obiettivo iniziale era utilizzare l'Explainable AI (XAI) per estrarre una "regola aurea" (un'euristica topologica) calcolabile in tempo
- Ingegneria del Dataset: Il "Bestiario" delle Matrici
- Feature Engineering e Rappresentazione a Grafo
- Architetture e Sperimentazioni (GCN, GIN, Deep Sets)
- Explainable AI (XAI): Decodificare la Mente della Rete
- La Smentita: Scalabilità Dimensionale e Teoria delle Matrici Casuali
- Conclusioni
L'addestramento di un'Intelligenza Artificiale su matrici puramente casuali produce modelli deboli, in quanto la maggior parte delle matrici generate casualmente diverge banalmente o converge banalmente. Per forzare la rete a "ragionare" sui casi limite complessi, abbiamo sviluppato un generatore di matrici altamente ingegnerizzato.
Ogni matrice di base generata (
Per evitare che la rete imparasse i bias di una singola distribuzione statistica, il generatore seleziona casualmente tra 4 "specie" di matrici:
- Uniformi: Elementi estratti tra -5.0 e 5.0 (media 0).
- Gaussiane: Distribuzione normale (es. media 0, inviluppi a media 1 per testare perturbazioni asimmetriche di massa).
- Sparse: Matrici in cui applichiamo una maschera stocastica che azzera il 50-60% degli elementi, per simulare grafi del mondo reale (reti elettriche, sociali).
- Asimmetriche forzate: Matrici in cui il triangolo inferiore viene svuotato o depotenziato del 90%, per indurre forti oscillazioni (autovalori complessi immaginari).
Il passaggio più cruciale: prima di essere aggiunta al dataset, ogni matrice viene testata contro le tre norme classiche (Norma 1, Norma 2, Norma
Ogni matrice
-
Per GCN e Deep Sets: Per testare la capacità intrinseca della rete di estrarre euristiche, ai nodi è stato fornito in input solo ed esclusivamente il valore sulla diagonale (
$a_{ii}$ ). La rete ha dovuto dedurre tutto il resto leggendo i pesi degli archi. -
Per GIN (Graph Isomorphism Network): Per agevolare un'architettura ad alta espressività e spingerla al limite, abbiamo fornito un vettore di 4 feature pre-calcolate in tempo
$\mathcal{O}(n^2)$ :- Diagonale (
$a_{ii}$ ). - Norma 1 locale (somma assoluta della riga).
- Norma
$\infty$ locale (somma assoluta della colonna). -
Energia dei Cicli Positivi: La somma (
$a_{ij} \times a_{ji}$ ) limitata ai prodotti$> 0$ .
- Diagonale (
Abbiamo sottoposto il dataset a tre paradigmi architetturali profondamente diversi per valutare il peso dell'informazione strutturale (topologica) rispetto a quella scalare.
- Meccanica: Aggregazione tramite media spaziale dei messaggi dei vicini.
-
Risultato (
$n=10$ ): Accuratezza ~86%. - Analisi: La GCN, a causa del suo "smoothing" intrinseco, non è in grado di tracciare cammini complessi. Ha quindi fatto di necessità virtù, estraendo una regola forte e generalizzabile basata su euristiche topologiche locali (cicli di lunghezza 2).
- Meccanica: Aggregazione tramite somma pura con layer MLP interni per ogni nodo.
-
Risultato (
$n=10$ ): Forte overfitting in fase di training (Loss < 0.1), caduta di accuratezza in test al ~83%. -
Analisi: La GIN ha dimostrato che per superare l'86% non basta guardare i vicini, ma bisogna tracciare flussi asimmetrici e cammini direzionali di ordine superiore. Questo comportamento mima la Formula di Gelfand (Raggio Spettrale):
$$\rho(A) = \lim_{k \to \infty} |A^k|^{1/k}$$ La rete ha cercato di memorizzare le potenze della matrice ($A^k$ ), scontrandosi però con i limiti fisici della generalizzazione.
-
Meccanica: Rete che analizza i singoli nodi (la sola diagonale
$a_{ii}$ ) in totale isolamento. Nessun arco, nessuna comunicazione topologica. -
Risultato (
$n=10$ ): Accuratezza ~75%. - Analisi: Prova empirica che l'energia di base del sistema (la Traccia) contribuisce a tre quarti dell'accuratezza predittiva globale, ma che il restante 25% dell'informazione risiede obbligatoriamente nell'interazione (gli archi), rendendo il raggio spettrale una proprietà emergente inestricabile.
Per capire come la rete prendesse decisioni nel caso GNNExplainer e Decision Trees).
Addestrando un Albero Decisionale sui layer finali della GCN, abbiamo estratto questa regola con quasi il 90% di confidenza interna:
Se l'asimmetria della matrice è sotto la soglia critica e l'energia totale dei Cicli Positivi ($a_{ij} \times a_{ji} > 0$) supera il valore limite di 1.45, il sistema diverge. L'unica salvezza si verifica se interviene un blocco compensativo di Cicli Negativi ($a_{ij} \times a_{ji} < 0$) inferiore a -0.89.
Questa regola sembrava confermare un'estensione empirica del Teorema degli Ovali di Cassini (Brauer), indicando che i loop di feedback positivo fossero il vero motore dell'instabilità in tempo
Passando GNNExplainer sulla GIN, la rete ha mostrato un comportamento diametralmente opposto.
- Ha assegnato un'importanza piatta (circa 0.14) a tutte le feature ingegnerizzate in input, ignorando la "formula magica" sui cicli positivi.
- Nella maschera degli archi, ha ignorato i loop bidirezionali per concentrarsi sui flussi fortemente asimmetrici (es. assegnando importanza
0.95all'arco$a_{0,1}$ ma solo0.09al suo ritorno$a_{1,0}$ ). La GIN non cercava cicli isolati, ma pozzi e sorgenti (sink/source) di energia, confermando il suo tentativo di replicare il calcolo di$A^k$ implicito nella Formula di Gelfand.
La domanda finale era: L'euristica dell'1.45 trovata dalla GCN è una legge matematica o un artefatto statistico? Per rispondere, abbiamo sottoposto i modelli a test di scalabilità estrema, variando la dimensione
-
Il Caos Algebrico (
$n=3$ ): L'accuratezza è crollata al 65% (GCN) e 54% (GIN - puro caso). In un sistema microscopico, non esiste una massa critica in grado di smorzare il rumore. Un singolo incrocio sbilanciato devia caoticamente il sistema. Conclusione: Nel microcosmo le euristiche topologiche falliscono totalmente. L'unica via è il calcolo esatto$\mathcal{O}(n^3)$ . -
L'Illusione Topologica (
$n=10$ ): È la "Terra di Mezzo". Il sistema è abbastanza grande da mostrare pattern locali (i cicli) ma troppo piccolo per stabilizzarsi statisticamente. Qui le GNN trovano il loro "sweet spot" all'86%, estraendo una regola utile ingegneristicamente, ma non matematicamente universale. -
L'Ordine Statistico (
$n=50$ ): L'accuratezza schizza al 93-94%. Questo non accade perché la rete apprende meglio l'algebra topologica, ma perché la topologia smette di contare. Subentra la Random Matrix Theory (Legge Circolare di Girko). In matrici sufficientemente grandi, il raggio spettrale è dettato unicamente dalla varianza globale del sistema:$$\rho \approx \sigma \sqrt{n}$$ La GNN abbandona l'analisi dei singoli cicli e diventa un brutalmente preciso stimatore di varianza.
Questo progetto ha dimostrato che le Graph Neural Networks, pur essendo strumenti eccezionali, non "scoprono nuova algebra" analizzando matrici casuali. Esse fungono invece da potenti strumenti di mappatura della Meccanica Statistica dei sistemi complessi.
I risultati empirici indicano che la ricerca di un bound topologico esatto universale in tempo
- Per i sistemi discreti molto piccoli, l'unica via è la risoluzione analitica esatta del polinomio caratteristico.
- Per i sistemi enormi, il problema diviene puramente statistico e si risolve macroscopicamente (Legge Circolare).
- Le euristiche estratte dall'IA (come il limite sui Cicli Positivi) non sono veri teoremi, ma strumenti di approssimazione validi unicamente in una stretta "zona di transizione di fase", dove il caos locale inizia ad aggregarsi verso l'ordine statistico globale.
-
Per clonare e testare il progetto sul proprio computer, seguire questi passaggi:
Clonare la repository e installare le dipendenze necessarie:
git clone https://github.com/tuo-username/MPNN-Matrix.git
cd MPNN-Matrix
pip install -r requirements.txtIl progetto è strutturato in modo modulare per facilitare l'esecuzione:
- Generazione Dataset: Crea il dataset di matrici per l'addestramento.
python src/mpnn_matrix/dataset.py
- Addestramento: Allena la GNN e salva i pesi in
models/.python src/mpnn_matrix/pipeline.py
- Analisi e Spiegazione: Utilizza gli strumenti in
scripts/per interrogare il modello.python scripts/explain.py # Visualizza l'importanza degli elementi (GNNExplainer) python scripts/analizza_errori.py # Statistiche sui falsi positivi/negativi python scripts/estrai_formula.py # Estrae la regola matematica (Decision Tree)
src/mpnn_matrix/: Core del progetto (Modello, Pipeline, Config).scripts/: Utility pronte all'uso per l'analisi post-training.data/: Contiene i dataset generati (.npz).models/: Contiene i pesi del modello addestrato (.pth).