Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGuglielmo Bianchi Modificato 9 anni fa
1
Sistemi con vincoli Francesca Rossi Aprile-Giugno 2004
2
Scopo del corso Dare le nozioni di base della programmazione con vincoli Dare le nozioni di base della programmazione con vincoli Come rappresentare un problema reale con un insieme di vincoli Come rappresentare un problema reale con un insieme di vincoli Tecniche principali per risolverlo Tecniche principali per risolverlo Approccio formale per un tipo di programmzione con molte applicazioni pratiche Approccio formale per un tipo di programmzione con molte applicazioni pratiche Non e’ un corso di programmazione!Non e’ un corso di programmazione!
3
Struttura del corso Lezioni: Lunedi’, Martedi’, Mercoledi’ 14:00-15:40 Lezioni: Lunedi’, Martedi’, Mercoledi’ 14:00-15:40 Lezioni ed esercizi in aula Lezioni ed esercizi in aula Materiale: libro “Principles of Constraint Programming”, K. Apt, Cambridge University Press, 2003. Materiale: libro “Principles of Constraint Programming”, K. Apt, Cambridge University Press, 2003. Lucidi associati al libro, disponibili sul sito del corso (www.math.unipd.it/~frossi/vincoli2004.html) Lucidi associati al libro, disponibili sul sito del corso (www.math.unipd.it/~frossi/vincoli2004.html) Esame: scritto, orale, e/o progetto Esame: scritto, orale, e/o progetto Corso integrativo: seconda settimana e quarta settimana del corso Corso integrativo: seconda settimana e quarta settimana del corso Seconda settimana: Prof. Pedro Meseguer, vincoliSeconda settimana: Prof. Pedro Meseguer, vincoli Quarta settimana: Prof. Thomas Schiex, preferenze (vincoli soft)Quarta settimana: Prof. Thomas Schiex, preferenze (vincoli soft)
4
Programmazione con vincoli Approccio alternativo alla programmazione Approccio alternativo alla programmazione Vincolo su una sequenza di variabili: relazione sui loro domini Vincolo su una sequenza di variabili: relazione sui loro domini Problema di soddisfazione di vincoli (CSP): insieme finito di vincoli Problema di soddisfazione di vincoli (CSP): insieme finito di vincoli Approccio della programmazione con vincoli: Approccio della programmazione con vincoli: Formulare un problema come un CSPFormulare un problema come un CSP Risolvere la rappresentazione scelta con metodi generali o specificiRisolvere la rappresentazione scelta con metodi generali o specifici
5
Risolvere un CSP Determinare se ha una soluzione (cioe’ se e’ consistente) Determinare se ha una soluzione (cioe’ se e’ consistente) Trovare una soluzione Trovare una soluzione Trovare tutte le soluzioni Trovare tutte le soluzioni Trovare una soluzione ottima Trovare una soluzione ottima Trovare tutte le soluzioni ottime Trovare tutte le soluzioni ottime
6
Metodi specifici Algoritmi specifici per certe classi di vincoli (risolutori) Algoritmi specifici per certe classi di vincoli (risolutori) Esempi: Esempi: Un programma per risolvere sistemi di equazioni lineariUn programma per risolvere sistemi di equazioni lineari Un pacchetto software per la programmazione lineareUn pacchetto software per la programmazione lineare Un’implementazione dell’algoritmo di unificazioneUn’implementazione dell’algoritmo di unificazione
7
Metodi generali Algoritmi per la propagazione di vincoli Algoritmi per la propagazione di vincoli Metodi di ricerca Metodi di ricerca
8
Caratteristiche di base della programmazione con vincoli Programmazione in due fasi: Programmazione in due fasi: Generazione della rappresentazione di un problema com CSPGenerazione della rappresentazione di un problema com CSP Sua soluzioneSua soluzione Rappresentazione flessibile: i vincoli possono essere aggiunti, tolti, o modificati Rappresentazione flessibile: i vincoli possono essere aggiunti, tolti, o modificati
9
Applicazioni Sistemi grafici interattivi (per esprimere la coerenza geometrica) Sistemi grafici interattivi (per esprimere la coerenza geometrica) Problemi di ricerca operativa (vari problemi di ottimizzazione) Problemi di ricerca operativa (vari problemi di ottimizzazione) Biologia molecolare (sequenzializzazione del DNA, costruzione di modelli 3D delle proteine) Biologia molecolare (sequenzializzazione del DNA, costruzione di modelli 3D delle proteine) Applicazioni finanziarie Applicazioni finanziarie Verifica circuiti Verifica circuiti Elaborazione del linguaggio naturale (costuzione di pareser efficienti) Elaborazione del linguaggio naturale (costuzione di pareser efficienti) Schedulazione di attivita’ di satelliti Schedulazione di attivita’ di satelliti Generazione di programmi musicali radiofonici coerenti Generazione di programmi musicali radiofonici coerenti......
10
Sommario del corso Esempi di problemi di soddisfazione di vincoli Esempi di problemi di soddisfazione di vincoli Nozioni di base della programmazione con vincoli Nozioni di base della programmazione con vincoli Alcuni risolutori completi Alcuni risolutori completi Nozioni di consistenza locale Nozioni di consistenza locale Alcuni risolutori incompleti Alcuni risolutori incompleti Algoritmi di propagazione di vincoli Algoritmi di propagazione di vincoli Ricerca nello spazio delle soluzioni Ricerca nello spazio delle soluzioni
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.