Vous êtes sur la page 1sur 19

DivisordeFrecuenciasenHardwareEvolutivo

ChristianJosDevia1

christiandevia@hotmail.com

JosMarcioLuna2
marciol@terra.com.co

AlvaroBetancourtMIng,MSc3
abetancourt@udistrital.edu.co

RESUMEN

Enelpresentearticulosedescribeeldesarrollodeunaplataformaexperimental
en hardware evolutivo (Evolvable Hardware, EHW) dentro del proyecto DEEP
(DevelopmentofanExperimentalEvolvableHardwarePlatform).

Seexponeelanlisisdelosprimerosresultadosobtenidosdurantelaevaluacin
de la plataforma a travs de la implementacin de un divisor de frecuencias
evolutivo.

PalabrasClaves
HardwareEvolutivo,AlgoritmosGenticos,DivisordeFrecuencia,FPGA.

1Estudiante.UniversidadDistrital.FacultaddeIngeniera.MiembroGrupoLAMIC
2Estudiante.UniversidadDistrital.FacultaddeIngeniera.MiembroGrupoLAMIC
3Profesor.UniversidadDistrital.FacultaddeIngeniera.DirectorGrupoLAMIC

ABSTRACT

Thisabstractisaimedatdescribingthedevelopmentofanexperimentalplatform
within Evolvable Hardware (EHW) along the DEEP (Development of an
Experimental Evolvable Hardware Platform) project, as well as presenting the
analysis of the outcomes reached from the platform evaluation through the
implementationofanevolvablefrequencydivider.

KeyWords
EvolvableHardware,GeneticAlgorithms,FrequencyDivider,FPGA.

I.INTRODUCCIN

Enlosltimosaos,lasestrategiasbioinspiradashantomadofuerzaenelcampo
de la ingeniera. Es as como surgen ramas de estudio como la computacin
evolutiva[1,2,3,4]queimitaoperadoresnaturalescomolaseleccin,elcruceyla
mutacindecriaturaspararesolvercomplejosproblemasmultivariablesdeforma
heurstica. Esto, complementado con los ltimos desarrollos en dispositivos
lgicosprogramablescomolasFPGAs(FieldProgrammableGateArray)handado
lugaraunanovedosadisciplinallamadaHardwareEvolutivo(EvolvableHardware,
EHW) [5,6,7]. El EHW es un acercamiento moderno al diseo de circuitos
complejosyalaconstruccindehardwareadaptativo.Variasdelasdimensiones

delEHWestnenplenoprocesodeexploracin.

El proyecto DEEP (Development of an Experimental Evolvable Hardware


Platform),sepresentacomounapropuestaquedacomienzoalaexperimentacin
enestenovedosocampodentrodelaUniversidadDistrital,conelfinderealizar
pruebasdetipoacadmicoquepermitanexaminarsuaplicabilidadenelentorno
local.

Elpresenteartculoseorganizacomosigue:Laseccin2,ilustralametodologa
utilizadaeneldesarrollodelaplataformaexperimentalenEHW,sedescribenlos
dos procesos paralelos de diseo que implican un desarrollo de una celda
evolutivasobreFPGAyunalibreradeinstrumentosvirtualesqueimplementanlos
algoritmosgenticos.Enlaseccin3seexponeelmodocomodichosprocesos
operanconjuntamente.Enlaseccin4seevalaeldesempeodelaplataforma
frentealproblemaconcretodeundivisordefrecuenciasevolutivo.Sedesarrollan
unaseriedeejemploscuyafinalidadesexponerlaincidenciadelosoperadores
genticossobrelaarquitecturahardwareadoptadaenlaplataforma.Finalmente
enlaseccin5sepresentanlasconclusiones.

II.METODOLOGA

ParallevaracaboelexperimentosobrelaFPGA,sehizonecesarioeldiseode

unaplataformaexperimentalenEHW.Dichodiseosecomponededospartes
fundamentales:

