Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

I SISTEMI ESPERTI - GENERALITA'

informatica




I SISTEMI ESPERTI

GENERALITA'


1.INTRODUZIONE

I Sistemi Esperti (ES) rientrano a pieno titolo nell'area di interesse dell'Intelligenza Artificiale (AI). Essi con la capacità di emulazione del ragionamento di un esperto in un particolare settore, aiutano l'utilizzatore a trovare soluzioni al problema in esame.

La realizzazione di tali sistemi ha trovato possibilità di sviluppo grazie alle competenze acquisite nella "rappresentazione della conoscenza" ed alla maggiore comprensione della componente "interfaccia uomo-macchina". Ricerche nel settore delle scienze cognitive hanno permesso questi risultati, che sono poi diventati il punto di partenza per lo sviluppo di tali sistemi.



In particolare il trattamento del linguaggio naturale e la messa a punto di metodi per la rappresentazione della conoscenza sono alla base del nostro discorso.

I campi di maggior utilizzo di tali sistemi sono al presente quello della medicina, della biologia, della genetica, della geologia, e anche se con qualche difficoltà quello educativo.


L'informatica con il suo approccio tradizionale affida al computer dati relativi ad una particolare applicazione perchè siano elaborati in termini algoritmici. L'utente infine ne interpreta i risultati secondo le sue esigenze e nel particolare contesto.

Un approccio meno tradizionale invece tende a sviluppare sistemi che elaborano in modo sempre più intelligente l'informazione, ovvero che includano della conoscenza.

Tradizionalmente tale conoscenza, vista come insieme di procedure e metodologie, per gestire e trattare dati, viene fornita all'elaboratore attraverso i classici linguaggi di programmazione. Essi forniscono una descrizione formale ed astratta e quindi diversa da quella che ci fornirebbe l'esperto del particolare settore.

Attraverso l'AI abbiamo la possibilità di permettere allo specialista di un certo settore, che non abbia competenze informatiche, di sfruttare direttamente le potenzialità del computer. Essa ci permette di trasferire sull'elaboratore non solo la dimensione informativa e descrittiva ma anche una capacità interpretativa ed inferenziale. Quest'ultima sarà in grado di concatenare elementi conoscitivi, di dedurne di nuovi, di proporre soluzioni alternative.

L'obiettivo di tutto questo è ricostruire sull'elaboratore la "conoscenza" di un certo settore, la struttura logica e procedurale relativa in modo da essere accessibili allo specialista.

Per tutto ciò è necessario:

-rappresentare all'interno del sistema la conoscenza relativa ad un campo di applicazione in formalismi simili a quelli utilizzati dallo specialista;

-analizzare, descrivere, riprodurre i meccanismi di ragionamento 535c25f propri dello specialista. Per giungere, ad esempio, ad una diagnosi, occorre individuare i procedimenti logici usati dal medico.

Questo fa capire che per ottenere tali risultati diventa essenziale una ricerca sulla ricerca (metaricerca) nelle varie discipline; è qui che diventa essenziale la interdisciplinarietà da parte di epistemologi, psicologi, studiosi di scienze cognitive, ecc.

La realizzazione di tali sistemi richiede alcune condizioni, quali:

-linguaggi per rappresentare la conoscenza;

-strumenti basati sulla euristica (meccanismo logico della particolare disciplina e dei suoi esperti) per la corretta ed efficiente gestione della conoscenza;

-nuove architetture hardware.


2.ARCHITETTURA DI UN E.S.

Analizziamo adesso l'architettura di base di un ES.

Un ES svolge funzioni analoghe a quelle di un esperto umano, emulandone il processo decisionale. Esso è in grado di gestire una grande conoscenza su di una specifica area, inoltre instaura, tramite una interfaccia in linguaggio naturale (o molto vicino ad esso) un colloquio con l'utente: esegue deduzioni relative al caso di studio, secondo le conoscenze sul dominio precedentemente memorizzate. Esso quindi esprime interattivamente un parere e suggerisce le azioni da intraprendere.

