Cara Menghapus Duplikat di Prolog

Prolog adalah bahasa pemrograman deklaratif yang biasa digunakan dalam penelitian kecerdasan buatan dan linguistik. Tidak seperti bahasa prosedural yang lebih umum, sebagian besar program Prolog didefinisikan sebagai serangkaian aturan dan persamaan, bukan sebagai serangkaian langkah. Kode berikut menjelaskan proses untuk menghapus duplikat dari daftar di Prolog.

Langkah 2

Ketik kode di antara garis miring (biarkan garis miring keluar sendiri):

/ % remove_dups(+List, -NewList): % Daftar Baru terikat ke Daftar, tetapi dengan item duplikat dihapus. hapus_dup([], []).

remove_dups([Pertama | Istirahat], Istirahat Baru):- member (Pertama, Istirahat), remove_dups (Istirahat, Istirahat Baru).

remove_dups([Pertama | Istirahat], [Pertama | Istirahat Baru]) :- bukan (anggota (Pertama, Istirahat)), remove_dups (Istirahat, Istirahat Baru). /

Fungsi "remove_dups" didefinisikan sebagai serangkaian tiga aturan. Aturan pertama ("remove_dups([],[].)") menetapkan bahwa jika daftar kosong, tidak ada yang harus dilakukan; fungsinya harus kembali. Aturan kedua menetapkan bahwa jika item pertama dalam daftar muncul di tempat lain dalam daftar, maka itu harus dihapus (karena itu adalah duplikat) dan pemrosesan harus terus menggunakan sisa daftar dengan memanggil fungsi remove_dups lagi dengan item pertama dalam daftar ditinggalkan. Aturan terakhir menetapkan bahwa jika anggota pertama dari daftar tidak ada di tempat lain dalam daftar, itu harus disimpan dan pemrosesan harus dilanjutkan.

Techwalla dapat memperoleh kompensasi melalui tautan afiliasi dalam cerita ini.