Diferencia entre revisiones de «Relación 1»
De Lógica computacional y teoría de modelos (2019-20)
Línea 10: | Línea 10: | ||
% Solución: | % Solución: | ||
− | -- Ulises: | + | % -- Ulises: |
− | ¿Debería poner la respuesta como comentario usando %? | + | % ¿Debería poner la respuesta como comentario usando %? |
− | Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p. | + | % Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En % cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p. |
− | En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p. | + | % En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p. |
− | En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q. | + | % En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q. |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
Línea 30: | Línea 30: | ||
% Solución: | % Solución: | ||
− | -- Ulises | + | % -- Ulises |
− | Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas: | + | % Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas: |
− | {p,r}, {p,s}, {q,r}, {q,s}. | + | % {p,r}, {p,s}, {q,r}, {q,s}. |
− | Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q: | + | % Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q: |
− | {p,r}, {p,s}, {q,r,¬s}. | + | % {p,r}, {p,s}, {q,r,¬s}. |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
Línea 47: | Línea 47: | ||
% Solución: | % Solución: | ||
− | -- Ulises | + | % -- Ulises |
− | En primer lugar eliminamos las reglas que contengan not p(c): | + | % En primer lugar eliminamos las reglas que contengan not p(c): |
− | p(a) :- not p(b). | + | % p(a) :- not p(b). |
− | p(c) :- not p(a). | + | % p(c) :- not p(a). |
− | Y en segundo lugar eliminamos las premisas que contengan not: | + | % Y en segundo lugar eliminamos las premisas que contengan not: |
− | p(a). | + | % p(a). |
− | p(c). | + | % p(c). |
− | S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S. | + | % S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S. |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
Línea 72: | Línea 72: | ||
% Solución: | % Solución: | ||
− | -- Ulises | + | % -- Ulises |
− | Dado que tenemos una sola constante (objeto) el programa será equivalente a sustituir la variable X por a, y en dicho caso tendremos dos posibles conjuntos de respuesta. | + | % Dado que tenemos una sola constante (objeto) el programa será equivalente a sustituir la variable X por a, y en dicho caso tendremos dos posibles conjuntos de respuesta. |
− | El primero surge de leer la segunda regla antes de la tercera, en cuyo caso hemos de creer p(a) además de ¬s(a) y por tanto también r(a): {¬s(a),p(a),r(a)}. | + | % El primero surge de leer la segunda regla antes de la tercera, en cuyo caso hemos de creer p(a) además de ¬s(a) y por tanto también r(a): {¬s(a),p(a),r(a)}. |
− | El segundo se da si leemos antes la tercera regla, en cuyo caso creeremos q(a) y por tanto también r(a): {¬s(a),q(a),r(a)}. | + | % El segundo se da si leemos antes la tercera regla, en cuyo caso creeremos q(a) y por tanto también r(a): {¬s(a),q(a),r(a)}. |
− | ¿s(a)?: No, ya que P ⊧ ¬s(a). | + | % ¿s(a)?: No, ya que P ⊧ ¬s(a). |
− | ¿r(a)?: Sí, ya que pertenece a todos los conjuntos de respuesta. | + | % ¿r(a)?: Sí, ya que pertenece a todos los conjuntos de respuesta. |
− | ¿s(b)?: Desconocido. | + | % ¿s(b)?: Desconocido. |
− | ¿q(b)?: Desconocido también, ya que ninguno de los dos literales aparece en ninguno de nuestros conjuntos de respuesta. | + | % ¿q(b)?: Desconocido también, ya que ninguno de los dos literales aparece en ninguno de nuestros conjuntos de respuesta. |
*Creo que {¬s(a),q(a),r(a),q(b),r(b)} (por ejemplo) no es conjunto de respuesta dado que aunque satisface todas las reglas no es minimal. | *Creo que {¬s(a),q(a),r(a),q(b),r(b)} (por ejemplo) no es conjunto de respuesta dado que aunque satisface todas las reglas no es minimal. | ||
Línea 98: | Línea 98: | ||
% Solución: | % Solución: | ||
− | -- Ulises | + | % -- Ulises |
− | Si creemos p(a) tendremos también ¬q(a),¬q(b) y r(b), por lo que el conjunto de respuesta será: {p(a),¬q(a),¬q(b),r(b)}. | + | % Si creemos p(a) tendremos también ¬q(a),¬q(b) y r(b), por lo que el conjunto de respuesta será: {p(a),¬q(a),¬q(b),r(b)}. |
− | Si creemos ¬p(b) tendremos que creer también q(b),¬q(a), r(b) y r(a): {¬p(b),q(b),¬q(a),r(b),r(a)}. | + | % Si creemos ¬p(b) tendremos que creer también q(b),¬q(a), r(b) y r(a): {¬p(b),q(b),¬q(a),r(b),r(a)}. |
− | ¿q(a)?: No, ya que P ⊧ ¬q(a). | + | % ¿q(a)?: No, ya que P ⊧ ¬q(a). |
− | ¿r(a)?: Desconocido. | + | % ¿r(a)?: Desconocido. |
− | ¿q(b)?: Desconocido. | + | % ¿q(b)?: Desconocido. |
− | ¿r(b)?: Sí, ya que está en ambos conjuntos de respuesta. | + | % ¿r(b)?: Sí, ya que está en ambos conjuntos de respuesta. |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
Línea 121: | Línea 121: | ||
% Solución | % Solución | ||
− | -- Ulises | + | % -- Ulises |
− | El único conjunto de respuesta posible es S = {r(a),h(a),h(b),¬p(b),q(b)}. | + | % El único conjunto de respuesta posible es S = {r(a),h(a),h(b),¬p(b),q(b)}. |
− | ¿p(b)?: No, ya que ¬p(b) está en S. | + | % ¿p(b)?: No, ya que ¬p(b) está en S. |
− | ¿q(b)?: Sí, ya que está en S. | + | % ¿q(b)?: Sí, ya que está en S. |
− | ¿r(b)?: Desconocido, ya que ni r(b) ni ¬r(b) están en S. | + | % ¿r(b)?: Desconocido, ya que ni r(b) ni ¬r(b) están en S. |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
Línea 144: | Línea 144: | ||
% Solución: | % Solución: | ||
+ | % -- Ulises. | ||
+ | -regalos(hijos) :- not compra(juan). | ||
+ | -compra(juan) :- not carta(hijos,reyes). | ||
+ | regalos(hijos). | ||
+ | carta(hijos,reyes), -carta(hijos,reyes). | ||
+ | compra(juan), -compra(juan). | ||
</source> | </source> |
Revisión del 01:09 5 nov 2018
% Ejercicio 1. Calcular los conjuntos de respuesta del siguiente
% programa P y responder a las consultas siguientes: ¿p?, ¿q?
p, q, r.
-p :- not s.
% Solución:
% -- Ulises:
% ¿Debería poner la respuesta como comentario usando %?
% Los conjuntos de respuesta son {q,¬p} y {r,¬p}, dado que nos vemos obligados a creer p, q o r y creer p nos lleva a contradicción con la regla siguiente. En % cualquiera de los otros dos casos, al no estar forzados a creer s debemos creer ¬p.
% En cuanto a las consultas, la consulta de p debe de tener como respuesta no, ya que nuestra fórmula P ⊧ ¬p.
% En cuanto a la consulta ¿q?, la respuesta a de ser desconocido, ya que ni P ⊧ q ni P ⊧ ¬q.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ejercicio 2: Calcular los conjuntos de respuesta del siguiente
% programa:
p :- not q.
q :- not p.
r :- not s.
s :- not r.
-s :- q.
% Solución:
% -- Ulises
% Si consideramos únicamente las cuatro primeras reglas tenemos cuatro posibles conjuntos de respuesta en función del orden en el que leamos las mismas:
% {p,r}, {p,s}, {q,r}, {q,s}.
% Como la quinta regla contradice el cuarto conjunto de respuesta sólo tenemos los tres primeros añadiendo ¬s cuando creemos q:
% {p,r}, {p,s}, {q,r,¬s}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ejercicio 3: Dado el programa /P/ y el conjunto S = {p(c)}, obtener el
% programa /P^S/ y decidir si S es un conjunto de respuesta de /P/.
p(a) :- not p(b).
p(b) :- not p(c).
p(c) :- not p(a).
% Solución:
% -- Ulises
% En primer lugar eliminamos las reglas que contengan not p(c):
% p(a) :- not p(b).
% p(c) :- not p(a).
% Y en segundo lugar eliminamos las premisas que contengan not:
% p(a).
% p(c).
% S = {p(c)} no es conjunto de respuesta de P ya que no lo es de P^S.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ejercicio 4: Calcular los conjuntos de respuesta del siguiente
% programa /P/ y responder a las consultas siguientes: ¿s(a)?, ¿r(a)?,
% ¿s(b)?, ¿q(b)?
-s(a).
p(X) :- not q(X), -s(X).
q(X) :- not p(X).
r(X) :- p(X).
r(X) :- q(X).
% Solución:
% -- Ulises
% Dado que tenemos una sola constante (objeto) el programa será equivalente a sustituir la variable X por a, y en dicho caso tendremos dos posibles conjuntos de respuesta.
% El primero surge de leer la segunda regla antes de la tercera, en cuyo caso hemos de creer p(a) además de ¬s(a) y por tanto también r(a): {¬s(a),p(a),r(a)}.
% El segundo se da si leemos antes la tercera regla, en cuyo caso creeremos q(a) y por tanto también r(a): {¬s(a),q(a),r(a)}.
% ¿s(a)?: No, ya que P ⊧ ¬s(a).
% ¿r(a)?: Sí, ya que pertenece a todos los conjuntos de respuesta.
% ¿s(b)?: Desconocido.
% ¿q(b)?: Desconocido también, ya que ninguno de los dos literales aparece en ninguno de nuestros conjuntos de respuesta.
*Creo que {¬s(a),q(a),r(a),q(b),r(b)} (por ejemplo) no es conjunto de respuesta dado que aunque satisface todas las reglas no es minimal.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ejercicio 5:Calcular los conjuntos de respuesta del siguiente
% programa /P/ y responder a las consultas siguientes: ¿q(a)?, ¿r(a)?,
% ¿q(b)?, ¿r(b)?
p(a), -p(b).
q(X) :- -p(X).
-q(X) :- not q(X).
r(X) :- not p(X).
% Solución:
% -- Ulises
% Si creemos p(a) tendremos también ¬q(a),¬q(b) y r(b), por lo que el conjunto de respuesta será: {p(a),¬q(a),¬q(b),r(b)}.
% Si creemos ¬p(b) tendremos que creer también q(b),¬q(a), r(b) y r(a): {¬p(b),q(b),¬q(a),r(b),r(a)}.
% ¿q(a)?: No, ya que P ⊧ ¬q(a).
% ¿r(a)?: Desconocido.
% ¿q(b)?: Desconocido.
% ¿r(b)?: Sí, ya que está en ambos conjuntos de respuesta.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ejercicio 6: Calcular los conjuntos de respuesta del siguiente
% programa /P/ y responder a las consultas siguientes: ¿p(b)?,¿q(b)?, ¿r(b)?
p(X),q(X) :- not r(X).
-p(X) :- h(X), not r(X).
h(a).
h(b).
r(a).
% Solución
% -- Ulises
% El único conjunto de respuesta posible es S = {r(a),h(a),h(b),¬p(b),q(b)}.
% ¿p(b)?: No, ya que ¬p(b) está en S.
% ¿q(b)?: Sí, ya que está en S.
% ¿r(b)?: Desconocido, ya que ni r(b) ni ¬r(b) están en S.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Ejercicio 7: Consideremos la siguiente situación: "Si Juan no compra
% juguetes para sus hijos, los niños de Juan no recibirán juguetes por
% Reyes. Si los hijos de Juan no escriben sus cartas a los Reyes, Juan
% no les comprará juguetes. Los niños de Juan reciben juguetes por
% Reyes". Supongamos que la interpretación de esta historia implica que
% los hijos de Jim escribieron las cartas a los Reyes.
% + Modelizar esta historia como un programa ASP y calcular los
% conjuntos de respuesta, usando la disyunción para representar la ley
% del tercio excluso.
% + Modelizar esta historia en un programa ASP y calcular los conjuntos
% de respuesta esta vez haciendo explícito el contrapositivo para cada
% afirmación.
% Solución:
% -- Ulises.
-regalos(hijos) :- not compra(juan).
-compra(juan) :- not carta(hijos,reyes).
regalos(hijos).
carta(hijos,reyes), -carta(hijos,reyes).
compra(juan), -compra(juan).