SlideShare uma empresa Scribd logo
1 de 16
Android Genetic Programming Framework
Alban Cotillon
Philip Valencia
Raja Jurdak
CSIRO ICT Centre, Brisbane,
Australia
Why GP for Smart Phone Personalisation
Why personalize smart phones?
• Exponential market growth in recent years
• Diverse user preferences and contexts
• Broad range of embedded sensors
• Access to huge Internet data base
• High* computation power
Why use online GP?
• Limitations of rule-based approaches
• Need adaptation to new contexts
• Need to continuously evolve
Why Android?
• Open-source
• Support Java development
• Quick prototyping
Paper goal
• To demonstrate AGP’s ability to solve multi-
objective problems in dynamic environments
Design Considerations – Interaction and
Resources
• User interaction
• Direct access to Android API (no scripting
language)
• Developer-specified permissions
• Limited resources
• Computation
• Energy
• Android API battery level
• System file to track consumption
• Key idea
Learn more when there is more slack
Design Considerations – Services and Intent
• Services
• Long running background operations through Android services
• Interpreter Shell
• Processes generated programs
• Runs in separate thread from main application
• Avoid ANR errors for buggy programs
• No direct access to sensors
• Interpreter context keeps track of which sensors have been used
for this application
• Avoids powering off sensors needed by other applications
The AGP Framework
AGP Data Structures and Populations
• Functions and Terminals
• AGP-specific interfaces
• FunctionInterface and TerminalInterface
• Specify primitive arity, string serialization representation, estimated
time cost
• Use Strategy Pattern for flexibility
• FunctionSet and TerminalSet
• Store available functions and terminals for application
• Developer can add, remove or search primitives
• Populations and Programs
• Use Builder Pattern
• Implemented as trees Access to function and
terminal sets, and helper
Selectors, Genetic Operators, and State
• Selectors
• Evaluation thread ranks running programs in execution thread
• Top-ranked programs chosen to breed next generation
• Use wheel selectors by default
• Currently supports two genetic operators
• Crossover
• Mutation
• Saving program and population state
• Needed for undesired reboots, crashes, battery depletion
• Use serializable classes
• Specialised builders to reconstruct populations and programs from
serialized form saved in a file
• UnserializePopulationBuilder
• UnserializeProgramBuilder
Injecting Expert Knowledge
• Constrain evolution landscape
• Needed to avoid resource overutilization
• AGP supports two components
• Helper
• Called during program generation process
• One or more per application using HelperInterface
• Use evaluate() function to specify correctness conditions for application
• E.g.: discard program for geolocalization that do not call a location
service
• Supervisor
• Runs during program interpretation
• Check constraints on-the-fly
• Can kill Interpreter Shell if constraints exceeded
• E.g.: enforce limits on program execution time
Case Study: Google Reader Application
• Provides selected news feeds to users
• Preferred content is context-specific for Smart Phones
• Less text
• More photos
• Whenever the user wants to get news, she asks for a news
report which executes a GP program and returns the latest and
unread news from feeds selected by the program.
Experiments and Results
• 7 news sources
• 4 technology news
websites
• 1 infographics
• Break Videos
• Business Green for
latest green products
• User has entered
interest for all sites
• Preference for
technology news
sites on smart
phone
• Desired story count
set to 10
• Pool size is 5
programs
Case Study: Context-aware Localization
• Smart Phones provide several location
data sources
• GPS
• Cell-tower
• Wifi
• Context-specific cost benefit for each
technology
• Position
• Signal quality
• Device energy profile
Accuracy Fitness
• During learning
• Evaluation thread keeps all location providers on
• Uses provider with best accuracy as best position
Energy Fitness
• Assumptions
• Assume day-long operation
• Use 1400mAh battery capacity
• Target average current draw of 63 mA for 22 hours
• Implementation
• Use Android PowerProfile class
• Assess energy cost based on selected location provider and CPU
usage
• Energy fitness is a linear function between 0 and 1
• 0 means the program energy cost will not meet the daily operation
target
• 1 means the program costs no energy
Experiments and Results
• 12 programs/population
• Evaluation time is 1 minute
• Function set provides arithmetic functions and
location provider selection functions
• Two sets of experiments with and without Helper
Discussion and Conclusions
• Android Genetic Programming Framework
• Smart phone personalization through online GP
• Demonstrated on two case study applications
• Diversity/usability considerations
• Future work
• Cooperative evolution through the Island Model
Thank you
Dr. Raja Jurdak
CSIRO ICT Centre
Principal Research Scientist
Research Group Leader
Phone: +61 (0)7 3327 4059
Email: raja.jurdak@csiro.au
Web: http://jurdak.com
University of Queensland
Adjunct Associate Professor

