aboutsummaryrefslogtreecommitdiff
path: root/logic/n3.lyx
diff options
context:
space:
mode:
Diffstat (limited to 'logic/n3.lyx')
-rw-r--r--logic/n3.lyx1512
1 files changed, 1512 insertions, 0 deletions
diff --git a/logic/n3.lyx b/logic/n3.lyx
new file mode 100644
index 0000000..f720c27
--- /dev/null
+++ b/logic/n3.lyx
@@ -0,0 +1,1512 @@
+#LyX 2.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 544
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass book
+\use_default_options true
+\maintain_unincluded_children false
+\language spanish
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype false
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize default
+\use_geometry false
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
+\use_package mathdots 1
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 1
+\use_minted 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style swiss
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Section
+Algoritmos que no requieren cláusulas
+\end_layout
+
+\begin_layout Subsection
+Tablas de verdad
+\end_layout
+
+\begin_layout Standard
+Construimos una tabla de verdad por filas, y si en una fila obtenemos que
+ la oración es cierta para dicha interpretación, la oración es satisfacible.
+ Si no es cierta en ninguna, la oración es insatisfacible.
+\end_layout
+
+\begin_layout Subsection
+Árboles semánticos
+\end_layout
+
+\begin_layout Standard
+Una hoja de un árbol semántico es un
+\series bold
+nodo fallo
+\series default
+ si su etiqueta es
+\begin_inset Formula $F$
+\end_inset
+
+, y
+\series bold
+nodo éxito
+\series default
+ si es
+\begin_inset Formula $V$
+\end_inset
+
+.
+ Representamos el árbol como
+\begin_inset Formula $\vernal$
+\end_inset
+
+, y observamos que, para comprobar la satisfacibilidad, basta con encontrar
+ un nodo éxito, y entonces no es necesario seguir desarrollando.
+\end_layout
+
+\begin_layout Subsection
+Tableaux semánticos
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+tableaux semántico
+\series default
+ es un árbol en el cual cada nodo está formado por una lista de oraciones
+ (sin paréntesis de ningún tipo), y su raíz es la lista formada por la oración
+
+\begin_inset Formula $\phi$
+\end_inset
+
+ a desarrollar.
+ Una oración puede tener
+\series bold
+comportamiento conjuntivo
+\series default
+ (se le puede aplicar una
+\begin_inset Formula $\alpha$
+\end_inset
+
+-fórmula) o
+\series bold
+disyuntivo
+\series default
+ (se le puede aplicar una
+\begin_inset Formula $\beta$
+\end_inset
+
+-fórmula), o ser un literal.
+ Para cada rama del árbol:
+\end_layout
+
+\begin_layout Enumerate
+Seleccionamos una oración que no sea un literal, preferiblemente con comportamie
+nto conjuntivo.
+\end_layout
+
+\begin_layout Enumerate
+Si no encontramos ninguna, el nodo es un nodo hoja.
+ Lo marcamos como
+\series bold
+cerrado
+\series default
+ si contiene un literal y su contrario, de lo contrario como
+\series bold
+abierto
+\series default
+.
+\end_layout
+
+\begin_layout Enumerate
+Si tiene comportamiento conjuntivo, aplicamos la
+\begin_inset Formula $\alpha$
+\end_inset
+
+-fórmula correspondiente y dibujamos una rama con la etiqueta
+\begin_inset Formula $\alpha:\text{(nom. de fórmula)}$
+\end_inset
+
+ y el nodo resultado de sustituir
+\begin_inset Formula $\alpha,\phi_{1},\dots,\phi_{n}$
+\end_inset
+
+ por
+\begin_inset Formula $\alpha_{1},\alpha_{2},\phi_{1},\dots,\phi_{n}$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Si tiene comportamiento disyuntivo, aplicamos la
+\begin_inset Formula $\beta$
+\end_inset
+
+-fórmula correspondiente y dibujamos dos ramas.
+ La división se marca con la etiqueta
+\begin_inset Formula $\beta:\text{(nom. de fórmula)}$
+\end_inset
+
+ y los nodos son los resultantes de sustituir
+\begin_inset Formula $\beta,\phi_{1},\dots,\phi_{n}$
+\end_inset
+
+ por
+\begin_inset Formula $\beta_{1},\phi_{1},\dots,\phi_{n}$
+\end_inset
+
+ y
+\begin_inset Formula $\beta_{2},\phi_{1},\dots,\phi_{n}$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Tabular
+<lyxtabular version="3" rows="7" columns="6">
+<features tabularvalignment="middle">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<column alignment="center" valignment="top">
+<row>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha$
+\end_inset
+
+-fórmulas
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\beta$
+\end_inset
+
+-fórmulas
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell multicolumn="2" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha_{1}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha_{2}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\beta_{1}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\beta_{2}$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg\neg\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha\land\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg(\alpha\land\beta)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg(\alpha\lor\beta)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha\lor\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg(\alpha\rightarrow\beta)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha\rightarrow\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha\leftrightarrow\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\alpha\rightarrow\beta$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\beta\rightarrow\alpha$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg(\alpha\leftrightarrow\beta)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg(\alpha\rightarrow\beta)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Plain Layout
+\begin_inset Formula $\neg(\beta\rightarrow\alpha)$
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+tableaux completado
+\series default
+ o
+\series bold
+completo
+\series default
+ es aquel cuya construcción ha terminado.
+ Decimos que es
+\series bold
+cerrado
+\series default
+ cuando todas las hojas son cerradas, y
+\series bold
+abierto
+\series default
+ cuando hay alguna abierta.
+ Así,
+\begin_inset Formula $\phi$
+\end_inset
+
+ es satisfacible si y sólo si su tableau completado es abierto.
+ Este método no detecta tautologías, pero podemos determinar que
+\begin_inset Formula $\phi$
+\end_inset
+
+ es tautológica cuando
+\begin_inset Formula $\neg\phi$
+\end_inset
+
+ es insatisfacible.
+\end_layout
+
+\begin_layout Section
+Algoritmos que requieren cláusulas
+\end_layout
+
+\begin_layout Standard
+Una fórmula
+\begin_inset Formula $\xi$
+\end_inset
+
+ está en
+\series bold
+forma normal conjuntiva
+\series default
+ si es una cláusula o conjunción de cláusulas.
+ Una
+\series bold
+cláusula
+\series default
+ es un literal o disyunción de dos o más literales (quitando todos los paréntesi
+s).
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Cláusula unitaria:
+\series default
+ Con un solo literal.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Cláusula vacía:
+\series default
+ Sin literales.
+ Se denota por
+\begin_inset Formula $\square$
+\end_inset
+
+ y es insatisfacible.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Cláusula de Horn:
+\series default
+ Aquella que tiene como máximo un literal positivo.
+\end_layout
+
+\begin_layout Standard
+Llamamos
+\series bold
+conjunto clausal
+\series default
+ o
+\series bold
+clausulado
+\series default
+ al conjunto de dichas cláusulas, y decimos que está en
+\series bold
+forma clausal
+\series default
+.
+\end_layout
+
+\begin_layout Subsection
+Obtención de FNC
+\end_layout
+
+\begin_layout Enumerate
+Aplicar las reglas de eliminación de
+\begin_inset Formula $\leftrightarrow$
+\end_inset
+
+ y
+\begin_inset Formula $\rightarrow$
+\end_inset
+
+ hasta tener solo
+\begin_inset Formula $\neg$
+\end_inset
+
+,
+\begin_inset Formula $\land$
+\end_inset
+
+ y
+\begin_inset Formula $\lor$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Aplicar De Morgan hasta que las negaciones solo afecten a átomos.
+\end_layout
+
+\begin_layout Enumerate
+Eliminar las negaciones múltiples (
+\begin_inset Formula $\neg\neg$
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Enumerate
+Aplicar distributividad de
+\begin_inset Formula $\lor$
+\end_inset
+
+ sobre
+\begin_inset Formula $\land$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Reducir la cantidad de paréntesis.
+\end_layout
+
+\begin_layout Standard
+Si queremos simplificar:
+\end_layout
+
+\begin_layout Enumerate
+Eliminar literales opuestos:
+\begin_inset Formula $\ell\lor\neg\ell\equiv V$
+\end_inset
+
+;
+\begin_inset Formula $\ell\land\neg\ell\equiv F$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Eliminar constantes y expresiones repetidas:
+\begin_inset Formula $V\lor\alpha\equiv V$
+\end_inset
+
+;
+\begin_inset Formula $F\lor\alpha\equiv V\land\alpha\equiv\alpha$
+\end_inset
+
+;
+\begin_inset Formula $F\land\alpha\equiv F$
+\end_inset
+
+;
+\begin_inset Formula $\alpha\lor\alpha\equiv\alpha\land\alpha\equiv\alpha$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Quedarnos con expresiones subsumidas:
+\begin_inset Formula $(\alpha\lor\beta)\land\alpha\equiv\alpha$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+Algoritmo DPLL
+\end_layout
+
+\begin_layout Standard
+Al propagar un literal en una expresión en FNC, lo que hacemos es eliminar
+ las cláusulas en las que aparezca (
+\series bold
+cláusula cancelada
+\series default
+) y las ocurrencias de literales complementarios (
+\series bold
+ocurrencia eliminada
+\series default
+).
+ Al aplicar DPLL, representamos el conjunto clausulado como un conjunto
+ de conjuntos.
+ Por ejemplo, si
+\begin_inset Formula $\phi\equiv p\land(q\lor\neg r)$
+\end_inset
+
+, entonces su conjunto clausal es
+\begin_inset Formula $\Omega_{\phi}=\{p,q\lor\neg r\}$
+\end_inset
+
+, y lo representamos como
+\begin_inset Formula $\Omega_{\phi FNC}=\{p,\{q,\neg r\}\}$
+\end_inset
+
+.
+ Entonces consideramos 5 reglas:
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Regla de la cláusula unitaria:
+\series default
+ Si hay una cláusula unitaria, propagar su literal.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Regla del literal puro:
+\series default
+ Si hay un literal para el que no se da su complementario, propagarlo.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Regla de la tautología:
+\series default
+ Eliminar las cláusulas que contengan literales complementarios.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Regla de la inclusión:
+\series default
+ Si existen conjuntos clausales
+\begin_inset Formula $C_{1},C_{2}\in\Omega_{\phi}$
+\end_inset
+
+ tales que
+\begin_inset Formula $C_{1}\subseteq C_{2}$
+\end_inset
+
+, eliminar
+\begin_inset Formula $C_{2}$
+\end_inset
+
+ de
+\begin_inset Formula $\Omega_{\phi}$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Regla de ramificación:
+\series default
+ Considerar un literal
+\begin_inset Formula $l$
+\end_inset
+
+ (normalmente el que aparece más veces) y propagar
+\begin_inset Formula $l$
+\end_inset
+
+ por un lado y
+\begin_inset Formula $\neg l$
+\end_inset
+
+ por otro.
+\end_layout
+
+\begin_layout Standard
+El algoritmo consiste en:
+\end_layout
+
+\begin_layout Enumerate
+Si
+\begin_inset Formula $\Omega_{\phi}=\{\}$
+\end_inset
+
+, devolver
+\family typewriter
+true
+\family default
+ (se indica mediante una flecha de la expresión derivada a la original etiquetad
+a
+\begin_inset Quotes cld
+\end_inset
+
+true
+\begin_inset Quotes crd
+\end_inset
+
+), indicando que es satisfacible.
+\end_layout
+
+\begin_layout Enumerate
+Si
+\begin_inset Formula $\square\in\Omega_{\phi}$
+\end_inset
+
+, devolver
+\family typewriter
+false
+\family default
+.
+\end_layout
+
+\begin_layout Enumerate
+En caso contrario, aplicar la primera de las reglas que sea aplicable y
+ devolver su va
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+-
+\end_layout
+
+\end_inset
+
+lor.
+ Para la regla de ramificación: Si la primera rama devuelve
+\family typewriter
+true
+\family default
+, devolverlo.
+ Si no, proceder con la segunda rama y devolver el valor devuelto.
+ Esto es lo que se denomina
+\begin_inset Quotes cld
+\end_inset
+
+
+\lang american
+backtracking
+\lang spanish
+
+\begin_inset Quotes crd
+\end_inset
+
+ (a partir de un algoritmo recursivo).
+\end_layout
+
+\begin_layout Standard
+Lo representamos con un grafo, similar al del árbol semántico.
+\end_layout
+
+\begin_layout Subsection
+Método de resolución
+\end_layout
+
+\begin_layout Standard
+La
+\series bold
+resolvente
+\series default
+ de dos cláusulas
+\begin_inset Formula $\psi\equiv l_{1}\lor\dots\lor l_{n}\lor j$
+\end_inset
+
+ y
+\begin_inset Formula $\text{\phi}\equiv k_{1}\lor\dots\lor k_{m}\lor\neg j$
+\end_inset
+
+ es la cláusula
+\begin_inset Formula $R_{j}(\psi,\phi)\equiv l_{1}\lor\dots\lor l_{n}\lor k_{1}\lor\dots\lor k_{m}$
+\end_inset
+
+.
+
+\begin_inset Formula $\psi$
+\end_inset
+
+ y
+\begin_inset Formula $\phi$
+\end_inset
+
+ son las
+\series bold
+cláusulas padres
+\series default
+ de
+\begin_inset Formula $R_{j}(\psi,\phi)$
+\end_inset
+
+, y
+\begin_inset Formula $\{\psi,\phi\}$
+\end_inset
+
+ es satisfacible si y sólo si
+\begin_inset Formula $R_{j}(\psi,\phi)$
+\end_inset
+
+ lo es.
+ Para resolver por resolución:
+\end_layout
+
+\begin_layout Enumerate
+Definimos el conjunto
+\begin_inset Formula ${\cal C}=\Omega_{\phi}$
+\end_inset
+
+ y
+\begin_inset Formula ${\cal C}_{0}^{*}={\cal C}$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Enumerate
+Por cada par de cláusulas
+\begin_inset Formula $C_{1}=l\lor\alpha$
+\end_inset
+
+ y
+\begin_inset Formula $C_{2}=\neg l\lor\beta$
+\end_inset
+
+ en
+\begin_inset Formula ${\cal C}^{*}$
+\end_inset
+
+, obtenemos su resolvente y la añadimos a
+\begin_inset Formula ${\cal C}^{*}$
+\end_inset
+
+.
+ Si obtenemos la resolvente
+\begin_inset Formula $\square$
+\end_inset
+
+, el conjunto
+\begin_inset Formula ${\cal C}^{*}$
+\end_inset
+
+ es insatisfacible y por tanto
+\begin_inset Formula ${\cal C}$
+\end_inset
+
+ también.
+\end_layout
+
+\begin_layout Enumerate
+Una vez obtenidas todas las resolventes, si
+\begin_inset Formula $\square\notin{\cal C}^{*}$
+\end_inset
+
+, entonces
+\begin_inset Formula ${\cal C}^{*}$
+\end_inset
+
+ es satisfacible y por tanto
+\begin_inset Formula ${\cal C}$
+\end_inset
+
+ también (solo en L0).
+\end_layout
+
+\begin_layout Standard
+Podemos expresar este algoritmo mediante un
+\series bold
+grafo de resolución
+\series default
+, en el que de cada par de cláusulas posible parte una línea hacia abajo
+ hacia su resolvente y tenemos cuidado de no incluir un resolvente igual
+ a una cláusula ya existente.
+\end_layout
+
+\begin_layout Standard
+En dicho grafo, las premisas se dice que están en el nivel 0 (
+\begin_inset Formula ${\cal C}$
+\end_inset
+
+), y si
+\begin_inset Formula $C_{1}$
+\end_inset
+
+ y
+\begin_inset Formula $C_{2}$
+\end_inset
+
+ están en los niveles
+\begin_inset Formula $x_{1}$
+\end_inset
+
+ y
+\begin_inset Formula $x_{2}$
+\end_inset
+
+, su resolvente está en el nivel
+\begin_inset Formula $\max\{x_{1},x_{2}\}+1$
+\end_inset
+
+, de forma que cada nivel se representa en una misma línea horizontal, y
+ los resolventes se numeran empezando por el nivel más alto (el nivel 0).
+\end_layout
+
+\begin_layout Standard
+Un grafo de resolución es
+\series bold
+básico
+\series default
+ si solo muestra dos cláusulas y su resolvente;
+\series bold
+completo
+\series default
+ si contiene la unión de todos los grafos de resolución básicos, y es un
+
+\series bold
+grafo de refutación
+\series default
+ si aparece
+\begin_inset Formula $\square$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Para la elección de los pares de cláusulas padres, existen principalmente
+ dos
+\series bold
+estrategias de resolución:
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Búsqueda en anchura:
+\series default
+ Se obtienen todas las resolventes de un nivel antes de pasar al siguiente.
+ Orden
+\begin_inset Formula $(2,1)$
+\end_inset
+
+,
+\begin_inset Formula $(3,1)$
+\end_inset
+
+,
+\begin_inset Formula $(3,2)$
+\end_inset
+
+,
+\begin_inset Formula $(4,1)$
+\end_inset
+
+, etc.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Búsqueda en profundidad:
+\series default
+ Una vez obtenida una resolvente de nivel
+\begin_inset Formula $i$
+\end_inset
+
+, intenta obtener una de nivel
+\begin_inset Formula $i+1$
+\end_inset
+
+ a partir de ella.
+ Orden
+\begin_inset Formula $(2,1)\rightarrow i$
+\end_inset
+
+,
+\begin_inset Formula $(i,1)$
+\end_inset
+
+,
+\begin_inset Formula $(i,2)$
+\end_inset
+
+,
+\begin_inset Formula $(i,3)\rightarrow j$
+\end_inset
+
+,
+\begin_inset Formula $(j,1)$
+\end_inset
+
+, etc.
+ No es completa.
+\end_layout
+
+\begin_layout Standard
+En la práctica se utiliza la
+\series bold
+notación
+\series default
+ o
+\series bold
+representación Fitting
+\series default
+: Se crea una lista numerada de las cláusulas de
+\begin_inset Formula ${\cal C}$
+\end_inset
+
+, con la indicación
+\begin_inset Quotes cld
+\end_inset
+
+Premisa
+\begin_inset Quotes crd
+\end_inset
+
+ o
+\begin_inset Quotes cld
+\end_inset
+
+C.E.
+\begin_inset Quotes crd
+\end_inset
+
+ (conjunto de entrada) a la derecha de cada una.
+ Después, se van comprobando los pares de cláusulas en la lista, empezando
+ por
+\begin_inset Formula $(2,1)$
+\end_inset
+
+,
+\begin_inset Formula $(3,1)$
+\end_inset
+
+,
+\begin_inset Formula $(3,2)$
+\end_inset
+
+, etc., y se va ampliando con los resolventes, que tendrán la indicación
+
+\begin_inset Formula $R_{l}(i,j)$
+\end_inset
+
+, siendo
+\begin_inset Formula $i$
+\end_inset
+
+ y
+\begin_inset Formula $j$
+\end_inset
+
+ los ordinales de las cláusulas padres.
+ Para optimizar, se pueden tachar cláusulas por los siguientes motivos:
+\end_layout
+
+\begin_layout Itemize
+Literal puro (
+\begin_inset Formula $l$
+\end_inset
+
+) [después de tachar (
+\begin_inset Formula $n$
+\end_inset
+
+)].
+\end_layout
+
+\begin_layout Itemize
+Subsumida en (
+\begin_inset Formula $n$
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Itemize
+Tautología (
+\begin_inset Formula $l\lor\neg l$
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Standard
+El motivo debe indicarse a la derecha.
+ Si al final queda
+\begin_inset Formula ${\cal C}^{*}=\{\}$
+\end_inset
+
+, la oración es satisfacible.
+\end_layout
+
+\begin_layout Section
+Razonamiento automático
+\end_layout
+
+\begin_layout Standard
+Un razonamiento es válido (
+\begin_inset Formula $\{\alpha_{1},\dots,\alpha_{n}\}\vDash\beta$
+\end_inset
+
+) cuando
+\begin_inset Formula $\vDash\alpha_{1}\land\dots\land\alpha_{n}\rightarrow\beta$
+\end_inset
+
+, es decir, cuando
+\begin_inset Formula $\alpha_{1}\land\dots\land\alpha_{n}\land\neg\beta$
+\end_inset
+
+ es insatisfacible.
+ Así, mediante tablas de verdad o árboles semánticos, podemos determinar
+ la validez de un razonamiento demostrando que
+\begin_inset Formula $\alpha_{1}\land\dots\land\alpha_{n}\rightarrow\beta$
+\end_inset
+
+ es una tautología.
+ Para el resto de los métodos, comprobamos que
+\begin_inset Formula $\alpha_{1}\land\dots\land\alpha_{n}\land\neg\beta$
+\end_inset
+
+ es una contradicción.
+\end_layout
+
+\begin_layout Standard
+En el caso de demostración por resolución, las cláusulas de
+\begin_inset Formula $\neg\beta$
+\end_inset
+
+ se denominan
+\begin_inset Quotes cld
+\end_inset
+
+conjunto soporte de entrada
+\begin_inset Quotes crd
+\end_inset
+
+.
+ Se marcan con un
+\begin_inset Formula $*$
+\end_inset
+
+ a la izquierda del ordinal tanto estas como las resolventes de alguna cláusula
+ marcada con
+\begin_inset Formula $*$
+\end_inset
+
+, de forma recursiva.
+\end_layout
+
+\end_body
+\end_document