Tässä on kuvateksti.

Adaptaatio algoritmeissa

Tietokoneiden tehokkuuden kasvaminen on mahdollistanut sellaisten tietokonealgoritmien kehittämisen, jotka ratkaisisivat ylivoimaisen vaikeita ongelmia. Eräs merkittävistä luonnon evoluutiota matkivista algoritmeista on geneettinen algoritmi, jonka voi mieltää älykkääksi satunnaishauksi. Siinä ongelman ratkaisuvaihtoehdot tyypillisesti esitetään bittijonoina, joita kutsutaan kromosomeiksi. Jokainen kromosomi koostuu alkioista, joita kutsutaan geeneiksi. Geneettisen algoritmin ajon alussa muodostetaan ongelman satunnaisista ratkaisuvaihtoehdoista koostuva alkupopulaatio, jota pyritään jalostamaan edelleen erilaisten ns. ”luonnollisten” operaatioiden avulla. Tyypillisimmät operaatiot ovat tällöin risteytys ja mutaatio. Mutaatioissa yksinkertaisimmillaan yksittäisen geenin arvoa muutetaan ja risteytyksessä kaksi tai useampi kromosomi risteytetään keskenään.

Ratkaisuehdokkaiden binäärisen esityksen lisäksi käytetään mm. myös reaalilukuesitystä, jolloin algoritmia yleisesti kutsutaan evoluutioalgoritmiksi. Reaaliluku-esitystapa vaatii tyypillisten operaatioiden, kuten risteytyksen ja mutaation, uudelleen määrittämistä ja soveltamista.

Geneettisen algoritmin tehokkuus optimiratkaisujen löytämisessä määräytyy kuitenkin sen erilaisten ohjausparametrien mukaan. Ohjausparametreja ovat mm. populaation koko ja rakenne, ratkaisuehdokkaiden esitystapa, tarkkuus ja pituus, mutaation läpikäyvien geenien lukumäärä sekä risteytyksen läpikäyvien kromosomien lukumäärä.

Geneettisen algoritmin parhaiden ohjausparametrien arvojen löytäminen sinänsä muodostaa hyvin vaikean ongelman, joka on askarruttanut tutkijoita paljon. Menetelmät, joilla ohjausparametrien arvot määrätään, jakautuvat kolmeen kategoriaan: staattiset, adaptiiviset sekä itse-adaptiiviset.

  • Staattiset menetelmät viittaavat yrityksiin, joilla pyritään etukäteen määräämään parhaat ohjausparametrien arvot kaikkiin ongelmatapauksiin. Tällaiset yritykset ovat kuitenkin hyvin työläitä ja niiden luonne on ristiriidassa sen tosiasian kanssa, että parametrien arvot ovat riippuvaisia sekä toisistaan että ratkaistavasta ongelmasta.
  • Adaptiiviset menetelmät puolestaan kuvaavat yrityksiä, joilla geneettisen algoritmin parhaat ohjausparametrien arvot pyritään löytämään ajon aikana. Tällaisissa tapauksissa geneettinen algoritmi aloitetaan ennalta määrätyillä parametrien arvoilla, joita parannetaan ajon aikana jollakin heuristisella menetelmällä.
  • Itse-adaptiiviset menetelmät koodaavat ohjausparametrien arvot osana ratkaisuehdokkaiden esitystä siinä toivossa, että nämä parametrit myös kävisivät samanlaista geneettistä muutosta ja kehittyisivät populaation mukaan yhä sopivammiksi.

Edellä mainitut seikat ovat antaneet tutkijoille aihetta kehittää erilaisia geneettisiä algoritmeja ongelmien ratkaisemiseksi.

Teksti: Ghodrat Moghadampour
Kuva: Shutterstock