SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Combining several things (new and improved)
Pablo García Sánchez - University of Granada
(but now in Vrije Universiteit Amsterdam)

pgarcia@atc.ugr.es
Outline

• What I am investigating in Granada

• EvAg and MultiKulti

• Evolutionary Robotics

   • μ+1 online

   • μ+1 online Vs. EvAg (Robert-Jan)

   • Global Parent Selector or HybridEvag (Berend-Luis)

   • μ+EvAg

   • EDEA (?)

• Some ideas about MultiKulti + EvAg
My Work

• SOAP
• BPEL
• WSDL
• JBI
• OSGi
• XPATH
• XSLT
• OMG!
• WTF?
My Work

• SOAP
• BPEL
                    But in my spare time...
• WSDL
          - XSLT Evolution
• JBI
          - Service Oriented Evolutionary Algorithms
• OSGi
• XPATH
• XSLT
• OMG!
• WTF?
EvAg
EvAg Pseudo-code

Sactual←Initialize Agent
loop
    Sols←LocalSelection(NeighborsEvAg)
    Snew←Recombination(Sols,Pc)
    Snew’←Mutation(Snew,Pm)
    Evaluate(Snew’)
    if Snew better than Sactual then
       Sactual←Snew’
    end if
end loop
Newscast

• Is the population structure used by Juanlu
• It is the cache of Neighbours. Each entry has:
   • Reference to the node
   • Time-stamp of the entry creation
   • Agent identifier
   • Specific application data (?)
• Every cycle EvAgi initiates cache exchange
• Selects randomly a neighbour EvAgj of its cache
• Aggregation of caches. JuanLu uses:
   • the c freshest items. i and j share the same cache
Newscast pseudocode
• Active mode:
 loop
        EvAgj←Uniformily random selected node from Cachei
        Send Cachei to EvAgj
        Receive Cachej from EvAgj
        Cachei←Aggregate(Cachei,Cachej)
 endloop
• Pasive mode
 loop
        Wait Cachej from EvAgj
        Receive Cachei to EvAgj
        Cachei←Aggregate(Cachei,Cachej)
 endloop
EvAg (Results)

• Island model: results are sensitive to the number of islands→vulnerability in
  dynamic environments (like P2P)


• Outperforms tuned GAs


• Less links (no panmictic)


• C newest items of the both caches are kept (TTL). c<<N
MultiKulti
MultiKulti (results)

• MK policies outperform the classic policies (send the best or the random, that
  never reach the optimum)


• Specially with low number of individuals but larger number of islands


• It is (a bit) better to send the consensus as a representation


• It is better to send the most different of an elite as response




• Problem: difficult to caracterize a population using a string
Evolutionary Robotics

• Taxonomy:




• When? On-Line vs. off-line


• Where? On-board vs. Off-board


• How? Encapsulated vs. distributed (and hybrid!)
μ+1 online

• Local population


• No migration


• Mantains the μ fittest ones


• Sometimes re-evaluates
EvAgRobot (Robert-Jan - EA2011 October)

• Added genotype exchanges using newscast. Difference: last active solutions
  in caches, not only connections
Comparison μ+1 vs. EvAg

• Sensibility to parameter tuning: μ+1 is reliable. EvAg is reliable when the
  number of robots increases


• EvAg Panmictic vs EvAg newscast: the newscast performance is worst, but in
  a panmictic case a large number of peers could be difficult to manage in real-
  case scenarios


• Doubt: in newscast is it the topology fixed? Only active solutions are
  exchanged among neighbours or also the connections? (so a peer can
  exchange its new cache to new neighbours)
HybridEvag (Berend-Luis Approach)
Source code: PopulationStructure.cpp
 PopulationMember pop; //HivemindInstance or NewscastInstance
 Controller[] activeSolutions //although localPopulation is a better name
 Controller getNextCandidate(){
     currentTime++
     pop->update(currentTime)
     if(reevaluate) return c else...
            parentA and B = BinaryTournament(pop)
            crossover, mutation...
            return new candidate
 }
 SetFitness(Controller candidate, double fitness){
     if (reevaluated) candidate->fitness = (fitness + oldfitness)/2
     else
            replace the worst of activeSolutions if candidate is better
     if (accepted || reevaluated)
            pop->setNews(acceptedCandidate, pos, currentTime)
 }