Desarrollodeunalibreradeinstrumentosvirtuales(VirtualInstruments,VI)
orientadaaldiseo,ejecucinyevaluacindealgoritmosgenticos(AG)
bajoellenguajedeprogramacingrficaLabview.

DiseodeunamatrizdeceldasevolutivasadecuadaparalaFPGA,que
faciliteelmonitoreodelaevolucinylasconexionesfsicasalinteriordel
dispositivo.

2.1.LibreradeInstrumentosVirtualesparaAlgoritmosGenticos:

La librera presentaoperadoresespecficos,seleccionadosentre lasprincipales


estrategiasevolutivasreportadasyaplicadasenproblemasdeingeniera[2,4],
porlotanto,secuentaconunavariedaddesolucionesqueabarcanunabuena
cantidaddeproblemasmediantelacombinacindediferentesVIs,yporendede
diferentesestrategiasdeevolucin.

En el VI de generacin de poblacin inicial se determinan parmetros de


codificacindelosindividuos,lacual,puedeserdetipobinaria,octal,hexadecimal
o decimal, facilitando el proceso de experimentacin con diversos tipos de

cadenas[4].Asimismo,losoperadoresdeseleccin(porruletaypormuestreo
estocstico), cruce (con puntos de cruce variable) y mutacin (uniforme y no
uniforme)[1,2,4],poseenmuchasprestaciones,detalformaqueelusuarioaccede
adiversasopcionesparadisearelAGquemejorseacomodeasusnecesidades.

Esta libreraha sido puesta a prueba enla solucin de algunosproblemas de


evolucin de software como maximizacin en funciones bidimensionales con
funciones senoidales moduladas, minimizacin de la funcin de Ackley y
coincidenciadepalabras[4],dondesehanobtenidobuenosresultadosencuanto
aprecisinenlasrespuestas,tiemposdeconvergenciayfacilidadesdeoperacin
hacia el usuario. Esto ltimo se refleja en la interfaz grfica que dadas las
prestacionesdeLabview,conducenaqueseamuyamigableparaeloperadory
ademspermiterealizarcambiosdeparmetrosfcilmente.

2.2.DiseodeunaMatrizdeCeldasEvolutivassobreFPGA.

El circuito evolutivo fue especificado mediante lenguaje de descripcin de


hardware,VHDLyprogramadoenunaFPGAXC4000deXilinx[8,9,10].Consiste
enunamatrizdecuatroceldasyunamemoriaRAMquecontienelaspalabrasde
programacineinterconexindelasceldascomosepuedeobservarenlafigura
1.

Laarquitecturadeceldasedisedetalformaquemedianteungrannmerode
operacioneslgicas,elprocesoevolutivosellevaacabodeformafcilalinterior
deldispositivohardware.Cadaceldacuentacontresunidadeslgicas,unflipflop
tipo T y un conjunto de multiplexores. Una celda lgica puede realizar 16
operacionesdiferentes,determinadasporlapalabradecontrolprovenientedela
RAM.Parasuprogramacinserequieren16bits,locualllevaaqueelcircuito
evolutivo quede determinado por una palabra de programacin de 64 bits. La
figura2ilustraeldiagramadelaceldapropuesta.

Figura1.

Diagramaesquemticodelcircuitoevolutivo.

Latabla1muestralasoperacionesdelaunidadlgica:
Tabla1.

TabladeoperacionesdelaUnidadLgica.

Lafigura3ilustralasconexionesinternasfinalesdentrodelaFPGA.
Figura2.

Diagramaesquemticodeunacelda.

Figura3.

Esquema de conexiones internas


dentrodelaFPGA.

2.3.FuncionamientoConjuntodelaPlataforma

Losmdulosdehardwareysoftwaredescritosanteriormente,trabajanenforma
conjunta permitiendo as la evolucin intrnseca de hardware mediante la

utilizacindeunAG.

