diagn´ostico de fallas en circuitos...

26
Diagn´ostico de fallas en circuitos digitales Circuito digital: Construido usando las siguientes compuertas. NOT: AND: OR: 1

Upload: dodien

Post on 15-Oct-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico de fallas en circuitos digitales

Circuito digital: Construido usando las siguientes compuertas.

NOT:

AND:

OR:

1

Page 2: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Ejemplo: Sumador binario

Un sumador binario recibe como entrada dos bits a y b y el resto c

de otra suma. Retorna el valor de la suma s y el resto r:

a b c s r

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

2

Page 3: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Ejemplo: Sumador binario

Construimos el circuito considerando los valores 1 en las salidas:

r

N2

N3

N1a

c

b

A7A1 A2 A3 A4 A5 A6

O2O1

s

3

Page 4: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Representacion en logica proposicional

El comportamiento del circuito puede ser especificado usando

logica proposicional.

Usamos letras proposicionales que representan la salida de cada

compuerta.

4

Page 5: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Representacion en logica proposicional

a5

N2

N3

N1a

c

b

A7A1 A2 A3 A4 A5 A6

O2O1

s r

a1 a3 a6 a7

n1

n2

n3

a4a2

5

Page 6: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Representacion en logica proposicional

Entonces el comportamiento del circuito es representado por el

siguiente conjunto de formulas ESP :

- Compuertas NOT:

n1 ↔ ¬a n2 ↔ ¬b

n3 ↔ ¬c

- Compuertas AND:

a1 ↔ (n1 ∧ n2 ∧ c) a2 ↔ (n1 ∧ b ∧ n3)

a3 ↔ (a ∧ n2 ∧ n3) a4 ↔ (a ∧ b ∧ c)

a5 ↔ (n1 ∧ b ∧ c) a6 ↔ (a ∧ n2 ∧ c)

a7 ↔ (a ∧ b ∧ n3)

6

Page 7: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Representacion en logica proposicional

- Compuertas OR:

s ↔ (a1 ∨ a2 ∨ a3 ∨ a4)

r ↔ (a4 ∨ a5 ∨ a6 ∨ a7)

Estas formulas especifican el comportamiento normal del circuito.

7

Page 8: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Problemas de funcionamiento

Supongamos que hacemos funcionar el circuito con entrada a = 1,

b = 0 y c = 0, y que vemos como salida s = 0 y r = 0.

¿Que paso? El circuito no esta funcionando bien.

- ¿Como se refleja esto en nuestra especificacion del circuito?

Si OBS es el conjunto observado de entradas y salidas (OBS = {a,

¬b, ¬c, ¬s, ¬r}), entonces ESP ∪ OBS es inconsistente.

- No podemos usar ESP ∪ OBS para descubrir que paso.

Necesitamos una representacion que sea tolerante a fallas.

- No debe ser inconsistente si el circuito funciona mal.

8

Page 9: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Modelo tolerante a fallas

Queremos usar la representacion del circuito para inferir

que compuertas estan funcionando mal.

Por cada compuerta X vamos a introducir una variable

proposicional normal X que indica que la compuerta

esta funcionando bien.

Si la compuerta X funciona mal, podemos satisfacer ESP ∪ OBS

tomando una valuacion σ tal que σ(normal X) = 0.

9

Page 10: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Modelo tolerante a fallas

La nueva representacion ESP tolerante a fallas es definida de la

siguiente forma:

- Compuertas NOT:

normal N1 → (n1 ↔ ¬a)

normal N2 → (n2 ↔ ¬b)

normal N3 → (n3 ↔ ¬c)

10

Page 11: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Modelo tolerante a fallas

- Compuertas AND:

normal A1 → (a1 ↔ (n1 ∧ n2 ∧ c))

normal A2 → (a2 ↔ (n1 ∧ b ∧ n3))

normal A3 → (a3 ↔ (a ∧ n2 ∧ n3))

normal A4 → (a4 ↔ (a ∧ b ∧ c))

normal A5 → (a5 ↔ (n1 ∧ b ∧ c))

normal A6 → (a6 ↔ (a ∧ n2 ∧ c))

normal A7 → (a7 ↔ (a ∧ b ∧ n3))

- Compuertas OR:

