The goal of ubiquitous computing is to create ambience in which one’s experiences and quality of life are improved by monitoring and assisting people using ubiquitous technologies and computation in coherence. The continuous advancements of involved technologies, such as wireless communications, mobile devices, and sensors, imply fast evolution of ubiquitous computing environments too. The complexity of these environments is reaching a point where traditional solutions simply no longer work. The environments are in need of computational techniques that can deal with the evolution and uncertainty of ubiquitous computing environments dynamically and automatically. Artificial Intelligence (AI) can contribute towards satisfying this future scen...