B1 Sistemi a regole Paolo Salvaneschi 1 B1_1 V1.3 Sistemi a regole Intelligenza Artificiale Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall’ autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale
37
Embed
Sistemi a regole - Università degli studi di Bergamo a...Architettura di un sistema a regole • Problemi: – Evitare i cicli infiniti riattivando istanziazioni di regole già attivate
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
B1 Sistemi a regole Paolo Salvaneschi 1
B1_1 V1.3
Sistemi a regole
Intelligenza Artificiale
Paolo Salvaneschi
Università di BergamoFacoltà di Ingegneria
Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie.Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall’ autore.
Sono graditi commenti o suggerimenti per il miglioramento del materiale
B1 Sistemi a regole Paolo Salvaneschi 2B1 Sistemi a regole Paolo Salvaneschi 2
• Tecnologie per l’inferenza logica• Programmazione logica• Sistemi di produzioni (sistemi a regole)• Architettura di un sistema a regole• Forward e backward chaining• Sviluppo di sistemi a regole
INDICE
B1 Sistemi a regole Paolo Salvaneschi 3B1 Sistemi a regole Paolo Salvaneschi 3
Tecnologie per l’inferenza logica
• La logica:– sistema per la rappresentazione formale del
ragionamento– formalismo di rappresentazione e regole di
derivazione sintattica (regole di inferenza)
B1 Sistemi a regole Paolo Salvaneschi 4B1 Sistemi a regole Paolo Salvaneschi 4
Tecnologie per l’inferenza logica
• Utilizzando una logica scriviamo:– Una base di conoscenza– Un insieme di fatti
• Ci si può chiedere se, dato un nuovo fatto, questo sia una conseguenza logica rispetto alla base di conoscenza ed ai fatti preesistenti
• Ci si può chiedere quali nuovi fatti possono essere conseguenze logiche rispetto alla base di conoscenza ed ai fatti preesistenti
B1 Sistemi a regole Paolo Salvaneschi 5B1 Sistemi a regole Paolo Salvaneschi 5
Tecnologie per l’inferenza logica
• Tecnologia dei sistemi basati sulla rappresentazione della conoscenza e sull’inferenza logica– La logica del primo ordine e l’inferenza in FOL sono
la base per la realizzazione delle relative tecnologie– Sono aggiunti altri aspetti (es. funzioni di calcolo o
input/output)– Tecnologie:
– Programmazione logica (Prolog)– Sistemi di produzioni (sistemi a regole)
B1 Sistemi a regole Paolo Salvaneschi 6B1 Sistemi a regole Paolo Salvaneschi 6
Programmazione logica
• Programmazione logica (Prolog)– Backward chaining (dept first,backtracking)– Funzioni di calcolo e input/output– Modifica della KB (assert, retract)– Negation as failure (¬ P è provato se il
sistema fallisce nel provare P)
B1 Sistemi a regole Paolo Salvaneschi 7B1 Sistemi a regole Paolo Salvaneschi 7
Sistemi di produzioni (sistemi a regole)
• Sistemi di produzioni (sistemi a regole)(XCON configuratore computer DEC; sistemi esperti; linguaggio OPS-5)– Forward chaining– Forward chaining efficiente (algoritmo RETE)– Funzioni di calcolo e input/output– Gestione della propagazione di fatti irrilevanti
– Utilizzo di algoritmi backward chaining– Selezione delle regole da attivare (conflict set)
B1 Sistemi a regole Paolo Salvaneschi 8B1 Sistemi a regole Paolo Salvaneschi 8
Sistemi di produzioni (sistemi a regole)
Insieme di regole del tipo:if <condizione> then <conclusione/azione>
Antecedente Conseguente
KB Base di conoscenza Motore inferenziale
Deriva ciò che è implicato logicamentedalla base di conoscenza KB
B1 Sistemi a regole Paolo Salvaneschi 9B1 Sistemi a regole Paolo Salvaneschi 9
l'insieme delle regole il cui antecedente è soddisfatto dai fatti contenuti nella memoria di lavoro
– Produce un insieme di regole potenzialmente attivabili• Possono essere individuate più regole attivabili• Una regola può dar luogo anche a più istanziazioni
attivabili
• Fire– Esegue il conseguente della regola
B1 Sistemi a regole Paolo Salvaneschi 21B1 Sistemi a regole Paolo Salvaneschi 21
Architettura di un sistema a regole
• Conflict resolution– Sono potenzialmente eseguibili più regole
• Prima soluzione: sono eseguite tutteSignificato: esegue tutte le inferenze basate su fatti conosciuti anche se sono irrilevanti per gli scopi che si vogliono raggiungere
• Seconda soluzione: si adotta una strategia di controllo (un criterio per scegliere quale delle regole potenzialmente eseguibili - conflict set – deve essere effettivamente eseguita)
B1 Sistemi a regole Paolo Salvaneschi 22B1 Sistemi a regole Paolo Salvaneschi 22
Architettura di un sistema a regole
• Conflict resolution– Nessuna duplicazione.
Non si esegue la stessa regola sullo stesso argomento due volte
– Accensione in ordine di attivazioneLa regola attivata più di recente è accesa per ultima (FIFO, Breadth First)
– Vicinanza temporaleLa regola attivata più di recente è accesa per prima (LIFO, Depth First)
B1 Sistemi a regole Paolo Salvaneschi 23B1 Sistemi a regole Paolo Salvaneschi 23
Architettura di un sistema a regole
• Conflict resolution– Specificità
Si preferiscono regole più specifiche
– PrioritàSi preferiscono regole con priorità più alta assegnata esplicitamente
B1 Sistemi a regole Paolo Salvaneschi 24B1 Sistemi a regole Paolo Salvaneschi 24
Architettura di un sistema a regole
• Strategie di esplorazione della base di regole– Forward chaining
(in avanti) o controllo guidato dai dati– Backward chaining
(all'indietro) o controllo guidato dal goal G.
B1 Sistemi a regole Paolo Salvaneschi 25B1 Sistemi a regole Paolo Salvaneschi 25
Forward e backward chaining
Strategia forward (in avanti) o controllo
guidato dai dati
B1 Sistemi a regole Paolo Salvaneschi 26B1 Sistemi a regole Paolo Salvaneschi 26
Forward e backward chaining
Strategia backward(all'indietro) o controllo
guidato dal goal G.
B1 Sistemi a regole Paolo Salvaneschi 27B1 Sistemi a regole Paolo Salvaneschi 27
Forward e backward chaining
Misure
Allarmi
R1-R7 regoledi decisione
AND
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio, STOP
R6
ALLARMElieve, STOP
R1
Rotazionesignificativa
ALLARMEgrave, STOP
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7
B1 Sistemi a regole Paolo Salvaneschi 28B1 Sistemi a regole Paolo Salvaneschi 28
Forward e backward chaining
Strategia forward (in avanti) o controllo
guidato dai dati
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio, STOP
R6
ALLARMElieve, STOP
R1
Rotazionesignificativa
ALLARMEgrave, STOP
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7
Idea: Il processo di ragionamento è direttodai dati che sono propagati attraversola base di conoscenza, deducendo nuovi fatti
B1 Sistemi a regole Paolo Salvaneschi 29B1 Sistemi a regole Paolo Salvaneschi 29
Forward e backward chaining
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio
R6
ALLARMElieve
R1
Rotazionesignificativa
ALLARMEgrave
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7
Gestione della propagazione di fatti irrilevanti
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio
R6
ALLARMElieve
R1
Rotazionesignificativa
ALLARMEgrave
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7
B1 Sistemi a regole Paolo Salvaneschi 30B1 Sistemi a regole Paolo Salvaneschi 30
Forward e backward chaining
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio, STOP
R6
ALLARMElieve, STOP
R1
Rotazionesignificativa
ALLARMEgrave, STOP
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7
La regola attivatapiù di recente è accesa per ultima (FIFO, Breadth First)Es. Sono attivate nell’ordine R2 e R4E’ accesa per prima R2
Conflict set Regola accesaR4 R2 R2R4 R4R6 R5 R5R6 stop
B1 Sistemi a regole Paolo Salvaneschi 31B1 Sistemi a regole Paolo Salvaneschi 31
Forward e backward chaining
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio, STOP
R6
ALLARMElieve, STOP
R1
Rotazionesignificativa
ALLARMEgrave, STOP
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7
La regola attivatapiù di recente è accesa per prima (LIFO, Depth First)Es. Sono attivate nell’ordine R2 e R4E’ accesa per prima R4
B1 Sistemi a regole Paolo Salvaneschi 33B1 Sistemi a regole Paolo Salvaneschi 33
Forward e backward chaining
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio, STOP
R6
ALLARMElieve, STOP
R1
Rotazionesignificativa
ALLARMEgrave, STOP
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7 Strategia backward(all'indietro) o controllo
guidato dal goal G.
B1 Sistemi a regole Paolo Salvaneschi 34B1 Sistemi a regole Paolo Salvaneschi 34
Forward e backward chaining
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio, STOP
R6
ALLARMElieve, STOP
R1
Rotazionesignificativa
ALLARMEgrave, STOP
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7
M1 >10 M2 >15 E1 alto D2 <-20
Spostamin atto
ALLARMEmedio, STOP
R6
ALLARMElieve, STOP
R1
Rotazionesignificativa
ALLARMEgrave, STOP
R4
R3R5
R2
Misura 1Fuori soglia
Misura 2Fuori soglia
R7
Idea: procedere all’indietro dall’obiettivo G:per dimostrare G tramite KB, verifica se G è già dimostrato. Se non lo è, dimostra tramite KB tutte le premesse di una regola che ha G come conclusione
G
G1
G2
B1 Sistemi a regole Paolo Salvaneschi 35B1 Sistemi a regole Paolo Salvaneschi 35
Forward e backward chaining
R4
R1 R2
R3
R5
OR
Quale si sceglietra R1 e R2 ?
Es. la prima regola attivata. Se fallimento si ritorna indietro e si prova la successiva
(Esplorazione depth first dell’albero AND / OR)
B1 Sistemi a regole Paolo Salvaneschi 36B1 Sistemi a regole Paolo Salvaneschi 36
Sviluppo di sistemi a regole
• Motivazioni per utilizzare un sistema a regole– E’ richiesta una significativa capacità di prendere
decisioni– Le regole decisionali sono potenzialmente
complesse– Le regole cambiano nel tempo– Il codice è mantenuto nel tempo
B1 Sistemi a regole Paolo Salvaneschi 37B1 Sistemi a regole Paolo Salvaneschi 37
Sviluppo di sistemi a regole
• Note di Ingegneria del Software relativamente ai sistemi a regole“Ingegneria della conoscenza” ????????– Analisi dei requisiti / Specifiche incerte– Processo di sviluppo iterativo– Componente da integrare con altre tecnologie– Linguaggio dichiarativo e motore di inferenza: piacevole– Base di regole grande e meccanismi di controllo embedded
nel motore di inferenza e nei suoi parametri (es. priorità di accensione delle regole nel conflict set): spiacevole; codice complesso difficile da capire