14. Introduzione alle proposizioni
Federico CalòOltre alla base di conoscenza, un'agente ha a sua disposizione un insieme di proposizioni e inferenze tramite le quali decide cosa è vero e cosa no nel mondo. Introduciamo i formalismi di ragionamento tramite le proposizioni, ciascuno dei quali differisce in base alla gestione delle osservazioni e alla base di conoscenza su cui si basano.
Come detto nei precedenti articoli, le affermazioni sul mondo forniscono vincoli su ciò che potrebbe essere vero. I vincoli possno essere specificati estensionalmente attraverso tabelle di assegnazioni possibili delle variabili, o intenzionalmente in termini di formule. Per molti domini le proposizioni forniscono un linguaggio adatto per fornire vincoli intenzionali. Le proposizioni sono spesso utilizzate per specificare vincoli e query, i motivi sono molteplici:
- Spesso è più conciso e leggibile fornire un'affermazione logica sulla relazione tra alcune variabili piuttosto che utilizzare una rappresentazione estensionale;
- La forma della conoscenza può essere sfruttata per rendere più efficiente il ragionamento;
- Sono modulari, facilitando in questo modo le modifiche e il debug della knowledge base;
- Il tipo di domande a cui un agente può dover rispondere può essere più ricco delle singole assegnazioni di valori alle variabili
- Questo linguaggio è esteso al ragionamento sugli individui e le relazioni ;
Introduciamo così il calcolo proposizionale
Sintassi e semantica del calcolo proposizionale
Si definisce proposizione una frase, scritta in un linguaggio, che ha un valore di verità in un mondo (quindi può essere vera o falsa). Una proposizione può essere atomica o essere costituita da più proposizioni atomiche attraverso l'uso di connettivi logici. Una proposizione atomica, o atomo, è un simbolo, generalmente consistono di lettere, cifre e il carattere di sottolineatura. Ad esempio is_empty. Le proposizioni possono essere costruite da proposizioni più semplici usando connettivi logici.
Una proposizione composta può essere nella forma.
Simbolo | Lettura | Significato |
---|---|---|
"not p" | negazione di p | |
"p and q" | congiunzione di p e q | |
"p or q" | disgiunzione di p e q | |
"p implica q" | implicazione di q da p | |
"p se q" | implicazione di p da q | |
"p se e solo se q" | equivalenza di p e q |
P e q sono delle preposizioni, mentre gli operatori utilizzati prendono il nome di connettivi logici. Possono essere create delle espressioni proporzionali, mediante l'utilizzo di parentesi, che rendono leggibili le formule. Quando queste sono omesse, viene seguito l'ordine degli operatori come sopra.
Definiamo ora la semantica della logica proposizionale. Ogni atomo ha un significato, vero o falso, e ogni interpretazione è una funzione che mappa questi due valori ai relativi atomi. Una base di conoscenza è un insieme di proposizioni dichiarate vere, ogni elemento prende il nome di assioma.
Un modello di una base di conoscenza KB è un'interpretazione di cui tutte le proposizioni sono vere. Se g è una proposizione, può essere considerata una conseguenza logica della base di conoscenza se può essere scritta come: , se questa è vera per ogni modello di KB.
La semantica dal punto di vista dell'uomo
Descrivere una semantica non ci dice perchè essa è interessante o come può essere utilizzata per costruire sistemi intelligenti. Un progettista ha un mondo particolare da caratterizzare e deve scegliere poterlo interpretare, scegliendo i significati per i simboli rispetto a quel mondo e scrivere proposizioni su ciò che è vero. La metodologia utilizzata può essere rappresentata in diversi passi.
- Passo 1
- Il progettista sceglie un dominio di attività o un mondo da rappresentare.
- Passo 2
- Il progettista della base di conoscenza seleziona gli atomi per rappresentare le proposizioni di interesse, ognuno avrà un significato preciso all'interno dell'interpretazione.
- Passo 3
- Si prosegue con l'assiomatizzazione del dominio, fase in cui il progettista indica le proposizione del sistema che sono vere all'interno della propria interpretazione;
- Passo 4
- Il progettista della knowledge base pone delle domande sull'interpretazione alle quali il sistema può rispondere.
Una specificazione del significato dei simboli è chiamata ontologia. Le ontologie possono essere specificate in modo informale nei commenti, ma sono sempre più specificate nei linguaggi formali per consentire l'interoperabilità semantica, ovvero la capacità di utilizzare insieme simboli provenienti da diverse basi di conoscenza.