Non bisogna trascurare il fatto che esso fornisce spiegazioni sul suo procedimento, ovvero su COME ha raggiunto i suoi convincimenti e sul PERCHE' è interessato a particolari informazioni.

Un altro aspetto interessantissimo e nuovo rispetto ai sistemi tradizionali stà nel fatto che in un ES è possibile l'evoluzione della sua base di conoscenza sul suo dominio senza alcun bisogno di riprogrammazione; è questo un altro aspetto che lo avvicina all'esperto umano.

Teniamo anche conto del fatto che un ES raggiunge sempre una conclusione. Tale conclusione può ovviamente contenere un insieme di consigli o soluzioni che l'utente potrà vagliare ed analizzare. Questo ci fa capire che non è sempre possibile raggiungere una soluzione univoca o certa in assoluto. Ciò che si ottiene è sempre relativo alla quantità e qualità delle informazioni disponibili sul caso in esame. L'aggiunta di nuovi dati ci permette quindi una risposta più affidabile. Nel caso di informazioni estremamente carenti non possiamo aspettarci un risultato soddisfacente.

Per valutare appieno queste caratteristiche analizziamo sommariamente un tradizionale sistema di aiuto alla decisione. Esso sarà un albero decisionale o un algoritmo. Sia l'uno che l'altro tendono a produrre un risultato ottimale in base ad un ben determinato numero di domande, poste in ordine prestabilito e non producono conclusioni non appena manca una risposta.

Le informazioni che occorrono ad un ES per poter emulare un processo decisionale sono quelle:

-relative al dominio di applicazione;

-relative all'individuazione delle informazioni necessarie alla soluzione del caso ed al loro utilizzo;

-relative al caso in esame.

Per fare questo individuiamo nel ES tre componenti:

-"Base di Conoscenza a lungo termine" (Long-Term Memory), costituita da concetti e dalle regole specifici del campo di applicazione;

-"Motore Inferenziale" (Inference Engine), che è un algoritmo molto generale e non è altri che l'implementazione del metodo di ragionamento;

-"Base di Conoscenza a breve termine" (Short-Term Memory), costituita dalle informazioni (fatti) sul singolo caso.

I sistemi tradizionali sono invece composti da due parti:

-un "Programma", scritto in un linguaggio orientato verso l'applicazione , che esegue un algoritmo;

-i "Dati" sui quali il programma opera (i dati sono esterni).


Vediamo come funziona un ES:

Il Motore parte da ipotesi (o da fatti iniziali, presenti nella base di conoscenza a breve termine) e, manipolando i concetti ed i frammenti di conoscenza (costituenti la base di conoscenza a lungo termine) decide quali nuovi fatti acquisire tramite colloquio con l'utente o tramite deduzione e valuta la credibilità delle singole ipotesi.


3. ELEMENTI BASE DI UN ES.

Detto questo, analizziamo più da vicino gli elementi di base di un ES.

Base di conoscenza a lungo termine: in essa vengono rappresentati i concetti e le regole del campo di applicazione. Teniamo conto che le conoscenze hanno, diversamente dalle procedure, una forma dichiarativa. E' da questo fatto che è richiesta per esse un sistema di rappresentazione alquanto sofisticato. La convenienza stà nel fatto che con questo metodo esse (le conoscenze) sono estensibili, manipolabili ed utilizzabili in occasioni diverse da quelle stabilite a priori.

Il Motore Inferenziale decide quale frammento di conoscenza utilizzare nei diversi momenti del processo di analisi del caso.

Si noti che la decisione è separata dalle conoscenze stesse. Questa separazione rende possibile la manipolazione della conoscenza nello stesso modo in cui nei programmi classici erano elaborati i dati. Inoltre rende possibile giustificare i vari passi.

