U. Politcnica de Valencia http://www.dsic.upv.es/~alpuente.html
Lgicas para Aplicaciones Software Desarrollo de Programas Ingeniera de Software Ingeniera de Conocimiento Inteligencia Artificial Procesamiento de Lenguajes Comprensin L. Natural Sistemas Operativos Bases de Datos Lgica y Bases de Datos Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso
Lenguaje de Definicin de Datos Lenguaje de Actualizacin Lenguaje de Interrogacin Comprobacin de Restricciones de Integridad Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso
Desarrollo de Programas Ingeniera de Software Ingeniera de Conocimiento Inteligencia Artificial Procesamiento de Lenguajes Comprensin L. Natural Sistemas Operativos Bases de Datos Lgicas para Aplicaciones Software La lgica proporciona una formulacin simblica e independiente del dominio de las leyes del pensamiento humano
Este doble carcter de la lgica hace posible mecanizar sus tcnicas y mtodos
Lgicas para Aplicaciones Software (cont.) PROBLEMA:
La lgica clsica se desarroll para estudiar objetos matemticos bien definidos, consistentes e inmutables -carcter esttico-
Sus nuevas aplicaciones requieren formas ms dinmicas (y menos perfectas) de lgica
Los mtodos de la lgica, en general, resultan caros en trminos computacionales -> es necesario reducir sus costes sin perder sus buenas propiedades lgicas
Lgicas para Aplicaciones Software (cont.) SOLUCIN: Lgica Computacional
(Lgicas para Aplicaciones Software)
Lgicas con la expresividad y la potencia computacional adecuadas para:
Modelar el conocimiento impreciso, incompleto, contradictorio, revisable, dinmico, distribuido...
Razonamiento no montono, aproximado, probabilstico...
Lgicas para Aplicaciones Software
Lgicas para el Desarrollo de Programas Lgicas para la Ingeniera del Software Lgicas para la Ingeniera del Conocimiento y las BDs Lgicas para el Razonamiento aprox. y probabilistico Lgicas para la Concurrencia Lgicas para el Control y las Com. Lgicas para el Diseo de Lenguajes (e.g. visuales) Algunos Ejemplos...
Lgicas para el Desarrollo de Programas L. Clausal Lgicas para la Ingeniera del Software L. Ecuacional Lgicas para la Ingeniera del Conocimiento y las BDs L. Modal Lgicas para el Razonamiento aprox. y probabilistico L. Probabilstica Lgicas para la Concurrencia L. Temporal Lgicas para el Control y las Com. L. Lineal, L. Difusa Lgicas para el Diseo de Lenguajes (e.g. visuales) L. Pictrica
Lgicas para el Desarrollo de Programas
Lgicas para la Ingeniera del Software
Lgicas para otras Aplicaciones Software Lgicas para Aplicaciones Software
IDEA TRADICIONAL:
LGICA usada como herramienta de representacin de las propiedades de los programas y para razonar sobre stas (especificacin, verificacin y documentacin del cdigo)
I D E A O R I G I N A L !!!!!:
LGICA = LENGUAJ E DE PROGRAMACIN
Lgicas 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 DISEO IMPLEMENTAC. Programa
Ciclo de Vida Clsico VALIDACIN TEST - o TEST - | MANTENIMIENTO
ANALISIS Especific. IMPLEMENTAC. Programa (informal)
Ciclo de Vida con Prototipado MANTENIMTO. TEST - o / | VALIDACIN Prototipo PROTOTIPADO
Programacin Automtica VALIDACIN MANTENIMTO. Programa
Lgicas para el Desarrollo de Programas
Lgicas para la Ingeniera del Software
Lgicas para otras Aplicaciones Software Lgicas para Aplicaciones Software
IDEA POPULAR:
Los Mtodos Formales son lenguajes, tcnicas y herramientas basados en las matemticas (generalmente lgica y lgebra) y utilizados para especificar y verificar sistemas software
Lgicas para la Ingeniera del Software:
verificacin si o no especificacin
programa
Requisitos Datos Programas
Componentes Software Procesos Sofware La Triloga del Software:
Lgicas para el Desarrollo de Programas
Lgicas para la Ingeniera del Software
Lgicas para otras Aplicaciones Software Lgicas para Aplicaciones Software
Lgicas para la Ingeniera del Conocimiento y las BDs Lgica modal: epistmica, temporal, dinmica, ...
Lgicas para el Razonamiento aprox. y probabilistico Lgica geomtrica, lgica probabilstica
Lgicas para el Control y las Comunicaciones: Lgica lineal, lgica difusa
Lgicas para la Programacin Visual Lgica diagramtica, lgica pictrica
Lgicas para otras Areas de Especializacin en Software:
LOGICA DIFUSA (Fuzzy Logica )
*** una LOGICA Multivaluada (en vez de binaria) ***
En LGICA CLSICA: 0 or 1, blanco o negro, si o no; (en trminos 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 lgicas sobre propiedades y relaciones imprecisas. EJEMPLOS: optimizacin automtica del ciclo de lavado de una lavadora en funcin de la carga, cantidad de detergente, etc; control de ascensores, electrodomsticos, cmaras, instrumentacin de automviles, aeronaves y armamento nuclear. Los hechos pueden ser ciertos hasta un cierto grado
0.7 El agua est fra
En lgica difusa, las frmulas tienen un valor de verdad entre 0 y 1
Aplicaciones en Control Difuso, Robtica, S. Expertos Lgica Difusa x elemento; S conjunto; Sx n real entre 0 y 1 (denotando el grado en que x pertenece a S)
! of course (copiado - replicacin) ? why not (borrado)
Separacin en dos clases de las conectivas estndar : y & (conjuncin acumulativa y alternativa) + y (disyuncin directa y tensorial ) Lgica Lineal Una premisa, en lgica clsica, puede usarse tantas veces se quiera (A, A B) ( B ... pero A es verdad an
En la vida real, la implicacin es causal o (las condiciones se modifican tras su uso: accin, reaccin) 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 Lgica Lineal (cont.) Se cumple, en cambio: A o B y A o C IMPLICA A o B & C
La conjuncin & tiene carcter alternativo, pero NO es una disyuncin! Se puede demostrar a la vez A & Bo A y A & Bo B (tampoco es un if_then_else)
APLICACIONES: Control de recursos (de mquina) A est libre el canal A B, C procesos que pueden fluir por el canal
Ejemplo: estudiante(A) + profesional(A) Lgica Modal Introduccin a la Lgica Modal
Mara Alpuente Departamento de Sistemas Informticos y Computacin Universidad Politcnica de Valencia Camino de Vera s/n Apdo. 22.012 46.071 Valencia (Espaa)
(Modificaciones y Extensiones de la Lgica Clsica) n Lgica multi-valuada (N valores) n Lgica Parcial n Lgica Difusa n Lgica Intuicionista
n Lgicas Modales M O D I F I C A N
G E N E R A L I Z A N
Lgicas Modales n GENERALIZAN la lgica clsica introduciendo dos conectivas lgicas adicionales (u operadores modales): u UNIVERSAL (necesidad) u EXISTENCIAL (posibilidad)
que permiten formalizar: u la necesidad u el tiempo u las creencias, etc..
n IDEA: la verdad es un concepto relativo que depende de los mundos posibles Lgicas Modales (cont.) n Interpretaciones A
n necesariamente es verdad A n siempre ser verdad A n 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 A n a veces ser verdad A n puede suceder A
n existe una ejecucin del programa que termina siendo A verdad
n no se conoce el opuesto de A n no se cree que se cumple el opuesto de A
( A =def A) Lgicas Modales (cont.) n Lgicas Temporales (lgicas del tiempo) u A (always A) u A (sometimes A) n Lgicas Dinmicas (lgicas de la accin, lgica modal para razonar acerca de las acciones y procesos) n Lgicas Epistmicas (lgicas del Conocimiento y de la Creencia/Ignorancia) Lgicas Modales (cont.) n Un marco de interpretacin (frame) es un par F=(W,R) n donde: W es un conjunto no vaco n (Universo de puntos o mundos posibles) n R es una relacin binaria sobre W n (Relacin de accesibilidad)
n Sea P un conjunto de frmulas. n Un modelo para P sobre un marco n F=(W,R) es una terna M=(W,R,V) n donde: V es una aplicacin de P en 2 W n (el conjunto de los subconjuntos de W) n que asigna a cada p e P el subconjunto de puntos w e W en los que p es verdad (TEORA DE MODELOS, caso proposicional)
Lgicas Modales (cont.) n La relacin la frmula A es verdad en el punto w en el modelo M
(en smbolos M (= w A)
se define recursivamente como sigue:
F (M (= w false) F M (= w p si w e V(p) F M (= w (A B) si (M (= w A M (= w B) F M (= w A si wRt implica que M (= t A para todo t e W
(TEORA DE MODELOS, caso proposicional)
Lgicas Modales (cont.) n La frmula 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 e W)
n La frmula 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 frmula A es vlida si es verdad en cada marco ((= A si F(= A para todo F) (TEORA DE MODELOS, caso proposicional)
Lgicas Modales (cont.) n La frmula A es verdad en el mundo w si A es verdad en todos los mundos posibles accesibles desde w.
n La frmula A es verdad en el mundo w si A es verdad en alguno de los mundos posibles accesibles desde w. (TEORA DE MODELOS, caso proposicional)
Lgicas Multimodales n Son lgicas cuyos lenguajes tienen ms de un operador modal. n Se utilizan colecciones de smbolos {[i] | i e 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 frmula, entonces [i]A e <i>A tambin lo son n Un marco multimodal es F=(W, {R i | i e I}) donde las R i son relaciones R i _ W x W para cada i e I n M (= w [i]A si w R i t implica que M (= t A para todo t e W
Una Axiomatizacin de la Lgica (Multi-)Modal n El sistema axiomtico ms simple es K(a) (Prior 65): u AXIOMAS: F algn conjunto de axiomas de la lgica clsica F K(a): ([a]A ^ [a](A B )) [a]B u REGLAS DE INFERENCIA F Modus Ponens F Necesidad A |- [a] A n Axiomas adicionales: F D(a): [a]A <a>A F T(a): [a]A A F 4(a): [a]A [a][a]A F 5(a): <a>A [a]<a>A F B(a): A [a]<a>A F G(a): [a]([a]A A) [a]A F o(a): <a>A [a]A Lgicas del Tiempo n TOPOLOGA 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 tambin en el pasado -distintos pasados-) n acotado o sin acotar? n circular? Lgicas del Tiempo (cont) TAXONOMIAS
n Aproximacin de primer orden -argumento extra para el tiempo- n Aproximaciones modales u Discrete & Linearly Ordered Time (next, since, until) u Branching Time u Dense Time u Interval Logic Lgicas 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 tiempo n sRt significa: s ocurre despus 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 algn tiempo del futuro (A fue verdad en algn tiempo del pasado) Lgica Dinmica n Es una lgica multimodal n Se asocia un operador modal [i] con cada instruccin i de un lenguaje de programacin n sRt significa: hay una ejecucin del programa que empieza en s y termina en t u [i] A (tras ejecutarse la instruccin i, es verdad A) u <i> A (hay una ejecucin de la instruccin i, que termina siendo verdad A) n W es el conjunto de los distintos estados de un proceso computacional u ________________ (L. dinmica simple:) u A (cada ejecucin del programa que termina acaba en un estado en el que es verdad A) u A (hay alguna ejecucin del programa que termina en un estado en el que es verdad A) Lgica Dinmica (cont.) n Se usa un conjunto de constructores dinmicos: u composicin secuencial (;) (con elemento neutro ID, el programa que no hace nada) u unin () (eleccin indeterminista) u repeticin finita de un programa (*) u ejecucin inversa ( -1 ) (t;t -1 es el programa que no cambia nada)
n Axiomas adicionales: F 1: [t;t]A [t][t]A F 2: {ID}A A for {ID}=<ID>,[ID] F 3: [tt]A [t]A^[t]A F 4: [t*]A A^ t[t*]A Lgicas 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) Deduccin Modal Automtica n Para automatizar la lgica modal es posible: u desarrollar mtodos de deduccin modal u traducir a otras lgicas (con teoras ecuacionales y sorts) n Los resultados estndar (completitud, etc) son muy complejos en lgica modal: u no existe una forma normal para las frmulas modales (p ^q) u el concepto de unificacin se debe generalizar (e.g., p y p son contradictorios, mientras que p y p no lo son) u la contradiccin puede estar sumergida varios niveles (e.g., p y p) o escondida en varias clusulas (e.g., (p v q), p y q) u los cuantificadores y operadores modales interaccionan Traduccin a lgica clsica 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 frmula cerrada. A es insatisfacible en L sii T(wo,A) es insatisfacible en lgica de primer orden. Programacin Lgica 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 clusulas n Una clusula es una clusula ordinaria o una clusula always n Una clusula always es p, donde p es una clusula ordinaria n Una clusula ordinaria es una cabeza H o un H A, donde A es un cuerpo n Una cabeza es un tomo o FA o PA, donde A es una conjuncin de clusulas ordinarias n Un cuerpo es un tomo, una conjuncin de cuerpos o un FA o PA, donde A es un cuerpo n Un objetivo es un cuerpo