María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia
description
Transcript of María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia
María Alpuente Frasnedo
Depto. de Sistemas Informáticos y Computación
U. Politécnica de Valencia
http://www.dsic.upv.es/~alpuente.html
Lógicas para Aplicaciones Software
Desarrollo de Programas
Ingeniería de
Software
Ingeniería de Conocimiento
Inteligencia Artificial
Procesamiento de Lenguajes
Comprensión L. Natural
Sistemas Operativos
Bases de Datos
Lógica y Bases de Datos
Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso
Paloma Presidenta 1000 3/1/94 3/1/94Claudia Secretaria 1000 12/11/99 12/11/99Gonzalo Tesorero 1000 12/11/99 12/11/99
MODELO RELACIONAL = REPRESENTACION POR TABLAS
Club(Paloma, Presidenta, 1000, 3/1/94, 3/1/94)Club(Claudia, Secretaria, 1000, 12/11/99, 12/11/99)Club(Gonzalo,Tesorero, 1000, 12/11/99, 12/11/99)
• Lenguaje de Definición de Datos• Lenguaje de Actualización• Lenguaje de Interrogación• Comprobación de Restricciones de Integridad
Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso
Paloma Presidenta 1000 3/1/94 3/1/94Claudia Secretaria 1000 12/11/99 12/11/99Gonzalo Tesorero 1000 12/11/99 12/11/99
Nombre Calle Número Ciudad Paloma Dr. Palos 7 Sagunto Claudia Dr. Palos 7 Sagunto Gonzalo Vechia 7 Pisa
Tramvia
Club
Dirección
?- Club(x,y,z,u,v), Dirección(x,’Dr. Palos’,n,c)( Cálculo Relacional de Tuplas)
LENGUAJES DE CONSULTA RELACIONAL = SIMBOLISMO DEL CP 1 Orden
BD = Interpretación de una teoría lógica
BD “Deductiva” = Teoría lógica
Club(Paloma, Presidenta, 3/1/94)Club(Claudia, Secretaria, 12/11/99)Club(Gonzalo,Tesorero, 12/11/99)
Cuota(x,1000) Club(x,y,z)Ingreso_Club(x,z) Club(x,y,z)
Desarrollo de Programas
Ingeniería de
Software
Ingeniería de Conocimiento
Inteligencia Artificial
Procesamiento de Lenguajes
Comprensión L. Natural
Sistemas Operativos
Bases de Datos
Lógicas para Aplicaciones Software
La lógica proporciona una formulación simbólica e independiente del dominio de las leyes del pensamiento humano
Este doble carácter de la lógica hace posible mecanizar sus técnicas y métodos
Lógicas para Aplicaciones Software (cont.)
PROBLEMA:
La lógica clásica se desarrolló para estudiar objetos matemáticos bien definidos, consistentes e inmutables -carácter estático-
Sus nuevas aplicaciones requieren formas más dinámicas (y menos perfectas) de lógica
Los métodos de la lógica, en general, resultan caros en términos computacionales -> es necesario reducir sus costes sin perder sus buenas propiedades lógicas
Lógicas para Aplicaciones Software (cont.)
SOLUCIÓN: Lógica Computacional
(Lógicas para Aplicaciones Software)
Lógicas con la expresividad y la potencia computacional adecuadas para:
Modelar el conocimiento impreciso, incompleto, contradictorio, revisable, dinámico, distribuido...
Razonamiento no monótono, aproximado, probabilístico...
Lógicas para Aplicaciones Software
Lógicas para el Desarrollo de Programas Lógicas para la Ingeniería del Software Lógicas para la Ingeniería del Conocimiento y las BDs Lógicas para el Razonamiento aprox. y probabilistico Lógicas para la Concurrencia Lógicas para el Control y las Com. Lógicas para el Diseño de Lenguajes (e.g. visuales)
Algunos Ejemplos...
Lógicas para el Desarrollo de Programas L. Clausal Lógicas para la Ingeniería del Software L. Ecuacional Lógicas para la Ingeniería del Conocimiento y las BDs L. Modal Lógicas para el Razonamiento aprox. y probabilistico L. Probabilística Lógicas para la Concurrencia L. Temporal Lógicas para el Control y las Com. L. Lineal, L. Difusa Lógicas para el Diseño de Lenguajes (e.g. visuales) L. Pictórica
Lógicas para el Desarrollo de Programas
Lógicas para la Ingeniería del Software
Lógicas para otras Aplicaciones Software
Lógicas para Aplicaciones Software
IDEA TRADICIONAL:
LÓGICA usada como herramienta de representación de las propiedades de los programas y para razonar sobre éstas
(especificación, verificación y documentación del código)
I D E A O R I G I N A L !!!!!:
LÓGICA = LENGUAJE DE PROGRAMACIÓN
Lógicas para el Desarrollo de Programas:
P R O G R A M A C I Ó N D E C L A R A T I V A
ANALISIS DISEÑO IMPLEMENTAC. Programa
Ciclo de Vida Clásico
VALIDACIÓN TEST - TEST -
MANTENIMIENTO
ANALISIS Especific. IMPLEMENTAC. Programa (informal)
Ciclo de Vida con Prototipado
MANTENIMTO.
TEST - /
VALIDACIÓN Prototipo
PROTOTIPADO
ANALISIS Especific. OPTIMIZACIÓN
REQUERIM. Formal MECÁNICA
(Prototipo).
Programación Automática
VALIDACIÓN
MANTENIMTO.
Programa
Lógicas para el Desarrollo de Programas
Lógicas para la Ingeniería del Software
Lógicas para otras Aplicaciones Software
Lógicas para Aplicaciones Software
IDEA POPULAR:
Los Métodos Formales son lenguajes, técnicas y herramientas basados en las matemáticas (generalmente lógica y álgebra) y utilizados para especificar y verificar sistemas software
Lógicas para la Ingeniería del Software:
verificación si o no
especificación
programa
Requisitos
Datos Programas
Componentes SoftwareProcesos Sofware
La Trilogía del Software:
Lógicas para el Desarrollo de Programas
Lógicas para la Ingeniería del Software
Lógicas para otras Aplicaciones Software
Lógicas para Aplicaciones Software
Lógicas para la Ingeniería del Conocimiento y las BDsLógica modal: epistémica, temporal, dinámica, ...
Lógicas para el Razonamiento aprox. y probabilisticoLógica geométrica, lógica probabilística
Lógicas para el Control y las Comunicaciones: Lógica lineal, lógica difusa
Lógicas para la Programación VisualLógica diagramática, lógica pictórica
Lógicas para otras Areas de Especialización en Software:
LOGICA DIFUSA (Fuzzy Logica )
*** una LOGICA Multivaluada (en vez de binaria) ***
En LÓGICA CLÁSICA: 0 or 1, blanco o negro, si o no; (en términos del ALGEBRA BOOLEANA: cada elemento está en un conjunto o en otro, pero no en ambos)
La LOGICA DIFUSA permite valores entre 0 y 1, tonos del gris, (pertenencia parcial a un conjunto)
Se usa para soportar el RAZONAMIENTO APROXIMADO en SISTEMAS EXPERTOS: inferencias lógicas sobre propiedades y relaciones imprecisas. EJEMPLOS: optimización automática del ciclo de lavado de una lavadora en función de la carga, cantidad de detergente, etc; control de ascensores, electrodomésticos, cámaras, instrumentación de automóviles, aeronaves y armamento nuclear.
Los hechos pueden ser ciertos hasta un cierto grado
0.7 El agua está fría
En lógica difusa, las fórmulas tienen un valor de verdad entre 0 y 1
Aplicaciones en Control Difuso, Robótica, S. Expertos
Lógica Difusa
x elemento; S conjunto; Sx nº real entre 0 y 1
(denotando el grado en que x pertenece a S)
(AB)x = max (Ax,Bx) (AB)x = min(Ax,Bx) (A)x = 1 - Ax
F conjunto de las proposiciones falsas;T verdaderas. t(p)= (1-Fp+Tp)/2 (verdad de p)
t(a) = 1 - t(a)t(ab) = min(t(a),t(b))t(ab) = max(1-t(a),t(b))
Lógica Difusa (cont.)
Nuevas conectivas lógicas (exponenciales):
! of course (copiado - replicación)
why not (borrado)
Separación en dos clases de las conectivas estándar :
y (conjunción acumulativa y alternativa)
y (disyunción directa y tensorial )
Lógica Lineal
Una premisa, en lógica clásica, puede usarsetantas veces se quiera
(A, A B) B ... pero A es verdad aún
En la vida real, la implicación es causal —o (las condiciones se modifican tras su uso: acción, reacción)
EJEMPLO: A gastar 100 ptas. en tabaco, B comprar “ducados”, C comprar “celtas”
A —o B y A —o C NO IMPLICA A —o B C
Lógica Lineal (cont.)
Se cumple, en cambio:
A —o B y A —o C IMPLICA A —o B & C
La conjunción & tiene carácter alternativo, pero NO es una disyunción! Se puede demostrar a la vez A & B—o A y A & B—o B (tampoco es un if_then_else)
APLICACIONES: Control de recursos (de máquina)
A ‘está libre el canal A’
B, C procesos que pueden fluir por el canal
Lógica Lineal (cont.)
Nuevas conectivas lógicas (cuantif. modales):
� UNIVERSAL (always, necesidad)
EXISTENCIAL (sometimes, posibilidad)
para formalizar el tiempo, las creencias, etc..
Ejemplo: estudiante(A) profesional(A)
Lógica Modal
Introducción a laLógica ModalMaría Alpuente
Departamento de Sistemas Informáticos y ComputaciónUniversidad Politécnica de ValenciaCamino de Vera s/nApdo. 22.012 46.071 Valencia (España)
E.mail: [email protected]: http://www.dsic.upv.es/users/elp/alpuente.html
Lógicas no Estándar(Modificaciones y Extensiones de la Lógica Clásica)
n Lógica multi-valuada (N valores)n Lógica Parcialn Lógica Difusan Lógica Intuicionista
n Lógicas Modales
MO
DIF
IC
AN
GE
NE
RA
LI
ZA
N
Lógicas Modales
n GENERALIZAN la lógica clásica introduciendo dos conectivas lógicas adicionales (u operadores modales):
u � UNIVERSAL (necesidad)u ◊ EXISTENCIAL (posibilidad)
que permiten formalizar:
u la necesidadu el tiempou las creencias, etc..
n IDEA: la verdad es un concepto relativo que depende de los ‘mundos posibles’
Lógicas Modales (cont.)
n Interpretaciones � A
n necesariamente es verdad An siempre será verdad An debe suceder A
n cuando termina el programa, es verdad A
n es conocido que A
n se cree que se cumple A
Interpretaciones ◊ A
n posiblemente es verdad An a veces será verdad An puede suceder A
n existe una ejecución del programa que termina siendo A verdad
n no se conoce el opuesto de An no se cree que se cumple el opuesto de A
(◊ A =def � A)
Lógicas Modales (cont.)
n Lógicas Temporales (lógicas del tiempo)u � A (always A)u ◊ A (sometimes A)
n Lógicas Dinámicas(lógicas de la acción, lógica modal para razonar
acerca de las acciones y procesos)n Lógicas Epistémicas
(lógicas del Conocimiento y dela Creencia/Ignorancia)
Lógicas Modales (cont.)
n Un marco de interpretación (frame) es un par F=(W,R)
n donde: W es un conjunto no vacío n (Universo de puntos o mundos posibles)n R es una relación binaria sobre Wn (Relación de accesibilidad)
n Sea P un conjunto de fórmulas.n Un modelo para P sobre un marco n F=(W,R) es una terna M=(W,R,V)n donde: V es una aplicación de P en 2W
n (el conjunto de los subconjuntos de W)
n que asigna a cada p P el subconjunto de puntos w W en los que p es verdad
(TEORÍA DE MODELOS, caso proposicional)
Lógicas Modales (cont.)
n La relación ‘la fórmula A es verdad en el punto w en el modelo M’
(en símbolos M =w A)
se define recursivamente como sigue:
F (M =w false)
F M =w p si w V(p)
F M =w (A) si
(M =w AM =w)
F M =w � A si wRt implica que
M =t A para todo t W
(TEORÍA DE MODELOS, caso proposicional)
Lógicas Modales (cont.)
n ‘La fórmula A es verdad en el modelo M=(W,R,V) si es verdad en todos los puntos del modelo’
(M = A si M =w A para todo w W)
n ‘La fórmula A es verdad en el marco F=(W,R) si es verdad en cada modelo
M=(W,R,V)’
(F= A si M =A para todo M=(W,R,V))
n ‘La fórmula A es válida si es verdad en cada marco’
(= A si F= A para todo F)
(TEORÍA DE MODELOS, caso proposicional)
Lógicas Modales (cont.)
n ‘La fórmula � A es verdad en el mundo w si A es verdad en todos los mundos posibles accesibles desde w’.
n ‘La fórmula ◊A es verdad en el mundo w si A es verdad en alguno de los mundos posibles accesibles desde w’.
(TEORÍA DE MODELOS, caso proposicional)
Lógicas Multimodalesn Son lógicas cuyos lenguajes tienen más de un operador modal. n Se utilizan colecciones de símbolos
{[i] | i I}
cada uno de los cuales corresponde a un operador universal
n Los operadores existenciales duales
son <i> y se definen como [i]n si A es una fórmula, entonces [i]A e <i>A también lo sonn Un marco multimodal es
F=(W, {Ri | i I})
donde las Ri son relaciones Ri W x W
para cada i In M =w[i]A si w Ri t implica que
M =t A para todo t W
Una Axiomatización de laLógica (Multi-)Modal n El sistema axiomático más simple es K(a) (Prior 65):
u AXIOMAS: F algún conjunto de axiomas de la
lógica clásicaF K(a): ([a]A ^ [a](A B )) [a]B
u REGLAS DE INFERENCIAF Modus PonensF Necesidad A |- [a] A
n Axiomas adicionales:F D(a): [a]A <a>AF T(a): [a]A AF 4(a): [a]A [a][a]AF 5(a): <a>A [a]<a>AF B(a): A [a]<a>AF G(a): [a]([a]A [a]AF (a): <a>A [a]A
Lógicas del Tiempo
n TOPOLOGÍA del tiempo
n discreto o continuo?u (tiempo continuo: hay un momento entre cada dos)
n lineal, paralelo o ramificado?u (cada rama corresponde a una posible historia del mundo.
Puede haber ramificaciones en el futuro -pasado único-o también en el pasado -distintos pasados-)
n acotado o sin acotar?n circular?
Lógicas del Tiempo (cont)
TAXONOMIAS
n Aproximación de primer orden-argumento extra para el tiempo-
n Aproximaciones modalesu Discrete & Linearly Ordered Time (next,
since, until)u Branching Timeu Dense Timeu Interval Logic
Lógicas Temporales
n La misma sentencia puede tener diferentes valores de verdad en distintos momentos del tiempo
n Los elementos de W son los momentos del tiempon sRt significa: s ocurre después de t (antes de t)
u � A (always A)u A será verdad en todos los tiempos futuros (A
fue verdad en todos los tiempos del pasado)
u ◊ A (sometimes A)u A será verdad en algún tiempo del futuro (A
fue verdad en algún tiempo del pasado)
Lógica Dinámica
n Es una lógica multimodaln Se asocia un operador modal [i] con cada
instrucción i de un lenguaje de programaciónn sRt significa: hay una ejecución del programa que empieza en s y
termina en tu [i] A (tras ejecutarse la instrucción i, es verdad A)u <i> A (hay una ejecución de la instrucción i, que termina siendo
verdad A)n W es el conjunto de los distintos estados de un proceso computacional
u ________________ (L. dinámica simple:)u � A (cada ejecución del programa que termina acaba en un
estado en el que es verdad A)u ◊ A (hay alguna ejecución del programa que termina en un
estado en el que es verdad A)
Lógica Dinámica (cont.)
n Se usa un conjunto de constructores dinámicos: u composición secuencial (;)
(con elemento neutro ID, el programa que no hace nada)
u unión () (elección indeterminista)
u repetición finita de un programa (*)u ejecución inversa (-1)
(t;t -1 es el programa que no cambia nada)
n Axiomas adicionales:
F 1: [t;t’]A [t][t’]AF 2: {ID}A A for {ID}=<ID>,[ID]F 3: [tt’]A [t]A^[t’]AF 4: [t*]A A^ t[t*]A
Lógicas del Conocimiento y de la Creencia
n Los operadores modales se interpretan como conocimiento o creencia
u � A (se conoce A (se cree A))u ◊ A (no se conoce el opuesto de A
(no se cree el opuesto de A))
n Existen variantes multimodales
u [i] A (el agente i conoce o cree A)u <i> A (el agente i no conoce o no cree
el opuesto de A)
Deducción Modal Automática
n Para automatizar la lógica modal es posible:u desarrollar métodos de deducción modalu traducir a otras lógicas (con teorías ecuacionales y sorts)
n Los resultados estándar (completitud, etc) son muy complejos en lógica modal:u no existe una forma normal para las
fórmulas modales ◊ (p ^q)u el concepto de unificación se debe
generalizar (e.g., �p y ◊p soncontradictorios, mientras que ◊p y ◊p no lo son)
u la contradicción puede estar sumergida varios niveles (e.g., ◊�p y �◊p) o escondida en varias cláusulas (e.g., �(p v q), ◊p y ◊q)
u los cuantificadores y operadores modales interaccionan
Traducción a lógica clásica
n T(w,p(t1,...,tn)) = p’(w,t1,...,tn)n T(w,A) = T(w,A)n T(w,AvB) = T(w,A) v T(w,B)n T(w,xA) = xT(w,A)n T(w, �A) = w’(R(w,w’) v
T(w’,A))Teorema. Sea L una logica multimodal. Sea A una fórmula cerrada.
A es insatisfacible en L sii T(wo,A) esinsatisfacible en lógica de primer orden.
Programación Lógica Modal y Temporal
n Modal Prolog (Molog) n Temporal Prolog
(MetaTem, Tempura)
IDEA. Extender HCL con conectivas
modales o temporales:
Fp (en el futuro, p será siempre verdad)
Pp (en el pasado, p fue siempre verdad)
◊p = p v Fp v Pp
� p = ◊p
Sintaxis de un Prolog Temporal
n Un programa es un conjunto de cláusulasn Una cláusula es una cláusula ordinaria o
una cláusula alwaysn Una cláusula always es � p, donde p es una cláusula
ordinaria n Una cláusula ordinaria es una cabeza H o un H A, donde
A es un cuerpon Una cabeza es un átomo o FA o PA, donde A es una
conjunción de cláusulas ordinarias
n Un cuerpo es un átomo, una conjunción de cuerpos o un FA o PA, donde A es un cuerpo
n Un objetivo es un cuerpo