Motore Inferenziale: esso è scritto in un linguaggio dell'AI (Lisp, Prolog, Smalltalk, ecc.). Il motore è in ogni modo indipendente dalle conoscenze sul dominio di applicazione, anche se esistono diversi tipi di motore, ognuno con caratteristiche adatte al problema.

La Base di Conoscenza a Breve Termine è costituita dai fatti relativi al singolo caso; essi possono essere visti come l'evoluzione dei dati, strutturati, dei sistemi tradizionali. Essi sono posti in relazione ai concetti ed alle regole.


Per poter funzionare, un ES, deve possedere una "Interfaccia" con l'utente. Essa permette il dialogo tra utente e sistema. Permette, inoltre di conoscere quali sono state le regole ed i concetti utilizzati, oppure quale conoscenza si è acquisita in un certo istante ed infine ci dice come è arrivato ad un certa conclusione (scartando altre ipotesi ugualmente regionevoli).

L'uso del linguaggio naturale per tale colloquio è ancora difficile ma certamente è utilizzabile un suo sottoinsieme.

Visto che l'ES permette la formalizzazione, l'uso e l'evoluzione della base di conoscenza sul dominio, è importante una componente per la "gestione della conoscenza" che renda possibile la sua manipolazione da parte dell'esperto in modo interattivo; è inoltre prevista la possibilità di correzione, cancellazione ed aggiornamento.

Questo Modulo deve garantire la coerenza della conoscenza (evitando le contraddizioni) e la completezza; sarà il modulo stesso ad individuare le carenze presenti ed aiutare l'esperto a renderla più esuastiva possibile. Esso, infine organizza la base di conoscenza, la struttura, la confronta con quella presente e la aggiorna.

Uno schema semplificato di architettura di un ES è mostrata in figura.


Un ES privato di conoscenza viene detto Guscio (Shell) e permette l'implementazione di un altro ES della stessa classe.

Un Guscio di ES è costituito da meccanismi linguistici atti a rappresentare la conoscenza e dalle procedure che costituiscono il motore inferenziale.


4.LA CONOSCENZA

4.1.Le regole di produzione.

Per risolvere un problema spesso usiamo dei meccanismi logico-deduttivi che trovano le loro radici nella intuizione e nell'approssimazione non sempre quindi dei meccanismi basati su formalismi di tipo logico-matematico.

Se vogliamo utilizzare tale conoscenza informale ci serviremo di "Regole di Produzione".

La regola (detta anche "produzione") è espressa nella forma condizione-azione:

SE ... ALLORA

Questo tipo di regola è quella maggiormente usata nella rappresentazione della conoscenza negli ES.

Una regola di produzione è quindi del tipo:

SE (condizione) ALLORA (conclusione).

La "condizione indica una situazione o se vogliamo la verità da affermare, oltre a "condizione" possiamo chiamarla "premessa". La "conclusione" indica una azione da intraprendere o delle conclusioni, possiamo anche chiamarla "conseguenza" o "azione".

Esempi di regole di produzione:

SE l'animale produce latte e l'animale bela ALLORA l'animale è una pecora.

Per attivare una procedura quindi devono essere verificate tutte le condizioni della premessa, in tal caso la conclusione può essere considerata vera.

A seconda che le regole di produzione usano il calcolo dei predicati o la logica del primo ordine daranno luogo a tipi diversi di regole di produzione.

Se si usa il calcolo dei predicati, le regole si applicano direttamente ai fatti sia nella premessa che nella conseguenza; se invece si usa una logica del primo ordine applicheremo le regole a variabili, ovvero a tutta una classe di fatti.

Per esempio, nel primo caso avremo:

SE il cane è un animale ALLORA il cane è mortale.

Nel secondo caso:

SE x è un animale ALLORA x è mortale

dove x è una variabile che fa parte di un certo sistema.

Se vogliamo strutturare la conoscenza in regole di produzione, gli elementi che la costituiscono (fatti, classi) devono avere un debole legame tra loro. La rappresentazione della conoscenza sarà quindi basata su moduli elementari di conoscenza, indipendenti tra loro, ed ognuno di essi è costituito da una regola.