normal O1 → (s ↔ (a1 ∨ a2 ∨ a3 ∨ a4))

normal O2 → (r ↔ (a4 ∨ a5 ∨ a6 ∨ a7))

11

Page 12: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Modelo tolerante a fallas

¿Por que al introducir las nuevas variables proposicionales usamos

→ en lugar de ↔?

Notese que si OBS = {a,¬b,¬c,¬s,¬r}, entonces ESP ∪ OBS es

consistente.

- La nueva representacion es tolerante a fallas.

¿Que representa una valuacion σ tal que σ(ESP ∪ OBS ) = 1?

- Es una posible explicacion del mal funcionamiento.

12

Page 13: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Sumador binario: Modelo tolerante a fallas

Ejemplo: una valuacion σ tal que σ(normal X) = 0 para toda

compuerta X satisface ESP ∪ OBS .

¿Que nos dice esta valuacion? Que todo esta funcionando mal. ¡No

es una buena explicacion!

No podemos saber con certeza que compuerta esta fallando. Pero si

podemos conjeturar alguna explicacion.

- Vamos a asumir que la probabilidad de falla de una compuerta es

baja.

- Nos interesan las explicaciones minimales.

13

Page 14: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Modelo tolerante a fallas: Diagnostico

Dada una valuacion σ tal que σ(ESP ∪ OBS ) = 1, definimos:

expl(σ) = { ¬normal X | σ(normal X) = 0 }.

expl(σ): explicacion asociada a σ.

Dada una valuacion σ tal que σ(ESP ∪ OBS ) = 1, decimos que la

explicacion asociada a σ es minimal si no existe σ′ tal que

