Genetic programming for smart phone personalisation
Graphical abstract
Introduction
Smartphones have experienced exponential growth in recent years. These phones embed a growing diversity of sensors, such as gyroscopes, accelerometers, Global Positioning Systems (GPS), and cameras, with broad applicability in areas such as urban sensing or environmental monitoring. Coupled with phone users’ high mobility and diverse profiles [2], this sensory richness has fuelled complex applications with composite logic, including features such as location-based and usage-based services. The increased application complexity involves significant challenges in personalising smart phone applications so that they can adapt to new or unexpected context.
Smartphone personalisation either occurs centrally at a server or locally at the phone. Centralised approaches track user activity to customise content delivery or application behaviour. They can easily misrepresent user preferences due to spurious activity, and they involve privacy concerns as users need to share their data with the content providers. Most standalone smartphone algorithms, aiming at either data-centric [5] or user-centric personalisation [3], are based on static or rule-based approaches. However, personalisation increasingly depends on contextual information and user inputs [4], which are both subject to dynamic changes arising from mobility and user preferences. The problem of personalisation of smart phones is therefore multidimensional and requires an approach that can not only adapt parameters in response to changes in user preferences and context, but also adapt the program logic to optimise for unpredictable changes in context.
Online learning is well-suited for smart phone personalisation. In order to provide maximum versatility to support the creativity and unpredictability of smart phone users, we need an online learning approach that allows for the adaptation of program logic, and not just parameters within fixed program logic. Additionally, smart phone users are often co-located with several other users that share their context, providing opportunities for collaborative personalisation based on this shared context. The most suitable online learning strategy should provide the syntactic richness to evolve logic on a single smartphone, and to support the sharing of functional logical blocks among co-located phones according to the building block hypothesis [34].
Most online learning methods, such as reinforcement learning [6] and neural networks [7], are concerned with parameter optimisation only. While these methods could be run within an evolutionary framework, any sharing of genetic sequences across phones would not necessarily map to functional logic blocks, which could slow down convergence. Genetic Programming (GP), on the other hand, is amenable to this scenario, as it evolves both logic and parameters simultaneously, providing it with the syntactic richness and flexibility that is comparable to offline human software development. Because GP evolves functional logic blocks, sharing logic across multiple phones is both more meaningful and more conducive to quicker convergence.
This paper proposes GP for smart phone personalisation. We first show empirically that GP can support smart phone personalisation through our software framework called the Android Genetic Programming Framework (AGP). In order to expedite convergence towards high performing applications, we propose collaborative personalisation of smartphones through the GP Island Model to exploit shared context between co-located phones. The main research question we aim to answer is: “To what extent does collaborative smartphone personalisation improve convergence time?”. To address this question, we extend AGP to support the island model and run extensive experiments with 2 Android phones for a comparative evaluation of the benefits of sharing logic among smartphones against stand-alone personalisation, exploring 6 scenarios with different migration rates and intensities. Our results show that the Island Model consistently outperforms the standalone GP for online personaliation, and somewhat surprisingly, that injecting random programs into the subpopulations can be beneficial for the more complex application of energy-efficient localisation.
The contributions of this paper are:
- •
Introduction, motivation, and demonstration of genetic programming for smart phone personalisation
- •
Proposal of collaborative smart phone personalisation through the GP Island Model for faster convergence and exploitation of shared context
- •
Empirical evaluation of both standalone and collaborative personalisation through two case study applications, which confirm the benefits of collaborative personalisation
The remainder of the paper is organised as follows. Section 2 discusses related work in the literature. Section 3 defines the problem for smart phone personalisation, motivates genetic programming to address this problem, and proposes collaborative GP for faster personalisation. Section 4 briefly introduces the AGP framework and our extension to support the Island Model. Section 5 demonstrates online personalisation through GP, while Section 6 evaluates the benefits of collaborative personalisation through the Island Model. Section 7 discusses the results and concludes the paper.
Section snippets
Related work
Most online learning approaches, including neural networks, adaptive systems, and reinforcement learning, use specialised structures for representation within the learning process [8]. Because of their reliance on specialised structures, these approaches are amenable for online learning situations where the overall program logic is well-defined while individual parameters within this program structure need to be optimised. While these approaches have been used in an evolutionary context (for
Smart phone personalisation through GP
This section first defines the smart phone personalisation problem, and then motivates online learning, particularly through GP, to address this problem. The final part of the section argues for using collaborative learning through the Island Model to exploit shared context and shorten convergence time.
Android Genetic Programming framework
Faster convergence towards desirable behaviour and learning shared distributed context are both strong motivators for collaborative smart phone personalisation. We choose to demonstrate this approach by extending the AGP framework to support the Island Model. In designing this collaborative learning method, we consider the following:
- •
Broadcast communication: we select broadcast best-effort communication interfaces for migrating programs to avoid maintaining connection information and to support
Performance evaluation
This section demonstrates the capability of smart phone personalisation through online GP using 2 example applications.
Collaborative personalisation experiments
Having demonstrated online smartphone personalisation through GP, we now evaluate collaborative personalisation on the same example applications.
Discussion and conclusion
The benefits of the Island Model over the standard non-migratory population model are well known [38], [36], [26], [39] and this is clearly demonstrated in the obtained results. There is a very obvious increase in learning speed that can be attributed to the effects of migration when employing the Island Model. This is observable in the evolutionary trajectories of the fitness scores in both the Google Reader and the localisation example applications. Notably, the mean (pool) fitness decreases
Acknowledgements
The authors would like to thank Brano Kusy for his valuable inputs in realising this work. This project was supported by the Sensors and Sensor Network Transformational Capability Platform at CSIRO.
References (42)
- et al.
A genetic programming framework for content-based image retrieval
Patt. Recog.
(2009) Evolution in time and space – the parallel genetic algorithm
Foundations of Genetic Algorithms
(1991)- et al.
Interactive differential evolution for image enhancement application in smart phone
- et al.
Diversity in smartphone usage
- et al.
Designing a configurable services platform for mobile context-aware applications
Int. J. Pervas. Comput. Commun.
(2005) - et al.
Next generation mobile service environment and evolution of context aware services
- et al.
A methodology for preference-based personalisation of contextual data
- Richard S Sutton, Temporal credit assignment in reinforcement learning, PhD thesis,...
Neural networks and physical systems with emergent collective computational abilities
Proc. Natl Acad. Sci. U S A
(April 1982)Genetic programming - on the programming of computers by means of natural selection
Complex Adap. Syst.
(1993)