Cómo eliminar duplicados en Prolog
Prolog es un lenguaje de programación declarativo comúnmente utilizado en inteligencia artificial e investigación lingüística. A diferencia de los lenguajes de procedimiento más comunes, la mayoría de los programas de Prolog se definen como una serie de reglas y ecuaciones, en lugar de una serie de pasos. El siguiente código describe el proceso para eliminar duplicados de una lista en Prolog.
Paso 1
Abra un editor de texto, como el Bloc de notas, y guarde su archivo con el nombre "remove_dups.pl".
Paso 2
Escriba el código entre las barras (sin incluir las barras):
/ % remove_dups(+List, -NewList):% New List isbound to List, pero con elementos duplicados eliminados. remove_dups([], []).
remove_dups([Primero | Resto], NuevoResto) :- miembro(Primero, Resto), remove_dups(Resto, NuevoResto).
remove_dups([Primero | Resto], [Primero | NuevoResto]) :- not(miembro(Primero, Resto)), remove_dups(Resto, NuevoResto). //P>
La función "remove_dups" se define como una serie de tres reglas. La primera regla ("remove_dups([],[].)") especifica que si la lista está vacía, no se debe hacer nada; la función simplemente debería regresar. La segunda regla especifica que si el primer elemento de la lista aparece en cualquier otro lugar de la lista, debe eliminarse (ya que es un duplicado) y el procesamiento debe continuar usando el resto de la lista llamando a la función remove_dups nuevamente con el primer elemento. en la lista que quedó. La regla final especifica que si el primer miembro de la lista no está presente en otra parte de la lista, debe conservarse y el procesamiento debe continuar.
Paso 3
Guarde su trabajo presionando "Ctrl" y "S" al mismo tiempo.
Consejo
Mientras que los lenguajes como C y Java generalmente resuelven problemas usando bucles iterativos, los lenguajes declarativos y funcionales como Prolog generalmente resuelven problemas recursivamente o llamando repetidamente a la misma función en un conjunto cada vez más pequeño de datos totales. Algunos problemas son mucho más fáciles de resolver con la recursividad, aunque puede ser difícil de aprender para los programadores acostumbrados a usar solo bucles iterativos para resolver problemas.
- ·Cómo quitar los duplicados de una Palm Treo 700wx
- ·Cómo quitar un canal de un DVR Favorito
- ·Cómo quitar los duplicados de un iPhone
- ·Cómo quitar el iPod Duplicados
- ·Cómo quitar los duplicados de un iPhone
- ·Cómo quitar un teléfono de una lista
- ·Cómo quitar Mi número de teléfono de una lista llamada
- ·Cómo quitar Wuauclt EXE