Evolutionære algoritmer: hvad er det, og hvorfor er de nødvendige

Indholdsfortegnelse:

Evolutionære algoritmer: hvad er det, og hvorfor er de nødvendige
Evolutionære algoritmer: hvad er det, og hvorfor er de nødvendige
Anonim

Inden for kunstig intelligens er en evolutionær algoritme (EA) en delmængde af samlede befolkningsberegninger baseret på metaheuristisk optimering. EA bruger mekanismer inspireret af biologisk udvikling såsom reproduktion, mutation, rekombination og selektion. Kandidatløsningen i problemet med evolutionære optimeringsalgoritmer spiller rollen som individer i befolkningen. Og fitnessfunktionen bestemmer også kvaliteten af svarene.

Evolutionære algoritmer tilnærmer ofte løsninger på alle typer problemer godt. Fordi de ideelt set ikke gør nogen antagelser om det underliggende fitnesslandskab. Metoder, der anvendes til evolutionær modellering og genetiske algoritmer, er norm alt begrænset til studier af mikroevolutionære processer og planlægningsmodeller baseret på cellulære stadier. I de fleste rigtige EA-applikationer er beregningsmæssig kompleksitet en uoverkommelig faktor.

Faktiskdette problem er relateret til estimering af fitnessfunktion. Fitness tilnærmelse er en løsning til at overvinde denne vanskelighed. En tilsyneladende simpel EA kan dog løse ofte komplekse problemer. Derfor kan der ikke være nogen direkte sammenhæng mellem kompleksiteten af sekvensen og problemet. Flere detaljer kan findes i bøgerne "Evolutionære algoritmer".

Implementering

evolutionær modellering og algoritmer
evolutionær modellering og algoritmer

Trin et er at oprette en indledende population af individer tilfældigt.

Trin to er at vurdere egnetheden af hver enkelt person i denne gruppe (tidsfrist, tilstrækkeligt beredskab osv.).

Trin tre - gentag følgende regenereringstrin til fuldførelse:

  1. Vælg de bedst egnede personer til avl (forældre).
  2. Bring nye individer, der har bestået den evolutionære algoritme ved hjælp af crossover og mutation for at få afkom.
  3. Vurder nye menneskers individuelle kondition.
  4. Erstat den mindst velegnede befolkning med dem.

Typer

Genetisk algoritme er en evolutionær sekvens, den mest populære type ekspertrådgiver. En løsning på problemet søges i form af rækker af tal (traditionelt binære, selvom de bedste repræsentationer norm alt er dem, der afspejler mere i det problem, der løses) ved at anvende operatorer som rekombination og mutation (nogle gange en, i nogle tilfælde begge dele)). Denne type Expert Advisor bruges ofte i optimeringsproblemer. Et andet navn for dette er fetura (fra latin for "fødsel"):

  1. Genetisk programmering. Den præsenterer løsninger som computerkoder, og deres egnethed bestemmes af deres evne til at udføre beregningsopgaver.
  2. Evolutionær programmering. Svarende til den evolutionære genetiske algoritme, men strukturen er fast, og dens numeriske parametre kan ændre sig.
  3. Programmering af genekspression. Udvikler computerapplikationer, men udforsker genotype-fænotype-systemet, hvor projekter af forskellig størrelse kodes på lineære kromosomer med fast længde.
  4. Strategi. Arbejder med vektorer af reelle tal som repræsentationer af løsninger. Bruger norm alt selvadaptive evolutionære mutationshastighedsalgoritmer.
  5. Differentiel udvikling. Baseret på vektorforskelle og derfor primært velegnet til numeriske optimeringsproblemer.
  6. Neuroevolution. Svarende til evolutionær programmering og genetiske algoritmer. Men sidstnævnte er kunstige neurale netværk, der beskriver strukturen og vægten af forbindelserne. Genomkodning kan være direkte eller indirekte.

Sammenligning med biologiske processer

En mulig begrænsning af mange evolutionære algoritmer er manglen på en klar skelnen mellem genotype og fænotype. I naturen gennemgår et befrugtet æg en kompleks proces kendt som embryogenese for at blive moden. Denne indirekte kodning menes at gøre genetiske søgninger mere pålidelige (dvs. mindre tilbøjelige til at forårsage dødelige mutationer) og kan også forbedre organismens evne til at udvikle sig. Sådanne indirekte (med andre ord,generative eller udviklingsmæssige) kodninger tillader også evolution at udnytte regelmæssighed i miljøet.

Nyligt arbejde med kunstig embryogenese eller udviklingssystemer søger at løse disse problemer. Ved programmering af genekspression udforskes genotype-fænotype-regionen med succes, hvor den første består af lineære multigenkromosomer med fast længde, og den anden af mange ekspressionstræer eller computerprogrammer i forskellige størrelser og former.

Relaterede teknikker