ElAGmanejaunapoblacinfijadeindividuosde64bits,codificadosencadenas
hexadecimales,loscuales,sondescargadosalaFPGAporpuertoparalelo[11],
paraelloseimplementunprotocolodenivelfsicoquegarantizalasincronaen
latransferenciadedatosenlasdosdireccionesdelpuerto.Deestaforma,cada
individuomodificaelcomportamientodelcircuitoevolutivoproduciendounasalida
especfica,lacualesrealimentadahaciaelcomputadorparasuposterioranlisis
enelAG.

DependiendodelproblemaplanteadosediseaunVIdeaptitud,cuyafuncines
tomarlasealdesalidadelaFPGAydeterminarquetanaptoresultaelindividuo
deacuerdoconlasolucinqueaportesufenotipo.Esdecir,dentrodelaFPGAse
decodificadelgenotipodelindividuoensufenotipo.Estedatodeaptitud,permite
escogerdemaneraprobabilstica,aquindividuosdurantecadageneracinle
sernaplicadoslosdiversosoperadoresevolutivosygenticos.

III.IMPLEMENTACINDEUNDIVISORDEFRECUENCIASEVOLUTIVO

La primera propuesta de prueba, para la plataforma experimental en EHW,


consisteenllevaracabolaevolucindeundivisordefrecuencias,quepartiendo
deuntrendepulsosdereferenciaenlaentradadelsistema,permitaconseguir

arquitecturasdigitalesqueresultenensealesdesalidaconfrecuenciasmltiplos
delaoriginal.Dichosmltiplos,portratarsedeundivisordefrecuencias,deben
encontrarseenunrangocomprendidoentre0y1.

Paratodoslosexperimentosllevadosacabolasealdeentradaconsisteenun
trendepulsosa60HzgeneradodentrodelaFPGA.

3.1.DivisordeFrecuenciasadelafrecuenciadeentrada

Paraestecasosebuscaobtenerlaarquitecturanecesariaparaoriginarunaseal
de30Hzapartirdelasealde60Hzdeentradaalsistema.Dadoqueelespacio
solucindelproblemaenestecasoesgrande,sepuedeconcluirquelarespuesta
deseadapuededarseatravsdevariosindividuos,porloqueelproblemapuede
tenermuchassoluciones.

Figura4

Curvadeerror,Evolucindivisordefrecuenciasconfactor1/2.

Losparmetros(Factor(defrecuencia)=0.5,Poblacin(Nmerodeindividuos)=
5, Mutacin (probabilidad) = 100%, Cruce (probabilidad) = 25%) del algoritmo
genticoylosresultadosdelaevolucinsemuestranenlafigura4.

Deestosresultadosseobservaqueapartirdelageneracin20,lafuncinde
errordelmejorindividuoalcanzaelmnimo,conduciendoalrestodelapoblacin
hacialaoptimizacindesusvaloresdeaptitud(queenestecasoesinversamente
proporcionalalafuncinerror),comolodemuestralacurvaevolutivapromediode
lapoblacinylacurvadelindividuomenosapto.

Paraestapruebaelporcentajedemutacindisminuyeconformeseavanzaenla
evolucin.Aestetipodemutacinseleconocecomomutacinnouniformeyse
siguedelaecuacin:
(1)donde:
Porcentajedemutacinenlageneracint
Porcentajedemutacininicial
Generacinencurso
NmerototaldeGeneracionesaevolucionar
Factordelinealidaddelafuncin(paraesteejemploparticularsuvaloresb=1)

Obsrveselarpidaconvergenciadeesteprimerexperimento.Estosedebe,a
que como se haba afirmado antes, el espacio solucin es amplio, es decir,
muchos individuos pueden llevar a la solucin de 0,5 veces la frecuencia de
entrada.

Lasecuencianumricahexadecimalqueconformaelgenotipodelmejorindividuo,

lasealobtenidayelcircuitoequivalenteinternoevolucionadoseilustranenla
figura5:
Genotipo=384C871E51CB4D46h
(a)

