Return to search

Kunstig utvikling: Utvidelse av FPGA-basert SBlock-plattform / Artificial Development: Extension of the SBlock Platform in FPGA-technology

<p>Utvikling av maskinvare foregår tradisjonelt med en topp-ned designstrategi. I fremtiden kan oppgavene som skal løses bli for kompliserte for denne utviklingsmetoden. En tilnærming som er foreslått er å benytte inspirasjon fra naturen og utvikle det som kalles for bio-inspirert-maskinvare. Utvikling av evolusjonær maskinvare (EHW) betyr at elektronikk utvikles med grunnlag i evolusjonære algoritmer. Kort beskrevet går metoden ut på at det genereres tilfeldige individer, individene evalueres ut fra egnethet og nye individer dannes. Etindivid er her en representasjon av en krets som forsøker å løse en gitt oppgave. Det blir ofte benyttet en FPGA som plattform for utvikling av EHW. Det har vist seg at denne type krets har egenskaper som er godt egnet, men også egenskaper som kan gjøre det vanskelig å komme frem til gode resultater. Datamaskingruppa ved NTNU har foreslått en “virtuell FPGA” som enkelt lar seg implementere i en kommersielt tilgjengelig brikke. Denne plattformen blir kalt en SBlock-matrise. Mange av ulempene ved en vanlig FPGA er løst her. En SBlock-matrise kan betraktes som en to-dimensjonal cellulær automat som styres av ett sett regler. Ved siden av matrisen og regelsettet består SBlock-konseptet av en algoritme for utvikling av en organisme. Utviklngen er inspirert av naturen der en enkelt celle utvikles til en multicellær organisme. Algoritmen opererer på to nivåer. Tilstandene for hver enkelt SBlock kan endres og typen til hver blokk kan endres. Begge disse endringene avhenger av naboblokkenes egenskaper. Alle endringer i matrisen skjer i diskrete tidsintervaller. Systemet som har blitt utvidet i denne oppgaven har som formål å være plattform for eksperimentering med SBlock-konseptet. Utgangspunktet for oppgaven var et system delvis skrevet i VHDL og delvis i C. Systemet kan kjøre begge de omtalte nivåene i algoritmen. Utvidelsene som er gjort har hatt som formål å øke effektiviteten for systemet. Tidligere måtte all data som skulle prosesseres transporteres ut av systemet. Etter at utvidelsene er gjort blir data lagret under kjøring slik at evaluering kan gjøres internt. Datamengden som må leses ut har dermed avtatt. Det er gjort tre utvidelser av systemet. En utvidelse innbefatter lagring av informasjon for hver tilstandsendring i matrisen. Det har blitt implementert mulighet for å evaluere tilstandsdata med en funksjon, kalt fitnessfunksjon. Det har også blitt implementert minne for lagring av hvilken regel i utviklingsprosessen som har forårsaket endring av typen til en SBlock under kjøring. Resultatene fra kjøring av systemet viser at de tre utvidelsene har vært vellykket. For mange typer eksperimenter vil effektiviteten være økt. Dette gjelder eksperimenter hvor data ikke lenger må transporteres ut av systemet for evaluering, men kan evalueres internt med de nye funksjonene. Dersom data generert under kjøring ikke skal benyttes medfører endringene noe økt tidsforbruk i forhold til hva som oppnåes med det gamle systemet. Overvåkning av regelsettet gjør det lettere å holde kontroll med utviklingen.</p>

Identiferoai:union.ndltd.org:UPSALLA/oai:DiVA.org:ntnu-10231
Date January 2005
CreatorsAamodt, Kjetil
PublisherNorwegian University of Science and Technology, Department of Computer and Information Science, Institutt for datateknikk og informasjonsvitenskap
Source SetsDiVA Archive at Upsalla University
LanguageNorwegian
Detected LanguageNorwegian
TypeStudent thesis, text

Page generated in 0.002 seconds