La programmazione logica induttiva (acronimo ILP, dall'inglese Inductive Logic Programming) è una sottoarea dell'apprendimento automatico che rappresenta la sua confluenza con la programmazione logica. A differenza dell'apprendimento tradizionale di modelli statistici, che in genere lavora su spazi vettoriali, l'ILP utilizza la logica del primo ordine (calcolo dei predicati) per rappresentare esempi, conoscenza di fondo e ipotesi. Spesso viene usato come sinonimo di apprendimento relazionale.
Il principale punto di forza dell'ILP risiede nella sua capacità di generare modelli perfettamente interpretabili sotto forma di regole logiche (apprendimento simbolico), facilitando la cosiddetta Explainable AI (XAI).
Fondamenti L'obiettivo fondamentale dell'ILP è sintetizzare una teoria logica (un insieme di clausole definite) che spieghi un insieme di esempi positivi e non implichi esempi negativi, partendo da una conoscenza pregressa del dominio.
Formulato matematicamente, dati: un insieme di esempi positivi un insieme di esempi negativi conoscenza di fondo (background knowledge)
L'ILP mira a trovare un'ipotesi appartenente a uno spazio di ipotesi ammissibili tale che valgano le seguenti condizioni:
Requisito di Completezza (Sufficienza): l'ipotesi, congiuntamente alla conoscenza di fondo, deve implicare logicamente tutti gli esempi positivi:
Requisito di Consistenza (Necessità): l'ipotesi, congiuntamente alla conoscenza di fondo, non deve implicare alcun esempio negativo:
Condizioni al Contorno Necessità: La conoscenza di base da sola non è sufficiente a spiegare gli esempi positivi, rendendo necessario l'apprendimento di . Soddisfacibilità: La conoscenza di base è consistente con gli esempi negativi.
Spazio di ricerca e operatori di raffinamento La ricerca dell'ipotesi avviene esplorando un reticolo di clausole logiche ordinato tramite relazioni di sussunzione (generalizzazione e specializzazione).
-Sussunzione Una clausola -sussume una clausola (indicato con ) se esiste una sostituzione di variabili tale per cui . Se , allora .
Gli algoritmi ILP utilizzano due strategie principali per esplorare lo spazio:
Top-Down (Specializzazione): si parte dalla clausola più generale (es. ) e si applicano operatori di raffinamento che aggiungono letterali al corpo della clausola o sostituiscono variabili con costanti, restringendo il numero di esempi coperti. Bottom-Up (Generalizzazione): si parte dagli esempi specifici e si applicano operatori come il Most Specific Generalization (MSG) o la Risoluzione Inversa per astrarre le clausole logiche eliminando letterali o introducendo variabili.
Esempio: relazioni di Parentela Per illustrare il funzionamento dell'ILP, consideriamo il classico problema di apprendere la relazione di parentela nonno/2.
Conoscenza di fondo () genitore(vanni, marta). genitore(marta, anna). genitore(berto, vanni). maschio(vanni). maschio(berto). femmina(marta). femmina(anna).
Esempi positivi () nonno(berto, marta). nonno(vanni, anna).
Esempi negativi () nonno(marta, anna). nonno(berto, anna).
Ipotesi indotta ()
Un sistema ILP (come Progol o Aleph) analizzerà le combinazioni dei predicati presenti in per generare una regola che soddisfi i criteri di completezza e consistenza. L'output finale sarà:
nonno(X, Y) :- maschio(X), genitore(X, Z), genitore(Z, Y).
Verifica: nonno(berto, marta) è vero perché maschio(berto), genitore(berto, vanni) e genitore(vanni, marta) sono tutti veri in . nonno(marta, anna) viene refutato perché maschio(marta) fallisce, rispettando la consistenza rispetto a .
Principali sistemi Nel corso degli anni sono stati sviluppati diversi framework software stabili per l'induzione logica:
Sistema Approccio Strategico Caratteristica Chiave FOIL Top-down (Greedy)Utilizza il guadagno di informazione (Information Gain) mutuato dagli alberi di decisione Progol Risoluzione Inversa & Mode-Directed Inverse Entailment (MDIE) Vincola lo spazio di ricerca combinando approcci bottom-up e top-down Aleph Bottom-up / Top-down flessibile Basato sulle idee costruttive introdotte con Progol, è rimasto a lungo il sistema ILP più ampiamente utilizzato nella ricerca accademicaSrinivasan, A. (2001). The Aleph Manual. Oxford University Computing Laboratory, Oxford. Manuale di Aleph Metagol Meta-Interpretative Learning (MIL) Supporta l'invenzione di predicati e l'induzione di programmi ricorsivi complessi mediante meta-regole
Limiti e sviluppi correnti Sebbene l'ILP offra modelli interpretabili e richieda molti meno dati rispetto alle reti neurali profonde, storicamente presenta alcune limitazioni: complessità computazionale: Lo spazio di ricerca delle clausole cresce in modo combinatorio. sensibilità al rumore: La logica pura del primo ordine fatica a gestire dati fortemente rumorosi o probabilistici.
Per superare questi limiti, la ricerca si sta focalizzando sulla Programmazione Logica Induttiva Probabilistica (PILP), che unisce l'ILP con i modelli grafici probabilistici, e sulla Differentiable ILP (ILP), che integra il ragionamento logico simbolico con l'ottimizzazione basata sul gradiente tipica del Deep Learning.
Note
Categoria:Intelligenza artificiale Induttiva Categoria:Ragionamento automatico Categoria:Apprendimento automatico