Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.
-
Upload
tancredo-martina -
Category
Documents
-
view
213 -
download
0
Transcript of Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.
![Page 1: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/1.jpg)
Sistemi di produzione/a regoleMaria Simi
a.a. 2005/2006
![Page 2: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/2.jpg)
Sistemi di produzione/a regole Uno dei primi paradigmi di rappresentazione
della conoscenza (di sapore “procedurale”) in I.A.
un modello di computazione aderente alla visione della risoluzione di problemi come ricerca
modello del processo di risoluzione dei problemi da parte dell'uomo. è naturale esprimere competenze sotto forma di
regole del tipo “se ... allora ...”. i sistemi esperti di prima generazione sono quasi
tutti sistemi a regole.
![Page 3: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/3.jpg)
Modello di computazione
Programmazione (o regime di controllo) guidata da pattern: quello che viene eseguito al passo successivo è determinato da una attività di pattern matching.
Modello di computazione del tutto generale (stessa potenza della macchina di Turing). Post (1943): sistemi di calcolo basati su regole
per la riscrittura di stringhe Newell & Simon (General Problem Solver - anni
60) lo propongono in IA come modello di computazione cognitivamente plausibile
![Page 4: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/4.jpg)
Sistemi a regole in AIMA
Un caso particolare di inferenza logica Qui parliamo dei sistemi a regole in senso
più ampio. Uno dei meccanismi di rappresentazione
della conoscenza e ragionamento più utilizzati nella costruzione di sistemi esperti
OPS5, CLIPS sono sistemi a regole "in avanti"
![Page 5: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/5.jpg)
Definizione di sistema di produzione(sistema a regole con concatenazione “in avanti”)
Un sistema con 4 componenti:1. un insieme di regole di produzione (o regole, o
produzioni) nella forma:condizione azione| antecedente conseguentedove:
l'antecedente è uno schema (o pattern) che esprime una condizione che determina l'applicabilità della regola;
il conseguente determina il passo di risoluzione del problema da effettuare: l'aggiunta di un nuovo fatto allo stato corrente, una modifica dello stato, … una qualunque azione
![Page 6: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/6.jpg)
Definizione (cont.)
2. Una memoria di lavoro (WM - Working Memory) che contiene una descrizione dello stato corrente della computazione.
Nei sistemi “in avanti” la WM contiene all'inizio una descrizione dello stato iniziale.
![Page 7: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/7.jpg)
Definizione (cont.)3. Un interprete che esegue un ciclo "riconosci-
agisci". Ad ogni passo: individua l’insieme delle regole applicabili
(mediante pattern matching); questo è l'insieme dei conflitti;
ne sceglie una, mediante una strategia di risoluzione dei conflitti;
attiva la regola (fire), cioè esegue la parte azione (tipicamente istanziata).
Questo cambia il contenuto della WM e il ciclo si ripete fino ad una condizione di terminazione (successo) o finché non ci sono più regole applicabili (fallimento).
![Page 8: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/8.jpg)
Definizione (cont.)
4. Strategia di risoluzione dei conflitti per decidere quale regola applicare tra quelle applicabili:
“prendi la prima regola applicabile” euristiche di utilità generale (le
vediamo dopo) euristica sofisticata dipendente dal
dominio
![Page 9: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/9.jpg)
Schema di funzionamento
WM
C1 A1
C2 A2
…
Cn An
![Page 10: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/10.jpg)
Un esempio
Un semplice sistema di produzioni per ordinare una stringa fatta di "a", "b" e "c".
Insieme di regole:1. ba ab2. ca ac3. cb bc
Memoria di lavoro: la stringa in una fase intermedia del processo di ordinamento (all’inizio la stringa da ordinare).
Strategia: la prima regola applicabile
![Page 11: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/11.jpg)
Esempio (cont.)Ciclo Memoria
di lavoroInsieme
dei conflitti
Regola seleziona
ta
0123456
cbacacabcaacbcaacbacacabcaacbcaabcc
1, 2, 32
2, 31, 3230
122123
ALT
![Page 12: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/12.jpg)
Tanto per fissare le idee …
Definiamo un linguaggio a regole minimale, à la CLIPS
I fatti e la memoria di lavoro (WM) Le regole L’interprete (il motore di inferenza) L’agenda Le strategie di risoluzione dei conflitti
![Page 13: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/13.jpg)
I fatti e la memoria di lavoro
Sintassi: (<atom> <atomic-object>*)Esempi:
(lista-spesa latte pane biscotti)(altezza 1,80)(luce accesa)
WM: lista di fatti (senza variabili)
![Page 14: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/14.jpg)
Le regole
(defrule <rule-name><condition>* <action>*)
l’antecedente è una lista di condizioni, da considerare in congiunzione tra di loro. Tipicamente hanno la stessa struttura dei fatti ma contengono variabili (sono pattern con ?x).
il conseguente è una lista di azioni che possono contenere variabili
![Page 15: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/15.jpg)
Le azioni
Aggiunta di un fatto alla WM: (assert <fact>)
Rimozione di un fatto: (retract <fact>) Per stampare; (print <string>) Per terminare: (Return) Una qualunque altra azione prevista ...
![Page 16: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/16.jpg)
Esempi di regole(person <nome> <sesso> <libero> <status>
<avvenenza>)
(defrule marry-money(persona ?nome_a f t ?status_a ottima)(persona ?nome_o m t ?status_o scarsa)(< ?status_a 2) (> ?status_o 2) (retract (persona ?nome_a f t ?status_a ottima))(retract (persona ?nome_o m t ?status_o scarsa))(assert (persona ?nome_a f nil ?status_a ottima))(assert (persona ?nome_o m nil ?status_o scarsa))(print ?nome_a “ e ” ?nome_o “si sposano, … per soldi”)
WM: (persona mary f t 1 ottima) (persona john m t 3 scarsa)
![Page 17: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/17.jpg)
Esempi di regole
Relazione(defrule r1 (serbatoio vuoto) => (assert (auto
ferma))) Raccomandazioni o direttive
(defrule r2(auto ferma) (serbatoio vuoto) => (compra benzina))
Strategie o euristiche:(defrule r3
(auto ferma) => (controlla benzina))
![Page 18: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/18.jpg)
L’interprete
L’interprete esegue un ciclo: Determina regole applicabili (costruisce agenda)
Mediante pattern-matching si controlla quali condizioni sono soddisfatte da fatti nella WM
Le attivazioni vengono aggiunte all’agenda: nome della regola, fatti usati, legami
Ordina l’agenda in base ad una strategia di risoluzione dei conflitti
Esegue la prima regola dell’agenda Valuta la lista di azioni nella parte destra, istanziate
dalla lista dei legami. Se l’azione è (return) termina.
![Page 19: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/19.jpg)
Pattern matching e unificazione
Pattern matching: le variabili sono solo nei pattern ma non nelle componenti dello stato
Unificazione: le variabili possono essere sia nei pattern che nelle componenti dello stato lo abbiamo visto con i linguaggi logici
Pattern matching è un caso particolare di unificazione
![Page 20: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/20.jpg)
Pattern matching Se ha successo viene calcolata
una “lista di legami per le variabili”
Esempio:p=(P ?x 0 ?x)s=(P 3 0 3)Risultato: {(?x 3)}
p=(P ?x ?y ?x)s=(P 3 0 4)Risultato: fail
Si può usare lo stesso algoritmo usato per unificazione
![Page 21: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/21.jpg)
Pattern matchingFunction match(p, s, ) returns a substitution or
failif =fail then return else if p=s then return else if variable?(p) then return match_var(p, s, )else if list?(p) and list?(s) return
match (first(p), first(s), match(rest(p), rest(s), ))else return fail
Function match_var(x, y, )if (x v) then return match(v, y, )else add(x, v, )
p=(P ?x 0 ?x)s=(P 3 0 3)Risultato: {(?x 3)}
p=(P ?x ?y ?x)s=(P 3 0 4)Risultato: fail
![Page 22: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/22.jpg)
Il gioco dell’8 a regoleUn secondo esempio per illustrare l’espressività del pattern a confronto con la complessità del matching
1 2 3
4 5 6
7 8
1 2 3
4 5
6 7 8
Diverse rappresentazioni dello stato a seconda del linguaggio dei pattern
![Page 23: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/23.jpg)
Il gioco dell’8: rappresentazione immediataRappresentazione: (B 1 2 3 4 0 5 6 7 8)
Le regole per :(B ?x1 ?x2 ?x3 0 ?x4 ?x5 ?x6 ?x7 ?x8) (B 0 ?x2 ?x3 ?x1 ?x4 ?x5 ?x6 ?x7 ?x8)(B ?x1 ?x2 ?x3 ?x4 0 ?x5 ?x6 ?x7 ?x8) (B ?x1 0 ?x3 ?x4 ?x2 ?x5 ?x6 ?x7 ?x8) (B ?x1 ?x2 ?x3 ?x4 ?x5 0 ?x6 ?x7 ?x8) (B ?x1 ?x2 0 ?x4 ?x5 ?x3 ?x6 ?x7 ?x8) (B ?x1 ?x2 ?x3 ?x4 ?x5 ?x6 0 ?x7 ?x8) (B ?x1 ?x2 ?x3 0 ?x5 ?x6 ?x4 ?x7 ?x8) (B ?x1 ?x2 ?x3 ?x4 ?x5 ?x6 ?x7 0 ?x8) (B ?x1 ?x2 ?x3 ?x4 0 ?x6 ?x7 ?x5 ?x8) (B ?x1 ?x2 ?x3 ?x4 ?x5 ?x6 ?x7 ?x8 0) (B ?x1 ?x2 ?x3 ?x4 ?x5 0 ?x7 ?x8 ?x6)
… + 6 regole per + 6 regole per + 6 regole per = 24
1 2 3
4 0 6
7 8 9
![Page 24: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/24.jpg)
Il gioco dell’8: un po’ meno regole
Rappresentazione: (P cifra riga colonna)Regole per :
(P 0 2 ?y) (P ?c 1 ?y)
Assert (P 0 1 ?y), Assert (P ?c 2 ?y),Retract (P 0 2 ?y), Retract (P ?c 1 ?y)
(P 0 3 ?y) (P ?c 2 ?y) Assert (P 0 2 ?y), Assert (P ?c 3 ?y),Retract (P 0 3 ?y), Retract (P ?c 2 ?y)
Totale: 8 regole
![Page 25: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/25.jpg)
Il gioco dell’8: ancora meno regole
Rappresentazione: (P cifra riga colonna)Regola per : (P 0 ?x ?y) (?x1) (P ?c (?x -1) ?y)
Assert (P 0 (?x -1) ?y), Assert (P ?c ?x ?y),
Retract (P 0 ?x ?y), Retract (P ?c (?x -1) ?y)Totale: 4 regole
![Page 26: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/26.jpg)
Il gioco dell’8: conclusioni
La rappresentazione scelta può fare la differenza nel numero delle regole necessarie
Più espressivo il linguaggio dei pattern (e delle regole) più compatta è la rappresentazione e più complicato è il pattern-matching.
Istanza di un problema più generale: più espressivo il linguaggio di rappresentazione, più compatta la rappresentazione e più complesso il meccanismo inferenziale.
![Page 27: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/27.jpg)
Complessità del pattern matching
Il problema è quello di fare un pattern-matching molti a molti tra:- una serie di r regole (in OR) - una serie di n antecedenti delle regole (in AND)- una serie di w componenti dello stato (in OR)
(OR . . . (AND . . . (OR . . . )))
sulle regole sulle precondizioni sulle comp. di stato
Il tutto ripetuto per c cicli:r n w c operazioni di pattern matching!
![Page 28: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/28.jpg)
Ottimizzazioni: rete di discriminazione
Assunzione 1: regole diverse possono condividere molte delle precondizioni. Esempio:R1: (Mammifero ?x) (Felino ?x) (Carnivoro ?x) (A-
Macchie ?x) (assert (Leopardo ?x))
R2: (Mammifero ?x) (Felino ?x) (Carnivoro ?x) (A-Strisce ?x)
(assert (Tigre ?x))
Idea : codificare gli antecedenti delle regole sotto forma di rete di discriminazione
![Page 29: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/29.jpg)
Esempio di rete di discriminazione
Mammifero
Carnivoro
Felino
Erbivoro
Muggisce
Nitrisce
A macchie
A strisce
Miagola
R1
R2
![Page 30: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/30.jpg)
Ottimizzazioni: calcolo incrementale
Assunzione 2: l'applicazione di una regola influenza solo pochi elementi dello stato e quindi l'insieme delle regole applicabili, tipicamente, varia di poco da un ciclo all'altro
Idea: restringersi alle regole la cui applicabilità è influenzata dall’ultima modifica allo stato.
![Page 31: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/31.jpg)
Algoritmo RETE [Forgy 1982] Esempio: WM = {A(1), A(2), B(2), B(3), B(4), C(5)}
A(x) B(y) D(x) add E(x)A(x) B(x) C(y) add D(x)A(x) B(x) E(z) delete A(x)
A B
D
E
CA=B
A=D add E
add D
delete A
A(1),A(2) B(2),B(3),B(4)
C(5)A(2)B(2)
D(2)
![Page 32: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/32.jpg)
Tipi di matching Matching che richiede inferenze: necessario
quando le condizioni non possono essere unificate direttamente con elementi della WM, ma con elementi deducibili dalla WM (deduzione guidata da pattern-matching)
Matching approssimato: ad esempio nel riconoscimento del parlato si opera un match tra forme d’onda reali (con rumore, diversità dovute al
parlatore …) forme d’onda ideali a cui è associato un fonema
Matching approssimato anche in ELIZA …
![Page 33: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/33.jpg)
Eliza (Weizenbaum 1966 – CACM)
Un programma per la simulazione di uno psicoterapista - DOCTOR.
ELIZA è un’ “illusione di intelligenza” ELIZA usa un meccanismo di
matching basato su parole chiave e cerca in base a queste di “indovinare” la domanda più appropriata.
![Page 34: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/34.jpg)
Esempio di dialogoP. Gli uomini sono tutti uguali.E. In che senso?P. Ci tormentano sempre per una cosa o l’altra.E. Puoi essere più specifica?P. Il mio ragazzo mi ha fatto venire qua.E. Il tuo ragazzo ti ha fatto venire qua.P. Dice che il più della volte sono depressa.E. Mi dispiace sentire che sei depressa.P. È vero, sono infelice.E. Credi che venire qui ti aiuti ad essere meno infelice?P. Di sicuro ho bisogno di aiuto.E. Che cosa significherebbe per te avere qualche aiuto?P. Forse potrei imparare ad andare d’accordo con la mia
famiglia.E. Parlami ancora della tua famiglia.
![Page 35: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/35.jpg)
Il meccanismo svelato(I need ?x) (Why do you want ?x)
(Suppose you got ?x) (What would it mean to you if you got
?x)(?x {family} ?y) (Tell me more about your family)(?x no ?y) (You are being a bit negative)( ) (Tell me more about that)
(I do not understand you fully) (Please continue) (Very interesting)
![Page 36: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/36.jpg)
Dialogo tra Eliza e ParryParry: un programma che esibisce un
comportamento paranoicoP. Non capisco i tuoi motivi.E. Perchè non capisci i miei motivi?P. Non dovrei?E. Perchè dici questo adesso?P. È solo che è cosí. (That’s just the way it is)E. Supponi che non sia cosí (Suppose that’s just the way it were
not)P. Allora?E. Non sono sicura di capirti del tutto.P. Insisti troppo sulla stessa domanda.E. Che cosa ti suggerisce questa somiglianza?P. Non ti capisco (I do not get you)E. Do you wish that you did get I?
![Page 37: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/37.jpg)
Strategie di risoluzione dei conflitti
1. Basate sulle regole la prima regola applicabile la più specifica o con condizioni più stringenti.
Es. c1c2c3 c1c2; (P 0 1 2) (P 0 ?x 2) non di nuovo la stessa sotto le stesse condizioni
(rifrazione) la più trascurata: usata meno di recente non di nuovo lo stesso effetto la più recentemente attivata (focus) la più plausibile (pattern matching approssimato)
![Page 38: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/38.jpg)
Strategie di risoluzione dei conflitti2 Basate sugli oggetti: su una graduatoria di
importanza degli oggetti che compaiono nei pattern. Esempio in ELIZA:“I know everybody laughs at me” (everybody > I)Altro esempio:
(Stanza in-fiamme)(Bambino in-pericolo) (Salva-bambino) (Esci)(Stanza in-fiamme)(Luce accesa) (Spengi-luce)(Esci)Bambino Luce
![Page 39: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/39.jpg)
Strategie di risoluzione dei conflitti
3. Basate sull’effetto delle regole: si applica una funzione di valutazione agli stati risultanti e si sceglie il migliore.
![Page 40: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/40.jpg)
Strategie di risoluzione dei conflitti 3. Meta-regole: la strategia di controllo è definita
tramite altre regole, che essendo regole che trattano di regole vengono dette meta-regole.Esempio:Sotto le condizione A e B
le regole che [non] menzionano X{del tutto | nell’antecedente | nel
conseguente}sono {del tutto inutili | probabilmente utili |
forse utili | molto utili} Meta-regole in SOAR e PRODIGY.
![Page 41: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/41.jpg)
Direzione della ricerca
In avanti, guidata dai dati (sistemi forward, OPS5, CLIPS …)
All’indietro, guidata dal goal (es. PROLOG)
Mista: un po’ avanti e un po’ indietro (bidirezionale; analisi mezzi-fini come in GPS)
![Page 42: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/42.jpg)
Vantaggi del paradigma a regole
1. È un modello plausibile del ragionamento umano e comunque …
2. C’è una certa naturalezza nel modellare, sotto forma di regole, il tipo di competenza di natura “euristica” dell’esperto umano
3. Implementazione naturale del paradigma di risoluzione dei problemi come ricerca
![Page 43: Sistemi di produzione/a regole Maria Simi a.a. 2005/2006.](https://reader035.fdocument.pub/reader035/viewer/2022062702/5542eb77497959361e8e1fb4/html5/thumbnails/43.jpg)
Vantaggi del paradigma a regole
4. Separazione della conoscenza (lo stato e le regole) dal controllo (l’interprete o “motore inferenziale” possibilità di cambiare una delle due parti indipendentemente
5. Modularità della base di regole: poca interazione tra le regole (solo tramite la WM) supporto per lo sviluppo incrementale
6. Possibilità di traccia e giustificazione7. Il modello di computazione è generale, può
essere adattato a linguaggi diversi (logici o meno).