Programmazione Prolog: dai alla tua intelligenza artificiale la migliore vita.

Divulgazione: Il tuo supporto aiuta a mantenere il sito in esecuzione! Guadagniamo una commissione di riferimento per alcuni dei servizi che raccomandiamo in questa pagina.


Prolog è un linguaggio di programmazione logica. Come tale, può sembrare decisamente bizzarro per le persone che hanno esperienza di cose come C ++ o Perl. L’idea è molto semplice. In un programma definisci fatti e regole (le relazioni tra i fatti). E sulla base di questo, è possibile eseguire query. Tuttavia, con queste semplici funzioni, si può fare molto

Per darti un’idea del potere di Prolog, è stato progettato per eseguire l’elaborazione del linguaggio naturale. Probabilmente hai sentito parlare di ELIZA, uno dei primi chatbot mai scritti. Questo è il tipo di cosa che Prolog è stato progettato per fare.

In effetti, ci sono versioni Prolog di ELIZA online. Ma questo è solo l’inizio. È ampiamente usato in una serie di settori che pensiamo in generale come “intelligenza artificiale”, specialmente nei sistemi esperti.

Come funziona Prolog

Prolog può essere fonte di confusione per le persone che hanno esperienza con i linguaggi procedurali. Sebbene abbia certamente degli aspetti procedurali, si tratta principalmente di creare un sistema di fatti e come si relazionano. Quindi lasci che Prolog gestisca i dettagli di come è fatto. La programmazione procedurale di solito prevede di porre molte domande “se”. Prolog ha quell’aspetto integrato nel sistema di dati.

Per avere un’idea di base su Prolog, dobbiamo parlare dei suoi tre aspetti fondamentali: fatti, regole e domande.

  • I fatti: questi sono proprio quello che penseresti. Indica al sistema alcune informazioni. Nel seguente esempio, dichiariamo che a Heather piace Thomas:
    • piace (melange, Thomas).
  • Regole: questi creano espressioni logiche. Usano cose come: – operatore, che in pratica significa “se:
    • Mi piace (Thomas, Heather): – Mi piace (Heather, Thomas).

    Questo afferma che a Thomas piace Heather se “Heather ama Thomas” è vero. Si noti che il fatto originale è una regola implicita che avrebbe potuto essere scritta come:

    • Mi piace (Heather, Thomas): = true.
  • Interrogazioni: questi ci consentono di porre domande al sistema. Per esempio:
    • ? piace (Thomas, melange).

    Questo pone la domanda: “A Thomas piace Heather?” E Prolog risponderà, “sì”. Questo perché abbiamo stabilito per la prima volta che a Heather piaceva di fatto Thomas. Quindi abbiamo creato una regola che affermava che a Thomas piaceva Heather se le piaceva.

Un altro aspetto importante di Prolog è l’uso delle variabili. Potresti aver notato come tutti gli esempi forniti finora siano minuscoli. In Prolog, un elemento (chiamato “atomo”) che inizia con una lettera maiuscola è una variabile. Quindi immagina di voler scoprire quali amici aveva Heather, potremmo creare una variabile Amici per fare questo:

? piace (erica, amici).

Questo pone la domanda: “A chi piace Heather?” E Prolog carica gli amici con qualsiasi cosa sia stata definita. Nel nostro caso, è Thomas. Ma potrebbe essere un elenco di persone.

risorse

Ora che hai un’idea di base su cosa sia Prolog, diamo un’occhiata ad alcune risorse per iniziare come programmatore logico.

Esercitazioni

  • Introduzione a Prolog: questo è un tutorial molto semplice, ma che affronta alcuni problemi di base che altri tutorial tendono a sorvolare.
  • Prova la programmazione logica! Un’introduzione delicata a Prolog: si concentra sulla programmazione logica come un diverso paradigma di programmazione.
  • Prolog: – Tutorial: questa è un’introduzione dettagliata e orientata all’esempio della lingua.
  • Scopri Prolog Now: questo è un tutorial completo che inizia all’inizio e affronta argomenti avanzati.

Tutorial video

Oltre alle esercitazioni standard, su Prolog sono disponibili numerose esercitazioni video. Sono un modo sorprendentemente semplice per imparare i fondamenti.

  • Tutorial Prolog di Derek Banas: questo è un eccellente tutorial video di un’ora che ti fa iniziare fin dall’inizio: installare Prolog sul tuo computer.
  • Programmazione in Prolog: questa è la presentazione video in quattro parti di The Simple Engineer che utilizza SWI-Prolog, che funziona praticamente su tutto.
  • Programmazione logica: fa parte di una serie di conferenze di Pallab Dasgupta sull’intelligenza artificiale. Questo è sulla programmazione logica su tutti. C’è anche una lezione di follow-up su Prolog in particolare.

Libri Prolog

Se sei davvero interessato, potresti voler dare un’occhiata a un libro, che può approfondire l’argomento.

  • Programmazione di Prolog Success in a Day di Sam Key: un piccolo libro che introduce Prolog in un giorno (o sera).
  • Programmazione in Prolog di Clocksin Mellish: questa è un’introduzione completa ma concisa a Prolog.
  • Programmazione Prolog per l’intelligenza artificiale di Ivan Bratko: nonostante ciò che sembra, questa è un’introduzione a Prolog – e uno che approfondisce molto l’argomento.
  • The Art of Prolog: tecniche di programmazione avanzate di Sterling e Shapiro: questo è un classico, ma non un’introduzione. È qualcosa che dovresti controllare dopo aver acquisito familiarità con la lingua.

Implementazioni Prolog

Sono disponibili vari compilatori ed interpreti Prolog gratuiti.

  • Toy Prolog Interpreter: questo è un interprete online della Monash University che è un ottimo strumento per controllare piccoli frammenti di codice. È particolarmente utile per l’uso con i tutorial prima di preoccuparti di installare un compilatore sul tuo computer.
  • SWI-Prolog: questa è un’implementazione Prolog ampiamente utilizzata disponibile praticamente per ogni piattaforma.
  • GNU Prolog: questo è il compilatore gratuito di Daniel Diaz.
  • Compilatori e implementazioni di Prolog gratuiti: l’elenco delle altre implementazioni di Prolog nel Paese libero.

Altre risorse

Ci sono molte altre risorse disponibili. Alcune di esse risalgono a molto tempo fa, quindi tieni presente che alcune delle informazioni potrebbero non essere aggiornate.

  • Guida alle risorse di Prolog: questa è una risorsa piuttosto vecchia, ma contiene una grande quantità di informazioni utili.
  • Programmazione nel mondo reale in SWI-Prolog: contiene molte informazioni per i programmatori SWI-Prolog, ma sarà molto utile per le persone che usano altri ambienti. Di particolare interesse sono le Domande frequenti per ## Prolog.
  • Prolog WikiBook: questa è un’eccellente panoramica della lingua con molto materiale avanzato.
  • Stack Overflow Prolog: questo è il forum online per programmatori con un’enorme quantità di informazioni. Consulta anche la pagina Domande con tag Prolog.
  • SWI-Prolog Google Group: questo non è un gruppo terribilmente attivo, ma ci sono ancora molte persone competenti. Dai un’occhiata anche al gruppo comp.lang.prolog.

Sommario

Sia che tu voglia concentrarti su di esso o semplicemente utilizzarlo per integrare gli altri tuoi strumenti di programmazione, Prolog è un ottimo linguaggio da studiare. Come linguaggio di programmazione logica, ti fa pensare ai problemi in modi meno procedurali. Con le risorse qui, puoi imparare e avanzare nella tua programmazione Prolog.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map