Dispensa Decidibilità

Transcript

Dispensa Decidibilità
DECIDIBILITA' DELLA LOGICA PROPOSIZIONALE E INDECIDIBILITA' DELLA LOGICA DEL PRIMO
ORDINE
PER CAPIRE…
Nelle lezioni passate abbiamo visto come il teorema di correttezza e completezza permetta di
stabilire un ponte tra calcolo logico e semantica, e cioè tra la nozione di conseguenza logica e
quella di dimostrabilità. Il teorema di completezza per una logica dimostra che:
-
una proposizione φ è conseguenza logica di un insieme di proposizioni Γ sse φ è
dimostrabile (con gli strumenti messi a disposizione dal calcolo scelto) a partire da Γ:
Γ ⊨ φ sse Γ ⊢ φ
-
una proposizione (un insieme di proposizioni) è [in]/soddisfacibile sse è [in]/coerente:
Ricordiamo inoltre alcuni teoremi che esplicitano i rapporti incrociati tra soddisfacibilità e
conseguenza logica e quindi tra dimostrabilità e coerenza:
-
una proposizione φ è conseguenza logica di un insieme di proposizioni Γ sse Γ ∪ {¬φ} è
insoddisfacibile
Γ ⊨ φ sse Γ ∪ {¬φ} è insoddisfacibile
-
[SEMANTICA]
una proposizione φ è dimostrabile a partire da un insieme di proposizioni Γ sse {Γ,¬φ} è
incoerente (conduce a una contraddizione)
Γ ⊢ φ sse {Γ,¬φ} è incoerente
[CALCOLO]
Tenere presente queste relazioni è fondamentale per acquisire dimestichezza con le relazioni tra
tali concetti e il concetto di decidibilità (si riveda anche il rapporto tra verità e conseguenza
logica).
Il problema della decidibilità per un predicato P consiste nel chiedersi se esista una procedura
finita, un algoritmo per decidere, dato un elemento arbitrario a del dominio, dell'appartenenza di a
all'estensione di P, e cioè se a ∈ P o a ∉ P.
Si noti che, parlare di decidibilità facendo ricorso a concetti come quelli di procedura finita e di
algoritmo significa porre il problema in modo generale e da un punto di vista intuitivo. E' tuttavia
possibile richiamare alcune formalizzazioni che sono state date al concetto di algoritmo, ad
esempio, quella di Turing. Assumendo la tesi di Church (secondo la quale ogni algoritmo è una
funzione Turing computabile = ricorsiva = flowchart computabile = ...1) si può dunque far ricadere
le questioni relative alla decidibilità dei predicati all'interno della teoria della ricorsività. Tale
passaggio è consentito dal fatto che è possibile studiare i predicati nei termini della loro funzione
caratteristica e le funzioni nei termini dei loro grafi. La funzione caratteristica fc di un predicato p
è la funzione che mi dice quali elementi di un dominio appartengono all'estensione di un predicato
ed è definita nel modo seguente:
fc(x) = 1 se x è elemento di P
fc(x) = 0 altrimenti
Viceversa il grafo di una funzione (n-aria) è il predicato (n+1-ario) che vale tra gli argomenti della
funzione e i rispettivi valori. Ad esempio per la somma tra due argomenti è la relazione
sussistente
tra
tutti
gli
addendi
possibili
{(0,0,0),(0,1,1)...(2,0,2),(2,1,3),(2,2,4)...}.
e
le
rispettive
somme
PREDICATI DECIDIBILI; SEMIDECIDIBILI E INDECIDIBILI
Possiamo dunque gettare un ponte tra decidibilità dei predicati (lato intuitivo) e funzioni ricorsive
(formalizzazione) andando a vedere che tipo di funzioni sono le funzioni caratteristiche di tali
predicati.
Diciamo dunque che un predicato P è decidibile
Sse
Sse
Sse
per ogni x del dominio esiste un algoritmo per decidere se x ∈ P o x ∉ P [se cioè ho una
procedura che in un numero finito di passi termina dicendomi se x appartiene a P, o in
caso contrario, che x non appartiene a P].
esiste una funzione ricorsiva tale che
P(x)=1 se x ∈ P e
P(x)=0 se x ∉ P.
(Ma questa funzione è esattamente la funzione caratteristica di P, perciò:)
la sua funzione caratteristica è una funzione ricorsiva2.
Viceversa il grafo di una funzione ricorsiva è un insieme decidibile.
Un predicato è dunque decidibile se posso decidere sia delle istanza positive di tale predicato sia
di quelle negative.
E’ invece possibile che si sia in grado di decidere solo delle istanza positive e cioè che si abbia una
algoritmo per determinare che x appartiene a P qualora x ∈ P, mentre invece non sia garantito di
determinare in un numero finito di passi che x non appartiene a P qualora x ∉ P. In questo caso,
se si ha cioè una procedura di semidecisione per P, si dice che P è un predicato semidecidibile.
1
Ricordiamo che la tesi di Church è corroborata dal fatto che diverse formalizzazioni del concetto
intuitivo di algoritmo sono dimostrate essere equivalenti. In particolare quindi se si accetta la tesi
di church le funzioni ricorsive coprono la classe delle funzioni computabili.
2
Per correttezza occorre osservare che tale affermazione presuppone la decidibilità dell’identità, e
la numerabilità del dominio. Non approfondiremo oltre la questione dal momento che qui si
vogliono dare solo brevi cenni della teoria della ricorsività. Peraltro per applicazioni standard delle
teoria della ricorsività questa assunzione non pone grandi problemi.
Attenzione: la classe dei predicati semidecidibile è soprainsieme di quella dei predicati decidibili,
poiché ogni predicato decidibile è anche semidecidibile. In particolare un predicato è decidibile se
è semidecidibile sia lui sia il suo complemento (il complemento di un insieme P è l’insieme degli
elementi che non appartengono a P).
Volendo ricollegarsi alla teoria della ricorsività come si è fatto per la decidibilità, riporteremo le
seguenti equivalenze:
un predicato P è semidecidibile
sse
Sse
è il dominio di una funzione parziale ricorsiva (tale cioè che ho una procedura per calcolare
il valore per ogni elemento per cui la funzione è definita).
è il codominio di una funzione ricorsiva e cioè se è un insieme ricorsivamente enumerabile
(R.E.).
Ovviamente una simile trattazioni di queste nozioni non è sufficiente a dare un quadro ne
esauriente ne sufficientemente chiaro dei rapporti tra decidibilità e teoria della ricorsività. Si
intende però così dare almeno una spiegazione del perchè nella letteratura nel campo dell’IA,
spessi vengano usati come sinonimi “insieme ricorsivamente enumerabile (r.e.)” e “insieme
semidecidibile”.
Un predicato è indecidibile se non è decidibile.
DECIDIBILITA’ E LOGICA PROPOSIZIONALE E DEL PRIMO ORDINE
Posto il problema generale della decidibilità di un predicato veniamo a capire che senso abbia
parlare di decidibilità per una logica. Il passaggio viene fatto prendendo in considerazione la
decidibilità di insiemi come cons(Γ) e teor(Γ) [gli insiemi rispettivamente delle conseguenze logiche
e dei teoremi di Γ], e di sat(L) e coer(L)
soddisfacibili e coerenti del linguaggio].
[gli insiemi rispettivamente degli insiemi di formule
Il problema della decidibilità per una logica può essere dunque introdotto come segue:
Esiste un algoritmo che mi permetta di decidere, per ogni proposizione φ del linguaggio se φ è
valida, se cioè ⊨φ o ⊭φ?
E poiché la nozione di conseguenza logica è indissolubilmente legata a quella di verità, il problema
può essere generalizzato3 nel modo seguente:
dato un insieme di proposizioni Γ, esiste per ogni φ un algoritmo per sapere se Γ ⊨ φ o Γ ⊭ φ?
Ovvero, dato un insieme anche vuoto di assiomi Γ, cons(Γ) è un insieme decidibile?
La risposta è che mentre la logica preposizionale è decidibile, quella del primo ordine non lo è ma
è soltanto semidecidibile. Questo significa data una proposizione della logica preposizionale A
esiste un algoritmo che termina sempre dicendomi se A è vera o meno. Data una proposizione φ
al primo ordine invece, esiste una procedura meccanica π tale che, se φ è vera, π termina in un
numero finito di passi attestando la verità di φ, ma se φ invece non è vera non è garantito che π
3
Questa è una generalizzazione perché nel caso in cui Γ sia vuoto si ha il caso precedente.
termini attestandolo. Per la logica del primo ordine dunque, soltanto cons(Γ) è semidecidibile,
mentre il suo complemento (l’insieme delle proposizioni che non sono conseguenza logica di Γ)
non lo è. Per questo si usa dire che la logica del primo ordine è indecidibile.
Utilizzando i teoremi riportati all’inizio del capitolo si ottengono i risultati di decidibilità per la
soddisfacibilità e la coerenza. In particolare, poiché
Γ ⊨ φ sse Γ ∪ {¬φ} è insoddisfacibile
[e quindi
Γ ⊭ φ sse Γ ∪ {¬φ} è soddisfacibile]
se ho un test per la verità di φ (un test per sapere se φ è conseguenza logica di Γ), allora ho un
test anche per l’insoddisfacibilità. Viceversa se ho un test per la non verità di φ, ho anche un test
per la soddisfacibilità. In particolare, sat(L) e, via completezza, coer(L) sono insiemi decidibili o
solo semidecidibili?
Per quanto riguarda la logica preposizionale, essendo essa decidibile e disponendo di un test sia
per la verità che per la non verità delle proposizioni, avremo un test anche per la soddisfacibilità e
l’insoddisfacibilità; essendo dunque semidecidibili sia sat(L) e coer(L) sia i loro complementi, sat(L)
e coer(L) sono entrambi insiemi decibili.
Per quanto riguarda la logica del primo ordine, invece, le cose stanno diversamente. Qui abbiamo
un test per la verità, ma non un test per la non verità, grazie ai teoremi incrociati di cui sopra, si
ottiene dunque che per la logica predicativa avremo un test per l’insoddisfacibilità mentre non
avremo alcun test per la soddisfacibilità. Dunque, sat(L) è indecidibile mentre il suo complemento
è semidecidibile (il medesimo ragionamento è applicabile a coer(L)). Poniamo dunque di voler
chiederci se una formula φ o un insieme di formule Γ è soddisfacibile: se φ (Γ) è insoddisfacibile
esisterà una procedura che terminerà in un numero finito di passi rispondendo negativamente, se
φ (Γ) invece è soddisfacibile nulla mi garantisce una risposta positiva entro un numero finito di
passi.
Ricapitoliamo i risultati di decidibilità per la logica del primo ordine:
cons(Γ) e –sat(L)4 sono semidecidibili, o, come spesso si trova scritto, sono ricorsivamente
enumerabili (esiste un algoritmo che è in grado di generare tutte le conseguenze logiche di un
insieme di proposizioni Γ, e tale algoritmo è precisamente un calcolo corretto e completo!);
-cons(Γ) e sat(L) sono indecidibili, o, come spesso si trova scritto, non sono nemmeno
ricorsivamente enumerabili.
Attenzione, questi risultati valgono per teorie arbitrarie del primo ordine. Non significa dunque
che ogni teoria del primo ordine sia indecidibile, ma data una specifica teoria del primo ordine, in
generale non se ne può affermare la decidibilità, sebbene si possa cercare di dimostrarla. In realtà,
data la fondamentale relazione tra decidibilità e computabilità (attraverso la teoria della ricorsività)
e data l’importanza che la computabilità riveste nell’ambito delle applicazioni della logica in
informatica, molti sforzi sono stati rivolti a dimostrare la decidibilità, non di specifiche teorie, ma
di classi di teorie, ovvero di frammenti della logica del primo ordine. Per esempio limitandosi a
domini finiti5 o riducendo il numero di variabili contenute nelle formule del linguaggio è possibile
dirigersi verso frammenti decidibili della logica del primo ordine. Ad esempio, l’ampio successo
che le Description Logics stanno riscuotendo in diversi ambiti dell’informatica è dovuto anche al
fatto che esse sfruttano frammenti del primo ordine decidibili.
4
5
Con –cons(Γ) indichiamo il complemento di cons(Γ).
In modo analogo ai vantaggi computazionali che si ottengono nello studio delle funzioni ricorsive
considerando funzioni che contengano unicamente µ operatori limitati.