María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia

Post on 06-Jan-2016

35 views 0 download

description

Lógicas para Aplicaciones Software. María Alpuente Frasnedo Depto. de Sistemas Informáticos y Computación U. Politécnica de Valencia http://www.dsic.upv.es/~alpuente.html. Desarrollo de Programas. Ingeniería de Software. Bases de Datos. Ingeniería de Conocimiento. - PowerPoint PPT Presentation

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: alpuente@dsic.upv.esURL: 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