Un aspecte relacionat amb l'ús d'ordinadors que ha arribat a ser
noticia periòdica als mitjans de comunicació és el
dels virus informàtics. Tothom, amb més o menys
precisió, en coneix l'existència, i de fet, els usuaris
directes d'ordinadors acostumen a prendre mesures per a evitar-ne la
presència en les seves màquines. Com sabem, els virus
informàtics prenen el seu nom pel comportament similar al dels virus
biològics: Els cal un hoste per a poder existir i reproduir-se, i
els seus efectes sobre l'hoste no acostumen a ser benèfics. Podem
dir que constitueixen una forma de vida digital que afecta negativament
l'ordinador i de retruc el que hom espera obtenir de l'ordinador.
La idea de programa que s'autoreprodueix a la memòria de l'ordinador
és practicament tan vella com el propi ordinador. Amb tot, la
creació de virus amb el propòsit exprés de destruir
dades i programes és relaciona directament amb la
incorporació massiva de l'ordinador personal tant a la feina com a
casa. D'una forma gairebé paral·lela a l'entrada en escena dels
virus, es van introduir altres programes que també tenien aspectes
pròxims a la vida digital, però amb una finalitat no
destructiva.
Els autòmates cel·lulars van posar-se especialment de moda a
començaments de la dècada passada. El més conegut
és el `Joc de la Vida' introduït pel matemàtic John
Horton Conway l'any 1982, i divulgat principalment per Martin Gardner a les
pàgines de Scientific American. Consisteix en fer servir la
pantalla com una placa de cultiu on uns objectes inicials es reprodueixen o
moren d'acord amb unes regles predeterminades. La versió
estàndard divideix la regió de la pantalla en quadrats que
poden ser actius o no (indicant-ho amb un color, blanc i negre, per
exemple). Inicialment alguns quadrats són activats a l'atzar. Si un
quadrat és actiu i dels vuit quadrats que l'envolten n'hi ha dos o
tres que també ho són, aleshores segueix actiu. Si un quadrat
no és actiu i té tres veinsactius esdevé actiu. Tots
els altres quadrats actius deixen de ser-ho. (Una versió
Java pot trobar-se a
http://www.cs.bham.ac.uk/~wbl/life.html)
Encara que el `Joc de la Vida' no és un model biològic
realista, el fet de què, segons la configuració inicial,
apareixin diferents estructures, algunes estables, d'altres que es
repeteixien periòdicament i sovint configuracions mòbils (com
per exemple els anomenats gliders) així com estructures que
s'autoreprodueixen el fa interessant com a base de models d'ecosistemes
senzills. D'aquesta forma, variacions del `Joc de la Vida' han servit per
descriure la propagació d'incendis en un bosc o la
interrelació entre diferents especies animals i vegetals. Els
autòmates cel·lulars, a més del seu aspecte
lúdic, han estimulat el desenvolupament teòric d'arees que
s'han posat d'actualitat com la teoria de la complexitat, el caos
determinístic, els fractals i l'autoorganització
crítica.
Una idea més pròxima a la vida digital és el model
proposat per Tom Ray, un
ecòleg de la Universitat de Delaware. Com ell mateix ha explicat, la
idea del seu projecte Tierra la va tenir l'any 1980 quan li van
comentar la possibilitat de fer programes d'ordinador capaços de
autoreproduir-se. No és fins l'any 1988 (els preus dels ordinadors
personals i les seves prestacions esdevenen les adequades) quan ell es
compra un ordenador portable i s'introdueix a la programació. El 3
de gener de 1990 deixa el seu programa en marxa tota una nit i
l'endemà observa en ell tot un ecosistema complex fruit d'un
únic organisme ancestral posat com a llavor la nit abans. El
programa de Ray es basa en la idea del virus informàtic pero els
seus organismes són totalment benignes per a la màquina que
els conté. Per evitar possibles efectes adversos, en comptes
d'executar instruccions de codi màquina real actuen en un ordinador
virtual dins de l'ordinador real. (El programa Tierra
-fonts en C per a PC i Unix-, així com informació
detallada sobre el seu disseny i funcionament el podeu trobar a
la pàgina web
http://www.isd.atr.co.jp/~ray/tierra/.
Una versió per a Macintosh -MacTierra- molt interessant
-amb gràfics es troba
aquí i/o al seu lloc original
http://www.ccnet.com/~bhill/elsewhere.html )
Tierra és, per tant, un exemple de vida artificial. Una
regió de memòria de l'ordinador és el món on
tindrà lloc l'evolució. Inicialment hom hi situa diverses
còpies d'un organisme capaç d'autoreproduir-se constituit, a
l'exemple de Ray, per 80 instruccions d'un llenguatge ensamblador especial.
Els organismes es reprodueixen, però, com en la vida real, poden
produir-se mutacions que fan que una instrucció es convertexi en una
altra de diferent i aparegui així un nou organisme. Alguns d'aquests
nous organismes se'n surten millor que d'altres en l'ús de la
memòria i del temps de CPU. Amb el temps apareixen paràsits.
Només amb 45 instruccions en haver perdut la part del codi per
reproduir-se, sobreviuen a base d'utilitzar el codi reproductor d'un altre
organisme. Surten també organismes socials incapaços de
reproduir-se individualment però que ho poden fer
col·lectivament. Els organismes competeixen per memòria i temps
de CPU i tenen una vida limitada. A mesura que funciona el programa es
creen una gran diversitat d'organismes i es produeixen efectes com
extincions en massa, domini temporal d'algun dels organismes etc. En certa
manera l'ordinador és capaç de convertir mil·lenis del
nostre planeta en mil·lisegons de CPU i d'aquesta forma reproduir
comportaments que recorden els que s'han donat a la Terra en hores.
(Feu click sobre la imatge del començament o
aquí per veure un
resum fotogràfic i artístic fet pel mateix Tom Ray).
Una part important del programa Tierra és el mecanisme que
porta a l'aparició de la diversitat , de fet es tracta d'un
algorisme genètic senzill. En un algorisme genètic el punt de
partença és una col·lecció de cromosomes que viu
a la memòria de l'ordinador. En una versió simple de
l'algorisme un cromosoma és una cadena de uns i zeros que codifica
una possible solució del problema que es tracta. El cromosoma
té associat un valor, el cost, el qual és un indicador de la
qualitat de la solució que representa. Inicialment es generen un
cert nombre de cromosomes de forma aleatòria i és crea una
primera generació. Una vegada construïda la generació es
determina el cost de tots dels cromosomes. Llavors es procedeix a crear una
nova generació mitjançant la reproducció,
l'encreuament i la mutació. Els cromosomes millors tenen una
probabilitat més alta de participar en aquest procés.
L'encreuament de cromosomes es realitza de manera que dos cromosomes pare
donen dos cromosomes fill mitjançant l'intercanvi aleatori de
fragments dels pares. Una altra aleatorietat s'introdueix mitjançant
la mutació que modifica lleugerament els cromosomes generats de cara
a introduir més diversitat. Les operacions d'encreuament i
mutació es realitzen amb una certa probabilitat, paràmetres
importants a l'algorisme. El fet de què no tots els cromosomes d'una
generació participin en el procés comentat garanteix que
alguns cromosomes de la generació actual continuin presents a la
següent generació. Un cop la nova generació s'ha creat,
el cost de tots els cromosomes es torna a avaluar i el procés es
repeteix. A cada generació es guarda el millor cromosoma.
L'algorisme acaba quan el resultat s'estabilitza o es troba un cromosoma
òptim.
Els algorismes genètics poden ser aplicats amb exit a problemes de
tipus combinatori. Així una de les aplicacions més conegudes
es per a la resolució del problema del viatjant. En la
formulació més coneguda d'aquest problema, un viatjant ha de
visitar un cert nombre de ciutats passant únicament una vegada per
cadascuna d'elles i retornant a la ciutat de partença. Es tracta de
trobar aquell trajecte que faci mínima la distància total
recorreguda. Si el nombre de ciutats considerades és N, el
tractament exhaustiu d'aquest problema comporta estudiar (N-1)!/2
recorreguts. Aquest nombre, que creix més depressa que qualsevol
potència finita de N, fa que el problema esdevingui
rapidament intractable. El problema del viatjant pertany, a una classe de
problemes anomenats NP-complets. Per a aquests problemes no es coneixen
algorismes que garanteixin que la solució òptima pugui
trobar-se en un temps raonable d'execució d'un programa. Els
algorismes genètics en garanteixen una solució propera a
l'òptima en un temps de càlcul acceptable.
El problema del viatjant es, de fet, un problema clàssic a Teoria de
Grafs. Precisament una de les línies de treball al Grup de Grafs del
Departament de Matemàtica Aplicada i Telemàtica de la UPC
és l'ús dels algorismes genètics (i altres
mètodes com la recuita simulada, xarxes neuronals etc.) per al
tractament de problemes NP-complets a Teoria de Grafs. Els algorismes
genètics s'han aplicat amb èxit a problemes d'aplanament de
grafs (que poden associar-se al disseny VLSI) i a problemes d'acoloriment
de grafs (relacionats, per exemple, amb l'assignació de
freqüències a telefonia mòbil). També, s'ha
provat l'eficiència dels algorismes genètics en la
construcció de bons codis correctors d'errors. En conjunt es tracta
d'una mostra més de com conceptes i idees propis d'arees
científiques aparentment llunyanes poden aportar noves maneres
d'enfocar un problema donat.