Videocorso Prolog CGFA
Da zero a programmare con la logica: fatti, regole, ricerca delle soluzioni e vincoli con SWI-Prolog
- Partenza: Da zero
- 12 ore con gli esercizi
- 10 lezioni in 3 livelli
- 2 lezioni gratis
A chi serve
Curiosi, studenti e programmatori che vogliono scoprire un modo completamente diverso di risolvere i problemi: descrivere cosa è vero e lasciare che sia il computer a cercare la risposta
Cosa serve per iniziare
- Un computer Windows, Mac o Linux
- Nessuna esperienza di programmazione
- Un po' di logica di base (se... allora...)
Cosa installare
A cosa ti serve
- Intelligenza artificiale simbolica e sistemi esperti
- Elaborazione del linguaggio naturale e grammatiche
- Pianificazione, orari, turni e problemi di ottimizzazione con vincoli
- Verifica di regole e conformità (normative, configuratori di prodotti)
- Ricerca e università (logica, linguistica, basi di conoscenza)
Programma del corso
10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.
Base
Fatti, regole, domande, aritmetica e liste
Intermedio
Ricorsione, backtracking, raccolta di soluzioni e controllo
Avanzato
Grammatiche, vincoli, errori, memoizzazione e file
Progetto finale: Piccolo esperto per la gestione di una bottega
Costruisci una piccola base di conoscenza per una bottega napoletana: prodotti con categoria e prezzo, scorte, e regole che rispondono a domande come "quali prodotti sono da riordinare?" e "quanto vale la merce per categoria?". Usi fatti, regole, findall, aggregate_all e forall.
I passi
- Scrivi i fatti
prodotto(Nome, Categoria, Prezzo)per almeno quattro prodotti. - Scrivi i fatti
scorta(Nome, Quantita). - Scrivi la regola
da_riordinare(N): vera se la scorta è sotto 6. - Scrivi la regola
costoso(N): vera se il prezzo è almeno 9 euro. - Scrivi
valore_categoria(C, V)con aggregate_all(sum(...)). - Scrivi il predicato
mainche stampa il valore di ogni categoria e l'elenco dei prodotti da riordinare. - Estensione: aggiungi
vendi/2con fatti dinamici e verifica che la scorta cali.
Esame e attestato
Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.
Glossario di Prolog
- Fatto
- Un'affermazione vera, come genitore(maria, luca).
- Regola
- Un'affermazione vera se lo sono altre, scritta con :-.
- Predicato
- L'insieme di fatti e regole con lo stesso nome e lo stesso numero di argomenti, come append/3.
- Variabile
- Un segnaposto che inizia con la maiuscola e che Prolog riempie cercando i valori che rendono vera la domanda.
- Unificazione
- Il processo con cui Prolog rende uguali due termini trovando i valori delle variabili.
- Backtracking
- Tornare indietro all'ultima scelta aperta per provare un'alternativa.
- Atomo
- Un nome costante che inizia con la minuscola, come napoli.
- Termine composto
- Un nome con degli argomenti, come prodotto(olio, 9).
- Lista
- Una sequenza tra parentesi quadre, divisibile in testa e coda con [T|Coda].
- Taglio
- Il simbolo ! che impedisce di tornare indietro sulle scelte già fatte.
- DCG
- Definite Clause Grammar: regole con --> per descrivere frasi e formati di testo.
- CLP(FD)
- Programmazione con vincoli su numeri interi: si dichiarano i limiti e le equazioni e Prolog cerca le soluzioni.
Le prime 2 lezioni sono gratis
Per il corso completo, scuole e aziende: chiedi le condizioni.