Mais conteúdo relacionado

Semelhante a Android Genetic Programming Framework

The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrument
Jonah Kowall
 

Semelhante a Android Genetic Programming Framework (20)

8 cloud design patterns you ought to know - Update Conference 2018
8 cloud design patterns you ought to know - Update Conference 20188 cloud design patterns you ought to know - Update Conference 2018
8 cloud design patterns you ought to know - Update Conference 2018
 
6 Steps to Implementing a World Class Testing Ecosystem Final
6 Steps to Implementing a World Class Testing Ecosystem Final6 Steps to Implementing a World Class Testing Ecosystem Final
6 Steps to Implementing a World Class Testing Ecosystem Final
 
Gcp intro-20160721
Gcp intro-20160721Gcp intro-20160721
Gcp intro-20160721
 
Geode Performance Architecture for the Agile Enterprise Using Cloud Native API's
Geode Performance Architecture for the Agile Enterprise Using Cloud Native API'sGeode Performance Architecture for the Agile Enterprise Using Cloud Native API's
Geode Performance Architecture for the Agile Enterprise Using Cloud Native API's
 
Big Data Berlin v8.0 Stream Processing with Apache Apex
Big Data Berlin v8.0 Stream Processing with Apache Apex Big Data Berlin v8.0 Stream Processing with Apache Apex
Big Data Berlin v8.0 Stream Processing with Apache Apex
 
Thomas Weise, Apache Apex PMC Member and Architect/Co-Founder, DataTorrent - ...
Thomas Weise, Apache Apex PMC Member and Architect/Co-Founder, DataTorrent - ...Thomas Weise, Apache Apex PMC Member and Architect/Co-Founder, DataTorrent - ...
Thomas Weise, Apache Apex PMC Member and Architect/Co-Founder, DataTorrent - ...
 
Zero to ten million daily users in four weeks: sustainable speed is king
Zero to ten million daily users in four weeks: sustainable speed is kingZero to ten million daily users in four weeks: sustainable speed is king
Zero to ten million daily users in four weeks: sustainable speed is king
 
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...
Webinar: Out of the Box Features of an iPaaS - Cloud Integration Platform as ...
 
6 Top Tips to a Testing Strategy That Works
6 Top Tips to a Testing Strategy That Works6 Top Tips to a Testing Strategy That Works
6 Top Tips to a Testing Strategy That Works
 
TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto
 
Festive Tech Calendar 2022
Festive Tech Calendar 2022Festive Tech Calendar 2022
Festive Tech Calendar 2022
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Introducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdfIntroducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdf
 
System center 2012 configutation manager rc2
System center 2012 configutation manager rc2System center 2012 configutation manager rc2
System center 2012 configutation manager rc2
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
 
Software Architecture For Condition Monitoring Of Mobile Underground
Software Architecture For Condition Monitoring Of Mobile UndergroundSoftware Architecture For Condition Monitoring Of Mobile Underground
Software Architecture For Condition Monitoring Of Mobile Underground
 
Comparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsComparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutions
 
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrument
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 

Último

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 

