Lopuksi


Huonosti kuvatut ongelmat ja likiarvoiset ratkaisut ovat mahdollisia koska tietokone voi tuottaa ihmistä nopeammin useita ratkaisusukupolvia. On kuitenkin sanottava, ettei pelkkä sattumanvarainen perimän muuttelu ilman risteyttämistä optimoi hakua. Risteytys tuottaa optimiratkaisun, jos populaatio pidetään riittävän suurena, valioyksilöiden perimä siirretään eheänä ja sukupolvia tuotetaan riittävästi - paikalliset optimit vältetään mutaatioiden tuottamisella.
Ohjelmointityön laadun valvonta on vaikeaa, eikä se saavuta teolliselle tuotannolle yleisesti asetettuja vaatimuksia. Jos hyväksytään ajatus siitä, että ohjelma voi muuttua vielä asiakkaan käytön aikana, niin geneettistä algoritmia soveltaen voidaan kaupallisenkin ohjelmiston antaa sopeutua käyttöympäristöönsä niin toiminnaltaan kuin resurssivaatimuksiltaan. Geenit tarjoavat ylläpitäjälle ohjelman ominaisuuksia heijastavan indeksin puutteellisesti toimivien modulien paikantamiseen.
Ovatko geenit älykkäitä? Jokainen ihmissolu sisältää tarkalleen samat perintötekijät, noin 2 870 000 000 neliaakkoksista geeniä - kuitenkin vain osaa perimästä käytetään kunkin isäntäsolun rakentamiseen. Miten solu osaa kehittyessään valita oikeat geenit? Vastaavasti geneettisen algoritmin karsinnan ja perimän vaihdon painopisteen oikea valinta on lopputuloksen optimaalisuuden kannalta ratkaisevaa. Ihmisperimä ohjelmoi 250 erilaista solutyyppiä valtaisasta 2,8 miljardin geenin nauhasta. Mielenkiintoisia näköaloja avaa ohjelmistoja kuvaavien geenien ryhmittely hierarkioiksi, jolloin ominaisuuksien optimointia voidaan suorittaa halutussa laajuudessa rajaamalla risteytysten ja mutaatioiden vaikutusalueita.
Varsinainen ongelma on uudenlaisen suunnittelustrategian omaksuminen - yleisestä yksittäiseen etenevän, deduktiivisen ongelmanratkaisun sijaan suunnittelussa pitää pyrkiä ratkaisuavaruuden ja ratkaisun ulkoisten vaatimuksien ymmärtämiseen ja induktiiviseen yksittäisestä yleiseen suuntautuvaan päättelyyn. Asteittain tarkentuvan ja täsmentyvän työvaltaisen koodausprosessin sijaan geneettiseen algoritmiin pohjaavan ohjelmankehityksen perustana tulee olla ratkaisumahdollisuuksia avaava, orgaanisiin malleihin pyrkivä suunnittelu.


Edellinen Sisältö Seuraava