evolutionære algoritmer
evolutionære algoritmer

Algorithmer omfatter:

  1. Myrekolonioptimering. Det er baseret på ideen om, at insekter søger efter føde ved at forbinde sig med feromoner for at danne stier. Primært velegnet til kombinatorisk optimering og grafproblemer.
  2. Root skyder-algoritme. Skaberen var inspireret af planterøddernes funktion i naturen.
  3. Algorithme for kunstige bikolonier. Baseret på honningbiernes adfærd. Det er primært foreslået til numerisk optimering og udvidet til at løse kombinatoriske, afgrænsede og multiobjektive problemer. Bi-algoritmen er baseret på insekters fødesøgningsadfærd. Det er blevet anvendt i mange applikationer såsom routing og planlægning.
  4. Partikelsværmoptimering - baseret på dyrebesætningsadfærdsideer. Og også primært velegnet til numeriske procesopgaver.

Andre populære metaheuristiske metoder

  1. Jagtsøgning. En metode baseret på gruppefangst af bestemte dyr, som fx ulve, somfordele deres pligter til at omringe byttet. Hvert af medlemmerne af den evolutionære algoritme relaterer til de andre på en eller anden måde. Dette gælder især for lederen. Dette er en kontinuerlig optimeringsmetode tilpasset som en kombinatorisk procesmetode.
  2. Søg efter mål. I modsætning til naturbaserede metaheuristiske metoder, bruger den adaptive procesalgoritme ikke metafor som sit hovedprincip. Den bruger snarere en simpel præstationsorienteret metode baseret på opdatering af søgedimensionsforholdsparameteren ved hver iteration. Firefly-algoritmen er inspireret af, hvordan ildfluer tiltrækker hinanden med deres blinkende lys. Dette er især nyttigt til multimodal optimering.
  3. Søg efter harmoni. Baseret på ideer om opførsel af musikere. I dette tilfælde er evolutionære algoritmer vejen til kombinatorisk optimering.
  4. Gaussisk tilpasning. Baseret på informationsteori. Bruges til at maksimere ydeevne og gennemsnitlig tilgængelighed. Et eksempel på evolutionære algoritmer i denne situation: entropi i termodynamik og informationsteori.

Memetic

evolutionær modellering
evolutionær modellering

En hybridmetode baseret på Richard Dawkins' idé om et meme. Det tager norm alt form af en befolkningsbaseret algoritme kombineret med individuelle læringsprocedurer, der er i stand til at udføre lokale justeringer. Lægger vægt på brugen af problemspecifik viden og forsøg på at organisere finkornede og globale søgninger på en synergistisk måde.

EvolutionærtAlgoritmer er en heuristisk tilgang til problemer, der ikke let kan løses i polynomisk tid, såsom klassiske NP-hårde problemer og alt andet, der ville tage for lang tid at behandle udtømmende. Når de bruges uafhængigt, bruges de norm alt til kombinatoriske problemer. Men genetiske algoritmer bruges ofte sammen med andre metoder, og de fungerer som en hurtig måde at finde flere optimale startsteder at arbejde med.

Udgangspunktet for den evolutionære algoritme (kendt som en rådgiver) er ret enkel, da du er fortrolig med processen med naturlig udvælgelse. Den indeholder fire hovedtrin:

  • initialisering;
  • valg;
  • genetiske operatorer;
  • end.

Hvert af disse trin svarer nogenlunde til et bestemt aspekt af naturlig udvælgelse og giver nemme måder at modularisere den kategori af algoritmer på. Enkelt sagt, i EA, vil de stærkeste medlemmer overleve og formere sig, mens de uegnede medlemmer vil dø og ikke bidrage til næste generations genpulje.

Initialisering

For at starte algoritmen skal du først oprette et sæt løsninger. Populationen vil indeholde et vilkårligt antal mulige problemformuleringer, ofte omt alt som medlemmer. De genereres ofte tilfældigt (inden for opgavens begrænsninger) eller, hvis der kendes nogen forhåndsviden, foreløbigt centreret omkring det, der anses for ideelt. Det er vigtigt, at befolkningen dækker en bred vifte af løsninger,fordi det i bund og grund er en genpulje. Derfor, hvis man ønsker at udforske mange forskellige muligheder inden for en algoritme, bør man stræbe efter at have mange forskellige gener.

Choice

genetiske koder
genetiske koder

Når befolkningen er oprettet, skal dens medlemmer nu evalueres i henhold til fitnessfunktionen. Fitnessfunktionen tager et medlems karakteristika og giver en numerisk repræsentation af, hvor fit medlemmet er. At skabe dem kan ofte være meget svært. Det er vigtigt at finde et godt system, der præcist repræsenterer dataene. Dette er meget specifikt for problemet. Nu er det nødvendigt at beregne alle deltageres egnethed og udvælge nogle af de bedste medlemmer.