σ′(ESP ∪ OBS ) = 1 y expl(σ′) ( expl(σ).

Diagnostico: explicacion minimal, vale decir,

diag(ESP ∪ OBS ) = { expl(σ) | σ(ESP ∪ OBS ) = 1 y

expl(σ) es minimal }.

14

Page 15: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Modelo tolerante a fallas: Diagnostico

En el ejemplo: La siguiente valuacion satisface a ESP ∪ OBS .

σ(a) = 1 σ(a2) = 0 σ(normal A1) = 1

σ(b) = 0 σ(a3) = 1 σ(normal A2) = 1

σ(c) = 0 σ(a4) = 0 σ(normal A3) = 1

σ(s) = 0 σ(a5) = 0 σ(normal A4) = 1

σ(r) = 0 σ(a6) = 0 σ(normal A5) = 1

σ(n1) = 0 σ(a7) = 0 σ(normal A6) = 1

σ(n2) = 1 σ(normal N1) = 1 σ(normal A7) = 1

σ(n3) = 1 σ(normal N2) = 1 σ(normal O1) = 0

σ(a1) = 0 σ(normal N3) = 1 σ(normal O2) = 1

expl(σ) = {¬normal O1} es minimal: Un posible diagnostico es que

la compuerta O1 esta funcionando mal.

15

Page 16: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

¿Como podemos descubrir otros diagnosticos? ¿Como podemos

usar Otter para descubrir diagnosticos?

Como el circuito esta funcionando mal, sabemos que:

ESP ∪ OBS ∪ {normal X | X ∈ {N1, N2, N3,

A1, A2, A3, A4, A5, A6, A7, O1, O2}}

es inconsistente.

Podemos usar Otter para demostrar esto.

16

Page 17: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

Entrada:

set(binary_res).

clear(factor).

clear(unit_deletion).

formula_list(usable).

normal_N1 -> (n1 <-> -a).

normal_N2 -> (n2 <-> -b).

normal_N3 -> (n3 <-> -c).

normal_A1 -> (a1 <-> (n1 & n2 & c)).

normal_A2 -> (a2 <-> (n1 & b & n3)).

normal_A3 -> (a3 <-> (a & n2 & n3)).

normal_A4 -> (a4 <-> (a & b & c)).

17

Page 18: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

normal_A5 -> (a5 <-> (n1 & b & c)).

normal_A6 -> (a6 <-> (a & n2 & c)).

normal_A7 -> (a7 <-> (a & b & n3)).

normal_O1 -> (s <-> (a1 | a2 | a3 | a4)).

normal_O2 -> (r <-> (a4 | a5 | a6 | a7)).

a.

-b.

-c.

-s.

-r.

end_of_list.

18

Page 19: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

formula_list(sos).

normal_N1.

normal_N2.

normal_N3.

normal_A1.

normal_A2.

normal_A3.

normal_A4.

normal_A5.

normal_A6.

normal_A7.

normal_O1.

normal_O2.

end_of_list.

19

Page 20: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

Parte de la salida:

---------------- PROOF ----------------

4 [] -normal_N2|n2|b.

6 [] -normal_N3|n3|c.

18 [] -normal_A3|a3| -a| -n2| -n3.

38 [] -normal_O1|s| -a3.

45 [] a.

46 [] -b.

47 [] -c.

48 [] -s.

51 [] normal_N2.

52 [] normal_N3.

55 [] normal_A3.

60 [] normal_O1.

20

Page 21: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

63 [binary,51.1,4.1] n2|b.

64 [binary,52.1,6.1] n3|c.

71 [binary,55.1,18.1] a3| -a| -n2| -n3.

84 [binary,60.1,38.1] s| -a3.

92 [binary,63.2,46.1] n2.

93 [binary,64.2,47.1] n3.

100 [binary,84.1,48.1] -a3.

101 [binary,71.1,100.1] -a| -n2| -n3.

105 [binary,101.1,45.1] -n2| -n3.

108 [binary,105.1,92.1] -n3.

109 [binary,108.1,93.1] $F.

------------ end of proof -------------

21

Page 22: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

Otter no uso todas las compuertas en la demostracion: No todo

funciona mal.

¿Que podemos inferir desde la demostracion? ESP ∪ OBS ∪

{normal N2, normal N3, normal A3, normal O1} es inconsistente.

Por lo tanto:

ESP ∪ OBS |= ¬normal N2 ∨ ¬normal N3 ∨

¬normal A3 ∨ ¬normal O1

Vale decir: N2, N3, A3 o O1 esta funcionando mal.

22

Page 23: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

Cualquier diagnostico tiene que incluir a una de las compuertas N2,

N3, A3 o O1.

¿Como podemos obtener mas informacion?

Podemos usar el mecanismo de pesos para buscar otras alternativas:

weight_list(pick_given).

weight(normal_N2,1000).

weight(normal_N3,1000).

weight(normal_A3,1000).

weight(normal_O1,1000).

end_of_list.

23

Page 24: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

Parte de la salida:

---------------- PROOF ----------------

4 [] -normal_N2|n2|b.

6 [] -normal_N3|n3|c.

18 [] -normal_A3|a3| -a| -n2| -n3.

38 [] -normal_O1|s| -a3.

45 [] a.

46 [] -b.

47 [] -c.

48 [] -s.

51 [] normal_N2.

52 [] normal_N3.

55 [] normal_A3.

60 [] normal_O1.

24

Page 25: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

91 [binary,51.1,4.1] n2|b.

93 [binary,91.2,46.1] n2.

94 [binary,93.1,18.4] -normal_A3|a3| -a| -n3.

95 [binary,52.1,6.1] n3|c.

96 [binary,95.2,47.1] n3.

97 [binary,60.1,38.1] s| -a3.

98 [binary,97.1,48.1] -a3.

99 [binary,94.1,55.1] a3| -a| -n3.

103 [binary,99.1,98.1] -a| -n3.

106 [binary,103.1,45.1] -n3.

107 [binary,106.1,96.1] $F.

------------ end of proof -------------

25

Page 26: Diagn´ostico de fallas en circuitos digitalesmarenas.sitios.ing.uc.cl/iic2212-05/clases/diagnostico.pdf · Sumador binario: Representaci´on en l´ogica proposicional El comportamiento

Diagnostico y Otter

Otter sigue diciendo que el problema esta en N2, N3, A3 o O1.

- Tenemos evidencia para creer que cualquier diagnostico va a decir

que una de estas tres compuertas no funciona bien.

Ahora que Otter ha reducido el espacio de busqueda, es mas facil

encontrar otros diagnosticos.

Ejercicio: Encuentre otros tres diagnosticos basado en la evidencia

entregada por Otter.

Las ideas que hemos presentado aquı pueden generalizarse para

encontrar diagnosticos usando resolucion.

- Vamos a presentar esto cuando veamos logica de primer orden.

26