Cuando mi esposa y yo nos mudamos a nuestra casa, una de mis primeras tareas fue cambiar los interruptores de luz antiguos por otros nuevos en las habitaciones de uso frecuente. Una vez que descubrí cómo se hizo, parecía bastante simple: ir a la caja de circuitos, apagar el interruptor de circuito para esa habitación en particular y reemplazar los interruptores.
Todo parecía bien, hasta que hice una chocante Descubrí que uno de los interruptores (no estábamos seguros de lo que controlaba) todavía tenía energía funcionando después de apagar el interruptor de esa habitación. Fui directo a la tienda para obtener un probador de circuitos ... pero ese interruptor aún necesitaba ser reemplazado. Podía apagar los 30 interruptores a la vez, pero tenía curiosidad por saber qué interruptor controla ese interruptor.

¿Y ahora que?
El enfoque más simple parece ser probar un circuito a la vez, hasta que pueda averiguar qué circuito controla el interruptor. Por supuesto, el interruptor y la toma de corriente se encuentran en diferentes pisos, por lo que esto todavía parece tedioso. Si tengo suerte, apago el circuito correcto inmediatamente. Pero si tengo mala suerte, 30 circuitos significan muchos viajes por las escaleras.
¿Una búsqueda binaria?
Podría hacer una búsqueda binaria con la mitad de los circuitos encendidos y la mitad de ellos apagados, averiguar a qué grupo pertenece el interruptor y repetir este proceso hasta que llegue a un solo interruptor. Sin embargo, una rápida búsqueda en Internet revela que hay una posibilidad dos los circuitos deben estar desactivados para que finalmente pueda cambiar ese interruptor. El método uno a la vez ni siquiera me ayuda con esto.
Estoy seguro de que solo necesito apagar un circuito, pero ¿y si no es así? Esto suena como si pudiera hacer un experimento diseñado, pero no tengo la idea típica de ruido aleatorio, y mi respuesta es esencialmente binaria (potencia del interruptor o no). Lo que realmente quiero es un diseño con estas características:
Si es solo un circuito, dime exactamente cuál es.Si se trata de dos circuitos, indíqueme que he visto un caso con los dos disyuntores apagados (y no todos los interruptores, lo que no es particularmente útil).Consigue los dos primeros puntos en la menor cantidad de pruebas posibles.Resulta que puedo hacer esto con solo ocho pruebas, donde cada ejecución / prueba tiene algunos de los interruptores activados, y algunos de ellos desactivados.
¿Cómo?
A Cumbre Descubrimiento 2014 La charla plenaria de John Sall mostró una vista previa de algunas de las nuevas características fantásticas que saldrán en JMP 12 el próximo mes de marzo. Mi favorito personal es la nueva plataforma JMP Pro 12 en el DOE para cubrir arrays, implementada por Joseph Morgan, el miembro más nuevo del equipo de desarrollo del DOE.
Una matriz de cobertura?
Para una fuerza t cubriendo matriz, dado cualquier t Columnas, cada combinación de nivel posible ocurre. al menos una vez . Por ejemplo, para una matriz que cubre 2 que tiene la columna (factor) A con los niveles A1 y A2, y la columna B con los niveles B1 y B2, cada uno de los pares (A1, B1), (A1, B2), (A2, B1), (A2, B2) debería aparecer en el diseño.
Entonces, si tuviera una matriz de cobertura de nivel 2 donde los factores representan los interruptores con niveles activados / desactivados, sé que para cualquier par de interruptores, en algún lugar del experimento he visto ambos interruptores, uno encendido y otro apagado, y ambos fuera.
Para aquellos familiarizados con el DOE, esto podría sonar similar a la definición de una matriz ortogonal. La diferencia clave es que una matriz ortogonal requiere que cada combinación se produzca exactamente el mismo número de veces, mientras que una matriz de cobertura solo requiere que se produzca cada combinación. Como resultado, si tengo 30 factores, X1-X30, que representan los circuitos con los ajustes activados / desactivados, la matriz de cobertura 2 de menor potencia tiene solo ocho carreras. Para este caso en particular, la primera prueba tiene todos los interruptores configurados en "on", por lo que realmente necesitaría solo siete pruebas. Una matriz ortogonal para este caso requeriría 32 ejecuciones.
Los arreglos de cobertura se utilizan con frecuencia en las pruebas de software, donde ayudan a garantizar que no haya fallas de software debido a t - combinaciones de factores de camino. Los arreglos de cobertura ayudan a lograr esto a una fracción del costo de las pruebas exhaustivas. Los arreglos de cobertura se han utilizado para probar partes de JMP desde 2006.
¿Cómo funciona en este caso?
Digamos que tengo la matriz de cobertura de ocho carreras de la carrera 2, y registré si el interruptor tenía electricidad para cada carrera o no. Solo muestro los primeros factores en la figura a continuación, pero mi tabla de datos real va a X30.

Esto es solo una vista previa de lo que vendrá en JMP 12, pero en este ejemplo, puedo decir que el circuito X1 es el culpable. El interruptor de luz siempre funciona cuando X1 está activado y no lo hace cuando X1 está apagado. Este no es el caso de cualquier otro interruptor. Ahora no solo puedo cambiar el interruptor, sino que he resuelto el misterio de qué circuito realmente lo controla.
Pensamientos finales
En este ejemplo, algunos viajes adicionales por las escaleras pueden no parecer una gran cosa, pero puedes imaginar ejemplos en los que una prueba puede ser muy costosa, por lo que cada carrera salvada hace una gran diferencia. En particular, a medida que aumenta la cantidad de factores, hay muchas posibilidades que puede perder si no tiene acceso al software para cubrir arrays. ¿Y si tuviera muchos más interruptores, digamos 100, 200 o 500? Podría pensar que una matriz de cobertura sería demasiado grande para tratar. El tamaño de ejecución para los casos anteriores es 10, 11 y 13 respectivamente - ¡increíble!
¡Puede esperar más en la cobertura de matrices cuando JMP 12 se lance el próximo marzo!