Slik fjerner duplikater i Prolog

Prolog er en deklarativ programmeringsspråk som vanligvis brukes i kunstig intelligens og lingvistikk forskning. I motsetning til de mer vanlige prosedyrespråk, er de fleste Prolog programmer er definert som en rekke regler og ligninger, snarere enn som en serie av trinn. Følgende kode beskriver prosessen for å fjerne duplikater fra en liste i Prolog.

Bruksanvisning

1 Åpne et tekstredigeringsprogram, for eksempel Notisblokk, og lagre filen med navnet "remove_dups.pl."

2 Skriv inn koden mellom skråstreker (forlater kutter seg ut):

/

% remove_dups (+ List, -NewList):

% Ny liste isbound til liste, men med like elementer fjernet.

remove_dups ([], []).

remove_dups ([Første | Rest], NewRest): -

medlem (Først Rest),

remove_dups (Rest, NewRest).

remove_dups ([Første | Rest], [Første | NewRest]): -

ikke (medlem (Først Rest)),

remove_dups (Rest, NewRest).

/

Den "remove_dups" funksjon er definert som en serie av tre regler. Den første regelen ( ". Remove_dups ([], [])") angir at hvis listen er tom, bør ingenting gjøres; funksjonen skal bare returnere. Den andre regelen spesifiserer at hvis det første elementet i listen vises andre steder i listen, så det bør bli fjernet (siden det er et duplikat) og behandling bør fortsette å bruke resten av listen ved å ringe remove_dups fungere igjen med det første elementet i listen slapp. Den endelige regel angir at hvis den første del av listen er ikke til stede annet sted på listen, bør det holdes og behandlingen fortsetter.

3 Lagre arbeidet ved å trykke "Ctrl" og "S" sammen.