A scalable, reactive and easy to evolve reasoning mechanism is essential for the success of automated smart environments, augmented with a large number of sensors and actuators. While constraint satisfaction problem (CSP) model is applicable for modelling decision making in such environments, the straightforward representation of the model as a CSP leads to a great number of excessive calculations. In this paper, we propose a method of modelling the task as a Dynamic CSP in a way that avoids unnecessary recalculations with new events in the environment. We present a Dependency Graph data structure, which not only allows to reduce CSP search space for every consecutive sensor event by detecting only affected parts of the environment, but also allows to give enough information to users of the system to specify the exact reasons of system's decisions, even with a large number of constraints. We formally prove that partial recalculation of affected parts still keeps the full environment globally satisfied and globally optimal. The evaluation of the system in the living lab showed real-time responses for all events. Additional simulated performance experiments showed that the Dependency Graph approach consistently outperforms the straightforward CSP representation. The experiments also showed that the clusterization of the environment has a noticeable effect on the performance, with highly clusterized environments requiring less computations.
|Journal||International Journal on Artificial Intelligence Tools|
|Publication status||Published - 2014|