La programmazione logica induttiva probabilistica (in inglese probabilistic inductive logic programming, acronimo PILP) è un'area di ricerca dell'intelligenza artificiale situata all'intersezione tra l'apprendimento automatico, la logica formale e la teoria della probabilità.

La PILP estende la programmazione logica induttiva (ILP) tradizionale integrando il ragionamento probabilistico. Ciò consente di apprendere regole logiche generali partendo da dati strutturati, complessi e intrinsecamente affetti da incertezza, rumore o incompletezza. Questo paradigma si classifica all'interno del più ampio filone dell'apprendimento relazionale statistico (o Statistical Relational Learning, SRL) che mira all'apprendimento di modelli probabilistici relazionali.

Motivazione La programmazione logica classica (come il Prolog) e l'ILP tradizionale si basano sulla logica del primo ordine, la quale presuppone una visione binaria della realtà: un'affermazione può essere esclusivamente vera o falsa. Tuttavia, le applicazioni del mondo reale, in settori come la bioinformatica, l'elaborazione del linguaggio naturale o la robotica, sono complicate dal problema dell'incertezza nei dati che possono essere spesso rumorosi e incompleti (parzialmente osservati).

La PILP supera questo limite combinando tre aspetti fondamentali: Logica del primo ordine: per rappresentare relazioni complesse tra oggetti ed esprimere la conoscenza di dominio in modo leggibile sia dall'uomo che dalla macchina. Modelli probabilistici (ad es. reti bayesiane, campi casuali di Markov): per quantificare l'incertezza e gestire la natura stocastica dei fenomeni. Induzione (apprendimento): per generalizzare regole relazionali astratte partendo da esempi positivi, negativi e da conoscenza pregressa (background knowledge).

Fondamenti e rappresentazione Nel contesto della PILP, un programma logico probabilistico è generalmente un insieme di clausole logiche a cui sono associate delle probabilità. Esistono diversi formalismi per la rappresentazione, tra cui i più noti sono il ProbLog, l'Independent Choice Logic (ICL) e i Probabilistic Horn Abductive Programs (PHA).

Prendendo come riferimento la sintassi del ProbLog, una clausola probabilistica ha la forma:

dove: (head) è l'atomo della conclusione. (body) rappresenta i letterali della condizione. è la probabilità che la clausola sia estratta (ovvero che sia definita come "vera"), assumendo l'indipendenza stocastica tra le diverse scelte del programma.

Semantica dei mondi possibili La semantica di un programma PILP si basa sulla semantica distribuzionale (Distribution Semantics). Sia un programma logico probabilistico composto da un insieme di fatti probabilistici con rispettive probabilità e da un insieme di regole deterministiche .

Un mondo possibile è una specifica selezione di fatti probabilistici che si assumono veri. La probabilità di un atomo ground è definita dalla somma delle probabilità dei mondi possibili in cui è logicamente derivabile ():

dove la probabilità di un singolo mondo è calcolata tramite il prodotto:

Problema di apprendimento (induzione) L'obiettivo della PILP è apprendere sia la struttura del programma logico (le regole) sia i parametri numerici (le probabilità) partendo da un insieme di osservazioni (esempi) e dalla conoscenza di fondo .

Il problema viene formalizzato nel seguente modo:

Dati: un insieme di esempi positivi e negativi (oppure una distribuzione di probabilità-obiettivo su atomi); la conoscenza di fondo espressa come programma logico probabilistico; uno spazio di ipotesi (l'insieme dei possibili programmi logici probabilistici);

Trovare:

un'ipotesi che massimizzi la verosimiglianza (likelihood) dei dati:

L'apprendimento si divide classicamente in due sotto-problemi: apprendimento dei parametri: Data una struttura di regole fissa, stimare i valori ottimali delle probabilità associate alle clausole. Viene risolto frequentemente tramite algoritmi di Expectation-Maximization (EM) o ottimizzazione basata su gradiente. apprendimento della struttura: Trovare la combinazione ottimale di clausole logiche esplorando lo spazio di raffinamento (top-down o bottom-up) combinato con l'apprendimento dei parametri per valutare quantitativamente ciascuna candidata.

Esempio Consideriamo uno scenario di rete sociale semplificato in cui si desidera modellare la trasmissione di un'influenza o di un virus.

Conoscenza di fondo e ipotesi corrente % Fatti probabilistici (incertezza intrinseca) 0.1 :: stress(X). 0.2 :: portatore_sano(X).

% Regole probabilistiche (la trasmissione non è deterministica) 0.6 :: contagioso(X, Y) :- amico(X, Y).

% Fatti deterministici della rete relazionale amico(alice, berto). amico(berto, carlo).

Calcolo della probabilità (Inferenza)

Per calcolare la probabilità che l'atomo contagioso(alice, berto) sia vero, l'algoritmo PILP (o il motore ProbLog sottostante) costruisce un diagramma di decisione binaria (BDD) o compila la teoria logica in forme normali come la d-DNNF al fine di calcolare in modo efficiente la probabilità marginale esatta, evitando l'enumerazione esponenziale dei mondi possibili.

Algoritmi e sistemi Nel corso degli anni sono stati sviluppati diversi sistemi software di riferimento per il paradigma PILP: ProbLog / ProbLog2: Sviluppato presso la KU Leuven, permette l'apprendimento dei parametri e della struttura tramite algoritmi dedicati. Consente l'inferenza probabilistica avanzata applicata al link mining. SLIPCOVER (Structure Learning of Inductive Logic Programs for video and text): Sistema avanzato che apprende sia la struttura sia i parametri di programmi LPAD (Logic Programs with Annotated Disjunctions) mediante una ricerca nello spazio delle clausole guidata da funzioni di score relazionali. cALICORN / LFI-ProbLog: Sistemi specificamente dedicati alla stima statistica dei parametri (modeling simbolico-statistico) in presenza di dati parziali, mancanti o incompleti.

Note

Voci correlate Programmazione logica induttiva Programmazione logica Rete bayesiana Rete logica di Markov

Categoria:Intelligenza artificiale Categoria:Apprendimento automatico Categoria:Ragionamento probabilistico Categoria:Logica matematica