Articulo de referencia

La negación como fracaso

La negación como fallo ( NAF , por sus siglas en inglés) es una regla de inferencia no monótona en programación lógica , utilizada para derivar norte o t pag {\displaystyle \m...

La negación como fallo ( NAF , por sus siglas en inglés) es una regla de inferencia no monótona en programación lógica , utilizada para derivarnorteot pag{\displaystyle \mathrm {no} ~p}(es decir quepag{\displaystyle p}se supone que no se cumple) por no derivarpag{\displaystyle p}. Tenga en cuenta quenorteot pag{\displaystyle \mathrm {no} ~p}puede ser diferente de la afirmación¬pag{\displaystyle \neg p}de la negación lógica depag{\displaystyle p}, dependiendo de la exhaustividad del algoritmo de inferencia y, por lo tanto, también del sistema lógico formal.

La negación como fallo ha sido una característica importante de la programación lógica desde los inicios de Planner y Prolog . En Prolog, se suele implementar utilizando las construcciones extralógicas de Prolog.

En términos más generales, este tipo de negación se conoce como negación débil , [ 1 ] [ 2 ] en contraste con la negación fuerte (es decir, explícita, demostrable).

semántica del planificador

En Planner, la negación como fallo podría implementarse de la siguiente manera:

if (not (goal p)), then (assert ¬p)

que dice que si una búsqueda exhaustiva para probar pfalla, entonces afirmar ¬p. [ 3 ] Esto establece que la proposición pse asumirá como "no verdadera" en cualquier procesamiento posterior. Sin embargo, dado que Planner no se basa en un modelo lógico, una interpretación lógica de lo anterior sigue siendo oscura.

semántica de Prolog

En Prolog puro, literales NAF de la formanorteot pag{\displaystyle \mathrm {no} ~p}puede aparecer en el cuerpo de las cláusulas y puede usarse para derivar otros literales NAF. Por ejemplo, dadas solo las cuatro cláusulas

pagqnorteot r{\displaystyle p\leftarrow q\land \mathrm {not} ~r}
qs{\displaystyle q\leftarrow s}
qt{\displaystyle q\leftarrow t}
t{\displaystyle t\leftarrow }

NAF se derivanorteot s{\displaystyle \mathrm {not} ~s},norteot r{\displaystyle \mathrm {not} ~r}ypag{\displaystyle p}así comot{\displaystyle t}yq{\displaystyle q}.

semántica de completación

La semántica de NAF siguió siendo un tema abierto hasta 1978, cuando Keith Clark demostró que es correcta con respecto a la finalización del programa lógico, donde, en términos generales, "solo" y{\displaystyle \leftarrow }se interpretan como "si y solo si", escrito como "si y solo si" o "{\displaystyle \equiv }".

Por ejemplo, la finalización de las cuatro cláusulas anteriores es

pagqnorteot r{\displaystyle p\equiv q\land \mathrm {not} ~r}
qst{\displaystyle q\equiv s\lor t}
ttrmi{\displaystyle t\equiv \mathrm {true} }
rFalsmi{\displaystyle r\equiv \mathrm {false} }
sFalsmi{\displaystyle s\equiv \mathrm {false} }

La regla de inferencia NAF simula el razonamiento explícitamente con la completitud, donde ambos lados de la equivalencia se niegan y la negación del lado derecho se distribuye hasta las fórmulas atómicas . Por ejemplo, para demostrarnorteot pag{\displaystyle \mathrm {not} ~p}, NAF simula el razonamiento con las equivalencias

norteot pagnorteot qr{\displaystyle \mathrm {not} ~p\equiv \mathrm {not} ~q\lor r}
norteot qnorteot snorteot t{\displaystyle \mathrm {not} ~q\equiv \mathrm {not} ~s\land \mathrm {not} ~t}
norteot tFalsmi{\displaystyle \mathrm {not} ~t\equiv \mathrm {false} }
norteot rtrmi{\displaystyle \mathrm {not} ~r\equiv \mathrm {true} }
norteot strmi{\displaystyle \mathrm {not} ~s\equiv \mathrm {true} }

En el caso no proposicional, la compleción debe ampliarse con axiomas de igualdad para formalizar la suposición de que los individuos con nombres distintos son distintos. NAF simula esto mediante la falta de unificación. Por ejemplo, dadas solo las dos cláusulas

pag(a){\displaystyle p(a)\leftarrow }
pag(b)t{\displaystyle p(b)\leftarrow t}

NAF se derivanorteot pag(do){\displaystyle \mathrm {not} ~p(c)}.

La finalización del programa es

pag(incógnita)incógnita=aincógnita=b{\displaystyle p(X)\equiv X=a\lor X=b}

ampliado con axiomas de nombres únicos y axiomas de cierre de dominio.

La semántica de completitud está estrechamente relacionada tanto con la circunscripción como con la suposición de mundo cerrado .

semántica autoepistémica

La semántica de finalización justifica la interpretación del resultado.norteot pag{\displaystyle \mathrm {not} ~p}de una inferencia NAF como la negación clásica¬pag{\displaystyle \neg p}depag{\displaystyle p}Sin embargo, en 1987, Michael Gelfond demostró que también es posible interpretarnorteot pag{\displaystyle \mathrm {not} ~p}literalmente como "pag{\displaystyle p}no se puede mostrar",pag{\displaystyle p}"no se sabe" o "pag{\displaystyle p}no se cree", como en la lógica autoepistémica . La interpretación autoepistémica fue desarrollada aún más por Gelfond y Lifschitz en 1988, y es la base de la programación de conjuntos de respuestas .

La semántica autoepistémica de un programa Prolog puro P con literales NAF se obtiene "expandiendo" P con un conjunto de literales NAF básicos (libres de variables) Δ que es estable en el sentido de que

Δ = {no p | p no está implícito en P ∪ Δ}

En otras palabras, un conjunto de supuestos Δ sobre lo que no se puede demostrar es estable si y solo si Δ es el conjunto de todas las sentencias que realmente no se pueden demostrar a partir del programa P expandido por Δ. Aquí, debido a la sintaxis simple de los programas Prolog puros, "implícito por" puede entenderse de forma muy sencilla como derivabilidad utilizando únicamente el modus ponens y la instanciación universal .

Un programa puede tener cero, una o más expansiones estables. Por ejemplo,

pagnorteot pag{\displaystyle p\leftarrow \mathrm {not} ~p}

no tiene expansiones estables.

pagnorteot q{\displaystyle p\leftarrow \mathrm {not} ~q}

tiene exactamente una expansión estable Δ = {no q }

pagnorteot q{\displaystyle p\leftarrow \mathrm {not} ~q}
qnorteot pag{\displaystyle q\leftarrow \mathrm {not} ~p}

tiene exactamente dos expansiones estables Δ 1 = {no p } y Δ 2 = {no q }.

La interpretación autoepistémica de NAF se puede combinar con la negación clásica, como en la programación lógica extendida y la programación de conjuntos de respuestas . Combinando las dos negaciones, es posible expresar, por ejemplo

¬pagnorteot pag{\displaystyle \neg p\leftarrow \mathrm {not} ~p} (la suposición del mundo cerrado) y
pagnorteot ¬pag{\displaystyle p\leftarrow \mathrm {not} ~\neg p} (pag{\displaystyle p}se mantiene por defecto).

Notas a pie de página

  1. Bílková, M.; Colacito, A. (2020). "Teoría de la prueba de la lógica positiva con negación débil" . Estudios Lógica . 108 (4): 649– 686. arXiv : 1907.05411 . doi : 10.1007/s11225-019-09869-y . S2CID 195886568 . 
  2. Wagner, G. (2003). "Las reglas web necesitan dos tipos de negación" (PDF) . En Bry, F.; Henze, N.; Maluszynski, J. (eds.). Principios y práctica del razonamiento en la web semántica. PPSW3 2003. Lecture Notes in Computer Science. Vol. 2901. Lecture Notes in Computer Science: Springer. pp. 33–50 . doi : 10.1007/978-3-540-24572-8_3 . ISBN   978-3-540-24572-8Archivado del original (PDF) el 5 de julio de 2022. Consultado el 15 de mayo de 2021 .
  3. Clark, Keith (1978). «La negación como fallo» (PDF) . Lógica y bases de datos . Springer-Verlag . págs. 293–322 . doi : 10.1007/978-1-4684-3384-5_11 . ISBN  978-1-4684-3384-5.

Referencias

  • Clark, K. (1987) [1978]. «La negación como fracaso» . En Ginsberg, ML (ed.). Lecturas sobre razonamiento no monótono . Morgan Kaufmann. pp. 311–325 . ISBN  978-0-934613-45-3.
  • Gelfond, M. (1987). «Sobre las teorías autoepistémicas estratificadas» (PDF) . AAAI'87: Actas de la sexta conferencia nacional sobre inteligencia artificial . AAAI Press. pp. 207–211 . ISBN  978-0-934613-42-2.
  • Gelfond, M.; Lifschitz, V. (1988). «La semántica del modelo estable para la programación lógica». En Kowalski, R.; Bowen, K. (eds.). Actas de la 5.ª Conferencia y Simposio Internacional sobre Programación Lógica . MIT Press. pp. 1070–80 . CiteSeerX 10.1.1.24.6050 . ISBN   978-0-262-61054-4.
  • Shepherdson, JC (1984). "La negación como fallo: una comparación entre el Dase de datos completos de Clark y la suposición de mundo cerrado de Reiter". Journal of Logic Programming . 1 : 51–81 . doi : 10.1016/0743-1066(84)90023-2 .
  • Shepherdson, JC (1985). "La negación como fallo II". Journal of Logic Programming . 2 (3): 185– 202. doi : 10.1016/0743-1066(85)90018-4 .
  • Informe del taller del W3C sobre lenguajes de reglas para la interoperabilidad. Incluye notas sobre NAF y SNAF (negación con alcance como fallo).