Tag: AMZI-PROLOG
Se me asignó la tarea de escribir un programa en Prolog que coloque las fichas de dominó dadas en un bucle. Pensé que primero las ordenaría y luego buscaría respuestas donde el último número y el primer número hicieran match. Sin embargo, el predicado responsable de esta última tarea (domino_order2) . . . Read more
Soy completamente nuevo en Prolog, así que puede que esté muy equivocado aquí. Llevo intentando resolver el siguiente problema durante la última semana: tweeted(anne, tweet1). tweeted(anne, tweet5). tweeted(fred, tweet2). tweeted(fred, tweet7). tweeted(fred, tweet8). findTweets(Nombre, TweetsPorNombre) :- findall(X, tweeted(Nombre, X), TweetsPorNombre). tweets([], _). tweets([Nombre|Nombres], Resultado) :- findTweets(Nombre, Resultado), /* ¿Cómo concateno . . . Read more
Estoy tratando de escribir una gramática para un intérprete de Prolog. Cuando ejecuto grun desde la línea de comandos con una entrada como “father(john,mary).”, recibo un mensaje que dice “entrada no viable en ‘father(john,’” y no sé por qué. He intentado reorganizar las reglas en mi gramática, usar diferentes puntos . . . Read more
Necesito ayuda para codificar un programa en Prolog que retorne true si una lista tiene n cantidad de [a, c] y m cantidad de b. Pero debe ser en ese orden: a,b,c si las letras a,b,c están en la lista. En la lista, la cantidad de a y c debe . . . Read more
Tengo una pregunta sobre la eliminación de valores simétricos en mis predicados. Estos predicados están en mi base de datos y los agregué allí usando assertz. Entonces, tengo: foo(a,b). foo(b,a). foo(c,d). foo(e,f). foo(f,e). Estoy tratando de eliminar: foo(b,a). foo(f,e). Intenté crear esta regla: remove :- foo(A,B),foo(B,A),retract(foo(B,A)). Sin embargo, esto elimina . . . Read more