Bruke genetiske algoritmer til å prognose finansielle markeder Burton foreslo i sin bok, En tilfeldig Walk Down Wall Street, (1973) at En blindfoldet ape kaste dart på en avisers finansielle sider kunne velge en portefølje som ville gjøre like godt som en nøye utvalgt av eksperter. Mens evolusjonen kanskje har gjort mannen ikke mer intelligent når han plukker aksjer, har Charles Darwins teori ganske effektive når de brukes mer direkte. (For å hjelpe deg med å velge aksjer, sjekk ut hvordan du velger en aksje.) Hva er genetiske algoritmer Genetiske algoritmer (GAs) er problemløsende metoder (eller heuristikk) som etterligner prosessen med naturlig evolusjon. I motsetning til kunstige nevrale nettverk (ANNs), designet for å fungere som neuroner i hjernen, bruker disse algoritmene konseptene naturlig valg for å bestemme den beste løsningen for et problem. Som et resultat blir GAs ofte brukt som optimaliserere som justerer parametere for å minimere eller maksimere noe tilbakemåling, som deretter kan brukes uavhengig eller i konstruksjonen av et ANN. På finansmarkedene. genetiske algoritmer er oftest brukt til å finne de beste kombinasjonsverdiene av parametere i en handelsregel, og de kan bygges inn i ANN-modeller designet for å velge aksjer og identifisere handler. Flere studier har vist at disse metodene kan vise seg å være effektive, blant annet Genetic Algorithms: Genesis of Stock Evaluation (2004) av Rama, og The Applications of Genetic Algorithms i Stock Market Data Mining Optimization (2004) av Lin, Cao, Wang, Zhang. (For å lære mer om ANN, se Neural Networks: Forecasting Profits.) Hvordan genetiske algoritmer Arbeid Genetiske algoritmer er opprettet matematisk ved hjelp av vektorer, som er mengder som har retning og størrelse. Parametre for hver handelsregel er representert med en endimensjonal vektor som kan betraktes som et kromosom i genetiske termer. I mellomtiden kan verdiene som brukes i hver parameter betraktes som gener, som deretter modifiseres ved naturlig valg. For eksempel kan en handelsregel innebære bruk av parametere som Moving Average Convergence-Divergence (MACD). Eksponentiell flytende gjennomsnitt (EMA) og stokastikk. En genetisk algoritme vil da legge inn verdier i disse parameterne med målet om å maksimere nettoresultatet. Over tid er små endringer introdusert, og de som gir en ønskelig innvirkning, beholdes for neste generasjon. Det er tre typer genetiske operasjoner som kan utføres: Crossovers representerer reproduksjon og biologisk crossover sett i biologi, hvor et barn tar på seg bestemte egenskaper hos foreldrene. Mutasjoner representerer biologisk mutasjon og brukes til å opprettholde genetisk mangfold fra en generasjon av en befolkning til den neste ved å introdusere tilfeldige små endringer. Valg er scenen hvor individuelle genomene er valgt fra en populasjon for senere avl (rekombinasjon eller crossover). Disse tre operatørene blir da brukt i en fem-trinns prosess: Initialiser en tilfeldig befolkning, hvor hvert kromosom er n-lengde, med n er antall parametere. Det vil si at et tilfeldig antall parametere er etablert med n elementer hver. Velg kromosomer, eller parametere, som øker ønskelige resultater (antagelig nettoresultat). Bruk mutasjoner eller crossover operatører til de valgte foreldrene og generer et avkom. Rekombinere avkom og gjeldende befolkning for å danne en ny befolkning hos seleksjonsoperatøren. Gjenta trinn to til fire. Over tid vil denne prosessen resultere i stadig gunstigere kromosomer (eller parametere) for bruk i en handelsregel. Prosessen avsluttes da når et stoppkriterium er oppfylt, som kan inkludere kjøretid, kondisjon, antall generasjoner eller andre kriterier. (For mer om MACD, les Trading The MACD Divergence.) Bruke Genetiske Algoritmer i Trading Mens genetiske algoritmer brukes primært av institusjonelle kvantitative handelsmenn. individuelle handelsmenn kan utnytte kraften til genetiske algoritmer - uten en grad i avansert matematikk - ved hjelp av flere programvarepakker på markedet. Disse løsningene spenner fra frittstående programvarepakker rettet mot finansmarkedene til Microsoft Excel-tillegg som kan lette mer praktisk analyse. Når du bruker disse programmene, kan handelsfolk definere et sett med parametere som deretter optimaliseres ved hjelp av en genetisk algoritme og et sett med historiske data. Noen programmer kan optimalisere hvilke parametere som brukes og verdiene for dem, mens andre primært er fokusert på å optimalisere verdiene for et gitt sett med parametere. (For å lære mer om disse programbaserte strategiene, se Kraften i programhandler.) Viktige optimaliseringstips og triks Kurvemontering (overpassing), utforming av et handelssystem rundt historiske data i stedet for å identifisere repeterbar oppførsel, representerer en potensiell risiko for handelsmenn ved å bruke genetiske algoritmer. Et hvilket som helst handelssystem som bruker GA, bør testes på papir før bruk. Å velge parametere er en viktig del av prosessen, og handelsmenn bør søke parametere som korrelerer med endringer i prisen på en gitt sikkerhet. For eksempel, prøv ut forskjellige indikatorer og se om det ser ut til å korrelere med store markedssvingninger. Genetiske algoritmer er unike måter å løse komplekse problemer ved å utnytte naturens kraft. Ved å bruke disse metodene for å forutsi verdipapirpriser kan handelsmenn optimalisere handelsregler ved å identifisere de beste verdiene som skal brukes for hver parameter for en gitt sikkerhet. Imidlertid er disse algoritmene ikke den hellige gral, og handelsmenn bør være forsiktige med å velge de riktige parametrene og ikke kurveformet (overpasset). (For å lese mer om markedet, sjekk ut Lytt til markedet, ikke sine pundits.) SnowCron Genetic Algorithm i Forex Trading Systems ved hjelp av genetisk algoritme for å skape lønnsom Forex Trading Strategy. Genetisk algoritme i Cortex Neural Networks Software Feedforward Backpropagation Neural Network Application for genetisk beregninger basert Forex trading. Dette eksemplet bruker konsepter og ideer fra den forrige artikkelen, så vær så snill å lese Neural Network Genetic Algorithm i Forex Trading Systems først, selv om det ikke er obligatorisk. Om denne teksten Først og fremst, vennligst les ansvarsfraskrivelsen. Dette er et eksempel på bruk av Cortex Neural Networks Software-genetisk algoritmefunksjonalitet, ikke et eksempel på hvordan man kan gjøre lønnsom handel. Jeg er ikke din guru, heller ikke skal jeg være ansvarlig for tapene dine. Cortex Neural Networks Software har nevrale nettverk i det, og FFBP vi diskuterte før er bare en måte å velge en forex trading strategier. Det er en god teknikk, kraftig og når det brukes riktig, veldig lovende. Det har imidlertid et problem - å undervise i Neural Network. Vi trenger å vite ønsket utgang. Det er ganske enkelt å gjøre når vi fungerer tilnærming, vi tar bare den virkelige verdien av en funksjon, fordi vi vet hva det skal være. Når vi foretar neurale nettverksprognoser. Vi bruker teknikken (beskrevet i tidligere artikler) til å undervise det neurale nettverket i historien, igjen, hvis vi forutsier, sier en valutakurs, vet vi (under treningen) hva riktig prediksjon er. Men når vi bygger et handelssystem, har vi ingen anelse om hva den riktige handelsbeslutningen er, selv om vi vet valutakursen. Faktisk har vi mange Forex trading strategier vi kan bruke når som helst, og vi må finne en god en - hvordan skal vi mate som ønsket utgang fra vårt nevrale nettverk Hvis du fulgte vår tidligere artikkel, vet du at vi har lurt å håndtere dette problemet. Vi lærte det neurale nettverket å gjøre valutakurs (eller valutakursbasert indikator) prediksjon, og brukte deretter denne forutsigelsen til å gjøre handel. Da, utenfor Neural Network delen av programmet, tok vi en beslutning om hvilket Neural Network er den beste. Genetiske algoritmer kan håndtere dette problemet direkte, de kan løse problemet som er oppgitt som å finne de beste handelssignalene. I denne artikkelen skal vi bruke Cortex Neural Networks Software til å lage et slikt program. Bruk av genetisk algoritme Genetiske algoritmer er veldig godt utviklet og svært variert. Hvis du vil lære alt om dem, foreslår jeg at du bruker Wikipedia, da denne artikkelen bare handler om hva Cortex Neural Networks Software kan gjøre. Å ha Cortex Neural Networks Software. vi kan opprette et neuralt nettverk som tar litt innspill, si, verdier av en indikator, og produserer noe output, sier handelssignaler (kjøp, selg, hold.) og stopper tap ta fortjeneste for stillinger som skal åpnes. Selvfølgelig, hvis vi frøker dette nettverket til nettverket, vil handelsresultater bli forferdelige. La oss imidlertid si at vi opprettet et dusin slike NN. Så kan vi teste ytelsen til hver av dem, og velge den beste, vinneren. Dette var den første generasjonen av NN. For å fortsette til andre generasjon, må vi tillate vår vinner å vokse, men for å unngå å få identiske kopier, kan vi legge til noen tilfeldig noice til dens nedstigningsvekter. I andre generasjon har vi vår første generasjons vinner og dens ufullkomne (muterte) kopier. Lar oss prøve igjen. Vi vil ha en annen vinner, som er bedre enn noen andre neurale nettverk i generasjonen. Og så videre. Vi tillater bare vinnerne å avle, og eliminere tapere, akkurat som i virkelighetsevolusjonen, og vi vil få vårt best-trading Neural Network. uten tidligere kunnskap om hva handelssystemet (genetisk algoritme) skal være. Neural Network Genetic Algorithm: Eksempel 0 Dette er det første genetiske algoritmen eksempel. og en veldig enkel en. Vi skal gå gjennom det trinn for trinn for å lære alle triksene som følgende eksempler vil bruke. Koden har inline kommentarer, så vi kan bare fokusere på viktige øyeblikk. Først har vi opprettet et neuralt nettverk. Det bruker tilfeldige vekter, og ble ennå ikke lært. Deretter, i syklus, lagrer vi 14 kopier av det ved bruk av MUTATIONNN-fumning. Denne funksjonen gjør en kopi av et kilde Neural Network. legger tilfeldige verdier fra 0 til (i vårt tilfelle) 0,1 til alle vekter. Vi holder håndtak til resulterende 15 NN i en matrise, vi kan gjøre det, da håndtaket er bare et heltall. Grunnen til at vi bruker 15 NN har ingenting å gjøre med handel: Cortex Neural Networks Software kan plotte opptil 15 linjer på et diagram samtidig. Vi kan bruke forskjellige tilnærminger til testingen. Først kan vi bruke læringssettet, alt sammen på en gang. For det andre kan vi teste på, si 12000 registre (ut av 100000), og gå gjennom læringssettet, fra begynnelse til slutt. Det vil gjøre learningigs annerledes, da vi vil se etter Neural Network s som er lønnsomme på en gitt del av data, ikke bare på hele settet. Den andre tilnærmingen kan gi oss problemer, hvis data endres, fra begynnelse til slutt. Da vil nettverket utvikle seg, skaffe seg mulighet til å handle i slutten av datasettet, og miste evnen til å handle i begynnelsen. For å løse dette problemet, skal vi ta tilfeldige 12000 arkivfragmenter fra data, og mate den til Neural Network. er rett og slett en endeløs syklus, da 100000 sykluser aldri blir nådd på vår fart. Nedenfor legger vi til ett barn for hvert nettverk, med litt forskjellige vekter. Merk at 0,1 for mutasjonstang ikke er det eneste valget, faktisk, selv denne parameteren kan optimaliseres ved hjelp av genetisk algoritme. Nyopprettede NNs legges til etter 15 eksisterende. På denne måten har vi 30 NN i en gruppe, 15 gamle og 15 nye. Så skal vi gjøre neste testsyklus, og drepe losere, fra begge generasjoner. For å gjøre testing, bruker vi Neural Network til våre data, for å produsere utdata, og deretter ringe Test-funksjon, som bruker disse utgangene for å simulere handel. Resultater av handel brukes til å deside, hvilke NN er best. Vi bruker et intervall av nLearn-poster, fra nStart til nStart nLearn, hvor nStart er et tilfeldig punkt i læringssettet. Koden under er et triks. Grunnen til at vi bruker det er å illustrere faktum at den genetiske algoritmen kan skape genetisk algoritme. men det vil ikke nødvendigvis være det beste, og også for å foreslå at vi kan forbedre resultatet, hvis vi innebærer noen begrensninger for læringsprosessen. Det er mulig at vårt handelssystem fungerer veldig bra på lange handler, og svært dårlig på kort, eller omvendt. Hvis du sier at lange handler er veldig gode, kan denne genetiske algoritmen vinne, selv med store tap på korte handler. For å unngå det, tilordner vi mer vekt til lange handler i merkelige og korte handler i jevne sykluser. Dette er bare et eksempel, det er ingen garanti for at det vil forbedre noe. Mer om det nedenfor, i diskusjon om korrigeringer. Teknisk sett trenger du ikke å gjøre det, eller kan gjøre det annerledes. Legg til overskudd til en sortert matrise. Den returnerer en innføringsposisjon, og vi bruker denne posisjonen til å legge til Neural Network håndtak, lære og teste profitt til ikke-sorterte arrays. Nå har vi data for nåværende Neural Network på samme array indeks som sin fortjeneste. Tanken er å komme til utvalg av NN, sortert etter lønnsomhet. Som array er sorterer etter fortjeneste, for å fjerne 12 nettverk, som er mindre lønnsomme, trenger vi bare å fjerne NNs 0 til 14 Handelsbeslutninger er basert på verdien av Neural Network-signalet. Fra dette synspunktet er programmet identisk med eksempler fra forrige artikkel. Forex Trading Strategy: Diskutere eksempel 0 Først av alt, kan vi se på diagrammer. Det første diagrammet for fortjeneste under den første iterasjonen er ikke bra i det hele tatt, som det forventes, det neurale nettverket mister penger (bildet evolution00gen0.png kopiert etter første iterasjon fra bildemappen): Bildet for fortjeneste på syklus 15 er bedre, noen ganger , genetisk algoritme kan lære seg veldig fort: Merk imidlertid metningen på en profittkurve. Det er også interessant å se på hvordan individuelle fortjeneste endrer seg, og husk at kurvenummeret sier 3, ikke alltid for det samme nevrale nettverket. som de blir født og avsluttet hele tiden: Vær også oppmerksom på at lite forex-automatisert handelssystem utfører dårlig på korte handler, og mye bedre i lang tid, noe som kanskje eller ikke er relatert til det faktum at dollaren falt sammenliknet med euro i den perioden. Det kan også ha noe å gjøre med parametere av indikatoren vår (kanskje vi trenger annen periode for shorts) eller valg av indikatorer. Her er historien etter 92 og 248 sykluser: Til vår overraskelse mislyktes den genetiske algoritmen helt. Lar prøve å finne ut hvorfor, og hvordan å hjelpe situasjonen. Først av alt, er ikke hver generasjon ment å være bedre enn den tidligere. Svaret er nei, i hvert fall ikke innenfor modellen vi brukte. Hvis vi tok ALLTRE læring sett på en gang, og brukte det gjentatte ganger for å lære våre NNs, så ja, de vil forbedre seg på hver generasjon. Men i stedet tok vi tilfeldige fragmenter (12000 poster i tid), og brukte dem. To spørsmål: hvorfor systemet mislyktes på tilfeldige fragmenter av læringssett, og hvorfor har vi ikke brukt hele læringssettet Vel. For å svare på det andre spørsmålet, gjorde jeg det. NNs utførte seg sterkt - på læringssett. Og de mislyktes på å teste sett, av samme grunn det mislykkes når vi brukte FFPB læring. For å si det annerledes, ble våre NNs overspecialized, de lærte å overleve i miljøet de er vant til, men ikke utenfor det. Dette skjer mye i naturen. Tilnærmingen vi tok i stedet var ment å kompensere for det ved å tvinge NNs til å utføre seg godt på et tilfeldig fragment av datasettet, slik at de forhåpentligvis også kunne utføre på et ukjent testsett. I stedet mislyktes de både på testing og på læringssett. Tenk deg dyr, som bor i en ørken. Mye sol, ingen snø i det hele tatt. Dette er en metafor for rising markedet, som for våre NNs data spiller rollen som miljø. Dyr lærte å leve i en ørken. Forestill deg dyr som lever i et kaldt klima. Snø og ingen sol i det hele tatt. Vel, de justerte. Men i vårt eksperiment plasserte vi tilfeldigvis våre NN i en ørken, i snø, i vannet, på trærne. ved å presentere dem med forskjellige fragmenter av data (tilfeldig stigende, fallende, flatt.). Dyr døde. Eller, for å si det annerledes, valgte vi det beste Neural Network for tilfeldig datasett 1, som for eksempel var for stigende marked. Deretter presenterte vi vinnerne og deres barn en fallende markedsdata. NNs utførte dårlig, vi tok best av fattige artister, kanskje en av de mutante barna, som mistet evnen til å handle på stigende marked, men fikk litt evne til å håndtere fallende. Da snudde vi bordet igjen, og igjen fikk vi best utøver - men best blant fattige artister. Vi ga rett og slett ikke våre NNs muligheter til å bli universelle. Det finnes teknikker som tillater genetisk algoritme å lære ny informasjon uten å miste resultatene på gammel informasjon (dyr kan i hvert fall leve om sommeren og om vinteren, slik at evolusjonen er i stand til å håndtere gjentatte endringer). Vi kan diskutere disse teknikkene senere, selv om denne artikkelen handler om å bruke Cortex Neural Networks Software. enn om å bygge et vellykket forex-automatisert handelssystem. Neural Network Genetic Algorithm: Eksempel 1 Nå er det på tide å snakke om korreksjoner. En enkel genetisk algoritme som vi opprettet i løpet av forrige trinn, har to store feil. For det første klarte det ikke å handle med fortjeneste. Det er ok, vi kan prøve å bruke delvis opplært system (det var lønnsomt i begynnelsen). Den andre feilen er mer alvorlig: Vi har ingen kontroll over ting, som dette systemet gjør. For eksempel kan det lære å være lønnsomt, men med store drawdowns. Det er et velkjent faktum at evolusjonen i virkeligheten kan optimalisere mer enn én parameter samtidig. For eksempel kan vi få et dyr som kan løpe fort og være motstandsdyktig mot kulde. Hvorfor ikke prøve å gjøre det samme i vårt forex-automatiserte handelssystem. Det er da vi bruker rettelser, noe som er noe annet enn settet av ytterligere straffer. Si, vårt system handler med drawdown 0.5, mens vi vil bekrefte det til 0 - 0.3 intervall. For å fortelle systemet at det gjorde en feil, reduserer vi fortjenesten (en brukt til å bestemme hvilken genetisk algoritme vant) i den grad som er proporsjonal med størrelsen på DD. Deretter tar evolusjonsalgoritmen seg av resten. Det er få flere faktorer som vi ønsker å ta i betraktning: Vi vil kanskje ha mer eller mindre like mange kjøp og salg, vi vil ha mer lønnsom drift, da av feil, vil vi kanskje ha fortjenestediagrammet til være lineær og så videre. I evolution01.tsc implementerer vi et enkelt sett med korrigeringer. Først av alt bruker vi et stort antall for en første korreksjonsverdi. Vi multipliserer den til en liten (vanligvis mellom 0 og 1) verdier, avhengig av straffen vi vil bruke. Da vi multipliserer vår fortjeneste til denne korreksjonen. Resultatet blir derfor korrigert for å reflektere hvor mye den genetiske algoritmen tilsvarer våre andre kriterier. Deretter bruker vi resultatet til å finne en vinner Neural Network. Forex Trading Strategy: Diskusjon av eksempel 1 Eksempel 1 fungerer mye bedre enn eksempel 0. I løpet av de første 100 syklusene lærte det mye, og fortjenestediagrammer ser beroligende ut. Men som i eksempel 0 er lange handler mye mer lønnsomme, noe som sannsynligvis betyr at det er et problem i vår tilnærming. Likevel fant systemet en balanse mellom to motstridende innledende forhold: Det er en viss positiv dynamikk både i læringssett og, viktigere, i testsett. Når det gjelder videre læring, i syklus 278 kan vi se at systemet vårt har blitt overtrained. Det betyr at vi fortsatt har fremskritt på læringssett: Men testing av sett viser svakhet: Dette er et vanlig problem med NN: når vi lærer det på læringssett, lærer det å håndtere det, og noen ganger lærer det seg så godt - til grad, når det mister ytelsen på testsettet. For å håndtere dette problemet, brukes en tradisjonell løsning: vi fortsetter å lete etter Neural Network. som fungerer best på testsett, og lagre det, overskrive tidligere beste, hver gang ny topp nås. Dette er den samme tilnærmingen, vi brukte i FFBP-trening, bortsett fra, denne gangen må vi gjøre det selv (legge til kode, som ser etter et best Neural Network på et testsett, og ringer SAVENN, eller eksporterer vekter av Neural Network til en fil). På denne måten, når du stopper treningen, har du den beste utøveren ON TESTING SET lagret og venter på deg. Merk også at det ikke er maks. fortjeneste du er ute etter, men optimal ytelse, så vurder å bruke rettelser når du ser etter en best utøver på et testsett. Genetisk algoritme for FOREX Teknisk analyse: Hvor nå Etter at du fikk vinneren din Neural Network. Du kan følge trinnene som er beskrevet i forrige artikkel, for å eksportere vekter av det nevrale nettverket. og deretter å bruke dem i din realtid trading plattform, som Meta Trader, Trade Station og så videre. Alternativt kan du fokusere på andre måter å optimalisere det neurale nettverket på. i motsetning til FFBP-algoritmen, kan du få avay fra å bruke lærings - og testsett, og flytte sekvensiell læring. Last ned Cortex Order Cortex Se prisliste Siktbarhet er svært viktig for dette nettstedet. Hvis du liker det, vennligst lenke til dette URLNaturalvalget: Genetisk algoritme for systemoptimalisering Genetisk programmering Evo 2 er vårt avanserte genetiske algoritmbibliotek som inkorporerer det nyeste innen genetisk algoritme-design, som for eksempel biologisk identiske prosesser, epigenetiske brytere, simulert glødning, Westermarck innfødningsforebygging , aldersbegrenset rekombinasjon og mer. Evo 2-algoritmen er ikke basert på standard single-kromosom GA-design. Evo 2 løser multivariate optimaliseringsproblemer raskt og skalerer med kompleksitet. Evo 2-algoritmen ble utviklet for genetisk programmering (autonom opprettelse av handelssystemer), optimalisering av handelssystem og porteføljeoptimalisering. Evo 2 lar utviklere enkelt utvikle multivariate handelssystemoptimaliseringer. Bio-identisk genom og algoritme Evo 2 er ikke bare bio-inspirert, men det er bio-identisk i mange aspekter. Evo 2 simulerer hver naturlig prosess fra kompisvalg til DNA-emballasje og fullført meiosis. De fleste standard genetiske algoritmer forsømmer å utføre de mange trinnene av meiosis som er av vital betydning for genetisk variasjon, en avgjørende viktig variabel for å unngå lokale optima. Under profase utveksles kromosomer synaps og en liten mengde DNA mellom homologe kromosomer gjennom en prosess kjent som kryssing over. Den kritiske delen av profasen er foringen av tetrads i homologe par. Evo 2-algoritmen sikrer at homologer kun opprettes fra ikke-relaterte, motsatte kjønnskromosomer. Metafase og anafase Metafase og anafase er fasene hvor mye variasjon inkorporeres i genomet, men de fleste genetiske algoritmer utelater fullstendig disse trinnene. Evo 2 simulerer begge faser helt og nøyaktig. Ingen innfødt tillatelse De fleste standard genetiske algoritmer er innavlet suppe, teknisk sett. Inbreeding reduserer genetisk variasjon, som er nok å si, hindrer systemene i å utvikle seg og tilpasse seg miljøet. I standard GAs betyr dette at et system kan være mer sannsynlig å bli sittende fast i lokale optima. Mens naturen har minst tre mekanismer for å hindre innavl, unnlater de fleste genetiske algoritmer å løse dette problemet. Den første metoden: Forhindre avkom fra å reprodusere. Innavl resulterer i økt homozygositet, noe som kan øke sjansene for at avkom blir påvirket av recessive eller skadelige egenskaper. Den andre mekanismen: Kjør vekk unge menn for å forhindre incest parring mellom søsken. Den tredje mekanismen: Westermarck-effekten. Dette er en psykologisk effekt der personer som er oppvokst i nærhet i barndommen blir desensibilisert til senere seksuell tiltrekning. Den endelige konsekvensen av innavl er arten utryddelse på grunn av mangel på genetisk mangfold. Gripen, en av de mest innavlede artene på jorden, er et godt eksempel. Og det skjer også å bli utryddet. For tjue tusen år siden ropte cheetahs over hele Afrika, Asia, Europa og Nord-Amerika. For rundt 10.000 år siden, på grunn av klimaendringer, ble alle utelukkende en art utdød. Med den drastiske reduksjonen i tallene deres, var nære slektninger tvunget til å avle, og valpene ble genetisk innfødt, noe som betyr at alle cheetahs er svært nært beslektet. Selv om naturen forbyder innavl, ser nesten alle datasimulerte genetiske algoritmer bort dette problemet. Evo 2 forhindrer inbreeding via Westermarck-effekten og andre simulerte effekter. Epigenetiske brytere Epigenetiske teorier beskriver hvordan endringer i genuttrykk kan skyldes andre mekanismer enn endringer i den underliggende dna-sekvensen, midlertidig eller gjennom flere generasjoner, ved å påvirke et nettverk av kjemiske brytere i celler samlet kjent som epigenomet. Evo 2 kan simulere epigenetiske brytere for å tillate at systemet midlertidig straffes for handlinger som for å være for grådige eller risikofylte. Simulert Annealing Simulert annealing er en probabilistisk metaheuristisk for det globale optimaliseringsproblemet med å finne en god tilnærming til den globale optimaliteten av en gitt funksjon i et stort søkerom. Det brukes ofte når søkeområdet er diskret. For visse problemer kan simulert glødemiddel være mer effektiv enn uttømmende opptelling. Family Tree Evo 2 kan lagre genealogisk informasjon for hvert genom, slik at brukerne kan se gjennom utviklingen av den genetiske algoritmen for å se hvordan visse gener har utviklet seg over tid. Karyogram Viewer Evo 2 har et innebygd karyogram, som gjør det mulig å visualisere genene mens genetiske algoritmer utvikler seg. Karyogrammet kan tilpasses for å vise slektsinformasjon for bestemte genomer via en kontekstmeny. Evo 2-applikasjoner Evo 2 kan brukes på klient - eller serversiden for genetisk programmering (autonom opprettelse av handelssystemer), optimalisering av handelssystem, porteføljeoptimalisering, ressursfordeling og ikke-finansieringsrelaterte applikasjoner, inkludert men ikke begrenset til kunstig kreativitet, automatisert design, bioinformatikk, kjemisk kinetikk, kodebrytende, kontrollteknikk, Feynman-Kac-modeller, filtrering og signalbehandling, planlegging, maskinteknikk, stokastisk optimalisering og timetablering. Genetiske programmeringseksempler TradeScript programmeringseksempler viser utviklere hvordan man lager genetiske programmeringsmodeller som kan teste test og optimalisere strategier. Programmeringsdokumentasjon kan lastes ned her.
Comments
Post a Comment