es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: AMZI-PROLOG

Ejecuté el programa siguiendo las instrucciones del libro, pero no funcionó. Error: procedimiento desconocido.

start :- accion(estado(izquierda,izquierda,izquierda,izquierda), estado(derecha,derecha,derecha,derecha)). accion(Inicio,Objetivo):- plan(Inicio,Objetivo,[Inicio],Camino), nl,write(‘Solución:’),nl, write_camino(Camino). % write_camino(Camino), fail. % Todas las soluciones se imprimen plan(Inicio,Objetivo,Visitado,Camino):- ir(Inicio,Siguiente), seguro(Siguiente), \+ member(Siguiente,Visitado), % not(member(…)) plan(Siguiente,Objetivo,[Siguiente|Visitado],Camino). plan(Objetivo,Objetivo,Camino,Camino). ir(estado(X,X,Z,K),estado(Y,Y,Z,K)):-al_otro_lado(X,Y). % granjero, lobo ir(estado(X,W,X,K),estado(Y,W,Y,K)):-al_otro_lado(X,Y). % granjero, cabra ir(estado(X,W,Z,X),estado(Y,W,Z,Y)):-al_otro_lado(X,Y). % granjero, col ir(estado(X,W,Z,K),estado(Y,W,Z,K)):-al_otro_lado(X,Y). % granjero al_otro_lado(izquierda,derecha). al_otro_lado(derecha,izquierda). seguro(estado(B,W,Z,K)):- al_otro_lado(W,Z), al_otro_lado(Z,K). seguro(estado(B,B,B,K)). seguro(estado(B,W,B,B)). “` * . . . Read more

Número de elementos que contienen mujer

Cómo puedo encontrar: 1) el número de círculos que contienen al menos 1 mujer? 2) los nombres de las personas que se encuentran en más círculos. círculo(círculo1, [misha, inna]). círculo(círculo2, [misha, inna, igor, ivan]). círculo(círculo3, [vasya, stepan]). género(misha, hombre). género(inna, mujer). género(igor, hombre). género(ivan, hombre). género(vasya, hombre). género(stepan, hombre).

Sublista de una lista

Necesito seleccionar una sublista de la lista, desde el índice K hasta el índice N. Ejemplo: ?- sublist(2, 5, [1, 2, 3, 4, 5, 6, 7, 8, 9], Res) Res = [2, 3, 4, 5]

Encuentra todos los caminos entre nodos en un grafo no dirigido.

He definido la siguiente red: connected(d,f). connected(d,a). connected(d,b). connected(d,c). connected(c,a). connected(c,b). connected(c,e). connected(b,e). connected(X,Y) :- edge(X,Y). connected(X,Y) :- edge(Y,X). Necesito encontrar todos los caminos entre dos nodos especificados y escribirlos. He encontrado una publicación anterior que proporciona una forma de verificar si hay un camino entre dos nodos, pero no . . . Read more