Logica descrittiva

Da Wikipedia, l'enciclopedia libera.

Le logiche descrittive (in inglese, description logics) sono una famiglia di formalismi utilizzati per rappresentare la conoscenza in un dominio di applicazione detto mondo. In primo luogo sono definiti i concetti rilevanti per quel dominio e, di seguito, utilizzando questi concetti si specificano le proprietà degli oggetti e degli individui appartenenti al dominio. Gli studi riguardanti le logiche descrittive si focalizzano sulla ricerca di metodi che descrivano in modo sempre più specifico il dominio di interesse tale da essere utilizzato per costruire applicazioni intelligenti. In questo contesto il termine intelligente è riferito all'abilità di un sistema di trovare delle conseguenze implicite rispetto a quelle esplicite rappresentate dalla conoscenza. Sistemi così caratterizzati sono definiti sistemi basati sulla conoscenza (knowledge based system).

Una delle caratteristiche dei linguaggi utilizzati per la rappresentazione della conoscenza è quella di essere forniti di semantiche basate sulla logica, con una enfasi particolare al cosiddetto ragionatore. Il ragionatore permette di rappresentare la conoscenza implicita ricavandola da quella esplicita presente in una ontologia. Dal punto di vista della conoscenza umana una logica descrittiva permette all’individuo uomo di strutturare e capire il mondo che lo circonda attraverso la classificazione degli individui e dei concetti. La classificazione dei concetti permette di determinare le relazioni tra i sottoconcetti e/o i superconcetti che a loro volta permettono di strutturare la tassonomia in modo gerarchico.

La gerarchia è utile per ricavare informazioni circa le connessioni logiche tra concetti differenti. La classificazione degli individui e/o degli oggetti determina se uno specifico individuo è sempre una istanza di un determinato concetto.

Storia[modifica | modifica sorgente]

I primi studi sulla rappresentazione della conoscenza iniziarono negli anni '70 e possono essere divisi in maniera sommaria in due categorie: formalismi basati sulla logica che si sono sviluppati partendo dalla convinzione che il calcolo dei predicati poteva essere usato in modo non ambiguo per descrivere l’ambiente circostante e, rappresentazioni basate su una non logica sviluppate tenendo conto di nozioni più cognitive come le strutture di reti e rappresentazioni basate su compiti specifici derivate da esperimenti riguardanti la capacità della mente umana di ricordare concetti o di eseguire compiti come la risoluzione di puzzle matematici. Negli approcci basati sulla logica, il linguaggio utilizzato per la rappresentazione della conoscenza è una variante del calcolo dei predicati del primo ordine dove il compito del ragionatore è quello di verificare la consequenzialità logica dei costrutti.

Al contrario in un approccio non logico, spesso basato sull'utilizzo di interfacce grafiche, la conoscenza è rappresentata per mezzo di una struttura dati ad hoc e il ragionatore ha il compito di eseguire delle procedure ad hoc utili a manipolare queste strutture. Tra queste rappresentazioni ricordiamo le reti semantiche e i frame. Le reti semantiche sono state sviluppate con l’apporto del lavoro di Quillian [1967] con l’obiettivo di caratterizzare, per mezzo di strutture di reti cognitive, sia la conoscenza che il ragionatore in determinati sistemi. Sebbene esistano delle differenze significative tra le reti semantiche e i frame entrambi hanno delle basi comuni. Infatti sono considerate delle strutture di rete dove la struttura ha lo scopo di rappresentare un insieme di individui e le loro relazioni.

La ricerca nell'ambito delle logiche descrittive iniziò con lo studio dei sistemi terminologici per enfatizzare che il linguaggio utilizzato per la rappresentazione della conoscenza doveva caratterizzare la terminologia di base adottata nella modellazione del dominio di interesse. Più tardi l’enfasi fu spostata sui costrutti ammessi dal linguaggio che descrivevano i concetti, da cui il nome di linguaggi di concetto. In anni più recenti dopo che l’attenzione degli esperti è stata rivolta verso le proprietà dei sistemi logici, ha preso sempre più piede nella terminologia comune il concetto di logica descrittiva. Più recentemente le logiche descrittive sono state utilizzate come formalismo di base per lo sviluppo degli standard promossi dalla "Semantic Web initiative" del W3C, quali ad esempio RDF, che però non può essere considerato una logica descrittiva, ma soprattutto OWL (nato dalle ceneri dei progetti DAML e OIL).

Diverse logiche descrittive[modifica | modifica sorgente]

A seconda delle possibilità e delle restrizioni imposte nell'utilizzo di questi ingredienti, ogni logica viene caratterizzata da una particolare capacità espressiva che può essere valutata utilizzando una notazione letterale standard:

  • \mathcal{AL}: indica la logica degli attributi e introduce gli operatori di congiunzione e di quantificatori universale ed esistenziale;
  • \mathcal{C}: descrive la possibilità di usare l'operatore di negazione;
  • \mathcal{S}: estende la DL \mathcal{ALC} con l'ulteriore possibilità di definire la chiusura transitiva di un ruolo;
  • \mathcal{H}: fornisce la possibilità di definire gerarchie tra ruoli;
  • \mathcal{O}: asserisce la presenza dell'operatore di enumerazione;
  • \mathcal{I}: permette di riferirsi al ruolo inverso;
  • \mathcal{F}, \mathcal{N} e \mathcal{Q} caratterizzano le possibilità di definire cardinalità rispettivamente funzionale, semplice e qualificata (in ordine di espressività crescente);
  • \mathcal{D}: descrive la possibilità di riferirsi a domini concreti.

In quest'ottica, ad esempio, il sottolinguaggio di OWL "OWL DL" di può essere considerato equivalente ad una logica descrittiva di tipo \mathcal{SHOIN(D)}.

Strutture di rappresentazione[modifica | modifica sorgente]

Con lo sviluppo delle reti semantiche hanno assunto grande importanza gli studi riguardanti la rappresentazione della conoscenza e le logiche descrittive. In questa sezione è data una rappresentazione degli elementi che compongono una rete generica. Gli elementi principali sono i nodi e le connessioni. Tipicamente i nodi sono utilizzati per caratterizzare i concetti cioè classi o insiemi di individui, mentre le connessioni caratterizzano le relazioni tra le classi e/o gli insiemi. I concetti possono avere delle proprietà comunemente chiamate attributi associate ai corrispondenti nodi.

Bibliografia[modifica | modifica sorgente]

  • F. Baader, D. Calvanese, D. L. McGuiness, D. Nardi, P. F. Patel-Schneider: The Description Logic Handbook: Theory, Implementation, Applications. Cambridge University Press, Cambridge, UK, 2003. ISBN 0-521-78176-0

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]