¿Cómo puede cooperar un sistema distribuido para determinar las reglas de su entorno?

Simplifiquemos a una casa de 2 habitaciones con 2 interruptores y 2 luces en cada habitación. Vamos a modelar todo como variables binarias / booleanas (0/1 o verdadero / falso).

S11 = interruptor 1 en la habitación 1. Del mismo modo, defina S12, S21 y S22. 1 = encendido (arriba), 0 = apagado (abajo)

L11 = luz 1 en la habitación 1. De manera similar, defina L12, L21 y L22. 1 = encendido, 0 = apagado

El estado de L11 se puede modelar como una variable dependiente, con las 8 variables anteriores como variables independientes. Entonces, imagine si L11 fue controlado por S11. Simplemente dirías L11 = S11. Si tanto S11 como S12 necesitaran estar encendidos para que se ilumine L11, diría L11 = S11 * S12.

Para probar completamente los efectos de S11 y S12 en L11, querrás algo como:

L11 = A * S11 + B * S12 + C * S11 * S12, sujeto a A + B + C = 1

Y luego resuelva para A, B y C (cada una de las cuales también son variables binarias) a través de la experimentación.

Fuera del tiempo para esta tarde, pero con suerte eso te dará una idea de cómo comenzarías a modelar la situación más amplia