Flere objektivfunktioner

EA'er kan også udvides til at bruge disse systemer. Dette komplicerer processen noget, for i stedet for at identificere et optim alt punkt, opnås et sæt, når du bruger dem. Sættet af løsninger kaldes Pareto-grænsen og indeholder elementer, der er lige velegnede i den forstand, at ingen af dem dominerer nogen anden.

Genetiske operatorer

Dette trin inkluderer to undertrin: crossover og mutation. Efter at have valgt de bedste udtryk (norm alt top 2, men dette tal kan variere), bruges de nu til at skabe den næste generation i algoritmen. Ved at anvende de valgte forældres karakteristika skabes nye børn, der er en blanding af kvaliteter. Dette kan ofte være svært afhængigt af typen af data, men norm alt i kombinatoriske problemerdet er ganske muligt at blande og udskrive gyldige kombinationer.

Nu er det nødvendigt at indføre nyt genetisk materiale i generationen. Hvis dette vigtige skridt ikke tages, vil videnskabsmanden meget hurtigt sidde fast i lokale ekstremer og ikke få optimale resultater. Dette trin er en mutation, og det gøres ganske enkelt ved at ændre en lille del af børnene på en sådan måde, at de overvejende ikke afspejler undergrupper af forældrenes gener. Mutation forekommer sædvanligvis sandsynligt, da sandsynligheden for, at et barn får det, såvel som dens sværhedsgrad, bestemmes af fordeling.

Opsigelse

modellering og algoritmer
modellering og algoritmer

I sidste ende skal algoritmen slutte. Dette sker norm alt i to tilfælde: enten har den nået en vis maksimal udførelsestid, eller også har den nået en ydeevnetærskel. På dette tidspunkt vælges den endelige løsning og returneres.

Eksempel på evolutionære algoritmer

Nu, for at illustrere resultatet af denne proces, skal du se rådgiveren i aktion. For at gøre dette kan vi huske, hvordan flere generationer af dinosaurer lærte at gå (gradvist mestre landet), optimere strukturen af deres krop og anvende muskelstyrke. Selvom den tidlige generation af krybdyr ikke kunne gå, var rådgiveren i stand til at udvikle dem over tid gennem mutation og crossover til en form, der kunne gå.

Disse algoritmer bliver stadig mere relevante i den moderne verden, da løsninger baseret på dem i stigende grad bruges i brancher som digital markedsføring, finans ogsundhedspleje.

Hvor bruges EA'er?

Mere bredt bruges evolutionære algoritmer i en lang række applikationer såsom billedbehandling, routing af køretøjer, mobilkommunikationsoptimering, softwareudvikling og endda træning i kunstigt neurale netværk. Disse værktøjer er kernen i mange af de apps og websteder, folk bruger dagligt, inklusive Google Maps og endda spil som The Sims. Derudover bruger det medicinske område EA til at hjælpe med at træffe kliniske beslutninger vedrørende kræftbehandling. Faktisk er evolutionære algoritmer så robuste, at de kan bruges til at løse næsten ethvert optimeringsproblem.

Moores lov

Den voksende udbredelse af EO er drevet af to hovedfaktorer: tilgængelig computerkraft og akkumulering af store datasæt. Den første kan beskrives af Moores lov, som i det væsentlige siger, at mængden af computerkraft i en computer fordobles cirka hvert andet år. Denne forudsigelse har holdt i årtier. Den anden faktor vedrører den voksende afhængighed af teknologi, som gør det muligt for institutioner at indsamle en utrolig stor mængde data, som giver dem mulighed for at analysere trends og optimere produkter.

Hvordan kan evolutionære algoritmer hjælpe marketingfolk?

genetisk modellering
genetisk modellering

Markedsforholdene ændrer sig hurtigt og er meget konkurrencedygtige. Dette har tvunget marketingchefer til at konkurrere om bedre beslutningstagning. Forøgelse af tilgængeligcomputerkraft har fået arbejdere til at bruge EA til problemløsning.

Konverteringsoptimering

modellering og genetiske algoritmer
modellering og genetiske algoritmer

Et af hovedmålene er at øge antallet af besøgende på webstedet. Dette problem bunder i at optimere antallet af brugere, der gør, hvad marketingmedarbejderen ønsker. For eksempel, hvis en virksomhed sælger bærbare computere, er det ideelle at øge antallet af besøgende på webstedet, der ender med at købe produktet. Dette er essensen af konverteringsfrekvensoptimering.

Et af de overraskende vigtige aspekter er valget af brugergrænseflade. Hvis webdesignet ikke er særlig brugervenligt, er der dem, der ender med ikke at købe produktet af den ene eller anden grund. Målet er så at reducere antallet af brugere, der ender med ikke at konvertere, hvilket øger den samlede fortjeneste.

Anbefalede: