Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi G - M > Intelligenza artificiale > Appunti dalla lezione del 21/12 (preparazione al secondo compitino)
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
Walter
dsy adminz

User info:
Registered: Mar 2002
Posts: 5304 (0.61 al dì)
Location: Milano 90% - Valle Camonica 10%
Corso: Magistrale in Informatica
Anno: fine!
Time Online: 99 Days, 4:32:33 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Appunti dalla lezione del 21/12 (preparazione al secondo compitino)

Ecco gli argomenti ripassati nella lezione di Venerdì 21 Dicembre e che saranno presenti nel secondo compitino di Giovedì.
Correzioni o integrazioni sono sempre benvenute!

1. clausole di Horn
===================
Ripasso sulle clausole in generale.
Le clausole sono divise in tre classi:
a. clausole definite
b. clausole di Horn
c. clausole "normali"

1.1 clausole definite
---------------------
Sono del tipo "H" o "H <- Body" (Body senza il not!).
Hanno sempre modello minimo.

1.2 clausole di Horn
--------------------
Sono del tipo "<- Body" o "false <- Body" (nb: sono due modi di scrivere la stessa cosa).
Hanno modello minimo solo se sono consistenti.
L'insieme delle clausole di Horn include l'insieme delle clausole definite.

1.3 clausole "normali"
----------------------
Sono le più generali, si può usare anche il not nel Body.
Possono avere nessun modello, un modello minimo o più modelli minimali.
L'insieme delle clausole "normali" include l'insieme delle clausole di Horn (che a sua volta include l'insieme delle clausole definite).

es.
a <- not b
b <- not a
I modelli sono {a,b}, {a}, {b}, quindi non c'è modello minimo ma due modelli minimali (e Prolog andrebbe in loop).
Si ricorda che a <- b vale sempre true tranne nel caso in cui b è vero e a è falso.

Vincoli di integrità sulla base di dati: se c'è modello, posso eliminare le clausole del tipo "<- Body" e "false <- Body".

Floundering: si ha floundering in not(X) se X non è istanziata al momento della chiamata. es. Se X è un input (modo +), non si ha floundering.
es. Se X è un output (modo -), si ha floundering
es. b(X) <- not a(X,Y) è un esempio di floundering a causa di Y
es. b(X) <- not \esiste Y a(X,Y) va invece bene perchè Y è istanziata dal quantificatore esistenziale \esiste
es. b(X,Y) <- not a(X,Y) è un esempio di floundering se X e/o Y hanno modo -
NB. con il quantificatore universale \per_ogni non c'è floundering, ad es. va bene scrivere not a(X,_) perchè l'underscore quantifica universalmente.

2. Reti semantiche
==================
Significato di prop(X,Y,Z):
- X è un oggetto
- Y è una proprietà
- Z è un valore
La rappresentazione grafica vede l'oggetto e il valore rappresentati da due rettangoli distinti, e la proprietà da una freccia che collega l'oggetto al valore.

3. Meta programmazione
======================
Un meta interprete ha la seguente struttura:
linguaggio oggetto ----sintassi-astratta-----> termini prolog (aperti o ground) -----regole-di-ragionamento-(interprete)-----> Prolog
Come riferimento, per comprendere come funziona una meta interpretazione, vedere ad es. la meta object facility (MOF) definita in UML (Unified Modeling Language) [la MOF non è nel programma per il compitino!].

4. Ragionamento basato su assunzioni
===================================
- nei casi di default (es. assunzioni di normalità tipo "gli uccelli normalmente volano", ...)
- nei casi di abduzione (es. diagnosi dei guasti di un impianto elettrico)

4.1 Ragionamento basato su assunzioni nei casi di default
---------------------------------------------------------
Il ragionamento parte da fatti F, veri, e da assunzioni H (ipotesi).
Considero D come un sottoinsieme di H (è quindi una parte delle assunzioni).
Uso D per inferire g: D |= g
Posso anche scrivere: KB U D |= g (dove KB è la solita knowledge base).
es.
H = {not a, not b}
F = {a, b}
KB = {a <- not b, b <- not a}
allora
D = {not a, not b} non è consistente, perchè secondo la KB not b implica a e non possono essere veri sia a che non a (idem per b e not b).
D = {not a} è consistente perchè non c'è nessun assurdo, inferisco b, il modello è b
D = {not b} è consistente perchè non c'è nessun assurdo, inferisco a, il modello è a
NB: a e b sono quindi i due modelli minimali.

4.1 Ragionamento basato su assunzioni nei casi di abduzione
-----------------------------------------------------------
E' il contrario del caso di default.
Considerando sempre D |= g, nei casi di abduzione osservo qualcosa in g e mi chiedo perchè vale true secondo le mie ipotesi D.
Mentre nel caso di default ragiono in avanti, da D a g, nel casi di abduzione ragiono all'indietro, da g a D.

__________________
"Ragione e passione sono timone e vela della nostra anima navigante." - Kahlil Gibran
"Senza musica la vita sarebbe un errore." - Friedrich Nietzsche

Last edited by Walter on 16-01-2008 at 10:58

14-01-2008 19:35
Click Here to See the Profile for Walter Click Here to See the Blog of Walter Click here to Send Walter a Private Message Visit Walter's homepage! Find more posts by Walter Add Walter to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Toras
.amico.

User info:
Registered: Oct 2003
Posts: 34 (0.00 al dì)
Location: Milano
Corso: Info
Anno: 3
Time Online: 2 Days, 1:10:08: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Grande! =)

16-01-2008 00:51
Click Here to See the Profile for Toras Click here to Send Toras a Private Message Find more posts by Toras Add Toras to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 09:19.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.076 seconds (58.60% PHP - 41.40% MySQL) con 26 query.