Vai al contenuto

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

SWI-Prolog (versione 10 o successiva)Si scarica gratis da swi-prolog.org: installer per Windows e Mac, pacchetti per Linux. Dopo l'installazione il comando swipl apre l'interprete
Visual Studio CodeEditor gratuito da code.visualstudio.com; esistono estensioni gratuite per Prolog che colorano il codice
SWISH (facoltativo)Ambiente online ufficiale e gratuito, swish.swi-prolog.org, dove provare Prolog dal browser senza installare nulla

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.

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

  1. Scrivi i fatti prodotto(Nome, Categoria, Prezzo) per almeno quattro prodotti.
  2. Scrivi i fatti scorta(Nome, Quantita).
  3. Scrivi la regola da_riordinare(N): vera se la scorta è sotto 6.
  4. Scrivi la regola costoso(N): vera se il prezzo è almeno 9 euro.
  5. Scrivi valore_categoria(C, V) con aggregate_all(sum(...)).
  6. Scrivi il predicato main che stampa il valore di ogni categoria e l'elenco dei prodotti da riordinare.
  7. Estensione: aggiungi vendi/2 con 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.

Vai all'esame

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.