Tecnología

Inicio

Cómo romper una Lista Aparte de Prolog

Cómo romper una Lista Aparte de Prolog


Prolog es un lenguaje de programación informática que fue inventado en Francia en la década de 1960 para su uso en la traducción automática de idiomas naturales. Fue desarrollado aún más en Escocia en la década de 1970 para su uso en demostradores automáticos. Se llegó a la atención de la mayoría de la gente cuando los japoneses lo eligió por su lengua oficial en el proyecto de quinta generación - el proyecto nacional para desarrollar la Inteligencia Artificial. A principios del siglo 21, es - junto con LISP - uno de los dos idiomas principales utilizados por la comunidad de IA.

Instrucciones

1 Romper las listas de separación, en Prolog mediante el examen de la "cabeza" - el primer elemento en la lista - y la "cola" - el resto de la lista. Como se examinan los elementos siguientes, usted puede decidir qué parte de la lista de roto-up cada elemento pertenece.

2 A ver si un elemento es un miembro de una lista pasando a través de la lista de forma recursiva. Para hacer esta pregunta en Prolog, tipo "Miembro (X, A)?" - Es X un miembro de la L? Esto requiere dos estados del prólogo: "Miembro (X, [x, t])." Esto dice que si X coincide con la primera cosa en la lista, entonces X es miembro de L.

3 Escribe la etapa recursiva para encontrar adhesión como "Miembro (X, [_, T]): - Miembro (X, T)." Esto saltará sobre la cabeza de la lista si no es igual a X. Si usted trabaja su manera a través de la lista, X será [], la lista vacía.

4 Seleccione los primeros n elementos de una lista con los dos estados Prolog "firstn (L, M, R, 0)." y "firstn ([X | T1], [X | T2], R, n): - firstn (T1, T2, R, n-1)". La primera instrucción se detiene la recursión con los primeros n elementos en F y el resto en R. La segunda declaración de extracción mantiene la cabeza fuera de la lista y ponerla en la lista F hasta que n = 0.

5 Separar una lista en dos listas, donde una nueva lista contiene los elementos numerados impares y la otra lista nueva contiene los elementos de número par, con cuatro estados del prólogo: "ruptura (L, Impar, Par): - desintegración (L, impar, . incluso, 1) ruptura "," ([], Impar, Par, _) ", desintegración ([X | T], [X | impar], incluso, 1): - desintegración (L, Impar, Par. , 0) "," ruptura (. [X | T], Odd, [X | Incluso].., 0) "la primera declaración se pone las cosas empezaron correctamente, la segunda instrucción se detiene cosas cuando la lista ha sido recorrido y el último dos estados separados de forma recursiva la lista.

Consejos y advertencias

  • Prolog trata de aplicar reglas en el orden en que están escritos. Invirtiendo el orden de las reglas generalmente destruye el programa.
  • Nuevas listas se construyen en orden inverso. Puede convertirlos de nuevo en torno a los tres estados de Prolog "marcha atrás (L, R): - reverse (L, [], R).". "Inverso (H | T], S, R): - reverse (T, [X | S], R)." Y "inverso ([], R, R).".