4.1.1. La concatenazione delle regole.

Una regola non sempre mette in relazione una condizione ed una conclusione finale. Molto spesso si ha una conclusione parziale che diventa condizione (antecedente) di un'altra regola. Quindi la conclusione finale si avrà dall'analisi in cascata di più regole.

Questa concatenazione può aversi in vari modi, ovvero attraverso due strategie fondamentali:

a)Guidata dall'antecedente (Data Driven), si cerca di arrivare ad una conclusione partendo dai dati del problema;

b) Guidata dal Conseguente (Goal Driven), si cerca di dimostrare che l'ipotesi è compatibile con i dati raccolti sul caso in esame.

Nella strategia guidata dall'antecedente:

-si parte dai fatti iniziali (presenti nella base dei fatti),

-si individuano tutte le regole, le cui condizioni presenti nella premessa sono soddisfatte da tali fatti,

-si aggiungono nella base dei fatti le conclusioni di tali regole,

-si ricomincia a cercare le regole le cui condizioni sono soddisfatte dai fatti presenti nella base dei dati.

Il processo termina quando non esistono più nuove regole da attivare.

Nella strategia guidata dal conseguente c'è uno scopo da dimostrare:

-si cercano le regole che hanno lo scopo nella parte "azione",

-si osserva la premessa di tali regole,

-se tali premesse sono soddisfatte dai dati iniziali si è raggiunto lo scopo

altrimenti

-si cercano le regole dove tali premesse sono la conseguenza e si ricomincia da capo.

Questo significa che all'obiettivo di partenza si sostituiscono come sottobiettivi tali premesse.

Si termina se alla fine della catena le regole iniziali della stessa sono rese attive dai dati di partenza o se è impossibile trovare un'altra regola che abbia nella parte conseguente almeno un sottobiettivo da verificare.

Esempio.

Le condizioni sulle quali si vuole lavorare sono:

1)L'animale da latte

2)L'animale è un carnivoro

3)L'animale ha gli zoccoli

4)L'animale è un ruminante

5)L'animale è un mammifero

6)L'animale è un ungulato

7)L'animale ha la pelle di color fulvo

8)L'animale ha la pelle con macchie nere

9)L'animale ha le zampe lunghe

10)L'animale ha la pelle con strisce nere

11)L'animale ha il collo lungo

12)L'animale è un ghepardo

13)L'animale è una tigre

14)L'animale è una giraffa

15)L'animale è una zebra

16)L'animale ha i peli

17)L'animale mangia carne


REGOLE:

R1 SE 1) ALLORA 5)

R2 SE 5) e 3) ALLORA 6)

R3 SE 5) e 4) ALLORA 6)

R4 SE 10) e 6) ALLORA 15)

R5 SE 8) e 9) e 6) e 11) ALLORA 14)

R6 SE 5) e 7) e 2) e 10) ALLORA 13)

R7 SE 5) e 2) e 7) e 8) ALLORA 12)

R8 SE 16) ALLORA 5)

R9 SE 17) ALLORA 2)


All'inizio dell'analisi del caso i fatti iniziali sono i seguenti:

i)L'animale da latte

ii)L'animale è un ruminante

iii)L'animale ha la pelle con le strisce nere


Applicando le regole di produzione a tali fatti la conclusione sarà:

L'animale è una zebra.

Vediamo come funziona la strategia guidata dall'antecedente (catena in avanti):

-dai dati iniziali i),ii),iii) si attiva la regola R1,

-dalla nuova base di dati (alla vecchia si è aggiunta la "L'animale è un mammifero") si attiva la regola R3,

