VIDA DIGITAL

Francesc Comellas

Departament de Matemàtica Aplicada i Telemàtica
Universitat Politècnica de Catalunya



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.


Publicat a Buran -revista de la branca d'estudiants de IEEE de Barcelona-, n. 1, pp. 13-14, març 1993)