(b)

Figura5

a)Sealobtenida.b)Circuitoequivalentedeldivisordefrecuenciasconfactor1/2

Comopuedenotarse,elcircuitonoesptimo,puesparaestaspruebaslafuncin
deaptitudesindependientedelosrecursosutilizadosdentrodelaFPGA

PuedeapreciarsequelapresenciadelflipfloptipoTconsuentradaTenaltoyla
seal de 60Hz a la entrada de reloj, es la base principal para la divisin de
frecuenciasalamitad.

3.2.DivisordeFrecuenciasadelafrecuenciadeentrada

Se presenta un problema de mucha mayor complejidad que el divisor de


frecuenciasadelafrecuenciadeentrada,yaqueelespaciosolucinesmuy
reducidofrentealespaciodeexploracindelalgoritmo,esdecir,queexisteun
menornmerodesolucionesposiblesquesatisfaganelproblema,ysinembargo,
elalgoritmotieneelmismonmerodealternativasparaexplorar.Enestecasose
procedebasndonosen[12]aejecutarsololosoperadoresdeseleccin,mutacin

yreproduccin(dejandodeladoeloperadorcruce),paraexaminarlaconductadel
procesoevolutivo.Losvaloresdelosparmetrosdelalgoritmosemuestranenla
figura6,conelcomportamientotemporaldelmismo:

Figura6

Curvadeerror,evolucindivisordefrecuenciasconfactor1/4

Obsrvesecomolaevolucintardacercade235generacionesenconvergera
una respuesta cuando la poblacin es pequea (5 individuos), puesto que los
individuoscarecendevariedad.

Sepuedenotarunruidolatentealolargodelacurvadelafuncindeerror
promedio, debido a la ausencia de cruce, puesto que el cruce contribuye a la
explotacindesoluciones[4].Esto,probablementepuederesultarperjudicialpara
laconvergenciadelalgoritmoyaqueelmejorindividuoestpropensoamutarde
talformaquesepierdalasolucinquebrindasugenotipo.

Lasecuencianumricahexadecimalqueconformaelgenotipodelmejorindividuo,
lasealobtenidayelcircuitoequivalenteinternoevolucionadoseilustranenla
figura7:

Genotipo=CFC8DDE955600FD5h

Figura7

a)Sealobtenida.b)Circuitoequivalentedeldivisordefrecuenciasconfactor1/4

Como era de esperarse, la divisin a de frecuencia ha encontrado una


arquitecturaconsistenteendosflipflopsconsecutivos,queparalospropsitosdel
experimento resultan en un circuito que utiliza menor cantidad de recursos, y
correspondeaunadelasarquitecturasdedivisindefrecuenciasmssencillas
quesepuedenemplear.

Posteriormente, se obtuvo una mejora dividiendo frecuencias a en el


desempeo de la plataforma, incrementando el tamao de la poblacin a 15
individuoseintroduciendoeloperadorcruce.Estosepuedevisualizarenlafigura
8:

Figura8

Curvadeerror,evolucindivisordefrecuenciasconfactor1/4.

Se tiene una notable mejora en la convergencia del algoritmo. Ntese que


nuevamentelamutacinobedecealaecuacin(1),peroestavez,elfactorde
linealidadesb=2,loqueayudaapreservarlasolucinobtenidaenlageneracin
14, al reducir de manera cuadrtica la probabilidad de mutacin conforme
transcurrenlasgeneraciones.Asuvezdebeobservarsecmolaconvergenciase
logra mucho antes (generacin 14 frente a generacin 235), ya que la

heterogeneidad y nmero de la poblacin inicial incrementa la capacidad de


exploracindelalgoritmo.
Lasecuencianumricahexadecimalqueconformaelgenotipodelmejorindividuo,
lasealobtenidayelcircuitoequivalenteinternoevolucionadoseilustranenla
figura9:
Genotipo=A4CECAA47996C7D8h

Figura9

