Linguaggi di Nuova Concezione, A.A. 2003/2004

Orario lezioni


Programma Svolto

  1. 19 Aprile 2004. Introduzione al corso. Breve storia della Programmazione logica e della programmazione con vincoli. (Dovier)
  2. 20 Aprile 2004. Sintassi e Semantica della logica del prim'ordine. Interpretazioni di Herbrand. (Dovier)
  3. 26 Aprile 2004. Sostituzioni. Preordine tra queste. Varianti. Unificatori e mgu. Il problema dell'Unificazione. (Dovier)
  4. 27 Aprile 2004. L'algoritmo di unificazione alla Herbrand. Correttezza, completezza e non-determinismo. Buoni ordini (lessicografico-multiset) e terminazione. (Dovier)
  5. 29 Aprile 2004. Complessità dell'algoritmo di Unificazione e sue principali implementazioni. Significato logico dell'unificazione. E-unificazione: esempi di base. (Dovier)
  6. 3 Maggio 2004. E-unificazione. Definizioni e problemi principali. ACI con costanti e generale: limiti di complessità. Problema: la terminazione dell'algoritmo di unificazione per liste compatte. (Dovier)
  7. 4 Maggio 2004. Programmi con clausole definite. Fatti, regole e goals. La SLD Derivazione. Indipendenza dalla scelta della rinomina della clausola, dell'mgu, e della regola di selezione. (Dovier)
  8. 6 Maggio 2004 (lab). Utilizzo del SICStus Prolog. Primi esempi. Predicati su liste e grafi. (Dovier)
  9. 10 Maggio 2004. Alberi SLD e indipendenza dalla regola di computazione. Semantiche osservazionali e incompletezza di Prolog. Semantica logica: modelli di Herbrand. (Dovier)
  10. 11 Maggio 2004. Risultati modellistici: il modello minimo. Semantica di punto fisso. Alcuni predicati built-in di Prolog. (Dovier)
  11. 13 Maggio 2004 (lab). Visite di grafi. Permutazioni di una lista. Simulazione di una macchina di Turing. (Dovier)
  12. 17 Maggio 2004. Il fail, l'assert e la loro combinazione per collezionare soluzioni. Il cut e la sua combinazione con il fail per implementare la negazione. Cenni sulle problematiche relative ai Programmi generali. Programmazione dichiarativa. Metodologia Generate & Test. (Dovier).
  13. 18 Maggio 2004. Esempi di programmazione dichiarativa e ottimizzazione dello spazio di ricerca. Le N-regine ed il Map Coloring. (Dovier)
  14. 20 Maggio 2004. (lab) Esercitazione sulla programmazione generate & Test. Verifica dei tempi di esecuzione. (Dovier)
  15. 24 Maggio 2004. Constraint Satisfaction Problems (CSP) e Constraint Optimization Problems (COP). Principali definizioni. Risolutori completi ed incompleti. Regole di risoluzione. Derivazioni e constraint propagation. Node consistency, Arc consistency, e directional Arc consistency. (Dovier)
  16. 25 Maggio 2004. Hyperarc consistency e Path consistency. Alberi di ricerca: complete, reduced e prop labeling trees. (Dovier)
  17. 27 Maggio 2004. Metodi di propagazione: forward checking, partial e full look ahead (MAC). Algoritmi di costruzione/visita di alberi di ricerca: Branch and Bound con constraints. Programmazione logica con vincoli: procedura di risoluzione. (Dovier)
  18. 31 Maggio. CLP(FD): esempi di programmazione con la metodologia constraint + generate: N-regine, SEND+MORE=MONEY, Protein Folding. Il risolutore clpfd di SICStus. (Dovier)
  19. 1 Giugno. introduzione alla programmazione logica parallela. Il modello con parallelismo implicito: parallelismo AND, parallelismo OR e loro combinaizone. (Falaschi)
  20. 3 Giugno. introduzione alla programmazione logica concorrente. Il modello con parallelismo esplicito. Gli operatori per il controllo della sincronizzazione e del non-determinismo. Guardie e commit. Esempi di programmazione logica concorrente in GHC, PARLOG e CP. (Falaschi)
  21. 4 Giugno. Introduzione alla verifica e diagnosi di Programmi Logici. (Falaschi-Comini)
  22. 7 Giugno. Introduzione alla programmazione concorrente con vincoli con tempo, semantica ed esempi. (Falaschi)
  23. 8 Giugno. Verifica di programmi concorrenti con vincoli con tempo, mediante una logica temporale lineare. Sviluppi futuri. (Falaschi)
  24. 10 Giugno. Programmazione concorrente con vincoli in Mozart (Note). (Falaschi-Dal Palù)

Home Page