-si attiva quindi la R4 (L'animale è una zebra),

-con la nuova base dei fatti non si può attivare alcuna altra regola, quindi la conclusione è quella ottenuta con la R4.

Con la strategia guidata dal conseguente (catena all'indietro):

-l'obiettivo da verificare è la verità della conclusione "L'animale è una zebra";

-la R4 ha come conseguente "L'animale è una zebra",

-gli antecedenti della R4 sono "L'animale ha la pelle a strisce nere", che è nella base dei fatti e "L'animale è un ungulato" che non lo è, devo quindi cercare la regola ove "L'animale è un ungulato" è il conseguente,

-tale regola è la R3,

-consideriamo gli antecedenti della R3:

"L'animale è un ruminante" sta nella base dei fatti,

"L'animale è un mammifero" non ci stà, devo quindi cercare la regola ove "L'animale è un mammifero" è il conseguente,

-tale regola è la R1,

-la R1 è attivabile perchè l'antecedente contiene "L'animale da latte", che è nella base dei fatti.

L'obiettivo "L'animale è una zebra" è così raggiunto.


4.1.2. Le metaregole

Nel caso in cui si hanno molte regole ci si serve del metodo delle regole strategiche per ritrovare le regole da concatenare. Queste regole strategiche, chiamate metaregole, permettono al motore di formulare un piano dettagliato di concatenazione. L'uso di tali metaregole permette di vedere le regole attraverso il loro contenuto e non attraverso il nome e diventano estremamente utili quando il problema è divisibile in sottoproblemi e quindi le soluzioni in sottosoluzioni.

Si immagini un caso in cui si possano dividere le soluzioni in quelle di tipo diagnostico da quelle di tipo prescrittive di una terapia.


4.1.3. L'interprete delle regole

Esso non è altri che il Motore Inferenziale, il suo compito principale è quello di controllare il processo di deduzione. Dato che il processo di produzione avverrà attraverso l'attivazione di una regola alla volta, esso dovrà essere in grado di individuare quali regole attivare.

Fasi attraverso le quali deve passare:

-individuazione delle regole applicabili ad un dato istante,

-scelta tra quelle eleggibili individuate nella fase precedente,

-deduzione (si esegue l'azione della regola e si aggiorna la base dei fatti).


L'architettura di un sistema che usa regole di produzione (Sistema Basato su Regole) è schematizzata nella figura che segue.

Dove l'Agenda contiene le informazioni necessarie per risolvere il caso. In essa vengono riportati i compiti da effettuare e l'elenco delle ipotesi da verificare; inoltre viene anche riportato l'elenco delle regole che possono ancora essere attivate. Visto che la conclusione prevede anche la sua giustificazione l'agenda funge anche da storia del caso.






4.1.4. La credibilità delle regole.

Le regole nascono da una convinzione dell'esperto, quindi il ragionamento basato su tali regole sarà superficiale non meno delle regole stesse. La regola quindi esprime una convinzione (non sempre una implicazione logica), è opportuno allora associare alla regola stessa un parametro (numerico e variabile) che indichi in qualche modo la sicurezza con la quale l'esperto la formula. Tale parametro sarà quindi una "misura di credibilità". Essa varierà in un intervallo i cui estremi rappresentano il dubbio totale e la certezza assoluta.


5.ALTRE TECNICHE DI RAPPRESENTAZIONE DELLA CONOSCENZA.

5.1. Generalità

Quanto detto riguardo la rappresentazione della conoscenza basata sulle regole di produzione trova applicabilità laddove nel dominio sono presenti oggetti collegabili tra loro attraverso le regole di tipo implicazione.

Esempi di oggetti sono le condizioni del tipo: "L'animale da latte", "L'animale è un carnivoro", ecc.

Nel considerare una tecnica di rappresentazione è essenziale tener conto:

a)del tipo di conoscenze che si ottengono,

b)dell'esame delle modalità di ragionamento applicabili.

Nel caso delle regole di produzione tale ragionamento consiste nel passare, attraverso le regole di produzione da un oggetto all'altro.

La conoscenza per essere rappresentata mediante regole di produzione deve possedere le seguenti proprietà:

a)la conoscenza può essere frammentata in relazioni sparse,

