GIOVANNI FUSCHINO COMPLETEZZA E RAGIONAMENTO PER DEFAULT La completezza logica si esprime nel modo seguente: M£α⇔M¢α che si legge: 1 “da M segue logicamente (£) Se M α se e solo se (⇔) da M si può dedurre (¢) α”. è una teoria, un insieme di asserzioni, allora dire ciò significa dire che “ogni modello di M è un modello di α” (M£α), cioè ogni volta che si crea una situazione per cui è vera M allora è vera anche α [SEMANTICA]. Invece M¢α significa che si può dedurre α da M nel senso che esiste una dimostrazione che conduce da M ad α [SINTASSI]. Ricapitolando: ⇔ M£α ogni modello di M è un modello di α M¢α si può dedurre α da M [SEMANTICA] [SINTASSI] Questi due concetti sono diversi fra loro. 1 Per M si intende un MODELLO di una teoria matematica. Ogni teoria matematica è fondata su un insieme di assiomi che stabiliscono delle relazioni tra un dato numero di enti primitivi. Per esempio, nella geometria del piano gli enti primitivi fondamentali sono il punto e la retta che sono definiti implicitamente da un gruppo di postulati. Lo sviluppo di una teoria è logicamente corretto solo se è fondato sulle proprietà formali e non dipende da alcuna rappresentazione intuitiva di tali enti. La distinzione tra enti primitivi e rappresentazione concreta di tali enti fu introdotta per la prima volta nelle dimostrazioni dell’esistenza e della legittimità delle geometrie non euclidee e fu successivamente generalizzata a ogni tipo di teoria matematica con l’introduzione del concetto di MODELLO. Un MODELLO di una teoria matematica formalizzata è un insieme M di elementi (ad esempio di figure geometriche) associati agli enti primitivi della teoria in modo che ai postulati della teoria corrispondano relazioni soddisfatte dagli elementi di M. Per esempio, l’insieme formato da dalle nozioni intuitive di punto e di retta del piano costituisce un modello della geometria euclidea piana. La costruzione di opportuni modelli di una data teoria consente di studiare la sua struttura logica. Si può dimostrare che una teoria è non contraddittoria se possiede almeno un MODELLO. 1 M£α significa che ogni volta che sono vere tutte le asserzioni contenute in M (per M si intende una teoria o un insieme di teorie o un insieme di asserzioni) allora è vera anche α. Poi vi è una sintassi, ovvero un concetto di deduzione che afferma che in maniera meccanica (ovvero mediante un numero finito di passi) è possibile produrre la formula α (di solito mediante il MP). Nulla dice a priori che M£α sia collegata a M¢α (anche se intuitivamente il collegamento sembra molto naturale). E infatti basta mettere una nozione di dimostrazione tale che invece di usare il MP si usa una regola non-standard e le due nozioni non sono più collegate. Il teorema di completezza (valido solo per la logica del primo ordine) afferma invece che M£α e M¢α coincidono e cioè che: £=¢ Invece per la logica del secondo ordine vale il teorema di incompletezza secondo cui £≠¢ ovvero conseguenza logica e deduzione non coincidono. Il teorema di incompletezza dice che se M è una teoria “non banale” (cioè almeno a livello della logica del secondo ordine o della teoria dei numeri interi) allora M non è completa cioè esiste almeno un α tale che M ¢ α (da M non si può dedurre α) e tale che da M ¢ ¬α (da M non si può dedurre non α). In poche parole, esiste sempre un’asserzione che non può né essere provata né confutata da M. 2 Questo è un insuccesso della logica in quanto con il teorema di incompletezza si afferma che non è possibile trovare una teoria in grado di descrivere completamente una situazione (come i numeri interi, i numeri reali, la geometria o qualunque altro ente matematico significativo) in quanto verrà fuori sempre un’asserzione che non può essere né provata né confutata da questa teoria. I logici matematici per tradizione si sono occupati della logica come formalizzazione del ragionamento matematico e non del ragionamento comune. Il ragionamento matematico ha a che fare con la precisione, con la certezza, con la sicurezza ecc… L’intelligenza artificiale, invece, oltre a rapportarsi alla logica (classica), ha anche a che fare con altri problemi, più tipici, come il problema della completezza. Ad esempio, un robot che si muove in una stanza, anche se non riesce a dedurre se una cosa che sta davanti a lui è una sedia o un tavolo, deve poter decidere comunque, e quindi deve avere una situazione di completezza. Un altro esempio può chiarire meglio questo concetto: un essere umano (o un robot) non sa se è giusto (se si può dimostrare che è giusto) prendere un treno o non è giusto prendere un treno, ma deve poter decidere comunque. Nel ragionamento comune cioè non si accetta l’incompletezza. E infatti la completezza è un requisito essenziale della decisione. Ad esempio si potrebbe creare una situazione in cui è possibile (non è possibile) dimostrare sia l’asserzione “oggi l’aereo parte” sia l’asserzione “oggi l’aereo non parte” ma bisogna comunque decidere. E allora? Nell’intelligenza artificiale bisogna sempre decidere, anche in mancanza di informazioni (e infatti gli uomini decidono sempre). E quindi bisogna ricorrere al ragionamento per default, che fa sì che tutte le teorie siano complete. Deve cioè esistere una regola di default, in cui anche nel caso in cui non esistano elementi per prendere una decisione, si possa comunque decidere (perché, ad esempio, α è più probabile di non α). Questa regola di default è di solito un algoritmo che afferma come ci si deve comportare dicendo che α (non α) è un teorema. Nella logica matematica classica più informazioni si hanno, più cose si riescono a dimostrare, non si cambia mai idea. Se è stato dimostrato un teorema non si dirà mai (se si hanno nuove informazioni) che quel teorema è sbagliato. La logica (la matematica) classica è monotona e cumulativa, un teorema, una volta dimostrato, è stato dimostrato per sempre. 3 Le logiche di default sono invece non-monotone. Si può decidere che “Tizio è una persona onesta” ed essere convinti di questo. Se si hanno nuove informazioni, si può invece decidere che “Tizio non è una persona onesta”. Se si hanno ulteriori informazioni, si può ancora cambiare idea. Il ragionamento non è stabile, nel senso che si può cambiare continuamente opinione circa una situazione, quando le informazioni cambiano, senza che le informazioni siano sbagliate. Semplicemente, nuove informazioni consentono di cambiare opinione. Il ragionamento per default comporta numerosi problemi. Cosa succede, ad esempio, quando una prova combacia con le premesse di due regole di default con conclusioni contrastanti? Sembra che si debbano esprimere delle priorità tra le regole in modo che una regola abbia la precedenza. Una forma comunemente usata di priorità è quella della preferenza alla specificità in cui una regola di un caso specifico ha la precedenza su quella di un caso generale. Ad esempio, “le macchine a tre ruote hanno tre ruote” ha la precedenza su “le macchine hanno quattro ruote”. Un altro problema è che a volte si può giungere a diverse conclusioni sulla base di una credenza che viene poi ritrattata. Come si può tener conto delle conclusioni che devono essere ritrattate? Sembra ragionevole pensare che debbano essere trattenute le conclusioni che hanno più giustificazioni (di cui solo una piccola parte è stata ritrattata), mentre quelle senza alcuna giustificazione rimanente dovrebbero essere abbandonate. Ancora: come si possono usare le credenze che hanno stati di default per prendere decisioni? Questa è probabilmente la questione più difficile per il ragionamento di default. Le decisioni spesso comportano delle contropartite, quindi è necessario confrontare la forza della credenza che proviene da azioni differenti. Nei casi in cui gli stessi tipi di decisioni vengano prese ripetutamente, è possibile interpretare le regole di default come enunciati di “probabilità di soglia”. Ad esempio, la regola di default “i freni dell’auto sono sempre funzionanti” in realtà significa “la probabilità che i freni dell’auto funzionino, data nessun altra informazione, è sufficientemente alta che la decisione ottimale per il guidatore è quella di guidare senza controllarli”. Quando cambia il contesto della decisione, ad esempio quando si sta guidando su un camion stracarico lungo una ripida strada di montagna, la regola di default diventa improvvisamente inadeguata, anche se non c’è alcuna prova che suggerisca che i freni non funzionino. 4 Se, come sembra, il ragionamento per default è non-monotono, è ragionevole pensare che (come le altre forme di ragionamento non-monotono) manchi di tre importanti proprietà che invece sono tipiche della logica classica e cioè: 1) località: nei sistemi logici classici, una volta che si è dimostrata una regola nella forma α→β si può concludere β data prova di α, senza doversi preoccupare di nessun’altra regola; nei sistemi di default si dovrebbe tener conto di tutte le prove disponibili; 2) distacco: una volta che si è trovata una dimostrazione logica per una proposizione β, nella logica classica tale proposizione può essere usata indipendentemente da come è stata derivata, ossia può essere distaccata dalla propria giustificazione; nel ragionamento di default sembra che la sorgente di prova per una credenza sia importante per i ragionamenti successivi; 3) vero-funzionalità: nella logica classica la verità delle formule complesse può essere calcolata a partire dalla verità dei componenti, mentre nel ragionamento per default questo non dovrebbe valere, a meno di forti assunzioni di indipendenza. Vi sono stati diversi tentativi di far derivare il ragionamento di default da un sistema probabilistico, usando l’idea che una regola di default è praticamente una probabilità condizionata di 1-ε, ma questa ipotesi è stata oggetto di numerose critiche, in quanto troppo semplicistica e non abbastanza rappresentativa di questa forma di ragionamento2. 2 Secondo R. Reiter, ideatore della logica di default, questa forma di ragionamento non ha nulla a che fare con la probabilità. La logica di default permette invece di asserire qualcosa che non si può derivare, ma per la quale non si ha nemmeno un’informazione contraria. In parole povere, in assenza di ogni informazione contraria (default), cioè che non valga non-A, si asserisce A. E ciò ovviamente implica la non monotonia. Si veda in merito: R. REITER: A logic for default reasoning, in Artificial Intelligence, 13 (1-2) [1980], pp.81-132. 5