Artificial Intelligence for Smart Cities