a)Sealobtenida.b)Circuitoequivalentedeldivisordefrecuenciasconfactor1/4

Debenotarseenelfenotipoqueelciclotildelasealdesalidaenestecasono
correspondealciclotildelasealdeentrada.Estoocurreporqueelalgoritmo
genticonicamentetrabajaenfuncindelafrecuenciarequeridaenlasealde
salida, pero no tiene en cuenta el ciclo til de la misma con respecto a la de
entrada.Sinembargo,aunqueelprocedimientodemutacindelejemploanterior
hayadadoconunasolucinconunciclotildel50%,queseasemejamsala
sealdeentrada,sedebetenerencuentaquelaevolucinconelciclotildel
25%fuemuchomsestableyvelozensuconvergencia.

Tambinpuedeobservarselacomplejidaddelcircuitoobtenidoencomparacin
conelcasoanterior,puestoquerecursostalescomo,elnmerodeflipflopsy
compuertaslgicasesmuchomayorenestecaso.

3.3.DivisordeFrecuenciasa1/3delafrecuenciadeentrada

Enuncircuitodigitalsecuencialcomoeselcasodelasceldaslgicasdiseadas,
seesperaraintuitivamentequelasfrecuenciasdelassealesdesalidafuesenla
mitadparaelcaso,enquelasealdeentradaseconectaraalaentradadereloj
deunflipfloptipoTconsuentradaTenalto.Asimismo,seesperaraunacuarta
partedelafrecuenciaencasodequelasealdesalidadeunprimerflipflopse
conectara al reloj de otro flipflop tipo T con su entrada T en alto. As
sucesivamentesiseconectannflipflopsencascadasetendraunafraccinde
frecuenciafinalde.Lametaenesteejemploesevolucionarconlaarquitecturade
celdasplanteadaaundivisordefrecuenciasconfactor1/3.Eldesempeodela
evolucinysusparmetrossemuestranenlafigura10.
Figura10

Curvadeerror,evolucindivisordefrecuenciasconfactor1/3.

Debe notarse que la convergencia del individuomsapto present problemas,


dadaslasdifcilescondicionesparaqueestemltiplodefrecuenciasealcance.
Estoocurre,porqueelcambiodealgntrminodelacadenaresultacrticopara
mantenerelerrorminimizado.Porlotanto,esposibleaseverarqueestecasoesel
ejemplomscrticodetodoslospresentadoshastaahoraenlamedidaenque
poseeelconjuntosolucinmspequeodetodos.

Sin embargo, ejecutando una estrategia de EHW que contenga mutacin no

uniformeconb=2yconunaprobabilidaddecrucedel25%,laplataformaresuelve
elproblema.

Lasecuencianumricahexadecimalqueconformaelgenotipodelmejorindividuo,
lasealobtenidayelcircuitoequivalenteinternoevolucionadoseilustranenla
figura11:

Genotipo=1C5C9E0D319CC730h

Figura11

a)Sealobtenida.b)Circuitoequivalentedeldivisordefrecuenciasconfactor1/3

Ntesequenuevamenteelciclotildelasealdesalida(66%)esdiferentedelde
lasealdeentrada(50%),puestoquecomosehabaexplicado, lafuncinde
aptitudnodependedeestefactor.

Una de las hiptesis planteadas para explicar el funcionamiento del circuito


mostrado, es que el flipflop tipo T realimentado con la compuerta NOT,
posiblementesecomportacomounoscilador,yaqueaunqueparezcaqueposee
un estado estable cuando la salida Q se encuentra en 1 y la entrada de reloj
permaneceen0,setienequeduranteloscambiosdenivelendichasconexiones
sepuedenproducirpulsosespuriosqueponennuevamenteunnivelbajoenla
salidaQ,resultandoenunaoscilacinpermanenteatravsdelarealimentacin.
Luego, las operaciones lgicas se llevan a cabo entre seales de frecuencias
diferentes, y probablemente desfasadas, que concluyen en la obtencin de la
sealde20Hz.alasalidadelcircuito.

