Come per rimuovere i duplicati in Prolog

November 11

Prolog è un linguaggio di programmazione dichiarativa comunemente utilizzati nella ricerca di intelligenza artificiale e la linguistica. A differenza delle lingue procedurali più comuni, la maggior parte dei programmi Prolog sono definite come una serie di regole e di equazioni, piuttosto che come una serie di passaggi. Il seguente codice descrive il processo per rimuovere i duplicati da una lista in Prolog.

istruzione

1 Aprire un editor di testo, come Blocco note, e salvare il file con il nome "remove_dups.pl."

2 Digita il codice tra le barre (lasciando la loro slash out):

/

% remove_dups (+ List, -NewList):

% Nuova lista isbound alla lista, ma con elementi duplicati rimosso.

remove_dups ([], []).

remove_dups ([Prima | Resto], NewRest): -

membro (in primo luogo, di riposo),

remove_dups (riposo, NewRest).

remove_dups ([Prima | Resto], [Prima | NewRest]): -

Non (membro (Prima, rest)),

remove_dups (riposo, NewRest).

/

La funzione "remove_dups" è definito come una serie di tre regole. La prima regola ( ". Remove_dups ([], [])") specifica che se l'elenco è vuoto, nulla deve essere fatto; la funzione dovrebbe semplicemente restituire. La seconda regola specifica che se la prima voce dell'elenco appare altrove nella lista, allora dovrebbe essere rimosso (in quanto si tratta di un duplicato) e la lavorazione dovrebbe continuare a utilizzare il resto della lista chiamando i remove_dups funzionare di nuovo con la prima voce nella lista di sinistra fuori. L'ultima regola specifica che se il primo membro della lista non è presente altrove nella lista, dovrebbe essere tenuto e la lavorazione dovrebbe continuare.

3 Salvare il lavoro premendo "Ctrl" e "S" insieme.