Android Genetic Programming Framework

  • 1. Android Genetic Programming Framework Alban Cotillon Philip Valencia Raja Jurdak CSIRO ICT Centre, Brisbane, Australia
  • 2. Why GP for Smart Phone Personalisation Why personalize smart phones? • Exponential market growth in recent years • Diverse user preferences and contexts • Broad range of embedded sensors • Access to huge Internet data base • High* computation power Why use online GP? • Limitations of rule-based approaches • Need adaptation to new contexts • Need to continuously evolve Why Android? • Open-source • Support Java development • Quick prototyping Paper goal • To demonstrate AGP’s ability to solve multi- objective problems in dynamic environments
  • 3. Design Considerations – Interaction and Resources • User interaction • Direct access to Android API (no scripting language) • Developer-specified permissions • Limited resources • Computation • Energy • Android API battery level • System file to track consumption • Key idea Learn more when there is more slack
  • 4. Design Considerations – Services and Intent • Services • Long running background operations through Android services • Interpreter Shell • Processes generated programs • Runs in separate thread from main application • Avoid ANR errors for buggy programs • No direct access to sensors • Interpreter context keeps track of which sensors have been used for this application • Avoids powering off sensors needed by other applications
  • 6. AGP Data Structures and Populations • Functions and Terminals • AGP-specific interfaces • FunctionInterface and TerminalInterface • Specify primitive arity, string serialization representation, estimated time cost • Use Strategy Pattern for flexibility • FunctionSet and TerminalSet • Store available functions and terminals for application • Developer can add, remove or search primitives • Populations and Programs • Use Builder Pattern • Implemented as trees Access to function and terminal sets, and helper
  • 7. Selectors, Genetic Operators, and State • Selectors • Evaluation thread ranks running programs in execution thread • Top-ranked programs chosen to breed next generation • Use wheel selectors by default • Currently supports two genetic operators • Crossover • Mutation • Saving program and population state • Needed for undesired reboots, crashes, battery depletion • Use serializable classes • Specialised builders to reconstruct populations and programs from serialized form saved in a file • UnserializePopulationBuilder • UnserializeProgramBuilder
  • 8. Injecting Expert Knowledge • Constrain evolution landscape • Needed to avoid resource overutilization • AGP supports two components • Helper • Called during program generation process • One or more per application using HelperInterface • Use evaluate() function to specify correctness conditions for application • E.g.: discard program for geolocalization that do not call a location service • Supervisor • Runs during program interpretation • Check constraints on-the-fly • Can kill Interpreter Shell if constraints exceeded • E.g.: enforce limits on program execution time
  • 9. Case Study: Google Reader Application • Provides selected news feeds to users • Preferred content is context-specific for Smart Phones • Less text • More photos • Whenever the user wants to get news, she asks for a news report which executes a GP program and returns the latest and unread news from feeds selected by the program.
  • 10. Experiments and Results • 7 news sources • 4 technology news websites • 1 infographics • Break Videos • Business Green for latest green products • User has entered interest for all sites • Preference for technology news sites on smart phone • Desired story count set to 10 • Pool size is 5 programs
  • 11. Case Study: Context-aware Localization • Smart Phones provide several location data sources • GPS • Cell-tower • Wifi • Context-specific cost benefit for each technology • Position • Signal quality • Device energy profile
  • 12. Accuracy Fitness • During learning • Evaluation thread keeps all location providers on • Uses provider with best accuracy as best position
  • 13. Energy Fitness • Assumptions • Assume day-long operation • Use 1400mAh battery capacity • Target average current draw of 63 mA for 22 hours • Implementation • Use Android PowerProfile class • Assess energy cost based on selected location provider and CPU usage • Energy fitness is a linear function between 0 and 1 • 0 means the program energy cost will not meet the daily operation target • 1 means the program costs no energy
  • 14. Experiments and Results • 12 programs/population • Evaluation time is 1 minute • Function set provides arithmetic functions and location provider selection functions • Two sets of experiments with and without Helper
  • 15. Discussion and Conclusions • Android Genetic Programming Framework • Smart phone personalization through online GP • Demonstrated on two case study applications • Diversity/usability considerations • Future work • Cooperative evolution through the Island Model
  • 16. Thank you Dr. Raja Jurdak CSIRO ICT Centre Principal Research Scientist Research Group Leader Phone: +61 (0)7 3327 4059 Email: raja.jurdak@csiro.au Web: http://jurdak.com University of Queensland Adjunct Associate Professor

Notas do Editor

  1. Although several other GP frameworks are available for the Java platform, none is suitable for Android because Android replaces several subsets of Java class libraries from the JavaSE with its own new classes.
  2. In the application manifest file
  3. Developer launch Interpreter Shell through Interpreter Class
  4. the developer has to implement our specific Java interface for functions or terminals, respectively FunctionInterface and Termi- nalInterface. Arity: number of arguments/operands a function takes Use the Strategy pattern whenever: ̈ Many related classes differ only in their behavior ̈ You need different variants of an algorithm ̈ An algorithm uses data that clients shouldn't know about. Use the Strategy pattern to avoid exposing complex, algorithm-specific data structures. ̈ A class defines many behaviors, and these appear as multiple conditional statements in its operations. Instead of many conditionals, move related conditional branches into their own Strategy class.
  5. 4 technology news websites (TechCrunch, TechLand, Engadget and Digital Trends), VisualLoop which gives fresh infographics, Break Videos for funny videos, and Business Green for latest green products.