HiveMind.cpp

 static vector <vector <newsitems>> allItems;


 update() // not implemented


 setNews(Controller c, pos, currenttime){


      stores the c in the static (shared) vector (of accepted solutions)


 }
NewscastInstance.cpp

 update(int currentTime){
   delete older than “currentTime - itemTTL” from myCache
   neighbour = select random peer of myCache
   otherCache = neighbour->exchange(myCache, currentTime) //caches
 CLONING the objects (no shared data)
 }

 setNews(Candidate c, int currentTime){
    stores the last accepted candidate (not the best!) in the cache with my
 timestamp
 }

 BEFORE SEND: 1) Remove older items of my cache 2) Remove duplicates

 AFTER RECEIVE: 1) Mantain the cacheSize freshest solution of each node.
 DOUBT: this timestamp is different!
μ+EvAg

• Combining previous approaches in a parameter-based algorithm with two
  parameters:


  •μ


  • rangeRate (parent selection global or local) (Note: no information about
    newscast, or TTL, is given in the Robert’s thesis)


• Change from one to another easily


• Allows a whole parameter tuning
EDEA (Georgios)

• One solution per robot


• Two kinds of mating for each robot:


  • Eagerly: sends genome to the partner without asking


  • Selectively: Binary Tournament from other peers and accepted if fitness is
    quite good enough: if(otherF/myF*Sc <prob())


  • In GECCO‘11→panmictic→Random from all robots (experiments with an
    small set)
Differences

Algorithm     Population               Migration                     Ellitism                Type

   μ+1         Local population              None                 Replace the worst         Centralized


   EvAg           1 Solution
                                     Selection from actual
                                                                   Replace if better        Distributed
                                          neighbors
 (Juanlu)
   EvAg       1 Active Solution +
                                       Cache swapping
                                                                  Replace the active
                                                                                           Distributed??
                    Cache                                          solution if better
 (Robert)
                                      Global (panmictic)        Replace the worst (local
HybridEvAg     Local population
                                       parent selection           survivor selection)
                                                                                              Hybrid



             Previous algorithms combined using two parameters: μ (population) and
 μ+Evag                     rangeRate (parent selection global or local)
                                                                                              Hybrid


                                    Sends eagerly, receives
                                                                 New solution can be
  EDEA           One solution       selectively (panmictic in
                                                                       worst
                                                                                            Distributed
                                          GECCO’11)
Differences

            Few   Local genomes   Many              Few    Local genomes   Many


 Never               mU+1                Never

 Genome                                  Genome
 exchange                                exchange


 Always                                  Always     EvAg




            Few   Local genomes   Many              Few    Local genomes   Many


 Never                                   Never

 Genome                                  Genome
 exchange                                exchange           mu+EvAg


 Always           Hybrid Evag            Always
Differences (Population)

• μ+1: Local population of μ individuals


• Juanlu EvAg: 1 Best Solution + Selection from the neighbours. Topology:
  newscast


• Robert EvAg: 1 Active Solution + cache of other (less diverssity)→Finally,
  behaves like a whole population


• HybridEvag: local population becomes global population (panmictic) for
  parent selector (more diversity: not only active solutions are used) and local
  population for replacement


• All algorithms are special cases of μ+EvAg (Robert thesis)→(few or many
  local genomes AND never or always genome exchange from the global pool)
Differences (Parent Selection)

• μ+1: from the local population


• JuanLu EvAg: selected from current neighbours (open)


• Robert EvAg: binary tournament of active solutions (obtained from the cache)


• Hybrid EvAg Approach: binary tournament of ALL populations (not the active
  ones)
Differences (Ellitism)

• mu+1: Replace the worst in the local population


• EvAg (Robert and Juanlu): Replace the actual solution if the new is better,
  otherwise is dropped


• HybridEvag: replaces the worst individual if better
Ideas (I)

• Distributed Islands with MultiKulti but without EvAg (using local populations)

   • Which structure is better? (ring, P2P, grid, random...)

   • Which migration policy is better? (best, elite...)

   • Compare:

      • All islands with the tuned parameter settings (homogeneous)

      • All island with random parameter settings (heterogeneous)

   • What about robot failures?
Ideas (II) Combining EvAg and Multikulti?