b)gli elementi costituenti tali relazioni siano fornite di limitate interazioni tra loro,

c)il concatenamento vada bene per il ragionamento.

In generale la conoscenza da rappresentare è più complessa di quella basata su guidizi in quanto può essere anche di tipo dichiarativo, ovverodeve considerare tutte le relazioni intercorrenti tra oggetti diversi.

Supponiamo di dover rappresentare che:

-"La volpe è un mammifero che mangia carne"

-"La tana è un particolare nascondiglio sotterraneo"

-tra la volpe e la tana esiste una relazione in quanto la volpe passa la maggior parte del tempo nella tana.

In questo caso sarebbe difficile applicare le regole di produzione in quanto tra i diversi oggetti (volpe-mammifero-tana)ci sono differenti tipi di relazioni (appartenenza, abitazione).

Sorge quindi la necessità di immaginare altre tecniche di rappresentazione della conoscenza.


5.2.Reti semantiche.

La rappresentazione di una "rete semantica" (SemanticNetworks) è formata da un grafo orientato, costituito da "nodi" ed "archi".

I nodi rappresentano oggetti, concetti, situazioni di un certo dominio. Gli archi connettono tra di loro due nodi esprimendone la relazione (tra i due concetti). Tali archi sono orientati, per indicare il verso della relazione. Sia ai nodi che agli archi vengono associati nomi e rappresentati da cerchietti ed archi.

Supponiamo per esempio, di voler rappresentare il fatto che la volpe è un mammifero con una rete semantica. Si devono quindi creare i nodi "volpe" e "mammifero" e collegarli tra loro con un arco che rappresenta la relazione "è un" ("is a").

La rete sarà:


Questo tipo di relazione indica che un oggetto appartiene ad una classe oppure che una classe è contenuta in un'altra classe.

Nel nostro caso la relazione ISA ci dice che la classe delle volpi è una sottoclasse di "mammifero".

La relazione ISA può anche rappresentare il fatto che Lilli è una volpe.

Lillisarà un'istanza di volpe e la relativa rete sarà:

Questi due fatti determinano anche che Lilli è un mammifero.

Questi archi non solo rappresentano relazioni ma anche proprietà degli oggetti.

Esempio.


La relazione ISA gode dell'ereditarietà delle proprietà, ovvero se un individuo o una sottoclasse possiede una proprietà possiede anche quella delle classi di livello gerarchico più elevato.

Nell'esempio precedente:

-Il carnivoro ha la proprietà di avere i denti aguzzi,

-La volpe, sottoclasse dei carnivori, gode della stessa proprietà,

-Lilli (istanza di volpe e di carnivoro) gode della stessa proprietà.

Non bisogna però pensare che queste viste siano le uniche relazioni possibili, esse possono essere di qualsiasi tipo a seconda del sistema in esame.

Per esempioil fatto che Lilli dorme in una tana può rappresentarsi:



In questo caso "tana" è una classe di oggetti di cui "la tana di Lilli" è una istanza.

Il significato della struttura di una rete semantica viene determinato dalle procedure che le manipolano. Quindi una rete, per effettuare deduzioni, deve avere le proprie procedure, che sono legate aldominio di applicazione.

Nelle tecniche di rappresentazione basate su reti semantiche non esistono convenzioni generali per l'interpretazione sulle singole strutture di rete.






5.3. I Frame

Una persona di fronte ad una situazione ricorre alla sua esperienza per interpretarla, tale esperienza si basa su schemi inerenti alle aspettative relative a quella situazione.

Per esempio chi entra in un negozio si aspetta di trovare dei commessi, della merce, una cassa ecc.

Lo schema per descrivere tale situazione è il Frame.

Le singole informazioni, gli Slot, costituiscono il frame.

Per descrivere un autocarro, il frame sarà:


FRAME: autocarro

