1
RAZONAMIENTO BASADO EN MODELOS:RAZONAMIENTO CUALITATIVO
RAZONAMIENTOCUALITATIVO BASADO ENRESTRICCIONES
2
CONTENIDOSIntroducción al modelado basado en restriccionesLa variable cualitativa y su representación QV(f,t) bajo este paradigma
• Concepto de estado
Concepto de comportamiento cualitativo de un sistema• Formas de representación de comportamientos
Ecuaciones diferenciales cualitativas.• Definición• Restricciones cualitativas• Operadores de signo• Valores correspondientes• Condiciones asociadas a las restricciones cualitativas
Algoritmos de resolución de conjuntos de restricciones• Algoritmo de propagación. Definición. Ejemplo• Algoritmo de satisfacción de restricciones (CSP). Definición• Algoritmo Cfilter. Definición. Ejemplo
Algoritmo QSIM• Definición• Algoritmo del estado completo (SCA)• Filtros globales• Inconvenientes
3
PLANTEAMIENTO GENERAL
Modelo(Abstración)
Problema(Sistema delMundo real)
Conocimiento experto
InferenciaInformación
Ontología(Representación +
conjunto de operadores)
Simulación
4
MODELADO BASADO ENRESTRICCIONES: QSIM (KUIPER ´86)
Sistema realSistema real Conducta realConducta real
ODE ODE ∧∧ State (t State (t00)) ffii: : ℜℜ ℜℜ**
QDE QDE ∧∧ QState(t QState(t00)) BehBeh11…..Beh…..Behnn
solución numérica/analíticasolución numérica/analítica
simulación cualitativasimulación cualitativa
5
LA VARIABLE CUALITATIVA
Características de la variable cualitativa:
La variable cualitativa representa una función razonable, es decir,una función continuamente diferenciable.
f:R→R*
• Donde R* es la línea de los reales extendida.• F es una función dependiente del tiempo (parámetro global)
No debe presentar oscilaciones infinitas alrededor de un punto.
6
REPRESENTACIÓN FORMAL DEL VALOR DEUNA VARIABLE CUALITATIVA
El valor de una variable cualitativa f(t) para un instante de tiempo dado,QV(f,t), con respecto del espacio de medida l1<l2<....<lk se representamediante <qmag,qdir>, donde:
qmag=• lj si f(t)=lj (un landmark) y t es un punto distinguible de tiempo.• (lj, lj+1) si f(t)∈(lj,lj+1) (un intervalo abierto.)
qdir=• inc si f´(t)>0• std si f´(t)=0• dec si f´(t)<0
QSIM (qmag) Signos QSIM (qdir) Símbolos(0,∞) [+] inc ↑
0 [0] std θ(-∞,0) [-] dec ↓(-∞, ∞) [?] ign *
7
LANDMARKS Y PUNTOS LÍMITES
Un landmark bajo esta representación puede ser:• Un valor crítico de una variable
– f´(t)=0 cuando f(t)=lj donde lj es un landmark.
• Un punto límite que define el cambio de una región decomportamiento a otra (transición).
• Un valor inicial de una variable cualitativa.
• Para la variable tiempo los valores landmark sedenominan puntos distinguibles de tiempo
– (ti tal que f(ti)=lj donde lj es un landmark de f ).
8
REPRESENTACIÓN DE UN COMPORTAMIENTOPARA UNA SÓLA VARIABLE
El comportamiento cualitativo de una variable f es la secuencia devalores cualitativos de f definido de la siguiente forma:
QV(f,to), QV(f,(to,t1)), QV(f,t1),...., QV(f,(tn-1,tn)), QV(f,tn)
Ejemplo:Df: -∞......0......A.......B....... ∞ (dominio de valores de f)
f(t): <B,dec>→<(A,B),dec> →<A,std> →<(A,B)inc> →<B,inc>
9
REPRESENTACIÓN CUALITATIVA DE UNCOMPORTAMIENTO CONTINUO
f
t
A
B
t0 t1 t2
f(t)=<B,↓>, <(A,B), ↓ >, <A,θ>,<(A,B), ↑>,<B, ↑>
QV(f,t0)=<B,↓>QV(f,(t0,t1))=< (A,B), ↓ >QV(f,t1)=< A,θ>QV(f,(t1,t2))=<(A,B), ↑>QV(f,t2)=< B, ↑>
10
CONCEPTO DE ESTADO
Dado un sistema definido por un conjunto F={f1,.......,fm} de funcionesrazonables tal que fj:ℜ→ℜ*, el estado cualitativo de dicho sistemaviene definido por una tupla de la siguiente forma:
QS(F,ti)=<QV(f1,ti), QV(f2,ti),...,QV(fm,ti)>
QS(F,(ti,ti+1))=<QV(f1,(ti,ti+1)), QV(f2,(ti,ti+1)),...., QV(fm,(ti,ti+1))>
11
CONCEPTO DE COMPORTAMIENTO
El concepto de comportamiento bajo esta nueva perspectiva vienedefinido como una secuencia alternada de estados que tienen lugarsobre puntos distinguibles de tiempo o intervalos abiertos de tiempo:
QS(F,to), QS(F,(to,t1)), QS(F,t1),...., QS(F,(tn-1,tn)), QS(F,tn)
12
FORMAS DE REPRESENTACIÓN DE LOSCOMPORTAMIENTOS DEL SISTEMA
Este paradigma de modelado permite dos formas posibles derepresentación para los comportamientos del sistema:
Árbol de comportamientos (modo de simulación dinámico normal).
Grafo de comportamientos
13
ÁRBOL DE COMPORTAMIENTO
Dadas las EDQ y un estado inicial la simulación cualitativa se resuelveobteniendo de forma repetitiva todos los posibles estados sucesores auno dado.
Los comportamientos aparecen representados por los distintoscaminos que se pueden describir desde la raíz a las hojas del árbol.
t0 t0,t1 t1 t1,t2 t2
14
GRAFO DE COMPORTAMIENTO(Total Envisionment)
El grafo de comportamientos o predicción global (Total Envisionment):consiste en, dadas las EDQ, obtener todos los posibles estados ytransiciones entre ellos.Los distintos caminos que configuran el grafo representan los distintoscomportamientos del sistema.
X=<(0,∞),↑>V=<(0,∞),↓>A=<(-∞,0),↓>
X=<(0,∞),θ>V=<0,↓>A=<(-∞,0), θ >
X=<(0,∞), ↓ >V=<(-∞,0),↓>A=<(-∞,0), ↑ >
X=<0,↑>V=<(0, ∞ ), θ >A=<0,↓>
X=<(-∞,0),↑>V=<(0,∞), ↑ >A=<(0,∞),↓>
X=<(-∞,0), θ >V=<0, ↑ >A=<(0,∞ ), θ >
X=<(-∞,0 ),↓>V=<(-∞,0),↑>A=<(0,∞ ), ↑ >
X=<0, ↓ >V=<(0, ∞ ), θ >A=<0, ↑ >
X=<0, θ >V=<0, θ >A=<0, θ >
Predicción globalPara el problema del muelle
15
GRAFO DE COMPORTAMIENTO(Attainable Envisionment)
La “predicción vía un estado inicial” (attainable envisionment): es elsubconjunto de estados de la predicción global que son alcanzables apartir de un estado inicial dado.
A esta representación se puede acceder cambiando sólo unos pocosaspectos respecto del modo normal de simulación dinámica:
• No se crean nuevos landmarks• Se emplea el criterio débil para la detección de comportamientos cíclicos.• Las transiciones entre estados no se dan ya entre estados sucesores sino entre
cualquiera de los estados que componen el árbol.
El tamaño de la “predicción vía un estado inicial” depende de lainformación que demos sobre el estado inicial:
• Llega a ser igual al del visionado global cuando no se da información alguna sobre elestado inicial.
16
ECUACIONES DIFERENCIALESCUALITATIVAS (EDQ)
Una ecuación diferencial cualitativa (EDQ) es una tupla decuatro componentes <V,Q,C,T> definidas de la siguienteforma:
V es un conjunto de variables cada una de las cuales es unafunción razonable del tiempo.Q es un conjunto de espacios de medida, uno por cadavariable en V.C es un conjunto de restricciones aplicadas a las variables enV.T es un conjunto de transiciones las cuales son reglas quedefinen los límites de validez de las QDE.
17
RESTRICCIONES CUALITATIVAS
Las relaciones entre las variables cualitativas se expresanmediante restricciones cualitativas.
Entre las más usuales cabe destacar las siguientes:
Relaciones matemáticas:• (add x y z) → x(t)+y(t)=z(t)• (mult x y z) → x(t)*y(t)=z(t)• (minus x y z) → x(t)-y(t)=z(t)• (d/dt x y ) → dx(t)/dt=y(t)• (constant x ) → dx(t)/dt=0
Relaciones funcionales• (M+ x y) → y(t)=f(x(t)), f∈M+
• (M- x y) → y(t)=-f(x(t)), f∈M+
18
OPERADORES QUE EVALÚAN EL SIGNODE UNA VARIABLE CUALITATIVA
Operadores de signo:[x]0= signo(x) =[+] si x>0
=[0] si x=0 =[-] si x<0
[x]x0=signo(x-xo) donde xo represente en valor de referencia.[x´]=[dx/dt]=sign(dx/dt)[x]∞ = [+] si x=∞
= [0] si x es una valor finito = [-] si x=-∞
etc...
19
VALORES CORRESPONDIENTES
Tupla de valores landmark que toman, en un instante de tiempo dado,todas las variables implicadas en una restricción.
Debido a que los espacios de medida de las distintas variables cualitativasno están relacionados entre sí, los valores correspondientes introducennueva información que permite vincular dichos espacios entre sí.
Ejemplo:((M+ amount level) (0 0) (full top) (inf inf))
20
DESCOMPOSICIÓN DE LAS EDO EN SUSCORRESPONDIENTES EXPRESIONES CUALITATIVAS
EDO:
(d2u/dt2)=-ku donde u=f(t) (M.A.S.)
EDQ: (abstracción estructural de las EDO)v1=du/dt → (d/dt u v1)v2=dv1/dt → (d/dt v1v2)v2=-ku → ((M- u v2) (minf inf) (0 0) (inf minf))
21
CONDICIONES ASOCIADAS A LASRESTRICCIONES CUALITATIVAS
Cada restricción cualitativa en QSIM lleva asociado unconjunto de condiciones {P1,.....,P2}
Para poder rechazar una asignación de valores asociadosa las variables cualitativas que aparecen en la restricciónsólo es necesario que se cumpla:
¬P1 ∨ ¬P2 ∨..... ∨ ¬Pn → ¬Ai
22
CONDICIONES ASOCIADAS A LASFUNCIONES MONOTÓNICAS
Funciones monotónicas
((M+ x y) ....... (xi yi) ......)• [dx/dt]=[dy/dt]• [x]xi=[y]yi
((M- x y) ....... (xi yi) ......)• [dx/dt]=-[dy/dt]• [x]xi=-[y]yi
23
CONDICIONES ASOCIADAS A LASUMA CUALITATIVA
Suma cualitativa
((add x y z) ....... (xi yi zi) ......)• [dx/dt]+[dy/dt]=[dz/dt]• [x]xi+[y]yi=[z]zi
• [x]∞ +[y]∞ =[z]∞ donde [x]∞=
– [+] si x= ∞– [0] si x= Valor finito– [-] si x= -∞
add [+] [0] [-][+] [+] [+] [+]/[0]/[-][0] [+] [0] [-][-] [+]/[0]/[-] [-] [-]
24
CONDICIONES ASOCIADAS A LAMULTIPLICACIÓN CUALITATIVA
Multiplicación cualitativa
((mult x y z) ....... (xi yi zi) ......)
• [x]0[y]0=[z]0
• [y] 0[dx/dt]+[dy/dt][x]0 =[dz/dt],– si [x]0=[y]0=[+] entonces [dx/dt]+[dy/dt] =[dz/dt],
• [abs(x)]abs(xi)+[abs(y)]abs(yi)=[abs(z)]abs(zi)
mult [+] [0] [-][+] [+] [0] [-][0] [0] [0] [0][-] [-] [0] [+]
25
CONDICIONES ASOCIADAS A LANEGACIÓN CUALITATIVA
Negación cualitativa
((minus x y) ....... (xi yi) ......)• [dx/dt]=-[dy/dt]• [x]xi=-[y]yi
26
CONDICIONES ASOCIADAS A LADERIVADA CUALITATIVA
Derivada cualitativa
(d/dt x y)• [dx/dt]=[y]0
27
ALGORITMOS DE RESOLUCIÓN DECONJUNTOS DE RESTRICCIONES
Algoritmo de Propagación
Algoritmo de Satisfacción de Restricciones (CSP)
28
EL ALGORITMO DE PROPAGACIÓN
Propagar las descripciones cualitativas desde unavariable a otra a través de las restricciones que lasconectan.
Cada restricción puede ser considerada como unprocesador local que tiene acceso a los valores de lasvariables que aparecen en dicha restricción.
Una representación gráfica ayuda a seguir el procesode propagación.
29
CONDICIÓN DE APLICABILIDAD DELALGORITMO DE PROPAGACIÓN
Para poder aplicar el algoritmo de propagación es necesario que todasmenos una de las variables involucradas en una restricción tengan unvalor definido.
En general la propagación local es posible cuando las restricciones delsistema pueden ser escritas como sigue:
x1=c;x2=f1(x1);x3=f2(x1, x2);Etc…
• Donde f1, f2 representan expresiones explicitas que pueden ser evaluadas.En caso contrario es mejor aplicar CSP.
30
INCONVENIENTES DEL ALGORITMODE PROPAGACIÓN
El problema de dicho algoritmo es que la propagación sepuede ver bloqueada por la configuración de lasrestricciones que definen el sistema.
Ejemplo: divisor de tensión (valores iniciales: v1=[+], v3=[0]).
– [R1]=[+]– [R2]=[+]– I1=I2
– I1*R1=v1-v2
– I2*R2=v2-v3
31
EJEMPLO DE PROPAGACIÓN
Problema de los dos tanques
pressureA pressureB
flowAB
amountA
amountB
32
EDQ PARA EL PROBLEMA DE LOSDOS TANQUES
(define-QDE U-tube(quantity-spaces
(amt A (0 Amax inf))(PressureA (0 inf))(amtB (0 Bmax inf))(PressureB (0 inf))(pAB (minf 0 inf))(flowAB (minf 0 inf))(-flowAB (minf 0 inf))(total (0 inf)))
(constraints((M+ amtA pressureA) (0 0) (inf inf))((M+ amtB pressureB) (0 0) (inf inf))((add pAB pressureB pressureA))((M+ pAB flowAB)) (minf minf) (0 0) (inf inf))((minus flowAB -flowAB))((d/dt amtB flowAB))((d/dt amtA -flowAB))((add amtA amtB total))((constant total)))
(transitions((amtA (Amax inc)) -> tank-A-overflow)((amtB (Bmax inc)) -> tank-B-bursts)))
33
DETERMINACIÓN DEL ESTADOINICIAL
Condiciones iniciales:
t=t0 amtA = <Amax ?> (tanque A lleno)amtB = <0 ?> (tanque B vacío)
34
REPRESENTACIÓN GRÁFICA DELALGORITMO DE PROPAGACIÓN
12
3
3
4
5
66
7 7
8
9
amtA↓
amtB↑
Amax
(0,∞) ↓
(0,∞) ↓
(0,∞) ↓
(0) ↑
(0)
(0,∞) θ
35
PROPAGACIÓN PASO A PASO PARA LADETERMINACIÓN DEL ESTADO INICIAL
COMPLETO
1. (M+ amtB pressureB) (0 0) ⇒ pressureB = <0, ?>2. (M+ amtA pressureA) entre (0 0) y (inf inf) ⇒ pressureA = <(0 ∞), ?>3. (add pAB pressureB pressureA) ⇒ pAB = <(0 ∞), ?>4. (add amtA amtB total) ⇒ total = <(0 ∞), ?>5. (M+ pAB flowAB) ⇒ flowAB = <(0 ∞), ?>6. (d/dt amtA -flowAB) (d/dt amtB flowAB)
• ⇒ amtA =<Amax, dec>• ⇒ amtB =<0, inc>
7. (M+ amtA pressureA) (M+ amtB pressureB) • ⇒ pressureA = <(0 ∞), dec>• ⇒ pressureB = <0 , inc>
8. (add pAB pressureB pressureA)• ⇒ pAB = <(0 ∞) , dec >
9. (M+ pAB flowAB)• ⇒ flowAB = <(0 ∞), dec >
36
ESTADO INICIAL (t=t0)
⇒ amtA =<Amax, dec>⇒ amtB =<0, inc>⇒ pressureA = <(0 ∞), dec>⇒ pressureB = <0, inc>⇒ pAB = <(0 ∞), dec >⇒ flowAB = <(0 ∞), dec >
37
ALGORITMO DE SATISFACCIÓN DERESTRICCIONES (CSP), DEFINICIÓN
Dado un problema definido por la tupla <V,D,P>,donde:
V ={v1, …., vn} es un conjunto de varibles.D={D1, ….., Dn} tal que cada Di representa el posible dominiode valores correspondiente a cada variable vi.P={P1, ….., Pm}, es un conjunto de restricciones donde cada Pjhace referencia a las relaciones entre un subconjunto devariables en V.
La solución mediante CSP de <V,D,P> representaun conjunto de asignaciones para las V.
38
ALGORITMO DE SATISFACCIÓN DERESTRICCIONES (CSP)
Dado un problema definido por la tupla <V,D,P>
1. Generación de cada uno de las posibles asignaciones <x1,...,xn> para lasvariables en V.
2. Comprobación de cada una de estas asignaciones frente a cada una de lasrestricciones, descartando aquellas que sean inconsistentes respecto deestas últimas.
3. Devolver el conjunto de asignaciones que no hayan sido descartadas.
39
INCONVENIENTES DEL CSP
Es intratable excepto para los casos más sencillos.
Cálculo del número de asignaciones:
Producto cartesiano de los dominios de valores de cada variable: Si disponemos de “n” variables y el dominio de cada variable tiene untamaño “d” el número de asignaciones sería del orden de dn.
40
SOLUCIÓN PARA EL CSP
Emplear la información del estado inicial para poder restringir losdominios de las variables implicadas mediante las reglas de estadossucesores de esta forma el número de estados que se generan esmucho menor (subespacio del producto cartesiano).
41
ALGORITMO DUAL DE WALTZ(WALTZ ´72)
Este algoritmo analiza, mediante un grafo, la consistencia tanto dearco como de nodo.
En dicho grafo los nodos contienen las restricciones y los arcos queunen dichos nodos representan las variables implicadas.
La consistencia de nodo considera p-tuplas de valores para lasvariables asociadas a la restricción, rechazando aquellas que seaninconsistentes con respecto a estas últimas.
La consistencia de arco garantiza que las tuplas asignadas a dosnodos adyacentes presentan los mismos valores para variablescompartidas.
42
ALGORITMO CFILTER
Dado una EDQ y su dominio de conocimiento elCSP es resuelto de la siguiente forma:
1. Restricción del dominio. Para cada variable vi se determina sudominio de valores a través de un conjunto de reglas que definenlos posibles estados sucesores a uno dado (state-successor rules).
2. Consistencia de Nodos.3. Consistencia de Arco.4. Búsqueda Exhaustiva. Genera todas las posibles asignaciones a
partir de las tuplas que no han sido rechazadas (algoritmo debacktracking).
43
REGLAS PARA DEFINIR LOSESTADOS SUCESORES
Puesto que nuestras variables son funcionescontinuamente diferenciables sólo existenunas pocas relaciones para poder establecer losposibles valores cualitativos sucesores a partir deuno dado.
44
TIPOS DE ESTADOS SUCESORES
t0 t1 t2
Lj+1
Lj
Lj-1
De punto a intervaloP-sucesores
t0 t1 t2
Lj+1
Lj
Lj-1
De intervalo a puntoI-sucesores
45
REGLAS DE DEFINICIÓN DE LOSESTADOS SUCESORES
QV(v,ti) QV(v,ti,,ti+1)
<lj, std> <lj, std>
<lj, std> <(lj, lj+1), inc>
<lj, std> <(lj-1, lj), dec>
<lj, inc> <(lj, lj+1), inc>
<lj, dec> <(lj-1, lj), dec>
<(lj, lj+1), inc> <(lj, lj+1), inc>
<(lj, lj+1), dec> <(lj, lj+1), dec>
<(lj, lj+1), std> <(lj, lj+1),std>
<(lj, lj+1), std> <(lj, lj+1), inc>
<(lj, lj+1), std> <(lj, lj+1), dec>
P - Sucesores:de punto a intervalo
QV(v,ti,,ti+1) QV(v,ti+1)
<lj, std> <lj, std>
<(lj, lj+1), inc> <lj+1, std>
<(lj, lj+1), inc> <lj+1, inc>
<(lj, lj+1), inc> <(lj, lj+1), inc>
<(lj, lj+1), inc> <(lj, lj+1), std>
<(lj, lj+1), dec> <lj, std>
<(lj, lj+1), dec> <lj, dec>
<(lj, lj+1), dec> <(lj, lj+1), dec>
<(lj, lj+1), dec> <(lj, lj+1), std>
<(lj, lj+1), std> <(lj, lj+1), std>
I - Sucesores: de intervalo a punto
46
INTERPRETACIÓN DE LOSP-SUCESORES
QV(v,ti) QV(v,ti,,ti+1)
<lj, std> <lj, std>
<lj, std> <(lj, lj+1), inc>
<lj, std> <(lj-1, lj), dec>
<lj, inc> <(lj, lj+1), inc>
<lj, dec> <(lj-1, lj), dec>
<(lj, lj+1), inc> <(lj, lj+1), inc>
<(lj, lj+1), dec> <(lj, lj+1), dec>
<(lj, lj+1), std> <(lj, lj+1),std>
<(lj, lj+1), std> <(lj, lj+1), inc>
<(lj, lj+1), std> <(lj, lj+1), dec>
P - Sucesores:de punto a intervalo
Interpretación
No hay cambio
Cambio con incremento
Cambio con decremento
Evolución de un punto límite
Evolución de un punto límite
No hay cambio
No hay cambio
No Hay cambio (nuevo landmark)
Cambio con incremento(nuevo landmark)
Cambio con decremento (nuevo landmark)
47
INTERPRETACIÓN DE LOSI-SUCESORES
QV(v,ti,,ti+1) QV(v,ti+1)
<lj, std> <lj, std>
<(lj, lj+1), inc> <lj+1, std>
<(lj, lj+1), inc> <lj+1, inc>
<(lj, lj+1), inc> <(lj, lj+1), inc>
<(lj, lj+1), inc> <(lj, lj+1), std>
<(lj, lj+1), dec> <lj, std>
<(lj, lj+1), dec> <lj, dec>
<(lj, lj+1), dec> <(lj, lj+1), dec>
<(lj, lj+1), dec> <(lj, lj+1), std>
<(lj, lj+1), std> <(lj, lj+1), std>
I - Sucesores: de intervalo a punto
Interpretación
No hay cambio
Evolución hacia un landmark
Evolición hacia un punto límite
No hay cambio
Evolución hacia un nuevo landmark
Evolución hacia un landmark
Evolución hacia un punto límite
No hay cambio
Evolución hacia un nuevo landmark
No hay cambio
48
EJEMPLO: ALGORITMO CFILTERPARA EL CASO DE UN TANQUE
inflow
outflow
netflowamount
49
RESTRICCIONES PARA ELPROBLEMA DE UN TANQUE
(define-QDE Minimal-Bathtub(quantity-spaces
(amount (0 full inf))(outflow (0 inf))(inflow (0 if* inf))(netflow (minf 0 inf)))
(constraints((M+ amount outflow) (0 0) (inf inf))((add netflow outflow inflow))((d/dt amount netflow))((constant inflowl)))
(transitions((amount (full inc)) -> tank-overflow)
50
PASO 0: DEFINICIÓN DE LASCONDICIONES INICIALES
t0
t0,t1
amount ⟨0, ↑⟩ ⟨(0,full), ↑⟩,
outflow ⟨0, ↑⟩ ⟨(0, ∞), ↑⟩
inflow {⟨if*, θ⟩}
{⟨if*, θ⟩}
netflow ⟨(0, ∞), ↓⟩ ⟨(0, ∞), ↓⟩
51
PASO 1: RESTRICCIÓN DELDOMINIO
Para el instante t1, y según las reglas de definición del estado sucesor,las variables implicadas sólo podrán tomar los siguientes valores:
t1
amount {⟨full, ↑⟩, ⟨full, θ⟩, ⟨(0,full), ↑⟩, ⟨(0, full), θ⟩}
outflow {⟨∞, ↑⟩, ⟨∞, θ⟩, ⟨(0, ∞), ↑⟩, ⟨(0, ∞), θ⟩}
inflow {⟨if*, θ⟩}
netflow {⟨0, ↓⟩, ⟨0, θ⟩, ⟨(0, ∞), ↓⟩, ⟨(0, ∞), θ⟩}
52
PASO 2: CONSISTENCIA DE NODO
Para cada restricción formamos todas las tuplas de posibles valores desus variables y las enfrentamos con la definición de cada restricción.
(constraints((M+ amount outflow) (0 0) (inf inf))((add netflow outflow inflow))((d/dt amount netflow))((constant inflow)))
53
PASO 2: CONSISTENCIA DE NODO((M+ amount outflow) (0 0) (inf inf))
1. Viola el hecho de que [d(amount)/dt]=[d(outflow)/dt]2. Violan el valor correspondiente (inf inf)
amount outflow
⟨full, ↑⟩ ⟨full, θ⟩ ⟨(0,full), ↑⟩ ⟨(0, full), θ⟩
⟨∞, ↑⟩ X2 X1,2 X2 X1,2
⟨∞, θ⟩ X1,2 X2 X1,2 X2
⟨(0, ∞), ↑⟩ X1 X1
⟨(0, ∞), θ⟩ X1 X1
54
PASO 2: CONSISTENCIA DE NODO((add netflow outflow inflow))
dando por hecho de que inflow=<if* θ>
3. Viola el hecho de que [d(netflow)/dt]+[d(outflow)/dt]=[d(inflow)/dt]4. A partir de [x]∞+[y]∞=[z]∞ se obtiene [+]+[0]≠[0] .
netflow outflow
⟨0, ↓⟩ ⟨0, θ⟩ ⟨(0,∞), ↓⟩ ⟨(0, ∞), θ⟩
⟨∞, ↑⟩ X4 X3,4 X4 X3,4
⟨∞, θ⟩ X3,4 X4 X3,4 X4
⟨(0, ∞), ↑⟩ X3 X3
⟨(0, ∞), θ⟩ X3 X3
55
PASO 2:CONSISTENCIA DE NODO((d/dt amount netflow))
5. Viola el hecho de que [d(amount)/dt]=[netflow]0
amountnetflow
⟨full, ↑⟩ ⟨full, θ⟩ ⟨(0,full), ↑⟩ ⟨(0, full), θ⟩
⟨0, ↓⟩ X5 X5
⟨0, θ⟩ X5 X5
⟨(0, ∞), ↓⟩ X5 X5
⟨(0, ∞), θ⟩ X5 X5
56
PASO 3 CONSISTENCIA DE ARCO ((M+ amount outflow) (0 0) (inf inf))
Amount Outflow
⟨full, ↑⟩ ⟨(0, ∞ ), ↑⟩
⟨full, θ⟩ ⟨(0, ∞ ), θ⟩
⟨(0,full), ↑⟩ ⟨(0, ∞ ), ↑⟩
⟨(0,full), θ⟩ ⟨(0, ∞ ), θ⟩
57
PASO 3 CONSISTENCIA DE ARCO ((add netflow outflow inflow))
Netflow Outflow
⟨0, ↓⟩ ⟨(0, ∞ ), ↑⟩
⟨0, θ⟩ ⟨(0, ∞ ), θ⟩
⟨(0, ∞), ↓⟩ ⟨(0, ∞ ), ↑⟩
⟨(0, ∞), θ⟩ ⟨(0, ∞ ), θ⟩
58
PASO 3: CONSISTENCIA DE ARCO((d/dt amount netflow))
Amount Netflow
⟨full, ↑⟩ ⟨(0,∞), ↓⟩
⟨full, ↑⟩ ⟨(0,∞) θ⟩
⟨full, θ⟩ ⟨0, ↓⟩
⟨full, θ⟩ ⟨0, θ⟩
⟨(0, full), ↑⟩ ⟨(0,∞), ↓⟩
⟨(0, full), ↑⟩ ⟨(0,∞), θ⟩
⟨(0, full), θ⟩ ⟨0,↓⟩
⟨(0, full), θ⟩ ⟨0,θ⟩
59
PASO 3: CONSISTENCIA DE ARCO
Todas las tuplas supervivientes satisfacen el test de consistencia dearco.
60
PASO 4: BÚSQUEDA EXHAUSTIVA
A partir de los valores de las tuplas supervivientes, podemos haceruna búsqueda exhaustiva hacia atrás creando todos los conjuntos deasignaciones globales consistentes.
1 2 3 4
amount ⟨full, ↑⟩ ⟨full, θ⟩ ⟨(0,full),↑⟩ ⟨(0, full), θ⟩
outflow ⟨(0, ∞),↑⟩, ⟨(0, ∞), θ⟩ ⟨(0, ∞),↑⟩ ⟨(0, ∞), θ⟩
inflow ⟨if*, θ⟩ ⟨if*, θ⟩ ⟨if*, θ⟩ ⟨if*, θ⟩
netflow ⟨(0, ∞), ↓⟩ ⟨0, θ⟩ ⟨(0, ∞), ↓⟩ ⟨0, θ⟩
61
FILTRADO GLOBAL
La solución 3 se descarta por no representar ningún cambio.
Los estados 1,2 y 4 se consideran como posibles estados del sistema parael instante t1.
El estado 1 representa una transición a otro régimen de operación.
Los estados 2 y 4 representan estados equiescentes.
62
ÁRBOL DE COMPORTAMIENTOS
Árbol de comportamientos obtenido para el modelo de un tanque
t0 t0,t1 t1
QS1(F,t0), QS1(F,(t0,t1)),QS1(F,t1)
QS2(F,t0), QS2(F,(t0,t1)),QS2(F,t1)
QS3(F,t0), QS3(F,(t0,t1)),QS3(F,t1)
63
COMPORTAMIENTO 1
t0 t1
inf
full
Amount
t0 t1
inf
Netflow
t0 t1
inf
If*
Inflow
t0 t1
inf
o-2
outflow
N-0N-1
minf
64
COMPORTAMIENTO 2
t0 t1
inffull
Amount
t0 t1
inf
Netflow
t0 t1
inf
If*
Inflow
t0 t1
inf
o-0
outflow
N-0
A-0
minf
65
COMPORTAMIENTO 3
t0 t1
inf
full
Amount
t0 t1
inf
Netflow
t0 t1
inf
If*
Inflow
t0 t1
inf
o-1
outflow
N-0
minf
66
CONDUCTAS REALES PARA ELPROBLEMA DEL TANQUE
……….
Rebosa
lleno
Estado inicial
67
ALGORITMO ASOCIADO A QSIMAlgoritmo QSIM:
Dado una EDQ y su dominio de conocimiento parcial,QSIM predice el conjunto de posiblescomportamientos cualitativos {Beh1, ...Beh2} de lasiguiente forma:
68
ALGORITMO ASOCIADO A QSIM1. Inicializa la agenda:
Con el conjunto de estados iniciales completos usando para ello el SCA (State-Completion Algorithm).
2. Si la agenda está vacía o si los recursos son excedidos el algoritmo para.Los caminos definidos desde la raíz hasta las hojas describen los distintoscomportamientos.En cualquier otro caso sacamos un estado S de la agenda.
3. Algoritmo CFilter:Para cada variable vi en las EDQ se determinan los posibles valores sucesores aQV(vi,S). Estos son interpretados como dominios de restricción por el algorimo Cfilter.Determinar todo los posibles estados sucesores {S1, ..,Sk} consistentes con losdominios restringidos y con las QDE.
4. Si S es un estado que representa un intervalo de tiempo el algoritmo eliminatodos los estados sucesores Si cuyos valores son idénticos con dicho estados(no change filter).
5. Para cada Si se establecen las relaciones de sucesores (S, Si) y predecesores(Si,S). Inserción en el árbol de comportamientos de los nuevos estados.
6. Se aplican los filtros globales a cada estado sucesor de Si.7. Se añade cada posible estado sucesor a la agenda.
Un nuevo estado sucesor Si creado es añadido a la agenda a menos que seadeclarado por un filtro global como: inconsistente(SI), Quiescente(Si), Cíclico(Si),Transición(Si), o que t=∞ en Si.
8. Se continua a partir del paso 2.
69
ALGORITMO DEL ESTADOCOMPLETO (SCA)
SCA: (State Completion Algorithm)
Algoritmo que permite describir si un estado es completo o no.
Estado completo:• Un estado es completo si cada variable de dicho estado posee un
valor tanto para su magnitud cualitativa como para su direcciónde cambio cualitativa.
70
ALGORITMO DEL ESTADOCOMPLETO (SCA) PASO A PASO
1. Dada la descripción de un estado S:Si S es completo. Finaliza el algoritmo. Se afirma Complete(S) .
2. Se aplica propagación para obtener una más completa descripciónde S
Si S es completo. Finaliza el algoritmo. Se afirma Complete(S).
3. Aplicamos el algoritmo Cfilter para derivar todos los posiblesestados {S1, ..., Sn} que son completos a partir de la informacióndisponible.
Se afirma que el conjunto de estados generados de esta forma escompleto, Completion(S, Si) además de afirmarlo para cada Si.
71
FILTROS GLOBALES
Estos filtros nos permiten:
Determinar la inconsistencia de un estado que no es visible através de las restricciones.
Hacer una descripción más específica de un estado, sin perdidade validez o generalidad, a través de la inclusión de nuevoslandmarks o identificando nuevos valores correspondientes.
72
TIPOS DE FILTROS GLOBALES
Hay dos tipos de filtros globales: filtros de estado yfiltros de comportamiento.
Los filtros de estado tienen carácter local considerando sólola información del estado actual bajo estudio y tal vez de supredecesor inmediato.
Los filtros de comportamiento consideran la informaciónglobal sobre un comportamiento completo que finaliza en elestado actual.
73
MODELADO BASADO ENRESTRICCIONES: QSIM
Filtros Globales:Filtros de estado.
Filtro “No change”.Filtro de valores infinitos.Filtro de estados quiescentes.Filtro para la creación de nuevos landmarks.Filtro para la creación de nuevos valores correspondientes.Filtro de reconocimiento de comportamientos cíclicos.Filtro para la identificación de las transiciones entre regiones de operación.Filtro de las derivadas de orden superior.
Filtros de comportamiento.Restricción sobre funciones analíticas.Restricción sobre la no intersección.Restricción sobre la energía global.Uso de otras informaciones cualitativas.
74
INCONVENIENTE: GENERACIÓN DEESTADOS ESPÚREOS
Los estados espúreos son aquellos estados que satisfaciendo lasrestricciones no representan ningún estado físico posible.
Ejemplo del muelleLos valores iniciales de las variables del sistema hacen referencia a la energíatotal de éste.En esos puntos el valor de la energía está definido (valores landmarks).Cuando el sistema evoluciona hacia un intervalo abierto el valor de la energíadeja de estar definido para convertirse en un intervalo de valores.Esta incertidumbre en el valor de la energía se propaga a lo largo de lasimulación dando lugar a la aparición de los estados espúreos.
Solución:inclusión explícita de nuevas restriccionesmodelado semicuantitativoetc...