Resultados de la búsqueda a petición "prolog"

2 la respuesta

Prólogo: ¿por qué mi predicado devuelve falso?

así que escribí un predicado que cuenta cuántas veces ocurre un elemento en una lista de listas. count([], _, 0). #base case count([[Elem|Rest]|OtherLists], Elem, Count) :- #Elem is the head of sublist !, count([Rest|OtherLists], Elem, ...

3 la respuesta

filtrar la lista en listas separadas

Necesito filtrar la lista[#,d,e,#,f,g] tal que obtengo la salida como[[d,e],[f,g]] , Estoy atascado al crear una nueva lista cada vez que encuentro '#', ¿hay alguna manera de hacer esto? Intenté el siguiente código, filterL([],List) :-[]. ...

2 la respuesta

¿Por qué usamos '!' en prolog

Este es el código que estoy tratando de entender. co(X) :- co(X,[],L). co([],A,A):- write(A). co([X|Xs], A, L) :- p(X-Z,A,R), !, Z1 is Z+1, co(Xs, [X-Z1|R], L). co([X|Xs], A, L) :- co(Xs, [X-1|A], L). p(X-Y,[X-Y|R],R):- !. p(X,[H|Y], [H|Z]) :- ...

2 la respuesta

Pruebas de tipo más seguras en Prolog

ISO-Prolog (ISO / IEC 13211-1: 1995 incluyendo Cor.1: 2007, Cor.2: 2012) ofrece el seguimiento [http://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue#status_quo] predicados incorporados para probar el tipo de término: 8.3 Prueba de tipo1 ...

1 la respuesta

Acoplar solo un nivel de una lista en Prolog

Estoy trabajando en un problema para aplanar solo un nivel de una lista en Prolog. Por ejemplo,[[1],[2,3]] se convertiría[1,2,3], pero[[1,[2]],3] solo se aplanaría a[1,[2],3]. Revisé algunas otras preguntas en el sitio, pero ninguna respondió ...

6 la respuesta

Comportamiento contra-intuitivo de min_member / 2

min_member(-Min, + Lista) [http://www.swi-prolog.org/pldoc/man?predicate=min_member/2] Es cierto cuando Min es el miembro más pequeño en el orden estándar de términos. Falla si la lista está vacía. ?- min_member(3, [1,2,X]). X = 3.La ...

3 la respuesta

Prolog union para A U B U C

Empecé a aprender Prolog recientemente y no puedo resolver cómo unir tres listas. Pude hacer la unión de 2 listas: %element element(X,[X|_]). element(X,[_|Y]):- element(X,Y). %union union([],M,M). union([X|Y],L,S) :- ...

6 la respuesta

Ocurrencia de variables en una lista de variables

Considere un predicado (metalógico)var_in_vars(Var, Vars) que toma una variableVar y una lista de variablesVars y tiene éxito siVar ocurre enVars. Por lo tanto, no necesitamos asegurarnos de queVar es una variable, ni esoVars es una lista de ...

1 la respuesta

Complejidad de predicados ISO Prolog

¿Hay alguna garantía para los límites superiores en la complejidad temporal de los predicados Prolog estándar? Por ejemplo: ¿es cierto quesort(+List, ?SortedList) se ejecuta en tiempo O (nlog (n)) (n es la duración deList) en cualquier sistema ...

14 la respuesta

¿Qué es un buen Prolog IDE para Linux? [cerrado]

Necesito escribir algunos programas Prolog para una clase. ¿Alguna recomendación?