specializzazione di: mezzo di trasporto

numero di ruote:

range: insieme dei numeri interi

default: 4

tipo di cassone:

range: (aperto, chiuso, ribaltabile)

rimorchio:

range: (si, no)


Il Frame per descrivere l'autocarro di Marco è:


FRAME: autocarro di Marco

specializzazione di: autocarro

numero di ruote: 6

tipo di cassone: ribaltabile

rimorchio: no.


Si noti che:

-ogni frame ha un nome che lo identifica

-il frame "autocarro" descrive il concetto generico di autocarro in termini di numero di ruote, tipo di cassone, rimorchio.

Questi termini sono gli slot; per ciascuno di essi sono definiti i possibili valori.

-il frame "autocarro di Marco" è un particolare autocarro, questo frame è una istanza del frame precedente.

La conoscenza del dominio è rappresentata da un insieme di frame, uno per ogni situazione, collegati tra loro da vari tipi di relazioni, le più importanti sono "generalizzazione" e "casualità".

Come nelle reti semantiche i frame ereditano le proprietà in modo gerarchico. Il frame figlio eredita la proprietà (slot) dal frame padre.

I vari tipi di slot esistenti con i relativi compiti possono così elencarsi:

-indicare il nome del frame, al quale lo slot appartiene, ciò costituisce la specializzazione o la generalizzazione,

-descrivere la procedura associata per verificare la coerenza dei dati raccolti nella base dei dati, nel senso che tali dati siano fra loro compatibili,

-descrivere i valori ammissibili,

-descrivere le procedure euristiche associate per dedurre nuove proprietà, sfruttando il contesto nel quale ci si muove durante l'analisi del singolo caso,

-descrivere i valori di default, ossia i valori da assegnare se essi non sono noti,

-richiamare altri frame, ossia uno slot può essere a sua volta un frame,

-confermare se il frame scelto è appropriato, altrimenti trasferire il controllo ad un altro frame.


6.CONCLUSIONE

Ciò che caratterizza un Sistema Esperto e lo distingue da altri programmi di Intelligenza Artificiale può riassumersi nei tre punti seguenti:

-Opera su complessi problemi reali, problemi che normalmente richiedono una considerevole quantità di esperienza umana;

-Fornisce prestazioni di alto livello;

-Giustifica le soluzioni che propone e da suggerimenti all'utente affinchè egli possa convincersi della bontà della risposta.

Con il termine "Ingegneria della Conoscenza" intendiamo il processo di costruzione di un Sistema Esperto, intendendo per Sistema Esperto un sistema basato sulla conoscenza, ovvero un sistema che non utilizza metodi algoritmici o statistici per risolvere problemi bensì si basa su di una rappresentazione simbolica dell'esperienza umana.

Possiamo quindi notare che tali sistemi non fanno ricorso a metodi generali ed indipendenti dal dominio (metodi derivati dalla scienza dei calcolatori o dalla matematica) ma costituiscono un tentativo di codificare la conoscenza specifica del dominio impiegata da esperti del dominio stesso.


APPENDICE

1. UN BREVE CENNO SULLA INTELLIGENZA ARTIFICIALE

1.1.Che cosa è l'INTELLIGENZA ARTIFICIALE?

"L'Intelligenza Artificiale è quella parte della scienza dei calcolatori interessata al progetto di sistemi intelligenti su calcolatore, di sistemi, cioè che presentano caratteristiche che normalmente associamo al comportamento intelligente umano, quali ad esempio, la comprensione del linguaggio, l'apprendimento, il ragionamento, la risoluzione dei problemi" [Barr Feigenbaum (1981)]

Anche se le opinioni non concordano in modo univoco possiamo affermare che l'Intelligenza Artificiale è relativa alla simulazione del comportamento umano.

Tale disciplina è quindi correlata ad aree della ricerca quali la scienza dei calcolatori, la psicologia, la filosofia, la linguistica e l'ingegneria.


