Вы находитесь на странице: 1из 50

Mara Alpuente Frasnedo

Depto. de Sistemas Informticos y Computacin


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

Paloma Presidenta 1000 3/1/94 3/1/94
Claudia Secretaria 1000 12/11/99 12/11/99
Gonzalo 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 Definicin de Datos
Lenguaje de Actualizacin
Lenguaje de Interrogacin
Comprobacin de Restricciones de Integridad
Nombre Cargo Cuotas Fecha Nacim. Fecha Ingreso

Paloma Presidenta 1000 3/1/94 3/1/94
Claudia Secretaria 1000 12/11/99 12/11/99
Gonzalo Tesorero 1000 12/11/99 12/11/99

Nombre Calle Nmero Ciudad

Paloma Dr. Palos 7 Sagunto
Claudia Dr. Palos 7 Sagunto
Gonzalo Vechia 7 Pisa
Tramvia

Club
Direccin
?- Club(x,y,z,u,v), Direccin(x,Dr. Palos,n,c)
(~ Clculo Relacional de Tuplas)


LENGUAJES DE CONSULTA RELACIONAL =
SI MBOLI SMO DEL CP 1 Orden
BD = Interpretacin de una teora lgica

BD Deductiva = Teora lgica

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
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

ANALISIS Especific. OPTIMIZACIN
REQUERIM. Formal MECNICA
(Prototipo)
.



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)

(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(a.b) = min(t(a),t(b))
t(ab) = max(1-t(a),t(b))

Lgica Difusa (cont.)
Nuevas conectivas lgicas (exponenciales):

! 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


Lgica Lineal (cont.)
Nuevas conectivas lgicas (cuantif. modales):

UNIVERSAL (always, necesidad)
+ EXISTENCIAL (sometimes, posibilidad)

para formalizar el tiempo, las creencias, etc..

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)

E.mail: alpuente@dsic.upv.es
URL: http://www.dsic.upv.es/users/elp/alpuente.html


Lgicas no Estndar

(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

Вам также может понравиться