Elsevier

Applied Soft Computing

Volume 25, December 2014, Pages 86-96
Applied Soft Computing

Genetic programming for smart phone personalisation

https://doi.org/10.1016/j.asoc.2014.08.058Get rights and content

Highlights

  • Context-aware smartphone personalisation with GP is proposed for adapting autonomously to user preferences.

  • We propose collaborative GP personalisation through the island model over multiple phones.

  • We demonstrated the framework empirically on two case study applications for solving multi-objective problems.

  • Results show collaborative personalisation speeds up convergence.

Abstract

Personalisation in smart phones requires adaptability to dynamic context based on user mobility, application usage and sensor inputs. Current personalisation approaches, which rely on static logic that is developed a priori, do not provide sufficient adaptability to dynamic and unexpected context. This paper proposes genetic programming (GP), which can evolve program logic in realtime, as an online learning method to deal with the highly dynamic context in smart phone personalisation. We introduce the concept of collaborative smart phone personalisation through the GP Island Model, in order to exploit shared context among co-located phone users and reduce convergence time. We implement these concepts on real smartphones to demonstrate the capability of personalisation through GP and to explore the benefits of the Island Model. Our empirical evaluations on two example applications confirm that the Island Model can reduce convergence time by up to two-thirds over standalone GP personalisation.

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)

  • R.D.S. Torres et al.

    A genetic programming framework for content-based image retrieval

    Patt. Recog.

    (2009)
  • H. Mühlenbein

    Evolution in time and space – the parallel genetic algorithm

    Foundations of Genetic Algorithms

    (1991)
  • M. Lee et al.

    Interactive differential evolution for image enhancement application in smart phone

  • H. Falaki et al.

    Diversity in smartphone usage

  • P.D. Costa et al.

    Designing a configurable services platform for mobile context-aware applications

    Int. J. Pervas. Comput. Commun.

    (2005)
  • J. Bae et al.

    Next generation mobile service environment and evolution of context aware services

  • A. Miele et al.

    A methodology for preference-based personalisation of contextual data

  • Richard S Sutton, Temporal credit assignment in reinforcement learning, PhD thesis,...
  • J.J. Hopfield

    Neural networks and physical systems with emergent collective computational abilities

    Proc. Natl Acad. Sci. U S A

    (April 1982)
  • J.R. Koza

    Genetic programming - on the programming of computers by means of natural selection

    Complex Adap. Syst.

    (1993)
  • S. Ventura et al.

    JCLEC: a Java framework for evolutionary computation

    Soft Comput.

    (2008)
  • N.F. McPhee et al.

    Sutherland: An extensible object-oriented software framework for evolutionary computation

  • C. Gagné et al.

    Open BEAGLE: a new versatile C++ framework for evolutionary computation

  • I.A. Ismail et al.

    Genetic programming framework for fingerprint matching

  • P. Valencia et al.

    Distributed genetic evolution in WSN

  • T. Lenaerts et al.

    Building a genetic programming framework: the added-value of design patterns

  • A. Lacerda et al.

    Learning to advertise

  • T. Weise et al.

    DGPF: an adaptable framework for distributed multi-objective search algorithms applied to the genetic programming of sensor networks

  • P. Korpipaa et al.

    Customizing user interaction in smart phones

  • onX project,...
  • Launch Center Pro,...
  • Cited by (0)

    View full text