1.2.Panoramica della ricerca nel settore della AI.

Periodo Classico:

(dopo la seconda guerra mondiale e fino a metà anni 60)

Giochi e dimostrazione di teoremi.


Ricerca della spazio degli stati.

Idea base, passi:

a)stato iniziale (es. configurazione iniziale su una scacchiera)

b)test per riconoscere uno stato finale (soluzione del problema) (es. regola per riconoscere lo scaccomatto nel gioco degli scacchi)

c)insieme di operazioni da utilizzare per modificare lo stato corrente del problema (es. mosse lecite del gioco).


Possiamo pensare a questo spazio degli stati come ad un grafo (i nodi rappresentano gli stati e gli archi le operazioni).

Altro interesse dell'I.A. negli anni 50 è stato quello della dimostrazione automatica di teoremi (Theorem proving).

L'obiettivo è quello di mostrare che qualche proposizione alla quale si è interessati (teorema) segue logicamente da un insieme di altre proposizioni vere o assunte come vere (assiomi).

Tale processo, per la crescita enorme delle proposizioni da aggiungere come vere ha dimostrato la difficoltà a risolvere un tale problema.


Periodo Romantico:

(metà anni 60-metà anni 70)

Comprensione mediante il calcolatore.


Molti schemi di rappresentazione di questo periodo sono oggi correntemente accettati.

Reti semantiche.


Nasce il concetto di "comprensione mediante calcolatore", ma anche la domanda:

"A quali condizioni si può essere disposti ad ammettere che una macchina abbia compreso qualche cosa?"

Una condizione necessaria:

La capacità di rappresentare conoscenza relativa a mondi reali o immaginari, in modo da poter ragionare su essi. (I S.E. mostrano abilità di questo tipo. Limiti: dominio di applicazione alquanto circoscritto, mancanza di percezione ed apprendimento dall'esperienza).

E' in questo periodo che viene formalizzato, per la rappresentazione della conoscenza il "FRAME" (Minsky).

Inoltre si creano le basi per studi su elaborazione del linguaggio naturale, la visione artificiale, la robotica e la computazione simbolica.


Periodo Moderno:

(seconda metà anni 70-oggi)

Tecniche ed applicazioni.

Caratteristiche:

-crescente consapevolezza e autocritica

-maggiore orientamento verso la tecnica e le applicazioni

-sfiducia nei metodi generali di risoluzione di problemi e ricerca euristica

-crescente convinzione che la potenza euristica di un risolutore di problemi è basata sulla rappresentazione esplicita della conoscenza alla quale il programmatore può accedere e non su meccanismi sofisticati d'inferenza o su complicate funzioni di valutazione

-sviluppo di tecniche per codificare la conoscenza umana in moduli attivabili da configurazioni rappresentanti dati grezzi o elaborati, stati del problema o soluzioni parziali.

Nuovi metodi di programmazione sono basati su:

-Il processo di frammentazione in moduli della conoscenza esplicita si accorda meglio al modo in cui gli esperti memorizzano o applicano la conoscenza

-Questo metodo di programmazione consente una rapida prototizzazione ed uno sviluppo incrementale del sistema (Semplicità di modifiche ed ampliamento)

-Il programma non risolve necessariamente l'intero problema e non deve funzionare sempre correttamente. Funzionerà invece come un assistente intelligente, che assolve alle parti ripetitive e noiose, propone possibili soluzioni e lascia il giudizio finale e le decisioni strategiche all'utente.

Questo periodo ha visto nascere sistemi che vantano un alto livello di prestazioni:

MYCIN (trattamento delle infezioni nel sangue)

R1 (configura i calcolatori della famiglia VAX)

MECHO (risolve problemi di meccanica newtoniana)


E' inoltre in questo periodo che la base di conoscenza ed il motore inferenziale si separano dando luogo a due moduli distinti e quindi modificabili indipendentemente.




Privacy




Articolo informazione


Hits: 2066
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024