Although the foundations of Artificial Intelligence (AI) have been around for a long time, advances in computational performance and research in novel AI techniques have led to a revival of this research domain. With the advent of the Internet of Things (IoT), numerous "smart" applications driven by AI, have found their way into our everyday lives. Due to the computational complexity of these techniques, currently a common approach is to minimize the computations performed on the user's device and to perform the bulk of the work in a cloud environment. However, with a foresight of over 20 billion smart devices by 2020, handling this data with a cloud-centric approach cannot be maintained. In order to continue the AI revolution, alternative approaches are needed in which the AI is distributed across devices closer to the edge of the IoT network. Current AI solutions mostly focus on large-scale cloud environments or high performance devices. IoT devices, however, are very diverse in hardware architecture and often constrained in resources. Depending on the hardware and software constraints (e.g. timing requirements, computational, memory and energy constraints), tailored optimization strategies are needed. In order to allow distribution of AI algorithms in such a diverse environment, two gaps in the state of the art need to be bridged. In this research project, we will investigate (1) a systematic analysis method for Artificial Intelligence to determine the characteristics of these algorithms and (2) define a method for optimal distribution of AI in the context of IoT.