Parallelisering/Distribuering af Genetiske Algoritmer
|
|
|
- Ellen Madsen
- 10 år siden
- Visninger:
Transkript
1 Parallelisering/Distribuering af Genetiske Algoritmer Hvorfor parallelisere/distribuere? Standard GA algoritme Modeller Embarassing parallel Global (fitness evaluering) Island (subpopulation) Grid/Cellular (individuel) Eksempel på en PGA anvendelse - CGATTO
2 Hvorfor parallelisere/distribuere? Hastighedsfordele Speed-up effekt, da GA er som oftest beregningstunge algoritmer Forhindre for hurtig konvergering i lokalt minimum Delpopulationer søger i forskellige dele af problemdomænet Senere samling giver dermed globalt optimum Oplagt at parallelisere for at efterligne naturens virke Hvis man simulerer naturen skal dette foregå efter samme model
3 Standard GA algoritme opret udgangs population (størrelsen N) while not (stopkriterie) do Fitness evaluering og selektion af bedste individer Producer nye individer Muter nogle/udvalgte individer end while
4 Modeller Embarassing parallel Køre flere instanser af det samme program parallelt Opsamling af statistik Starte instanser med forskellige parametre for fx crossover og mutation
5 Modeller Global parallelisering af fitness-niveauet opret udgangs population (størrelsen N) for alle individer do in parallel fitnessevaluering af alle individer end parallel for while not (stopkriterie) do Selektion af fitter individer for reproduktion Producer nye individer Muter nogle/udvalgte individer for alle individer do in parallel fitnessevaluering af alle individer end parallel for Producer en ny generation udfra fitnessevaluering end while - Foretages per individ og er uafhængigt af populationen - load balancing (strø model hvis flere individer end slaver) - Ofte er fitness evaluering et tungt problem
6 Modeller Island parallelisering af subpopulationer opret udgangs population (størrelsen N) generation og frekvens sættes til ønskede værdier while not (stopkriterie) do foreach subpopulation do in parallel Fitness evaluering og selektion af bedste individer if generation mod frekvens then Send K < N af de bedste individer til en nabo subpopulation Modtag K individer fra en nabo subpopulation Udskift K individer i subpopulationen end if Producer nye individer Muter nogle/udvalgte individer end parallel for end while - Simulering af geografiske adskilte populationer - Tilfældig dynamisk topologi, giver de bedste resultater - Sikrer forskellighed i subpopulationer (emigration : fx ring, ø, buffer) - Forskellige subpopulationer udforsker forskellige dele af udfaldsrummet
7 Modeller - Grid/Cellular parallelisering af individer (N individer og N celler) for alle celler i griddet do in parallel producer et tilfældigt individ i end parallel for while not (stopkriterie) do foreach celle i griddet do in parallel Fitnessevaluering af individet i Find et naboindivid k Producer et afkom fra i og k Placer afkommet i i's celle Muter i end parallel for end while - Naboindividet er fra en af de otte omkring liggende celler - Isolated-by-distance : To individers påvirkning af hinanden afhænger af afstanden imellem disse
8 Modeller - Hybrider Mange hybridkombinationer fx: benytte en Island-model på det øverste niveau Kombineret med en grid-model i hver enkelt subpopulation Opdeling/Model skal vælges efter problemdomænet
9 Et PGA eksempel - CGATTO Algoritme som vha. af test sekvenser finder fejl i digitale kredsløb. (GATTO) Stadigt voksende industrielt problem eftersom digitale kredsløb vokser i antallet af gates Algoritmen består af 3 faser.
10 GATTO algoritmen Fase 1. (find target fault) Dannelse af tilfældige sekvenser Find en sekvens som udspænder mindst en utestet fejl (Target Fault) Fase 2. (find en testsekvens som tester target fault) Et individ er en testsekvens Mutation og crossover sikrer nye individer Fitness = hvor tæt på target fault er individet? Senest efter maximalt antal generationer afbrydes fase 2. (fejlen er aborted) Fase 3. Fejl simulering for at se om den evt. dannede testsekvens dækker flere utestede fejl (fault dropping) Gentages indtil alle fejl er fundet/aborted eller maximalt antal iterationer er opnået
11 CGATTO algoritmen En paralleliseret version af GATTO Modificeringer Fase 1. Sekvens partition af den samlede mængde target faults Inddeling af grupper som arbejder på en given sekvens Fase 2. Se næste slide Fase 3. Fejl partitionering således alle processorer simulerer den samme sekvens i den samme delmængde af sekvens partitionen Forskellige parametre benyttes i de forskellige subpopukationer i en given gruppe
12 CGATTO fase 2. TEST_SEQUENCE phase2(fault target_fault) { for( s=0; s<max_gen/cmp_step; s++ ) { for every processor i in parallel { j = get_group(i); load_weight_values(j); for( k=0; k<cmp_step; k++ ) { Pki = compute_new_generation(pki-1); if(detecting_sequence_found()) return( get_detecting_sequence()); } besti = get_best_individual_from(pki); fi = evaluation_function(besti); } sort_groups_according_to_best_elements(); move_processors_from_worst_to_best_groups(); } return(no_sequence); }
13 CGATTO Afviklingsomgivelser Implementeret i C, hvor PVM biblioteker stiller kommunikationsmuligheder til rådighed 16 DEC Alpha AXP 3000/500 maskiner Forbundet gennem en GIGAswitch
Algoritmer og invarianter
Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.
Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel
I dag Løsning af NP -hårde optimeringsproblemer Repetition: branch-and-bound Flere begreber Konkret eksempel: TSP Lagrange relaxering Parallel branch-and-bound 1 Opsummering Løsning af NP -hårde optimeringsproblemer
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Dynamisk programmering
Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Dynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde
Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid
6 april Løsning af N P -hårde problemer Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid Oversigt Grænseværdier (repetition) Branch-and-bound algoritmens komponenter Eksempler
Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte
Indholdsfortegnelse PSpice modul 3. Forudsætninger. Forberedelse til øvelser
Indholdsfortegnelse PSpice modul 3 Model Editor, opret diode ud fra model fundet på internettet.... 2 Parametrisk Analyse... 6 Ekstra - Parametrisk analyse på diode parameter... 9 Forudsætninger For at
Symmetrisk Traveling Salesman Problemet
Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,
PHP 3 UGERS FORLØB PHP, MYSQL & SQL
PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at
Hardware, Software co-synthesis med genetisk multiobjektive algorithmer. Peter Kjærulff, s991267
Hardware, Software co-synthesis med genetisk multiobjektive algorithmer Peter Kjærulff, s991267 Technical University of Denmark Informatics and Mathematical Modelling Building 321, DK-2800 Kongens Lyngby,
Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Python programmering. Per Tøfting. MacFest
Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer
DMX styring med USB-interface
DMX styring med USB-interface Introduktion...2 DMX bibliotek...3 Programmering af kanaler...7 Sådan skabes et show/en lyssekvens...11 Introduktion DMX LightPlayer er en avanceret men meget brugervenlig
En karakteristik af de regulære sprog. Ugens emner. FA minimering [5.1-5.2] MyHill-Nerode-sætningen en algoritme til minimering af FA er
Ugens emner FA minimering [.-.] MyHill-Nerode-sætningen en algoritme til minimering af FA er En karakteristik af de regulære sprog Et sprog L er regulært hvis og kun hvis L beskrives af et regulært udtryk
Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Noter til C# Programmering Iteration
Noter til C# Programmering Iteration Programflow Programmer udfører det meste af deres arbejde vha. forgrening og løkker. Løkker Mange programmeringsproblemer kan løses ved at gentage en handling på de
Dagens program. Velkommen og præsentation.
Dagens program Velkommen og præsentation. Evt. udveksling af mailadresser. Forenklede Fælles Mål om geometri og dynamiske programmer. Screencast, hvordan og hvorfor? Opgave om polygoner i GeoGebra, løst
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Sammenhængskomponenter i grafer
Sammenhængskomponenter i grafer Ækvivalensrelationer Repetition: En relation R på en mængde S er en delmængde af S S. Når (x, y) R siges x at stå i relation til y. Ofte skrives x y, og relationen selv
Genetisk drift og naturlig selektion
Genetisk drift og naturlig selektion Denne vejledning indeholder en gennemgang af simulationsværktøjer tilgængeligt online. Værktøjerne kan bruges til at undersøge effekten af populationsstørrelse på genetisk
Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er
Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i
Susanne Ditlevsen Institut for Matematiske Fag Email: [email protected] http://math.ku.dk/ susanne
Statistik og Sandsynlighedsregning 1 Indledning til statistik, kap 2 i STAT Susanne Ditlevsen Institut for Matematiske Fag Email: [email protected] http://math.ku.dk/ susanne 5. undervisningsuge, onsdag
Introduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Start af nyt schematic projekt i Quartus II
Start af nyt schematic projekt i Quartus II Det følgende er ikke fremstillet som en brugsanvisning der gennemgår alle de muligheder der er omkring oprettelse af et Schematic projekt i Quartus II men kun
Opret en Powerpoint præsentation automatisk med VBA
Opret en Powerpoint præsentation automatisk med VBA I denne vejledning bliver det gennemgået, hvordan man via VBA kan oprette en powerpoint med diagrammer og kommentarer fra Excel automatisk. Gør som følgende:
Hamilton-veje og kredse:
Hamilton-veje og kredse: Definition: En sti x 1, x 2,...,x n i en simpel graf G = (V, E) kaldes en hamiltonvej hvis V = n og x i x j for 1 i < j n. En kreds x 1, x 2,...,x n, x 1 i G kaldes en hamiltonkreds
Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer
Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt
Eksperimentel Matematik
Eksperimentel Matematik 4 bidrag Ib Michelsen 2007 Trekanter - der ligner hinanden Ib Michelsen VUC Skive-Viborg [email protected] Geometri C 2 6 timer Faglige mål Ensvinklede og ligedannede trekanter
Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP()
Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() John Andersen, Læreruddannelsen i Aarhus, VIA Et kast med 10 terninger gav følgende udfald Fig. 1 Result of rolling 10 dices
Vægtede grafer. I en vægtet graf har enhver kant tilknyttet en numerisk værdi, kaldet kantens vægt
Korteste veje 1 Vægtede grafer HNL I en vægtet graf har enhver kant tilknyttet en numerisk værdi, kaldet kantens vægt Vægte kan repræsentere afstande, omkostninger, o.s.v. Eksempel: I en flyrutegraf repræsenterer
CMU PROJEKT HYPOTESETEST OG SIMULERING MICHAEL AGERMOSE JENSEN CHRISTIANSHAVNS GYMNASIUM
CMU PROJEKT HYPOTESETEST OG SIMULERING MICHAEL AGERMOSE JENSEN CHRISTIANSHAVNS GYMNASIUM FORMÅL - BEKENDTGØRELSEN STX MATEMATIK A Kompetencer anvende simple statistiske eller sandsynlighedsteoretiske modeller
Cellen og dens funktioner
Eksamensopgaver Biologi C, 17bic80 6. og 7. juni 2018 1 Cellen og dens funktioner 1. Redegør for hvordan eukaryote og prokaryote celler i hovedtræk er opbygget, herunder skal du gøre rede for forskelle
Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning
Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]
Spar tid med struktureret programmering! Om PLC programmering
Spar tid med struktureret programmering! Om PLC programmering 1 MITSUBISHI PLC programmerings software Ved systemtekniker Helge Gulstad Tlf. Direkte: 46 74 01 61 Mob: 21 19 25 64 Mail: [email protected] 2
Lærervejledning Til internet-spillet Kræftkampen og undervisningshæftet Hvorfor opstår kræft? Biologi 8.-9. klasse
kraeftkampen.dk Kræftens Bekæmpelse Lærervejledning Til internet-spillet Kræftkampen og undervisningshæftet Hvorfor opstår kræft? Biologi 8.-9. klasse Hvorfor arbejde med Kræft? Erhvervsskolernes Forlag
Approximationsalgoritme giver garanti for løsningskvalitet Heuristik giver ingen garanti for løsningskvalitet
Generelle optimeringsheuristikker Også kaldet metaheuristikker. Idag gennemgås: Indplacering Lokal søgning Simuleret udgløding Tabusøgning Genetiske algoritmer Løsningsmetoder for NP -hårde opimeringsproblemer
Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer
Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt
Bilagsnotat til: De nationale tests måleegenskaber
Bilagsnotat til: De nationale tests måleegenskaber Baggrund Der er ti obligatoriske test á 45 minutters varighed i løbet af elevernes skoletid. Disse er fordelt på seks forskellige fag og seks forskellige
Økonomisk analyse af forskellige strategier for drægtighedsundersøgelser
Økonomisk analyse af forskellige strategier for drægtighedsundersøgelser Jehan Ettema, SimHerd A/S, 28-10-15 Indholdsfortegnelse Metoden... 2 Design af scenarierne... 2 Strategier for drægtighedsundersøgelser...
R100APM Premier Rower COMPUTER
R100APM Premier Rower COMPUTER 1 LCD Display 130 x 58.5mm Liquid Crystal Display PULSE Display Viser din puls per minut (bmp) SPM Display Antal træk i minuttet LEVEL Display 1~16 Modstands-niveau BRUGER
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
Multi-Camera redigering
Multi-Camera redigering Hvis du laver optagelser af en levende begivenhed såsom en koncert eller en dans med flere kameraer, kan det være temmelig tidskrævende at redigere optagelserne sammen sekventielt.
DKAL Snitflader REST Register
DKAL Snitflader REST Register 1 Indholdsfortegnelse A2.1 INTRODUKTION 3 A2.1.1 HENVISNINGER 3 A2.1.2 LÆSEVEJLEDNING 4 A2.1.2.1 SÅDAN LÆSES EN REST GRAF 4 A2.1.2.2 SÅDAN LÆSES EN RESSOURCE OG EN TYPE 4
Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller.
Flowchart Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Et godt program til at tegne flowcharts med er, EDGE-Diagrammer, eller Smartdraw.
Søgning og Sortering. Philip Bille
Søgning og Sortering Philip Bille Plan Søgning Linæer søgning Binær søgning Sortering Indsættelsesortering Flettesortering Søgning Søgning 1 4 7 12 16 18 25 28 31 33 36 42 45 47 50 1 2 3 4 5 6 7 8 9 10
Kapitel 9: Netværksmodeller
Kapitel 9: Netværksmodeller Terminologi: Et netværk eller en graf bestar af et sæt punkter samt et sæt linier, der forbinder par af punkter; netværket betegnes som komplet, hvis ethvert par af punkter
Årsplan for biologi i 7. klasse 17/18
Årsplan for biologi i 7. klasse 17/18 Formålet med faget: Eleverne skal i faget biologi udvikle naturfaglige kompetencer og dermed opnå indblik i, hvordan biologi og biologisk forskning i samspil med de
Læseplan for valgfaget teknologiforståelse. (forsøg)
Læseplan for valgfaget teknologiforståelse (forsøg) Indhold Indledning 3 Trinforløb for 7.- 9. klassetrin 4 Design 4 Programmering 5 Indledning Valgfaget teknologiforståelse er etårigt og kan vælges i
Oversigt. Kursus 02402 Introduktion til Statistik. Forelæsning 10: Statistik ved hjælp af simulering. Per Bruun Brockhoff.
Kursus 02402 Introduktion til Statistik Forelæsning 10: Statistik ved hjælp af simulering Per Bruun Brockhoff DTU Compute, Statistik og Dataanalyse Bygning 324, Rum 220 Danmarks Tekniske Universitet 2800
Studiedesigns: Alternative designs
Studiedesigns: Alternative designs Mads Kamper-Jørgensen, lektor, [email protected] Afdeling for Social Medicin, Institut for Folkesundhedsvidenskab It og sundhed l 20. maj 2014 l Dias nummer 1 Sidste gang
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =
Sortering. Sortering ved fletning (merge-sort) Del-og-hersk. Merge-sort
Sortering Sortering ved fletning (merge-sort) 7 2 9 4! 2 4 7 9 7 2! 2 7 9 4! 4 9 7! 7 2! 2 9! 9 4! 4 1 2 Del-og-hersk Merge-sort Del-og-hersk er et generelt paradigme til algoritmedesign Del: opdel input-data
Introduktion til ActionScript
Introduktion til ActionScript Kaspar Rosengreen Nielsen [email protected] i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, [email protected] 1 Dagens program Opsamling på
Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab En baglæns besked gemt i HD-genet?
Forskningsnyheder om Huntingtons Sygdom På hverdagssprog Skrevet af forskere. Til det globale HS-fællesskab En baglæns besked gemt i HD-genet? Lyn dine gener op! En baglæns besked, gemt i 'backup-dna'et'
