- Resumen
- Introducción.
Programación Genética (PG) - Arte y
estética - Aproximación de
conceptos - Trabajo
futuro - Bibliografía
Aceptamos que un humano utilizando una computadora,
pueda crear Arte Digital, y
normalmente pensamos que esa es la única opción.
La Programación Genética (PG) puede ser utilizada entre
otras cosas, para crear programas que
dibujen imágenes, las cuales llamamos
Imágenes Genéticas (IG), y son un caso particular
de gráficos por computadora.
Estas IGs pueden ser consideradas como Arte Digital si
se utilizaron facultades sensoriales, estéticas e
intelectuales en su creación (no
necesariamente en su valoración). Cuando el Arte Digital
es creado por un Algoritmo
Genético o Programación Genética, es
llamarlo Arte Genético (y en un marco más amplio:
Arte Evolutivo). Ahora bien, si la función de aptitud
puede automatizarse (independizarse de la evaluación humana), tendremos lo que
podemos considerar Arte Artificial. La PG puede generar una
gran cantidad de soluciones
(en este caso programas que generan imágenes), que
necesitan ser evaluadas para que el proceso de
búsqueda de soluciones mejores
continúe.
Para la evaluación (en este caso,
valoración artística de las imágenes) se
utiliza una función de aptitud. Encontrar una
función de aptitud automatizable adecuada, parece una
tarea sino imposible, por lo menos extremadamente compleja. En
este trabajo se
presenta y vinculan los conceptos anteriores.
Palabras clave: Programación
Genética, Función de aptitud, Computación Evolutiva Interactiva,
Espacio de parámetros, Arte, Estética, Gráficos por
computadora, Imágenes Genéticas, Arte Digital,
Arte Genético, Arte Evolutivo, Arte
Artificial.
Keywords: Genetic Programing, Fitness
Function, Interactive Evolutionary Computation,
Parameter’s Space, Art, Aesthetic, Computer Graphics,
Genetic Images, Digital Art, Genetic Art, Evolution Art,
Artificial Art.
La técnica Programación Genética,
la situamos dentro de un marco más amplio, el de
Computación Evolutiva, que a su vez integra una rama de la
Inteligencia
Artificial.
Con el término Computación
Evolutiva nos referimos al estudio de los fundamentos y
aplicaciones de ciertas técnicas
heurísticas de búsqueda, basadas en los principios
naturales de la teoría
de la evolución de Darwin. Esta
técnica se basa en que los individuos más aptos de
la población, son los que
sobreviven.
Los Algoritmos Evolutivos los podemos clasificar
principalmente en:
- Algoritmos Genéticos. Generan
poblaciones sucesivas a las que se aplican operadores de
mutación y cruce. Cada individuo
representa una solución al problema y se trata de
encontrar al individuo que represente a la mejor
solución. - Programación Evolutiva. Es otro enfoque
de los algoritmos
genéticos y se centra en conseguir operadores
genéticos más adecuados. No se utiliza el
operador de cruce, mientras que el operador de mutación
es considerado muy importante. - Estrategias Evolutivas. Se centran en problemas de
optimización y tienen una visión de aprendizaje. - Sistemas Clasificadores. En este caso la
solución buscada es una población
entera. - Programación Genética. Es
similar a los Algoritmos genéticos, pero en este caso
las soluciones son programas. Los individuos de la
población son programas que se acercan a realizar una
tarea que es la solución.
La clasificación anterior responde al desarrollo
histórico y no tanto en la esencia de las mismas. Todas
ellas se fundamentan en la base biológica de la
evolución, diferenciándose fundamentalmente en los
operadores que utilizan y en la forma de implementar la selección,
reproducción y sustitución de
individuos en una población.
Los Algoritmos Genéticos trabajan con una
población de individuos, cada uno de los cuales representa
una solución factible a un problema dado. A cada individuo
se le asigna un valor o
puntuación, relacionado con la bondad de dicha
solución (obtenido a partir de una Función de
Aptitud). Los individuos más aptos, tendrán
más probabilidad de
ser seleccionados para reproducirse y cruzar su material
genético con otro individuo seleccionado.
Los nuevos individuos producidos son descendientes de
los anteriores y comparten alguna del las características
de sus padres. La nueva población que reemplaza a la
anterior, contiene una mayor proporción de buenas
características con respecto a la anterior. Si el
Algoritmo Genético está bien diseñado, la
población convergerá hacia una solución
óptima.
La aptitud es la fuerza
impulsora de la selección natural y, asimismo, de los
algoritmos genéticos convencionales y la
programación genética. En la naturaleza, la
aptitud de un individuo puede considerarse como la probabilidad
de que sobreviva hasta la edad de reproducirse y se reproduzca.
En el mundo artificial de los algoritmos, se mide de alguna forma
la aptitud, y luego se utiliza esta medida para controlar la
aplicación de las operaciones que
modifican las estructuras en
nuestra población artificial [John R. Koza
1992].
La Función de aptitud, no es más
que la función objetivo de
nuestro problema de optimización.
Una característica que debe tener la
Función de Aptitud es la de castigar las malas soluciones
y premiar las buenas.
El algunos casos la Función de Aptitud no se
puede automatizar. Cuando esto pasa, interviene un humano en el
proceso de evaluación de las soluciones. A esta
técnica se conoce con el nombre de Computación
Evolutiva Interactiva e implica normalmente el uso de micro
poblaciones y pocas generaciones (para paliar la fatiga del
humano evaluador).
Normalmente todos tenemos una noción clara de lo
que significan los conceptos de: arte y estética, pero de
todas maneras mostraremos varias definiciones (con las acepciones
que nos interesan) que pueden clarificar la relación que
hay entre ellos.
Arte
- Actividad humana específica, para la que se
recurre a ciertas facultades sensoriales, estéticas e
intelectuales. - Obra humana que expresa simbólicamente,
mediante diferentes materias, un aspecto de la realidad
entendida estéticamente.
Estético
- Artístico o bello.
Estética
- Belleza en el sentido amplio.
- Apariencia que tiene una persona o cosa
según un punto de vista estético o
artístico.
Esteticismo
- Valoración que se hace de los estilos
artísticos, exclusivamente desde el punto de vista
estético. - Planteamiento ideológico que sitúa la
estética y la búsqueda de la belleza absoluta
como objetivo fundamental del hecho
artístico.
Como podemos observar, una obra puede ser considerada
Arte, si se han utilizado facultades sensoriales,
estéticas e intelectuales en su creación. Esta
creación debe ser producto de
una actividad humana.
Cuando hablamos de Arte Digital, nos referimos
normalmente a imágenes o gráficos hechos por un
humano utilizando la
computadora. Esta actividad es desarrollada por un humano
usando sus facultades sensoriales, estéticas e
intelectuales, por lo cual no hay problema en considerar el
resultado como Arte.
Con Gráfico por computadora (concepto
particular de Imagen por computadora o Imagen
digital) entendemos cualquier imagen que
represente gráficamente algo y que fue creada utilizando
la computadora como herramienta.
Uno de los conceptos muy difundidos es el de Arte
Digital, y se refiere al producto que se obtiene cuando un
humano desarrolla las actividades artísticas
valiéndose de la computadora y expresando la
creación en forma digital. Esta creación puede ser
considerada Arte ya que cumple con todas las
características necesarias.
Cuando los Gráficos por computadora son generados
a partir de Programación Genética, podemos
considerar que la solución es un programa que
genera imágenes Genéticas (más
ampliamente Imágenes Evolutivas).
Estas Imágenes Genéticas pueden ser
consideradas como Arte Digital, si interviene un humano aplicando
facultades sensoriales, estéticas e intelectuales (por
ejemplo en la evaluación de las soluciones). En este caso,
estas imágenes podemos llamarlas Arte
Genético (que se encuentran dentro de un marco
más amplio que es el de Arte Evolutivo).
Si a la técnica de Programación
Genética que genera sus soluciones como programas que a su
vez generan imágenes, le agregamos facultades sensoriales,
criterios estéticos e intelectuales, y automatizamos la
función de aptitud, podríamos decir que estas
imágenes genéticas son Arte
Artificial.
Es importante resaltar que el proceso de hacer
arte es diferente al evaluar el arte, aunque en muchos
casos se integren. El artista evalúa su obra mientras
está en el proceso de su creación, y mezcla las dos
actividades continuamente. Esta evaluación que hace el
artista, puede ser muy diferente al de los expertos en la
materia
(evaluadores de arte), e inclusive normalmente lo es. El artista
luego que termina la obra se retroalimenta de las evaluaciones
que las otras personas hacen de ella, para de esta manera
modificar los criterios que utilizará en el próximo
proceso de creación. El artista perfecciona su
técnica y criterios de evaluación. Inclusive una
obra normalmente comienza con un bosquejo que se
enriquece.
Por lo anterior podríamos esperar que existan
algunos buenos artistas que son malos evaluadores de arte y
evaluadores de arte que son malos artistas. Algo similar sucede
con el proceso de diseñar y el de evaluar
diseños.
Cuando utilizamos Programación Genética
para generar imágenes y delegamos a un humano la tarea de
evaluación (no tenemos función de aptitud
automatizada), estamos integrando en un entorno interactivo los
procesos de
hacer y evaluar arte. A ese tipo de entorno es al que llamamos
Computación Evolutiva Interactiva.
Como vimos, el proceso de hacer arte implica usar
facultades sensoriales, estéticas e intelectuales. Si
consideramos los aspectos más elementales de estas
facultades (una perspectiva simplista de la realidad), veremos
que es posible encontrarlas en la computación. Las
facultades sensoriales pueden corresponderse con la capacidad de
captar sonidos desde el micrófono del computador, de
las imágenes de la web cam, etc., u
otras capacidades propias de la computación, como ser
memoria libre,
trafico en la red, etc. Las facultades
estéticas pueden provenir de una red neuronal o un
sistema
experto.
Cuando un humano se le pide que evalúe
artísticamente una Imagen por computadora, evaluará
varias características de ella, como ser lo que
representa, como lo representa, los sentimientos que despierta,
etc. Entre lo evaluado aparece la estética como un
ítem más.
Consideramos que obtener el valor estético de una
Imagen por computadora es más fácilmente
automatizable que evaluar otras características de la
ella. Por ejemplo, con redes
neuronales es posible saber automáticamente (con
cierto grado de exactitud), que cosas son representadas en la
imagen (una casa, un perro, el sol, etc.),
para luego con entrenamiento,
predecir el valor que un humano dará a eso.
Creemos que existe la posibilidad de predecir
automáticamente y con un grado de exactitud aceptable, el
valor estético que un humano dará a una
imagen.
Existen varias características (espacio de
parámetros) de las imágenes que se pueden
obtener en forma automática y fácil, como
ser:
- Resolución en píxeles.
- Formato de la imagen (4:3, 16:9, etc.).
- Cantidad de colores.
- Composición promedio de cada color.
- Contraste, brillo y saturación
promedio. - Etc.
Si bien el valor estético es subjetivo, se puede
predecir con cierto grado de certeza las preferencias humanas. Se
puede buscar patrones entre las características objetivas
de las imágenes y las preferencias de un grupo de
humanos en particular (por ejemplo, hombres entre 30 y 40
años, clase media,
profesional y viviendo en Montevideo, Uruguay)
cuando valoran las mismas.
Si logramos automatizar lo anterior, podríamos
confeccionar una Función de aptitud estética
que sea usada por la Programación Genética en la
generación de imágenes digitales agradables. No
llegamos a considerarlas imágenes artísticas, pero
es un primer paso, ya que el valor estético es parte
del valor artístico.
Esta Función de aptitud estética, es de
utilidad
también en la generación de imágenes dentro
de un entorno de Computación Evolutiva Interactiva.
Utilizando esta función, se quitan los individuos de la
población menos prometedores, dejándole al humano
la evaluación de un número menor de ellos. Con esto
se reduce la fatiga del humano evaluador, permitiendo que este
algoritmo genere más poblaciones.
Existen muchos ejemplos de Computación Evolutiva
Interactiva, donde los resultados han sido muy buenos. Algunos
casos que podemos mencionar:
- Generación de imágenes y animaciones
digitales. Hay ejemplos donde se exponen varios monitores
que muestran imágenes generadas por algoritmos
genéticos, y donde el valor de evaluación es
obtenido a partir del tiempo que
pasan los visitantes frente a cada imagen. - Generación de música.
En este caso, junto a la evaluación humana se utiliza
funciones de
aptitud objetivas y automáticas como ser la
evaluación de la armonía. - Diseño de mesas y sillas. En este caso se
puede reducir la población antes de que el humano
evalúe, descartando los individuos que se corresponden
con mesas y sillas que tienen un centro de gravedad alto (este
es un valor objetivo, cuya obtención se puede
automatizar fácilmente).
- Crear una lista de las características
(espacio de parámetros) que se pueden obtener
automáticamente y de manera fácil de una imagen
(por ejemplo: cantidad de colores, tamaño, forma,
etc.). - Buscar patrones entre las características de
las imágenes obtenidas automáticamente y sus
valores
estéticos (o artísticos) dados por humanos, por
ejemplo utilizando redes
neuronales. - Experimentar con Programación Genética
que genere imágenes, las cuales sean evaluadas parcial o
totalmente por una red neuronal entrenada, integrando de esta
manera, la Programación Genética (generando
imágenes) con las redes neuronales (evaluando
estéticamente las mismas).
El tema de si una computadora puede o no generar Arte
por si sola es un tema discutible. Sin embargo aceptamos que un
humano pueda crear Arte, valiéndose en gran medida de la
computadora, como por ejemplo lo vemos en el Arte
Digital.
Ya en entornos más complejos, como ser el de
Computación Evolutiva Interactiva (CEI), vemos que
gráficos por computadora son generados utilizando
Programación Genética, y evaluados por humanos que
determinan la aptitud de cada uno (en este caso el humano no crea
arte, solo lo evalúa artísticamente).
Consideramos que es posible un entorno mucho más
rico todavía, en donde la función de aptitud sea
por lo menos parcialmente automatizable. Por ejemplo, podemos
imaginarnos un entorno interactivo, donde el humano evalúa
artísticamente las imágenes, posteriormente a que
la computadora redujo la población, utilizando una
función de aptitud objetiva que evalúe las
imágenes según su valor estético. El valor
estético es solo una parte del valor
artístico.
El valor estético es subjetivo, pero se sabe que
está relacionado con la época, la sociedad,
cultura, etc,
por lo cual es posible predecir en parte el valor de una imagen
(por ejemplo, entrenando una red neuronal).
[1] J.J. Merelo Guervós. Informática evolutiva.
[2] Algoritmos genéticos. Http://eddyalfaro.galeon.com/geneticos.html.
ISSN: 1579-0223. http://www.redcientifica.com/doc/doc199904260011.html.
[3] Carmen Cortés Parejo. Algoritmos
Genéticos y Problemas de Visibilidad. Junio de 1996.
Universidad
de Sevilla. Facultad de Matemáticas. Págs.1-24.
[4] Karl Sims. Evolving Virtual Creatures. Published
in: Computer Graphics, Annual Conference Series, (SIGGRAPH
’94 Proccedings), July 1994, pp.15-22.
[5] Yann SEMET. Interactive Evolutionary Computation:
a survey of existing theory. November 13th, 2002.
[6] Katie Bentley. Artificial Forms. Simulation of
Adaptative Behaviour Term Paper EASy, MSc, COGs GRC, University
of Sussex. April 21, 2002.
[7] Kandid 1.0, arte genético en Java.
26/1/2005. http://gimp.hispalinux.es/article.php?storyid=23.
[8] Karl Sims. Genetic Images. Genetic Images
Interactive Exhibit. 1993.
[9] Karl Sims. Artificial Evolution for Computer
Graphics. Published in Computer Graphics, 25(4), July 1991,
pp.319-328 (ACM SIGGRAPH ’91 Conference Proceedings, Las
Vegas, Nevada, July 1991.).
[10] Katie A Bentley. Exploring Aesthetic Pattern
Formation. Computer Science Departament, University College
London. Generative Art 2002.
[11] P.J. Bentley. IS EVOLUTION CREATIVE ?.
Departament of Computer Science, University College
London.
[12] Artemis Moroni, Jônatas Manzolli, Fernando
Von Zuben, Ricardo Gudwin. Vox Populi: An Interactive
Evolutionary System for Algorithmic Music Composition. LEONARDO
MUSIC JOURNAL, Vol 10, pp. 49-54, 2000.
[13] P.J. Bentley. T. Gordon, J. Kim and S. Kumar. New
Trends in Evolutionary Computation. Departament of Computer
Science, University College London.
[14] Hideyuki Takagi. Interactive Evolutionary
Computation: Fusion of Capabilities of EC Optimization and
Human Evaluation. 2001.
[15] Karl Sims. Evolving 3D Morphology and Behavior by
Competition. Published in: Artificial Life IV Proceeding, ed.
by R. Brooks & P. Maes, MIT Press, 1994, pp
28-39.
[16] Rob Saunders; Jhon S.Gero. The digital clockwork
muse: A computational model of aesthetic evolution,
AISB’01, University of York, York, UK, pp. 12-21. Key
Centre of Design Computing and Cognition; University of Sydney,
Australia. 2001.
[17] Pieter H. G. van Langen, Niek J.E. Wijngaards,
and Frances M.T. Brazier. Towards Designing Creative Artificial
Systems. Intelligent Interactive Distributed Systems Group,
Departamento of Computer Science, Faculty of Sciences, Vrije
Universiteit Amsterdam.
[18] Luigi Pagliarini, Claudio Locardi, Vedran Vucic.
Toward Alive Art. In Proceedings of Virtual Worlds 2000. Second
International Conference, J.C. Heudin (Ed.) Springer-Verlag
Press (2000).
Ing. Leonardo Arroyo González
Julio de 2005