IV.DISCUSINYCONCLUSIONES

Se han presentado varios experimentos que evalan el desempeo de una


plataforma experimental en EHW haciendo evolucin de circuitos digitales en
FPGA. Para este caso especfico, se evala el desempeo de un divisor de
frecuencias evolutivo. Como la funcin de aptitud, no depende del nmero de
recursosautilizardentrodeldispositivoreconfigurable(FPGAXC4000dexilinx),
loscircuitospuedenllegarasermuycomplejos.Paraevitarloanterior,sepropone
afuturoemplearfuncionesdepenalizacinproporcionalesalnmeroderecursos
quecadaindividuoempleedentrodelaFPGA,esdecir,quecadaindividuodeber
pagarunpequeovalordesuaptitudenlamedidaenqueutilicemscompuertas

lgicasoregistros.

Valelapenaresaltarqueenlosexperimentosdehardware,labsquedaaleatoria
puede conducir a individuos muy aptos, que aporten soluciones apropiadas al
problema planteado, pero solo en el caso en que el espacio solucin sea lo
suficientementegrandeparaconvergerynoperderdevistalasolucin.Inclusive,
sepuedenobtenermuybuenosresultadosproponiendoprobabilidadesdecruce
nulasenelAG.

Por ltimo, en experimentos de mayor exigencia como en el ltimo caso, se


consiguieronresultadosinteresantes,quesebasanenAlbert[7],ysecomprueba
quelanaturalezaofrecesolucionesdeingeniera,planteadassobreunmodelo
sistemtico de diseo evolutivo que est fuera de los paradigmas y modelos
conceptualeshumanos,yquesonmuchomsgeneralizados,esdecir,quedentro
de los sistemas cientficos tradicionales el espacio solucin propuesto por los
mtodos clsicos de optimizacin, es ms reducido que el propuesto por una
metodologabasadaenestrategiasbioinspiradas.

REFERENCIASBIBLIOGRAFICAS

[1]MARTINEZJos,ROJASSergio.IntroduccinalaInformticaEvolutiva.Ed
UniversidadNacionaldeColombia.1999.186p

[2]CERROLAZA Miguel. Algoritmos de Optimizacin Estructural Basados en


Simulacin Gentica, Ed. Universidad Central de Venezuela. Caracas. 1996.
163p
[3]FALKENAUEREmanuel. GeneticAlgorithmsandEngroupingProblems.Ed.
JohnWiley.1998.220p
[4]MITSUOGen.GeneticAlgorithmsandEngineeringProblems.EdJohnWiley.
1997.411p
[5]YAOXin,HIGUCHITetsuya.PromisesandChallengesofEvolvableHardware.
IEEETransactionsonSystems,Man,andCybernetics, PartC:Applicationsand
Reviews.1999
[6]TIMOTHYG.W.GORDON,Peter,BENTLEY,J.OnEvolvableHardware.2002
[7]ALBERTDavid.EvolutionaryHardwareOverview.1997
[8]XC4000EandXC4000XSeriesFieldProgrammableGateArraysMay14,1999
(Version1.6)ProductSpecificationRev.1SecondQuarter2000DataSourceCD
ROM.
[9]XC4000E and XC4000X Series Field Programmable Gate Arrays XC4000XL
ElectricalSpecification.Rev.1SecondQuarter2000DataSourceCDROM
[10]XC4000XLA/XVFieldProgrammableGateArraysDS015(v1.3)October18,
1999ProductSpecification.Rev.1SecondQuarter2000DataSourceCDROM.
[11]PEACOCK, Craig. Interfacing the Standard Parallel Port.
http://www.senet.com.au/~cpeacock
[12]KROHLING, R. ZHOU, Y.TYRRELL, M. Evolving FPGAbased robot

controllersusinganevolutionaryalgorithm.

Vous aimerez peut-être aussi