• Combine MultiKulti with EvAg (could be difficult)

   • EvAg: keeps one individual + exchange of several

   • MultiKulti: keeps several individuals + exchange of one

• So, using EvAg...

   • Binary Tournaments from the caches but giving priority to the most different
     instead the most fitted?

   • Sending the most different individuals in cache exchange/aggregating
     ordered by differences, instead timestamp

   • Problems:

      • Lost of information (is not the EvAg philosophy)

      • Caches not too large
Robokulti

Más contenido relacionado

Último

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Destacado

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 

Destacado (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Robokulti

  • 1. Combining several things (new and improved) Pablo García Sánchez - University of Granada (but now in Vrije Universiteit Amsterdam) pgarcia@atc.ugr.es
  • 2. Outline • What I am investigating in Granada • EvAg and MultiKulti • Evolutionary Robotics • μ+1 online • μ+1 online Vs. EvAg (Robert-Jan) • Global Parent Selector or HybridEvag (Berend-Luis) • μ+EvAg • EDEA (?) • Some ideas about MultiKulti + EvAg
  • 3. My Work • SOAP • BPEL • WSDL • JBI • OSGi • XPATH • XSLT • OMG! • WTF?
  • 4. My Work • SOAP • BPEL But in my spare time... • WSDL - XSLT Evolution • JBI - Service Oriented Evolutionary Algorithms • OSGi • XPATH • XSLT • OMG! • WTF?
  • 6. EvAg Pseudo-code Sactual←Initialize Agent loop Sols←LocalSelection(NeighborsEvAg) Snew←Recombination(Sols,Pc) Snew’←Mutation(Snew,Pm) Evaluate(Snew’) if Snew better than Sactual then Sactual←Snew’ end if end loop
  • 7. Newscast • Is the population structure used by Juanlu • It is the cache of Neighbours. Each entry has: • Reference to the node • Time-stamp of the entry creation • Agent identifier • Specific application data (?) • Every cycle EvAgi initiates cache exchange • Selects randomly a neighbour EvAgj of its cache • Aggregation of caches. JuanLu uses: • the c freshest items. i and j share the same cache
  • 8. Newscast pseudocode • Active mode: loop EvAgj←Uniformily random selected node from Cachei Send Cachei to EvAgj Receive Cachej from EvAgj Cachei←Aggregate(Cachei,Cachej) endloop • Pasive mode loop Wait Cachej from EvAgj Receive Cachei to EvAgj Cachei←Aggregate(Cachei,Cachej) endloop
  • 9. EvAg (Results) • Island model: results are sensitive to the number of islands→vulnerability in dynamic environments (like P2P) • Outperforms tuned GAs • Less links (no panmictic) • C newest items of the both caches are kept (TTL). c<<N
  • 11. MultiKulti (results) • MK policies outperform the classic policies (send the best or the random, that never reach the optimum) • Specially with low number of individuals but larger number of islands • It is (a bit) better to send the consensus as a representation • It is better to send the most different of an elite as response • Problem: difficult to caracterize a population using a string
  • 12. Evolutionary Robotics • Taxonomy: • When? On-Line vs. off-line • Where? On-board vs. Off-board • How? Encapsulated vs. distributed (and hybrid!)
  • 13. μ+1 online • Local population • No migration • Mantains the μ fittest ones • Sometimes re-evaluates
  • 14. EvAgRobot (Robert-Jan - EA2011 October) • Added genotype exchanges using newscast. Difference: last active solutions in caches, not only connections
  • 15. Comparison μ+1 vs. EvAg • Sensibility to parameter tuning: μ+1 is reliable. EvAg is reliable when the number of robots increases • EvAg Panmictic vs EvAg newscast: the newscast performance is worst, but in a panmictic case a large number of peers could be difficult to manage in real- case scenarios • Doubt: in newscast is it the topology fixed? Only active solutions are exchanged among neighbours or also the connections? (so a peer can exchange its new cache to new neighbours)
  • 17. Source code: PopulationStructure.cpp PopulationMember pop; //HivemindInstance or NewscastInstance Controller[] activeSolutions //although localPopulation is a better name Controller getNextCandidate(){ currentTime++ pop->update(currentTime) if(reevaluate) return c else... parentA and B = BinaryTournament(pop) crossover, mutation... return new candidate } SetFitness(Controller candidate, double fitness){ if (reevaluated) candidate->fitness = (fitness + oldfitness)/2 else replace the worst of activeSolutions if candidate is better if (accepted || reevaluated) pop->setNews(acceptedCandidate, pos, currentTime) }
  • 18. HiveMind.cpp static vector <vector <newsitems>> allItems; update() // not implemented setNews(Controller c, pos, currenttime){ stores the c in the static (shared) vector (of accepted solutions) }
  • 19. NewscastInstance.cpp update(int currentTime){ delete older than “currentTime - itemTTL” from myCache neighbour = select random peer of myCache otherCache = neighbour->exchange(myCache, currentTime) //caches CLONING the objects (no shared data) } setNews(Candidate c, int currentTime){ stores the last accepted candidate (not the best!) in the cache with my timestamp } BEFORE SEND: 1) Remove older items of my cache 2) Remove duplicates AFTER RECEIVE: 1) Mantain the cacheSize freshest solution of each node. DOUBT: this timestamp is different!
  • 20. μ+EvAg • Combining previous approaches in a parameter-based algorithm with two parameters: •μ • rangeRate (parent selection global or local) (Note: no information about newscast, or TTL, is given in the Robert’s thesis) • Change from one to another easily • Allows a whole parameter tuning
  • 21. EDEA (Georgios) • One solution per robot • Two kinds of mating for each robot: • Eagerly: sends genome to the partner without asking • Selectively: Binary Tournament from other peers and accepted if fitness is quite good enough: if(otherF/myF*Sc <prob()) • In GECCO‘11→panmictic→Random from all robots (experiments with an small set)
  • 22. Differences Algorithm Population Migration Ellitism Type μ+1 Local population None Replace the worst Centralized EvAg 1 Solution Selection from actual Replace if better Distributed neighbors (Juanlu) EvAg 1 Active Solution + Cache swapping Replace the active Distributed?? Cache solution if better (Robert) Global (panmictic) Replace the worst (local HybridEvAg Local population parent selection survivor selection) Hybrid Previous algorithms combined using two parameters: μ (population) and μ+Evag rangeRate (parent selection global or local) Hybrid Sends eagerly, receives New solution can be EDEA One solution selectively (panmictic in worst Distributed GECCO’11)
  • 23. Differences Few Local genomes Many Few Local genomes Many Never mU+1 Never Genome Genome exchange exchange Always Always EvAg Few Local genomes Many Few Local genomes Many Never Never Genome Genome exchange exchange mu+EvAg Always Hybrid Evag Always
  • 24. Differences (Population) • μ+1: Local population of μ individuals • Juanlu EvAg: 1 Best Solution + Selection from the neighbours. Topology: newscast • Robert EvAg: 1 Active Solution + cache of other (less diverssity)→Finally, behaves like a whole population • HybridEvag: local population becomes global population (panmictic) for parent selector (more diversity: not only active solutions are used) and local population for replacement • All algorithms are special cases of μ+EvAg (Robert thesis)→(few or many local genomes AND never or always genome exchange from the global pool)
  • 25. Differences (Parent Selection) • μ+1: from the local population • JuanLu EvAg: selected from current neighbours (open) • Robert EvAg: binary tournament of active solutions (obtained from the cache) • Hybrid EvAg Approach: binary tournament of ALL populations (not the active ones)
  • 26. Differences (Ellitism) • mu+1: Replace the worst in the local population • EvAg (Robert and Juanlu): Replace the actual solution if the new is better, otherwise is dropped • HybridEvag: replaces the worst individual if better
  • 27. Ideas (I) • Distributed Islands with MultiKulti but without EvAg (using local populations) • Which structure is better? (ring, P2P, grid, random...) • Which migration policy is better? (best, elite...) • Compare: • All islands with the tuned parameter settings (homogeneous) • All island with random parameter settings (heterogeneous) • What about robot failures?
  • 28. Ideas (II) Combining EvAg and Multikulti? • Combine MultiKulti with EvAg (could be difficult) • EvAg: keeps one individual + exchange of several • MultiKulti: keeps several individuals + exchange of one • So, using EvAg... • Binary Tournaments from the caches but giving priority to the most different instead the most fitted? • Sending the most different individuals in cache exchange/aggregating ordered by differences, instead timestamp • Problems: • Lost of information (is not the EvAg philosophy) • Caches not too large