430 likes | 558 Vues
Problemi di Costruzione. sartori@disco.unimib.it. Problem-Solving Types. Classification Construction Configuration Assignment Planning Simulation. Expert Systems for Configuration. Oggetti Elementari : oggetti base con attributi e relazioni tra essi
E N D
Problemi di Costruzione sartori@disco.unimib.it
Problem-Solving Types • Classification • Construction • Configuration • Assignment • Planning • Simulation
Expert Systems for Configuration • Oggetti Elementari: oggetti base con attributi e relazioni tra essi • Problema: Selezione, parametrizzazione e aggregazione di oggetti base in oggetti soluzione • Soluzione: unione di oggetti base che costituiscono una soluzione (ottima) che soddisfa le richieste • Spazio Soluzioni: le configurazioni diverse sono m^n dove n=#medio di attributi dell’oggetto richiesti ognuno con m valori • Esempi: Configurazione di ascensori, di computer
Expert Systems for Assignment • Oggetti Elementari: almeno due insiemi disgiunti di oggetti • Problema: fornire un piano di ordinamento che considera previsioni, risorse e altre restrizioni • Soluzione: piano di assegnamento (ottimo) che mappa un oggetto ad un altro • Spazio Soluzioni: con due insiemi di n elementi ci sono n! possibili soluzioni • Esempi: generazione di orari/calendari, utilizzo di macchine
Expert Systems for Planning • Oggetti Elementari: oggetti con attributi e operatori (generici) con precondizioni e azioni • Problema: trasformazione di uno stato iniziale dato in uno stato finale desiderato • Soluzione: sequenza (ottima) di operatori applicabili che trasformano stati iniziali in stati finali • Spazio Soluzioni: i piani differenti sono m^n dove m=#medio di operatori applicabili in ogni stato intermedio e n=#medio di operatori per soluzione
PLANNING Robotica: ricerca di algoritmi per dire automaticamente ad un robot come muoversi Intelligenza Artificiale Discrete Planning Trajectory Planning Motion Planning Control Theory (approccio analitico) Storicamente: Modellazione attraverso equazioni differenziali e sistemi di equazioni differenziali; svilupppo di feedback policies per una risposta adattiva durante l’esecuzione, mirata alla stabilità del sistema Nuovi orizzonti: modellazione incertezza e ricerca dell’ottimizzazione • Knowledge Based Planning • Expet Systems for Planning
Descrizione del Problema • Dati: • uno stato iniziale • un insieme di azioni • un obiettivo da raggiungere (Goal) • Risultato: • determinazione di un piano, ossia un insieme (parzialmente o totalmente ordinato) di azioni necessarie per raggiungere il goal
Esempio • Descrizione del problema: supponiamo di avere come obiettivo quello di raggiungere l’università per seguire le lezioni e di essere a casa e di avere un automobile a disposizione • Stato iniziale: sono a casa e ho un’auto a disposizione • Obiettivo: raggiungere l’università
Esempio: soluzione • Una possibile soluzione: • prendere il materiale per le lezioni; • prendere le chiavi dell’auto; • uscire di casa; • prendere l’auto; • raggiungere l’università; • entrare in aula; • ... • Pianificare ci permette di scegliere le azioni giuste da eseguire nella giusta sequenza: invertendo 2 e 3 arriveremmo ad una soluzione impraticabile
Esempio: soluzioni equivalenti • Un’ altra possibile soluzione (equivalente alla precedente, ottenuta invertendo 1 e 2): • prendere le chiavi dell’auto; • prendere il materiale per le lezioni; • uscire di casa; • prendere l’auto; • raggiungere l’università; • entrare in aula; • ... • Non sempre è necessario definire l’ordine delle azioni (il piano può avere un ordinamento parziale)
Esempio: estensione della rappresentazione • Estendendo la descrizione del problema all’esistenza dei “mezzi pubblici” si possono ottenere delle soluzioni diverse • Consideriamo quindi anche la possibile azione di “prendere l’autobus” un’altra possibile soluzione sarebbe: • prendere il materiale per le lezioni; • prendere i biglietti dell’autobus; • uscire di casa; • raggiungere la fermata dell’autobus; • prendere l’autobus; • raggiungere l’università; • entrare in aula; • ...
PLANNING = PROBLEMA PLANNING = PROBLEM SOLVING METHOD Definizioni a confronto “The task of coming up with a sequnce of action that will achieve a goal is called planning” [S.M. LaValle] “Problem solving agents decide what to do by finding sequences of actions that lead to desirable states” [S.M. LaValle]
Caratteristiche delle Attività Pianificazione ricerca del Piano Esecuzione applicazione del Piano • Non decomponibile: ci può essere interazione tra sottoproblemi • Reversibile: le scelte fatte durante la generazione del piano sono revocabili (backtracking) • Irreversibile: l’esecuzione delle azioni porta ad un cambiamento di stato irreversibile • Non deterministica: il piano può avere un effetto diverso quando applicato al mondo reale che spesso è impredicibile. In questo caso è possibile rifare il piano solo parzialmente oppure invelidarlo a seconda del problema Problema
Alcuni Concetti Base • Pianificatore Automatico • Decision maker, Intelligent Agent, Planner • Rappresentazione Stato • Rappresentazione Goal • Rappresentazione Azioni • Rappresentazione Piano
Pianificatore Automatico Un pianificatore automatico è un agente intelligente che, date: • una rappresentazione dello stato iniziale • una rappresentazione del goal • una descrizione formale delle azioni eseguibili definisce il piano di azioni necessario per raggiungere il goal
Rappresentazione dello stato • Occorre fornire al Planner un modello del dominio del problema • Scelta di un adeguato linguaggio di rappresentazione
Limiti nella rappresentazione dello stato Lo stato di un sistema spesso può essere osservato solo in modo parziale, per diversi motivi: • Limiti sensoriali: • alcuni aspetti non sono osservabili • il dominio è troppo dinamico per consentire un aggiornamento continuo della rappresentazione • Frame Problem: il dominio è troppo vasto per essere rappresentato nella sua interezza • Incertezza: le osservazioni sono soggette a rumore e quindi si hanno delle osservazioni parziali o imperfette
Rappresentazione del goal • Per rappresentare il Goal si utilizza lo stesso linguaggio usato per la rappresentazione dello stato iniziale. • Il Goal è spesso rappresentato con una descrizione parziale dello stato finale: descrive le condizioni che devono essere verificate affinché il goal sia soddisfatto
Rappresentazioni delle azioni • Il planner deve essere costruito secondo una Teoria del Dominio in cui sono descritte in modo formale le azioni eseguibili • Una generica azione sarà descritta da: • Nome: identificativo • Precondizione: condizioni che devono essere verificate affinché l’azione possa essere eseguita • Postcondizione: gli effetti che l’azione porta sul mondo • Si possono avere: • Azioni atomiche • Necessità di rappresentare del tempo
Rappresentazione del Piano • Azioni atomiche: • Successione di azioni • Rappresentazione del tempo • Successione di coppie [Azione, Intervallo di tempo] • Rappresentazione di condizioni
Tecniche Intelligenza Artificiale • Pianificazione Classica • Tipo di pianificazione off-line che produce l’intero piano prima di eseguirlo lavorando su una rappresentazione istantanea dello stato corrente • Assunzioni: • Tempo Atomico • Determinismo degli effetti • Stato iniziale completamente noto • Non esistono altri eventi oltre alle azioni consentite che modificano lo stato • Pianificazione Reattiva • Metodo on-line • Ambiente deterministico e dinamico • Osservazioni del mondo durante pianificazione e esecuzione • Spesso si alterna la pianificazione con l’esecuzione “reagendo” ai cambiamenti di stato • Pianificazione Condizionale • Piano costituito da: • azioni • verifica di condizioni • comportamento condizionale a seconda dei risultati delle verifiche
Pianificazione Classica • Planning Deduttivo • Uso di linguaggi logic based • Situation Calculus (fine anni 60) • Planning Mediante Ricerca • Uso di linguaggi specializzati • Planning Lineare STRIPS (primi anni 70) • Planning Non Lineare Partial Order Planning (POP) • Planning Gerarchico • definire operatori a diversi livelli di astrazione • pianificare ad livello alto • sostitituire macro azioni con loro espansione (magari già precompilata)
Planning 1 - Esperimenti in genetica molecolare • Problema: sostanze disponibili, organismi, azioni e scopo dell’esperimento • Soluzione: sequenza di azioni per raggiungere lo scopo dell’esperimento e l’indicazione delle sostanze e degli organismi necessari all’esperimento • Spazio Soluzioni: tutti i piani disponibili • Sistema: MOLGEN [Friedland 79, 85]
Planning 2 – Produzione di semilavorati • Problema:“blank”, forma, proprietà e le possibili azioni di lavoro (bucare, macinare, dipingere, etc...) • Soluzione: sequenza, processo manifatturiero per trasformare lo stato “blank” nello stato finale • Spazio Soluzione: tutti i possibili piani di lavoro • Sistema: ExAP [Dyckhoff 89]
Planning: Altri Esempi di sistemi • Uso efficace delle capacità di una macchina ISIS [Fox 83, Smith 86] • Mondo dei Blocchi, composizione di blocchi [Sacerdoti 77] • Individuazione di terapie per il trattamento del cancro: ONCOCIN/OPAL [Hickman 85, Musen 87]
PSM adottati per il problema di Planning • Planning è un particolare problema di Costruzione • PSM adottati sono PSM tipici dei problemi di Costruzione (configurazione, planning, assegnamento)
Construction: Problem Solving Methods • Heuristic construction • Skeletal construction • Propose-revise strategy • Propose-exchange strategy • Least-commitment strategy • Model based construction • Case based construction
Dominio • Divisione Materiali della Business Unit Truck di Pirelli Pneumatici • Esperti con una profonda conoscenza della materia • Istruzione personale (chimici) • Scuola Pirelli (esperienza secolare)
Terminologia (1) • Mescola: composto chimico ottenuto principalmente utilizzando gomma • Descrizione: • Caratteristiche Mescola CM • Ricetta elenco di coppie [ingrediente, quantità]
Terminologia (2) • Famiglie di ingredienti • Attributi descrittivi degli ingredienti di una famiglia • Combinazioni: aggregati omogenei (per famiglia) • Sistemi: aggregati eterogenei • Interventi di modifica della ricetta • Aumento/Diminuzione • Sostituzione • Shift • Due livelli di descrizione (livello ingredienti, livello delle famiglie e dei sistemi)
Gli ingredienti Ingredienti a disposizione per la produzione delle mescole CB CRX 1345 CB CRX 1380 CB N115 CB N121 CB N220 CB N326 SILICA AROMATIC OIL Styrene-Indene Resin TESPT50% Fatty Acid Zinc Salt Stearic Acid ZnO TBBS CBS CTP SULFUR SMR 20 STR 20 RSS 3 BR Ni BR Co BR Li BR Ti SBR 1500 SBR 1502 SBR 1712 6PPD TMQ DTPD Wax NR - Gomme Naturali Carbon Black BR - Gomme Polibutadieniche Cariche Chiare Oli SBR - Gomme Stirene Butadiene Resine Silano Derivati di Acidi Grassi ??? ??? Acidi ZnO ??? ??? Cera ??? ??? Vulcanizzanti Ogni ingrediente appartiene ad una famiglia di ingredienti
Le ricette STR 20 q1 BR Ni q2 CB CRX 1345 q3 SILICA q4 Styrene-Indene Resin q5 TESPT50% q6 Fatty Acid Zinc Salt q7 Stearic Acid q8 ZnO q9 6PPD q10 TMQ q11 DTPD q12 Wax q13 TBBS q14 CTP q15 SULFUR q16 SMR 20 q1 SBR 1502q2 CB CRX 1345 q3 CB N115 q4 SILICA q5 TESPT50% q6 Styrene-Indene Resin q7 AROMATIC OILq8 Fatty Acid Zinc Salt q9 Stearic Acid q10 ZnO q11 6PPD q12 TMQ q13 DTPD q14 Wax q15 TBBS q16 CTP q17 SULFUR q18
Le combinazioni SMR 20 q1 SBR 1502q2 CB CRX 1345 q3 CB N115 q4 SILICA q5 TESPT50% q6 Styrene-Indene Resin q7 AROMATIC OILq8 Fatty Acid Zinc Salt q9 Stearic Acid q10 ZnO q11 6PPD q12 TMQ q13 DTPD q14 Wax q15 TBBS q16 CTP q17 SULFUR q18 NR SBR Carbon Black Silici Silani Resine Oli Der. Acidi Grassi Acidi ZnO ??? ??? ??? Cere ??? ??? Zolfo
I sistemi SMR 20 q1 SBR 1502q2 CB CRX 1345 q3 CB N115 q4 SILICA q5 TESPT50% q6 Styrene-Indene Resin q7 AROMATIC OILq8 Fatty Acid Zinc Salt q9 Stearic Acid q10 ZnO q11 6PPD q12 TMQ q13 DTPD q14 Wax q15 TBBS q16 CTP q17 SULFUR q18 NR Sistema Matrice Polimerica SBR Carbon Black Sistema Rinforzante Silici Silani Resine Sistema Plastificante Oli Sistema Ausiliari di Processo Der. Acidi Grassi Acidi Sistema Attivanti della Vulcanizzazione ZnO ??? ??? Sistema Protettivo ??? Cere Sistema Acceleranti della Vulcanizzazione ??? ??? Sistema Agenti Vulcanizzanti Zolfo
Il problema della formulazione • IN: • Mescola • Richieste di modifica delle CM • OUT: • Sequenza di IR (interventi di modifica della ricetta)
Dov’è la conoscenza? • Regole di Formulazione • Relazioni esistenti tra CM e IR • Vincoli di Formulazione • Sulle quantità di ingredienti • Sui valori degli attributi
No Correlation (NC) T-Matrix • Strumento di rappresentazione • Strumento di supporto alla KA • Regole di formulazione: • (IR, CM, corr, prop)
P-Truck Compounding • IN: • Ricetta associata ad una mescola • Richieste di modifica delle CM • Dati: • IR Possibili • Conoscenza: T-Matrix e Vincoli di Formulazione • OUT: • Sequnza di IR (interventi di modifica della ricetta)
PTruck Compounding • Stato Iniziale: Ricetta • Goal: Raggiungere la variazione delle Caratteristiche desiderata • Azioni: Interventi sulla Ricetta • Conoscenza a disposizione: il Knowledge Artifact (T-Matrix) e vincoli
Quale PSM abbiamo scelto? • Perchè non è un problema di configurazione?
Mondo dei blocchi • Problema: data una configurazione di quattro blocchi (ad es [2]) si desidera trovare l’insieme di operazioni per ottenere la configurazione finale di blocchi desiderata [1] • Stato Iniziale: [2] • Obiettivo: [1] • Azioni Eseguibili: spostare un blocco libero per volta o sul tavolo o su un altro blocco • Esempi di trasformazioni di stato • Da 2 a 3 • Da 3 a 4 o 5 A A B D D C C B C B D D C B A C A B A D 1 2 3 4 5