Академический Документы
Профессиональный Документы
Культура Документы
NATURAL Y AUTOMTICA
Impartida por:
Faran Llorens Largo
UNIVERSIDAD DE ALICANTE
Deduccin: Natural y Automtica
RESUMEN
Pgina 1
Deduccin: Natural y Automtica
CONTENIDO
Resumen...................................................................................................................... 1
Contenido.................................................................................................................... 3
Introduccin ............................................................................................................... 4
1 Representacin del Conocimiento y Razonamiento .................................. 4
2 Argumentacin................................................................................................ 4
3 Razonamiento Intuitivo y Formal................................................................. 5
4 Razonamiento Inductivo y Deductivo ......................................................... 6
5 Lenguaje ........................................................................................................... 6
Deduccin Natural .................................................................................................... 9
1 Clculo Lgico................................................................................................. 9
2 Reglas Bsicas .................................................................................................. 9
3 Estrategias de Derivacin ............................................................................ 11
3.1 Razonamiento Hipottico ................................................................... 12
3.2 Prueba Exhaustiva................................................................................ 12
3.3 Refutacin.............................................................................................. 13
4 Deduccin versus Computacin.................................................................. 13
5 Visualizacin de Deducciones Lgicas ...................................................... 14
6 Asistente para Deduccin Natural ............................................................. 16
Deduccin Automtica ........................................................................................... 19
1 Reflexiones para la Automatizacin........................................................... 19
2 Universo de Herbrand y Unificacin ......................................................... 19
3 Forma Clausal................................................................................................ 20
4 Sistemas de Refutacin................................................................................. 21
5 Regla de Resolucin...................................................................................... 22
6 Programacin Lgica y Prolog.................................................................... 25
Ejemplo...................................................................................................................... 27
1 Formalizacin ................................................................................................ 27
2 Deduccin Natural........................................................................................ 28
3 Deduccin Automtica................................................................................. 29
3.1 Refutacin y Forma Clausal................................................................ 29
3.2 Regla de Resolucin con Unificacin ................................................ 31
4 Programacin Lgica.................................................................................... 32
4.1 Programa Lgico .................................................................................. 32
4.2 SLD-Resolucin .................................................................................... 32
4.3 Prolog..................................................................................................... 33
Bibliografa................................................................................................................ 35
Pgina 3
Deduccin: Natural y Automtica
INTRODUCCIN
2 ARGUMENTACIN
Pgina 4
Deduccin: Natural y Automtica
Pgina 5
Lgica Computacional y Razonamiento
5 LENGUAJE
Pgina 6
Deduccin: Natural y Automtica
Constantes Variables
a, b, ... x, y, ...
Predicados
Trminos
P, Q, ...
Negacin
tomos
Conectivas Cuantificadores
Literales
fbf
Figura 1: El lenguaje formal de la lgica
Pgina 7
Lgica Computacional y Razonamiento
cuantificador universal "" (para todo) hace referencia a todos los elementos del
universo del discurso y el existencial "" (existe) indica que por lo menos existe
un individuo del universo que satisface el enunciado.
Finalmente, los parntesis se utilizan para clarificar las frmulas. Tambin nos
puede ayudar a ver claramente la estructura sintctica de las mismas la
representacin de las frmulas en forma de rbol etiquetado. El rbol sintctico
de una frmula lgica nos permite distinguir claramente cul es el operador
principal y las prioridades entre ellos. Esto nos ayudar en la comprensin del
significado de la frmula y en la posterior manipulacin sintctica cuando
tengamos que aplicar las reglas de la deduccin.
libre
x S(x)
R(x)
P(y) x
Q(x)
Pgina 8
Deduccin: Natural y Automtica
DEDUCCIN NATURAL
1 CLCULO LGICO
2 REGLAS BSICAS
Pgina 9
Lgica Computacional y Razonamiento
* Estas reglas se conocen con nombres propios: ED (prueba por casos), IN (reduccin al
absurdo), II (teorema de deduccin) y EI (modus ponens)
Pgina 10
Deduccin: Natural y Automtica
3 ESTRATEGIAS DE DERIVACIN
U na vez establecidas las reglas del juego vamos a trazar estrategias para tener
xito en el mismo y lograr nuestros objetivos. Uno de los aspectos cruciales
Pgina 11
Lgica Computacional y Razonamiento
En general, para planificar en cada momento nuestro siguiente paso tenemos dos
opciones:
1. Empezar por el principio, examinando las premisas y la informacin
que ya tenemos, determinando que podemos hacer con ellas.
2. Empezar por el final, examinando la conclusin a la que queremos
llegar, estableciendo qu debemos hacer para alcanzarla.
Vamos a pasar a examinar con mayor detalle algunas de las estrategias que de
que disponemos para ello.
Pgina 12
Deduccin: Natural y Automtica
3.3 Refutacin
Como ltimo recurso, existe una estrategia que siempre se puede intentar: la
reduccin al absurdo o prueba por contradiccin. Es bastante simple y muy
utilizada, al mismo tiempo que controvertida. Permite establecer la verdad de
una proposicin demostrando que la proposicin contraria conduce a un
absurdo. Para demostrar A, asumimos A e intentamos llegar a una
contradiccin (algo y su negacin).
Pgina 13
Lgica Computacional y Razonamiento
siguiendo esos pasos podemos realizar cualquier deduccin que tenga la misma
estructura. La columna de las frmulas lgicas conformara la traza del algoritmo
(deduccin) para una entrada concreta (si cambiamos las premisas, cambiaran
las frmulas). Las premisas seran los parmetros de entrada al programa y la
conclusin la salida obtenida.
Deduccin Computacin
premisas valores de entrada
conclusin valores de salida
conjunto de instrucciones del
reglas bsica
lenguaje
frmulas de la lneas de derivacin traza del programa
justificaciones de las lneas de
lneas (instrucciones) del programa
derivacin
reglas derivadas procedimientos
subdeducciones modularizacin
Figura 6: Comparativa deduccin - computacin
Pero no olvidemos que la realidad es la inversa, y hay que hacerla notar a los
alumnos: la programacin es una forma de demostracin matemtica. Por acercar
el tema de la deduccin a la realidad que conocen no debemos perder de vista el
carcter formal y fundamental de esta disciplina.
A continuacin se pueden ver los pasos de una animacin realizada en Flash, que
visualiza la demostracin lgica del ejemplo que estoy utilizando (figura 4).
Aunque se pierden los efectos dinmicos de la misma, puede servirnos de
ilustracin. La animacin se puede descargar desde internet, en el apartado
ejemplos del sitio web del asistente para deduccin natural al que le dedico el
siguiente apartado.
Pgina 14
Deduccin: Natural y Automtica
Pgina 15
Lgica Computacional y Razonamiento
Pgina 16
Deduccin: Natural y Automtica
ADN puede ser ejecutado con cualquier navegador, ya que se trata de un applet
escrito en Java que se encuentra disponible en internet en el sitio web:
http://www.dccia.ua.es/logica/ADN
En la Figura 9 se muestra la pantalla principal del ADN y las partes en las que se
divide la misma:
1. Editor de la frmula objetivo: nos permite editar la frmula que ser el
objetivo de la deduccin.
2. Cuerpo de la deduccin (pizarra): en esta zona se irn visualizando los
pasos de la deduccin. Se pueden observar tres partes (dispuestas en
columnas):
Numeracin de las lneas, para poder hacer referencia a ellas.
Frmulas lgicas que vamos obteniendo. Las sangras indican que
entramos en un nuevo supuesto (hacia la derecha) o que lo
cancelamos (vuelta a la izquierda), configurando lo que llamamos
subdeducciones.
Justificacin de la frmula obtenida mediante la aplicacin de una
regla bsica a una o ms frmulas anteriores.
3. Editor de frmulas: se utiliza para insertar nuevas frmulas dentro de la
deduccin y decir de qu frmulas han derivado las mismas.
4. rea de opciones del programa: aqu tenemos los botones que acceden a
las diferentes funciones del asistente: rbol, Aconsejar, Ayuda, Reglas, ...
5. Ventana de informacin: en esta rea se muestra informacin al usuario.
Pgina 17
Lgica Computacional y Razonamiento
Pgina 18
Deduccin: Natural y Automtica
DEDUCCIN AUTOMTICA
Inconveniente Solucin
Dominio (infinitos) Universo de Herbrand
Manejo cuantificadores Unificador ms general
Normalizacin: forma
Notacin mltiple
clausal
Estrategias de Refutacin o reduccin al
demostracin absurdo
Elevado nmero de reglas Regla de resolucin
Figura 10: Reflexin sobre automatizacin
Pgina 19
Lgica Computacional y Razonamiento
Por otro lado hemos visto que para manipular los cuantificadores mediante las
reglas de inferencia, debamos decidir que constantes utilizbamos. Este cambio
de las variables por constantes o particularizacin se llama sustitucin. Debemos
tener en cuenta que todas las ocurrencias de una variable deben ser sustituidas
por el mismo trmino (constante, variable o funcin) y que las sustituciones
siempre se hacen de poner trminos donde haba variables.
3 FORMA CLAUSAL
Utilizaremos como base la notacin en forma clausal que siendo ms sencilla que
la notacin vista es igual de poderosa. Cualquier frmula lgica puede ser
normalizada transformndola a forma clausal, que consiste en una coleccin
(conjuncin) de clusulas, donde cada clusula es a su vez una disyuncin de
literales, siendo estos literales frmulas atmicas afirmadas o negadas.
Pgina 20
Deduccin: Natural y Automtica
6. Eliminar cuantificadores universales: llegados a este punto, sabemos que todas las
variables que aparecen estn cuantificadas universalmente, por tanto para simplificar
la notacin no escribiremos los smbolos .
4 SISTEMAS DE REFUTACIN
Pgina 21
Lgica Computacional y Razonamiento
5 REGLA DE RESOLUCIN
Clusulas Padre
{ L, A1, A2, ..., An } { M, B1, B2, ..., Bm }
= UMG(L, M)
Clusula Resolvente
Hay trabajos demostrando que todo problema resoluble con clusulas generales,
tiene un modelo equivalente resoluble en Clusulas de Horn, por lo que las
restricciones de notacin no conllevan una prdida de capacidad de
representacin, y en cambio, s que facilitan la formulacin. Por tanto la regla de
resolucin quedara:
Pgina 22
Deduccin: Natural y Automtica
Clusulas Padre
= UMG(A k ,B)
Clusula Resolvente
= UMG(Ak,B)
Pgina 23
Lgica Computacional y Razonamiento
= UMG(Ak,B)
Clusulas Padre
clusula objetivo O clusula con cabeza C
A1, ..., Ak, ..., An B B1, B2, ..., Bm
= UMG(Ak,B)
Clusula Resolvente O
Pgina 24
Deduccin: Natural y Automtica
Clusulas Padre
clusula objetivo O clusula con cabeza C
A1, A2,..., An B B1, B2, ..., Bm
= UMG(A1,B)
Clusula Resolvente O
Pgina 25
Lgica Computacional y Razonamiento
Pgina 26
Deduccin: Natural y Automtica
EJEMPLO
1 FORMALIZACIN
Con esta interpretacin para los smbolos, la formalizacin de las frmulas que
forman nuestro argumento quedar:
Pgina 27
Lgica Computacional y Razonamiento
x x
w y
z H(x,y)
y T(x,w)
w
z
P(z,x)
C(x,y)
P(z,y)
H(y,z) P(z,w)
M(w,x) M(w,y)
2 DEDUCCIN NATURAL
Pgina 28
Deduccin: Natural y Automtica
3 DEDUCCIN AUTOMTICA
Pgina 29
Lgica Computacional y Razonamiento
Premisa 3: P(d,yo)
Premisa 6: C(c,a)
Pgina 30
Deduccin: Natural y Automtica
H(a,z1) P(z1,w1) T(c,w1) P(z2,x2) P(z2,y2) M(w2,x2) M(w2,y2) H(x2,y2) {a/x2, y2/z1}
M(e,d) M(e,d)
{}
NADA
Pgina 31
Lgica Computacional y Razonamiento
Por tanto, no slo hemos deducido que x T(x,yo), sino que tambin hemos
obtenido un valor para ese alguien (x). Como la variable de la forma clausal que
corresponda era x3, y como el umg nos dice que tenemos que sustituir la x3 por c,
podemos afirmar que c (Carlos) es mi to.
4 PROGRAMACIN LGICA
4.2 SLD-Resolucin
Objetivos Programa Lgico umg
NADA
Pgina 32
Deduccin: Natural y Automtica
4.3 Prolog
tio(X1,W1) :-
casados(X1,Y1),
hermanos(Y1,Z1),
padre(Z1,W1).
hermanos(X2,Y2) :-
padre(Z2,X2),
padre(Z2,Y2),
madre(W2,X2),
madre(W2,Y2) .
padre(david,yo).
madre(eva,david).
padre(blas,david).
madre(eva,ana).
padre(blas,ana).
casados(carlos,ana).
Prolog respondera:
X=carlos
Pgina 33
Lgica Computacional y Razonamiento
Si activamos la traza de prolog vemos los pasos que ha realizado para obtener la
respuesta:
Pgina 34
Deduccin: Natural y Automtica
BIBLIOGRAFA
Barwise, J. y Etchemendy, J. (2000). Language, Proof and Logic. Seven Bridges Press / CSLI
Publications, Text / Software Package
Bratko, I. (1990). PROLOG Programming for Artificial Inteligence. 2, Addison-Wesley,
Callear, D. (1994). Prolog Programming for Students. With Expert Systems and Artificial
Intelligence Topics. Continuum,
Clocksin, W. F. y Mellish, C. S. (1987). Programacin en Prolog. Gustavo Gili,
Deransart, P., Ed-Dbali, A., y Cervoni, L. (1996). Prolog: The Standard. Reference Manual.
Springer-Verlag, New York.
Dodd, T. (1990). Prolog. A Logical Approach. Oxford University Press,
Garrido, M. (1991). Lgica Simblica. 2 ed., Editorial Tecnos,
Giannesini, F., Kanoui, H., Pasero, R., y van Caneghem, M. (1989). Prolog. Addison-
Wesley Iberoamericana,
Goldson, D., Reeves, S. y Bornat, R. (1993). A Review of Several Programs for the
Teaching of Logic, The Computer Journal, vol. 36, no. 4, 1993.
Llorens, F. (2001). Sistemas de Razonamiento y Conocimiento Distribuido. Agentes Inteligentes.
Ramn Rizo (director). Doctor Ingeniero (PhD), Tesis Doctoral. Dpto. Ciencia de la
Computacin e Inteligencia Artificial, Universidad de Alicante.
Llorens, F. y Castel, M. J. (1999). Lgica de Primer Orden. 2 edicin, Imprime: Ramn
Torres Goslvez, Alicante. Dpto. Ciencia de la Computacin e Inteligencia Artificial,
Universidad de Alicante
Llorens, F. y Mira, S. (2000a), ADN (Asistente para Deduccin Natural) Natural
Deduction Assistant, en Proceedings of the First International Congress on Tools for
Teaching Logic, Universidad de Salamanca, Cursos Extraordinarios, Salamanca, pp.
65-70.
Llorens, F. y Mira, S. (2000b), Herramienta para la enseanza de la Deduccin Natural, en
VI Jornadas sobre la Enseanza Universitaria de la Informtica, Servicio de Publicaciones,
Universidad de Alcal, Alcal de Henares, pp. 496-502.
Llorens, F. y Mira, S. (2002), ADN: una herramienta para la enseanza de la Deduccin
Natural, en Aportaciones de la Didctica de la Matemtica a diferentes perfiles
profesionales, M. C. Penalva, G. Torregrosa y J. Valls (eds.), Universidad de Alicante,
Alicante, pp. 447-460.
Mira, S. (2000). Asistente para Deduccin Natural (ADN). Faran Llorens (director). PFC
Ingeniero en Informtica. Dpto. Ciencia de la Computacin e Inteligencia Artificial,
Escuela Politcnica Superior, Universidad de Alicante.
Reeves, S. y Clarke, M. (1993). Logic for Computer Science. Reprinted. First printed 1990,
International Computer Science Series, Addison-Wesley Publishing,
Pgina 35
Lgica Computacional y Razonamiento
Pgina 36